{"remainingRequest":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\xq-web-fvue\\src\\components\\flow\\OnlineForm.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\src\\components\\flow\\OnlineForm.vue","mtime":1667327529356},{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\r\nimport EipInput from '@/components/eipControl/EipInput.vue'\r\nimport EipCheckbox from '@/components/eipControl/EipCheckbox.vue'\r\nimport EipSelect from '@/components/eipControl/EipSelect.vue'\r\nimport EipRadio from '@/components/eipControl/EipRadio.vue'\r\nimport EipUserSelector from '@/components/eipControl/selector/EipUserSelector.vue'\r\nimport EipDemensionSelector from '@/components/eipControl/selector/EipDemensionSelector.vue'\r\nimport EipJobSelector from '@/components/eipControl/selector/EipJobSelector.vue'\r\nimport EipOrgSelector from '@/components/eipControl/selector/EipOrgSelector.vue'\r\nimport EipPostSelector from '@/components/eipControl/selector/EipPostSelector.vue'\r\nimport EipRoleSelector from '@/components/eipControl/selector/EipRoleSelector.vue'\r\nimport EipTextarea from '@/components/eipControl/EipTextarea.vue'\r\nimport EipFont from '@/components/eipControl/EipFont.vue'\r\nimport EipDialog from '@/components/eipControl/EipDialog.vue'\r\nimport EipAutocomplete from '@/components/eipControl/EipAutocomplete.vue'\r\nimport EipCascader from '@/components/eipControl/EipCascader.vue'\r\nimport EipTreeselect from '@/components/eipControl/EipTreeselect.vue'\r\nimport EipButton from '@/components/eipControl/EipButton.vue'\r\nimport EipDate from '@/components/eipControl/EipDate.vue'\r\nimport EipImg from '@/components/eipControl/EipImg.vue'\r\nimport EipViewer from '@/components/eipControl/EipViewer.vue'\r\nimport EipSwitch from '@/components/eipControl/EipSwitch.vue'\r\nconst EipMap = () => import(\"@/components/eipControl/EipMap.vue\");\r\nconst EipFontUeditor = () => import(\"@/components/eipControl/EipFontUeditor.vue\");\r\nimport HtFile from '@/components/control/HtFile.vue'\r\nimport VRuntimeTemplate from 'v-runtime-template'\r\nimport HtGangedSelect from '@/components/control/HtGangedSelect.vue'\r\nimport EipRelFlow from '@/components/eipControl/EipRelFlow.vue'\r\nimport EipSubDialog from '@/components/eipControl/EipSubDialog.vue'\r\nimport EipSunDialog from '@/components/eipControl/EipSunDialog.vue'\r\nimport HtLabel from '@/components/control/HtLabel.vue'\r\nimport HtDigital from '@/components/control/HtDigital.vue'\r\nimport HtCurrency from '@/components/control/HtCurrency.vue'\r\nimport EipRealtimeInput from '@/components/eipControl/EipRealtimeInput.vue'\r\nimport EipRealtimeTextarea from '@/components/eipControl/EipRealtimeTextarea.vue'\r\nimport EipStep from '@/components/eipControl/EipStep.vue'\r\nimport HtInputAutocomplete from '@/components/control/HtInputAutocomplete.vue'\r\nimport HtTreeselect from '@/components/control/HtTreeselect.vue'\r\nimport HtCascader from '@/components/control/HtCascader.vue'\r\nimport HtTree from '@/components/control/HtTree.vue'\r\n\r\nimport EipTabs from '@/components/eipControl/EipTabs.vue'\r\nimport EipSubPagination from '@/components/eipControl/EipSubPagination.vue'\r\nimport EipSubImportDialog from '@/components/eipControl/EipSubImportDialog.vue'\r\nimport EipSubExportDialog from '@/components/eipControl/EipSubExportDialog.vue'\r\nimport EipAttachment from '@/components/eipControl/EipAttachment.vue'\r\nimport EipDic from '@/components/eipControl/EipDic.vue'\r\nimport EipPaginationLayout from '@/components/eipControl/EipPaginationLayout.vue'\r\nimport EipPagination from '@/components/eipControl/EipPagination.vue'\r\nimport EipCollapse from '@/components/eipControl/EipCollapse.vue'\r\nimport EipPaginationSteps from '@/components/eipControl/EipPaginationSteps.vue'\r\nimport EipDataView from '@/components/eipControl/EipDataView.vue'\r\nimport EipHotTable from '@/components/eipControl/EipHotTable.vue'\r\nimport EipHotSubDialog from '@/components/eipControl/EipHotSubDialog.vue'\r\nimport ContractPreview from '@/components/common/ContractPreview.vue'\r\nimport EipTag from '@/components/eipControl/EipTag.vue'\r\nimport EipSubtableBackfill from '@/components/eipControl/EipSubtableBackfill.vue'\r\nimport EipDivider from '@/components/eipControl/EipDivider.vue'\r\nimport EipOffice from '@/components/eipControl/EipOffice.vue'\r\nimport EipQrcode from '@/components/eipControl/EipQrcode.vue'\r\nimport EipSignature from '@/components/eipControl/EipSignature.vue'\r\nimport SubPagination from '@/components/eipControl/bus/SubPagination.js'\r\n\r\nimport Vue from 'vue'\r\nexport default {\r\n  name: 'online-form',\r\n  props: ['html', 'data', 'permission', 'isView', 'isPrint', 'initFillData', 'flowKey', 'formId', 'isLook', 'flowKey'],\r\n  data() {\r\n    return {\r\n      loadedFail: false, //表单加载html是否失败\r\n      subBackfill: new Map(),\r\n      hotTableFillback: String\r\n    }\r\n  },\r\n  created() {\r\n    this.init()\r\n  },\r\n  watch: {\r\n    data:{\r\n      handler: function(newVal, oldValue) {\r\n        this.$root.$emit(\"updateData\",newVal);\r\n      },\r\n      deep: true,\r\n      immediate: true\r\n    },\r\n    html: function(newVal) {\r\n      if (newVal) {\r\n        this.init()\r\n      }\r\n    },\r\n    hotTableFillback: function(newVal) {\r\n      if (newVal) {\r\n        let newValArray = newVal.split('_timestamp_')\r\n        let boPathArray = newValArray[0].split('.')\r\n        let hotTableRef = 'hottable.' + boPathArray[0] + '.' + boPathArray[1]\r\n        let subBo = this.data[boPathArray[0]][boPathArray[1]]\r\n        this.$refs.onlineForm.$refs[hotTableRef].fillbackHotTableData(subBo)\r\n      }\r\n    }\r\n  },\r\n  methods: {\r\n    loadSuccess(res){\r\n      this.$emit(\"loadSuccess\",res);\r\n    },\r\n    init() {\r\n      let initFillData = this.initFillData\r\n      let permission = this.permission\r\n      Vue.component('ht-runtime-template', {\r\n        props: ['html', 'data', 'permission', 'isView', 'isPrint'],\r\n        template: this.html,\r\n        data() {\r\n          return {\r\n            left_image: '',\r\n            right_image: '',\r\n            transitionIndex: -1,\r\n            curTabIndex: 'tabe_check_0',\r\n            errMesg: '',\r\n            fillOrg: {},\r\n            fillOrgConfMap: {}\r\n          }\r\n        },\r\n        computed: {\r\n          // 子表前端分页过滤器\r\n          pagingSubData() {\r\n            const me = this\r\n            return function(datapath) {\r\n              // 通过子表数据路径获取分页数据\r\n              return SubPagination.pagingByPath(datapath, me)\r\n            }\r\n          }\r\n        },\r\n        mounted() {\r\n          // 如果当前表单的element为Comment说明表单加载失败了。\r\n          if (this.$el && this.$el.constructor == Comment) {\r\n            this.$parent.loadedFail = true\r\n          }\r\n          this.$validator = this.$root.$validator\r\n          if (this.permission.table) {\r\n            for (let subTableName in this.permission.table) {\r\n              if (this.permission.table[subTableName].required) {\r\n                this.addSubTableByName(subTableName)\r\n              }\r\n            }\r\n          }\r\n          this.$emit(\"loadSuccess\",true);\r\n          //初始化handsontable数据\r\n          if (this.data) {\r\n            const formId = this.formId\r\n            let _this = this\r\n            if (!formId) {\r\n              this.toInitTemolateData(initFillData)\r\n            } else {\r\n              const loading = this.$loading({\r\n                lock: true,\r\n                text: '正在获取初始化信息...',\r\n                spinner: 'el-icon-loading',\r\n                background: 'rgba(0, 0, 0, 0.7)'\r\n              })\r\n              this.$http.get('${form}/form/form/v1/previewDesignVue?formId=' + formId).then(\r\n                resp => {\r\n                  if (resp.data) {\r\n                    const formData = resp.data.data\r\n                    for (const key in formData) {\r\n                      if (formData.hasOwnProperty(key)) {\r\n                        if (!_this.data[key]) {\r\n                          _this.data[key] = formData[key]\r\n                        }\r\n                      }\r\n                    }\r\n                    loading.close()\r\n                    _this.toInitTemolateData(initFillData)\r\n                  } else {\r\n                    loading.close()\r\n                    _this.toInitTemolateData(initFillData)\r\n                  }\r\n                },\r\n                () => {\r\n                  loading.close()\r\n                  _this.toInitTemolateData(initFillData)\r\n                }\r\n              )\r\n            }\r\n          }\r\n          if (this.isPrint) {\r\n            this.printDetail()\r\n          }\r\n        },\r\n        //改v-runtime-template.es.js的源码，或者改v-runtime-template的版本改成1.5.2\r\n        methods: {\r\n          toInitTemolateData(initFillData) {\r\n            if (!this.data) {\r\n              return\r\n            }\r\n            const formData = this.data\r\n            let refs = this.$refs\r\n            for (const def in formData) {\r\n              if (formData.hasOwnProperty(def)) {\r\n                const boDef = formData[def]\r\n                for (const bo in boDef) {\r\n                  if (boDef.hasOwnProperty(bo) && bo.indexOf('sub_') == 0) {\r\n                    const ref = 'hottable.' + def + '.' + bo\r\n                    if (refs[ref]) {\r\n                      try {\r\n                        refs[ref].fillbackHotTableData(formData[def][bo], permission)\r\n                        if (initFillData) {\r\n                          refs[ref].initTemplateData()\r\n                        }\r\n                      } catch (error) {\r\n                        console.log(error)\r\n                      }\r\n                    }\r\n                  }\r\n                }\r\n              }\r\n            }\r\n          },\r\n          printDetail() {\r\n            let a = document.getElementsByName('online-form')[0].innerHTML\r\n            window.print()\r\n            if (this.isPrint) {\r\n              this.$router.go(-1)\r\n            }\r\n            setTimeout(function() {\r\n              location.reload()\r\n            }, 200)\r\n          },\r\n          async leaveTabVerify(activeName, oldActiveName) {\r\n            let erritems = []\r\n            let formElementAry = document.getElementsByName('online-form')\r\n            let frmInst = formElementAry[0].__vue__\r\n            let childrens = frmInst.$refs.onlineForm.$refs\r\n            let result = await frmInst.$root.$validator.validateAll('custom-form')\r\n            if (!result) {\r\n              let curEl = childrens[oldActiveName].$el\r\n              this.$validator.errors.items.forEach(item => {\r\n                if (curEl.contains(document.getElementsByName(item.field)[0])) {\r\n                  erritems.push(item)\r\n                }\r\n              })\r\n            }\r\n            //拼接提示消息\r\n            let msg = ''\r\n            for (let item of erritems) {\r\n              let fieldLabel = ''\r\n              if (item.field) {\r\n                fieldLabel = item.field\r\n              }\r\n              if (item.field && item.field.indexOf('-') != -1) {\r\n                fieldLabel = item.field.substr(item.field.indexOf('-') + 1)\r\n              }\r\n              msg += fieldLabel + ' ' + item.msg + '<br/>'\r\n            }\r\n            if (msg) {\r\n              this.$notify.error({\r\n                title: this.$t('common.errTip'),\r\n                dangerouslyUseHTMLString: true,\r\n                message: msg\r\n              })\r\n              reject()\r\n            }\r\n          },\r\n          //子表上移\r\n          up(index, data) {\r\n            if (index === 0) {\r\n              this.$message({\r\n                message: '已经是列表中第一位',\r\n                type: 'warning'\r\n              })\r\n            } else {\r\n              let temp = data[index - 1]\r\n              this.$parent.loadedFail = true\r\n              this.$set(data, index - 1, data[index])\r\n              this.$set(data, index, temp)\r\n              this.$parent.loadedFail = false\r\n            }\r\n          },\r\n          //子表下移\r\n          down(index, data) {\r\n            if (index === data.length - 1) {\r\n              this.$message({\r\n                message: '已经是列表中最后一位',\r\n                type: 'warning'\r\n              })\r\n            } else {\r\n              this.isTransition = true\r\n              let i = data[index + 1]\r\n              this.$parent.loadedFail = true\r\n              this.$set(data, index + 1, data[index])\r\n              this.$set(data, index, i)\r\n              this.$parent.loadedFail = false\r\n            }\r\n          },\r\n          //子表复制数据\r\n          copy(obj, item) {\r\n            let newOne = JSON.parse(JSON.stringify(item))\r\n            //把id置空以免走的修改方法\r\n            if (newOne.id_) {\r\n              delete newOne.id_\r\n            }\r\n            if (newOne.sub_row_readonly) {\r\n              delete newOne.sub_row_readonly\r\n            }\r\n            newOne.sub_guid=this.guid();\r\n            obj.push(newOne)\r\n          },\r\n          //子表默认值回填\r\n          addSubTab(subTabPath) {\r\n            let pathArr = subTabPath.split('.')\r\n            if (pathArr.length < 3) {\r\n              this.$message({\r\n                message: '子表路径有误',\r\n                type: 'warning'\r\n              })\r\n            } else {\r\n              let subTabName = pathArr[2].replace('sub_', '')\r\n              let subInitData = this.data[pathArr[1]].initData[subTabName] || {}\r\n              //判断当前子表是否存有回显值\r\n              if (this.$parent.subBackfill && this.$parent.subBackfill.has(subTabPath)) {\r\n                //this.data[pathArr[1]][pathArr[2]].push(this.$parent.subBackfill.get(subTabPath));\r\n                subInitData = this.$parent.subBackfill.get(subTabPath)\r\n              }\r\n              //把数组里面的值为 null 转换为空字符串\r\n              let str = JSON.stringify(subInitData).replace(/null/g, '\"\"')\r\n              let subData = JSON.parse(str)\r\n              for (var key in subData) {\r\n                //点添加时判断要新增子表记录中的孙表是否有值\r\n                if (key.indexOf('sub_') == 0 && subData[key].length > 0) {\r\n                  subData[key] = [] //有则清空\r\n                }\r\n                // //点添加时判断要新增子表记录中的字段是否有值\r\n                // if(subData[key]){\r\n                //     subData[key] = \"\";//有则清空\r\n                // }\r\n              }\r\n              let fillObj = this.toFillOrg(pathArr[1] + '.' + pathArr[2], subData)\r\n              fillObj.sub_guid=this.guid();\r\n              this.data[pathArr[1]][pathArr[2]].push(fillObj)\r\n            }\r\n          },\r\n          guid(){\r\n            return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {\r\n              var r = Math.random() * 16 | 0,\r\n                      v = c == 'x' ? r : (r & 0x3 | 0x8);\r\n              return v.toString(16);\r\n            });\r\n          },\r\n          //孙表默认值回填\r\n          addSunTab(subTabPath, subIndex) {\r\n            let pathArr = subTabPath.split('.')\r\n            if (pathArr.length < 4) {\r\n              this.$message({\r\n                message: '孙表路径有误',\r\n                type: 'warning'\r\n              })\r\n            } else {\r\n              let subTabName = pathArr[2].replace('sub_', '')\r\n              let sunTabName = pathArr[3].replace('sub_', '')\r\n              let subInitData = this.data[pathArr[1]].initData[subTabName].initData[sunTabName] || {}\r\n              //判断当前孙表是否存有回显值\r\n              if (this.$parent.subBackfill && this.$parent.subBackfill.has(subTabPath)) {\r\n                //this.data[pathArr[1]][pathArr[2]].push(this.$parent.subBackfill.get(subTabPath));\r\n                subInitData = this.$parent.subBackfill.get(subTabPath)\r\n              }\r\n              //把数组里面的值为 null 转换为空字符串\r\n              let str = JSON.stringify(subInitData).replace(/null/g, '\"\"')\r\n              if (!this.data[pathArr[1]][pathArr[2]][subIndex][pathArr[3]]) {\r\n                let key = [pathArr[3]]\r\n                let value = new Array()\r\n                this.data[pathArr[1]][pathArr[2]][subIndex][key] = value\r\n              }\r\n              let sunBodata=JSON.parse(str);\r\n              sunBodata.sub_guid=this.guid();\r\n              this.data[pathArr[1]][pathArr[2]][subIndex][pathArr[3]].push(sunBodata)\r\n              this.$forceUpdate() //迫使 Vue 实例重新渲染\r\n\r\n              // this.permission.table[sunTabName].required = \"false\";\r\n            }\r\n          },\r\n          addSubTableByName(subTableName) {\r\n            for (let boAlias in this.data) {\r\n              let subInitData = this.data[boAlias].initData[subTableName] || {}\r\n              if (this.data[boAlias]['sub_' + subTableName] && this.data[boAlias]['sub_' + subTableName].length < 1) {\r\n                this.data[boAlias]['sub_' + subTableName].push(JSON.parse(JSON.stringify(subInitData)))\r\n                // 孙表必填 默认添加一条\r\n                if (this.permission.table) {\r\n                  for (let tableName in this.permission.table) {\r\n                    if (this.permission.table[tableName].required) {\r\n                      if (\r\n                        this.data[boAlias]['sub_' + subTableName][0].hasOwnProperty('sub_' + tableName) &&\r\n                        this.data[boAlias]['sub_' + subTableName][0]['sub_' + tableName] &&\r\n                        this.data[boAlias]['sub_' + subTableName][0]['sub_' + tableName].length < 1\r\n                      ) {\r\n                        this.data[boAlias]['sub_' + subTableName][0]['sub_' + tableName].push(\r\n                          JSON.parse(JSON.stringify(subInitData.initData[tableName]))\r\n                        )\r\n                      } else if (\r\n                        this.data[boAlias]['sub_' + subTableName][0].hasOwnProperty('sub_' + tableName) &&\r\n                        !this.data[boAlias]['sub_' + subTableName][0]['sub_' + tableName]\r\n                      ) {\r\n                        this.data[boAlias]['sub_' + subTableName][0]['sub_' + tableName] = []\r\n                        this.data[boAlias]['sub_' + subTableName][0]['sub_' + tableName].push(subInitData.initData[tableName])\r\n                      }\r\n                    }\r\n                  }\r\n                }\r\n              }\r\n            }\r\n          },\r\n          deleteRow(subTablePath, item) {\r\n            let pathArr = subTablePath.split('.')\r\n            if (pathArr.length < 2) {\r\n              this.$message({\r\n                message: '子表路径有误',\r\n                type: 'warning'\r\n              })\r\n            } else {\r\n              let subTabName = pathArr[1].replace('sub_', '')\r\n              if (\r\n                this.data[pathArr[0]][pathArr[1]].length == 1 &&\r\n                (this.permission.table[subTabName].required == true || this.permission.table[subTabName].required == 'true')\r\n              ) {\r\n                this.$message({\r\n                  message: '子表必填一条记录',\r\n                  type: 'warning'\r\n                })\r\n                return\r\n              }\r\n              this.data[pathArr[0]][pathArr[1]].remove(item)\r\n            }\r\n          },\r\n          deleteSunRow(subTablePath, item, subIndex) {\r\n            let pathArr = subTablePath.split('.')\r\n            if (pathArr.length < 3) {\r\n              this.$message({\r\n                message: '孙表路径有误',\r\n                type: 'warning'\r\n              })\r\n            } else {\r\n              let subTabName = pathArr[1].replace('sub_', '')\r\n              let sunTabName = pathArr[2].replace('sub_', '')\r\n              if (\r\n                this.data[pathArr[0]][pathArr[1]][subIndex][pathArr[2]].length == 1 &&\r\n                (this.permission.table[sunTabName].required == true || this.permission.table[subTabName].required == 'true')\r\n              ) {\r\n                this.$message({\r\n                  message: '孙表必填一条记录',\r\n                  type: 'warning'\r\n                })\r\n                return\r\n              }\r\n              this.data[pathArr[0]][pathArr[1]][subIndex][pathArr[2]].remove(item)\r\n            }\r\n          },\r\n          clearAll(subTablePath, isHot, index) {\r\n            let pathArr = subTablePath.split('.')\r\n            if (pathArr.length < 2) {\r\n              this.$message({\r\n                message: '子表路径有误',\r\n                type: 'warning'\r\n              })\r\n              //孙表\r\n            } else if ((index || index === 0) && pathArr.length == 3) {\r\n              this.data[pathArr[0]][pathArr[1]][index][pathArr[2]].empty()\r\n            } else {\r\n              const subTabName = pathArr[1].replace('sub_', '')\r\n              if (\r\n                this.data[pathArr[0]][pathArr[1]].length == 1 &&\r\n                (this.permission.table[subTabName].required == true || this.permission.table[subTabName].required == 'true')\r\n              ) {\r\n                this.$message({\r\n                  message: '子表必填一条记录',\r\n                  type: 'warning'\r\n                })\r\n                return\r\n              }\r\n              this.data[pathArr[0]][pathArr[1]].empty()\r\n              if (isHot) {\r\n                const hotTableRef = 'hottable.' + subTablePath\r\n                this.$refs[hotTableRef].fillbackHotTableData(null)\r\n              }\r\n            }\r\n          },\r\n          addInitTemplateData(subTablePath) {\r\n            const hotTableRef = 'hottable.' + subTablePath\r\n            this.$refs[hotTableRef].toAddInitTemplateData()\r\n          },\r\n          mergeCellRefresh(subTablePath) {\r\n            const hotTableRef = 'hottable.' + subTablePath\r\n            this.$refs[hotTableRef].mergeCellRefresh()\r\n          },\r\n          execCellMathExp(subTablePath) {\r\n            const hotTableRef = 'hottable.' + subTablePath\r\n            this.$refs[hotTableRef].execCellMathExp()\r\n          },\r\n          execCrossMapping(subTablePath) {\r\n            const hotTableRef = 'hottable.' + subTablePath\r\n            this.$refs[hotTableRef].execCrossMapping()\r\n          },\r\n          getHotTableData(subTablePath) {\r\n            const hotTableRef = 'hottable.' + subTablePath\r\n            this.$refs[hotTableRef].getHotTableData()\r\n          },\r\n          //点击分页校验按钮触发事件\r\n          nextStepClick(isCheck, index, way) {\r\n            let childrens = this.$refs.onlineForm.$children[0].$refs\r\n            let nextIndex = way == 'back' ? index - 1 : index + 1\r\n            //进入下一个页签并且需要校验当前页签。则进行校验\r\n            if (way == 'next' && isCheck == 'y') {\r\n              this.$validator.validateAll('custom-form').then(result => {\r\n                let curTabHasError = false\r\n                if (!result) {\r\n                  let curEl = childrens['next_step_check_' + index].$el\r\n                  this.$validator.errors.items.forEach(item => {\r\n                    if (curEl.contains(document.getElementsByName(item.field)[0])) {\r\n                      curTabHasError = true\r\n                      return\r\n                    }\r\n                  })\r\n                }\r\n                if (result || !curTabHasError) {\r\n                  childrens.el_table_check.currentName = nextIndex + ''\r\n                  var childrensArray = Object.getOwnPropertyNames(childrens)\r\n                  childrensArray.remove('collapse')\r\n                  if (index == childrensArray.length - 3 && way == 'next') {\r\n                    this.$root.$emit('startFlowBtnChange', true)\r\n                  }\r\n                }\r\n              })\r\n            } else {\r\n              childrens.el_table_check.currentName = nextIndex + ''\r\n              var childrensArray = Object.getOwnPropertyNames(childrens)\r\n              childrensArray.remove('collapse')\r\n              if (index == childrensArray.length - 3 && way == 'next') {\r\n                this.$root.$emit('startFlowBtnChange', true)\r\n              }\r\n            }\r\n          },\r\n          toFillOrg(path, row) {\r\n            const fillOrgConf = this.fillOrgConfMap[path]\r\n            let fillObj = {}\r\n            if (fillOrgConf && this.fillOrg) {\r\n              if (fillOrgConf.name) {\r\n                const namePath = fillOrgConf.name.split('.')\r\n                fillObj[namePath[namePath.length - 1]] = this.fillOrg.name\r\n              }\r\n              if (fillOrgConf.id) {\r\n                const idPath = fillOrgConf.id.split('.')\r\n                fillObj[idPath[idPath.length - 1]] = this.fillOrg.id\r\n              }\r\n              if (fillOrgConf.code) {\r\n                const codePath = fillOrgConf.code.split('.')\r\n                fillObj[codePath[codePath.length - 1]] = this.fillOrg.code\r\n              }\r\n              if (fillOrgConf.instId) {\r\n                const instIdPath = fillOrgConf.instId.split('.')\r\n                fillObj[instIdPath[instIdPath.length - 1]] = this.$parent.$parent.instId ? this.$parent.$parent.instId : ''\r\n              }\r\n              return {...row, ...fillObj}\r\n            }\r\n            return row\r\n          },\r\n          initFill(path, conf) {\r\n            //收集自动回填信息\r\n            if (path && conf) {\r\n              try {\r\n                const confJson = this.fillOrgConfMap[path] ? this.fillOrgConfMap[path] : JSON.parse(conf)\r\n                if (confJson.id || confJson.code || confJson.name || confJson.instId) {\r\n                  this.fillOrgConfMap[path] = confJson\r\n                  this.initFirstFill(path, confJson)\r\n                }\r\n              } catch (error) {}\r\n            }\r\n          },\r\n          initFirstFill(path, conf) {\r\n            //处理第一行的回填\r\n            const paths = path.split('.')\r\n            if (this.data[paths[0]][paths[1]] && this.data[paths[0]][paths[1]].length == 1 && this.fillOrg.id) {\r\n              if (conf.id) {\r\n                const idPath = conf.id.split('.')\r\n                if (!this.data[paths[0]][paths[1]][0][idPath[2]]) {\r\n                  this.data[paths[0]][paths[1]][0][idPath[2]] = this.fillOrg.id\r\n                  if (conf.code) {\r\n                    const codePath = conf.code.split('.')\r\n                    if (!this.data[paths[0]][paths[1]][0][codePath[2]]) {\r\n                      this.data[paths[0]][paths[1]][0][codePath[2]] = this.fillOrg.code\r\n                    }\r\n                  }\r\n                  if (conf.name) {\r\n                    const namePath = conf.name.split('.')\r\n                    if (!this.data[paths[0]][paths[1]][0][namePath[2]]) {\r\n                      this.data[paths[0]][paths[1]][0][namePath[2]] = this.fillOrg.name\r\n                    }\r\n                  }\r\n                }\r\n              }\r\n              if (conf.instId) {\r\n                const instIdPath = conf.instId.split('.')\r\n                if (!this.data[paths[0]][paths[1]][0][instIdPath[2]]) {\r\n                  this.data[paths[0]][paths[1]][0][instIdPath[2]] = this.$parent.$parent.instId ? this.$parent.$parent.instId : ''\r\n                }\r\n              }\r\n            }\r\n          },\r\n          isShowAddButton(path, maxRow, subIndex) {\r\n            if (maxRow === 0) return false\r\n            let pathArr = path.split('.')\r\n            if (subIndex >= 0) {\r\n              if (pathArr.length < 4) {\r\n                this.$message({\r\n                  message: '子表路径有误',\r\n                  type: 'warning'\r\n                })\r\n              } else {\r\n                let data = this.data[pathArr[1]][pathArr[2]][subIndex][pathArr[3]]\r\n                return data.length >= maxRow\r\n              }\r\n            } else {\r\n              if (pathArr.length < 3) {\r\n                this.$message({\r\n                  message: '子表路径有误',\r\n                  type: 'warning'\r\n                })\r\n              } else {\r\n                let data = this.data[pathArr[1]][pathArr[2]]\r\n                return data.length >= maxRow\r\n              }\r\n            }\r\n            return false\r\n          }\r\n        },\r\n        components: {\r\n          EipPagination,\r\n          EipSubPagination,\r\n          EipSubImportDialog,\r\n          EipSubExportDialog,\r\n          EipPaginationLayout,\r\n          EipInput,\r\n          EipCheckbox,\r\n          EipSelect,\r\n          EipUserSelector,\r\n          EipDemensionSelector,\r\n          EipJobSelector,\r\n          EipOrgSelector,\r\n          EipPostSelector,\r\n          EipRoleSelector,\r\n          EipRadio,\r\n          EipTextarea,\r\n          EipFont,\r\n          EipDialog,\r\n          EipButton,\r\n          EipDate,\r\n          EipImg,\r\n          EipViewer,\r\n          EipSwitch,\r\n          HtFile,\r\n          VRuntimeTemplate,\r\n          HtGangedSelect,\r\n          EipRelFlow,\r\n          EipSubDialog,\r\n          HtLabel,\r\n          HtDigital,\r\n          HtCurrency,\r\n          EipRealtimeInput,\r\n          EipRealtimeTextarea,\r\n          EipStep,\r\n          HtInputAutocomplete,\r\n          HtTreeselect,\r\n          HtCascader,\r\n          HtTree,\r\n          EipAttachment,\r\n          EipDic,\r\n          EipAutocomplete,\r\n          EipCascader,\r\n          EipTreeselect,\r\n          EipCollapse,\r\n          EipPaginationSteps,\r\n          EipMap,\r\n          EipDataView,\r\n          EipSunDialog,\r\n          EipTag,\r\n          EipHotTable,\r\n          EipHotSubDialog,\r\n          ContractPreview,\r\n          EipSubtableBackfill,\r\n          EipDivider,\r\n          EipOffice,\r\n          EipQrcode,\r\n          EipSignature,\r\n          EipTabs,\r\n          EipFontUeditor\r\n        }\r\n      })\r\n    }\r\n  }\r\n}\r\n",null]}