{"remainingRequest":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\xq-web-bpm\\src\\components\\form\\FieldPanel.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\src\\components\\form\\FieldPanel.vue","mtime":1675071991960},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\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//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\r\nimport Draggable from \"vuedraggable\";\r\nimport deepmerge from \"deepmerge\";\r\nimport {\r\n  basicComponents,\r\n  layoutComponents,\r\n  advanceComponents,\r\n} from \"@/api/controlsConfig.js\";\r\nimport req from \"@/request.js\";\r\nconst EipCopyFormDialog = () =>\r\n  import(\"@/components/dialog/EipCopyFormDialog.vue\");\r\n\r\nexport default {\r\n  name: \"field-panel\",\r\n  components: { Draggable, EipCopyFormDialog },\r\n  props: [\"boDefIds\", \"widgetForm\", \"formType\", \"formId\",\"copyFormList\"],\r\n  data() {\r\n    return {\r\n      showFiledList:[],\r\n      basicComponents,\r\n      layoutComponents,\r\n      advanceComponents,\r\n      activeName: \"controlLayout\",\r\n      boTreeData: [],\r\n      activeBoTreeMenu: \"0\",\r\n      activeCopyFormNames: [\"form0\"],\r\n      selectedMap: {},\r\n      boDefIdMap: {},\r\n      copyFiledMap: {},\r\n      copyFormBoTreeData: [],\r\n    };\r\n  },\r\n  created() {\r\n    if (this.copyFormList && this.copyFormList.length>0) {\r\n      this.initGenerateBoTreeData(this.boDefIds, true);\r\n    }\r\n  },\r\n  watch: {\r\n    boDefIds: {\r\n      handler: function (newVal) {\r\n        this.copyFiledMap = {};\r\n        this.initGenerateBoTreeData(newVal);\r\n      },\r\n    },\r\n    widgetForm: {\r\n      handler: function (val, oldVal) {\r\n        if (val && val.list && val.list.length > 0) {\r\n          this.initSelectedMap(val.list);\r\n        } else {\r\n          this.selectedMap = {};\r\n        }\r\n      },\r\n      deep: true,\r\n    },\r\n  },\r\n  methods: {\r\n    handleMoveEnd: function (evt) {},\r\n    handleMoveStart: function (evt) {\r\n      // 新增控件时  将控件属性切断联系\r\n      evt.item._underlying_vm_ = deepmerge({}, evt.item._underlying_vm_, {\r\n        clone: true,\r\n      });\r\n      const key =\r\n        Date.parse(new Date()) + \"_\" + Math.ceil(Math.random() * 99999);\r\n      evt.item._underlying_vm_.key = key;\r\n    },\r\n    handleFiledMoveStart: function (evt) {\r\n      // 新增控件时  将控件属性切断联系\r\n      const fieldControl = this.getFieldControl(evt.item._underlying_vm_);\r\n      if (this.selectedMap[fieldControl.tableName + \"_\" + fieldControl.name]) {\r\n        this.$message({\r\n          message:\r\n            \"字段【\" + fieldControl.desc + \"】已绑定控件，不能多次绑定。\",\r\n          type: \"warning\",\r\n        });\r\n        delete evt.item._underlying_vm_;\r\n        return;\r\n      }\r\n      //添加拖拽方式属性\r\n      fieldControl.dragType = \"field\";\r\n      evt.item._underlying_vm_ = deepmerge({}, fieldControl, {\r\n        clone: true,\r\n      });\r\n      const key =\r\n        Date.parse(new Date()) + \"_\" + Math.ceil(Math.random() * 99999);\r\n      evt.item._underlying_vm_.key = key;\r\n    },\r\n    handleCopyFiledMoveStart: function (formKey, evt) {\r\n      // 新增控件时  将控件属性切断联系\r\n      const fieldControl = this.getCopyFieldControl(\r\n        formKey,\r\n        evt.item._underlying_vm_\r\n      );\r\n      if (!fieldControl || typeof fieldControl == \"undefined\") {\r\n        this.$message({ message: \"未找到该复用字段的控件。\", type: \"warning\" });\r\n        fieldControl = this.getFieldControl(evt.item._underlying_vm_);\r\n      }\r\n      if (this.selectedMap[fieldControl.tableName + \"_\" + fieldControl.name]) {\r\n        this.$message({\r\n          message:\r\n            \"字段【\" + fieldControl.desc + \"】已绑定控件，不能多次绑定。\",\r\n          type: \"warning\",\r\n        });\r\n        delete evt.item._underlying_vm_;\r\n        return;\r\n      }\r\n      //添加拖拽方式属性\r\n      fieldControl.dragType = \"copy\";\r\n      evt.item._underlying_vm_ = deepmerge({}, fieldControl, {\r\n        clone: true,\r\n      });\r\n      const key =\r\n        Date.parse(new Date()) + \"_\" + Math.ceil(Math.random() * 99999);\r\n      evt.item._underlying_vm_.key = key;\r\n      //检测有没有绑定指定属性或事件，如果有提示注意检查是否涉及到其他BO导致绑定属性或事件失效\r\n      setTimeout(() => this.validateFieldProperty(fieldControl), 1500);\r\n    },\r\n    handleMove: function (evt) {},\r\n    handleClick(tab, event) {\r\n      if (\r\n        tab.name == \"attributeField\" &&\r\n        this.boDefIds &&\r\n        (!this.boTreeData || this.boTreeData.length == 0)\r\n      ) {\r\n        this.initGenerateBoTreeData(this.boDefIds);\r\n      }\r\n    },\r\n    validateFieldProperty(filed) {\r\n      if (filed && filed.options) {\r\n        let propertyList = [];\r\n        //判断计算公式\r\n        if (filed.options.formulasDiyJs) {\r\n          propertyList.push(\"【计算公式】\");\r\n        }\r\n        //判断联动设置\r\n        if (filed.options.linkage) {\r\n          propertyList.push(\"【联动设置】\");\r\n        }\r\n        //判断统计函数\r\n        if (filed.options.mathExp) {\r\n          propertyList.push(\"【字段校验】\");\r\n        }\r\n        //判断文本内容的变量\r\n        if (filed.options.textValue) {\r\n          propertyList.push(\"【文本内容变量】\");\r\n        }\r\n        //判断字段校验\r\n        if (\r\n          filed.options.validateList &&\r\n          filed.options.validateList.length > 0\r\n        ) {\r\n          propertyList.push(\"【字段校验】\");\r\n        }\r\n        if (propertyList.length > 0) {\r\n          let msg =\r\n            \"复用字段“\" +\r\n            filed.desc +\r\n            \"”中设置了\" +\r\n            propertyList.join(\"，\") +\r\n            \"，请检查是否存在绑定非当前BO字段，如果存在需自行修改，否则可能会影响相关功能效果。\";\r\n          this.$message({ message: msg, type: \"warning\", duration: 5500 });\r\n        }\r\n      }\r\n    },\r\n    getTitleStyle(entName, fieldName) {\r\n      if (this.selectedMap[entName + \"_\" + fieldName]) {\r\n        return \"color:#bdbfc2;\";\r\n      }\r\n      return \"color:#212121;\";\r\n    },\r\n    initGenerateBoTreeData(boDefIds, initCopyForm) {\r\n      if (boDefIds) {\r\n        let _this = this;\r\n        const ids = boDefIds.split(\",\");\r\n        ids.forEach((defId) => {\r\n          _this.boDefIdMap[defId] = true;\r\n        });\r\n        req\r\n          .get(\"${form}/form/form/v1/generateBoTreeData?boDefIds=\" + boDefIds)\r\n          .then((data) => {\r\n            let response = data.data;\r\n            if (response.state) {\r\n              _this.boTreeData = JSON.parse(response.value);\r\n            }\r\n            if(initCopyForm){\r\n              _this.formDialogConfirm(_this.copyFormList, true);\r\n              _this.initSelectedMap(_this.widgetForm.list);\r\n            }\r\n            \r\n          });\r\n      } else {\r\n        this.boTreeData = [];\r\n        this.boDefIdMap = {};\r\n      }\r\n    },\r\n    getFieldControl(field) {\r\n      let baseObj = {\r\n        name: field.name,\r\n        target: field.name,\r\n        desc: field.comment,\r\n        title: field.comment,\r\n        boAttrId: field.boAttrId,\r\n        fieldPath: field.fieldPath,\r\n        entId: field.entId,\r\n        boDefAlias: field.boDefAlias,\r\n        tableName: field.tableName,\r\n        columnType: field.dataType,\r\n      };\r\n      if (field.fieldPath.split(\".\").length > 2) {\r\n        baseObj.parentNodeType = \"sun\";\r\n        baseObj.boSubEntity = field.tableName;\r\n      }\r\n      const key =\r\n        Date.parse(new Date()) + \"_\" + Math.ceil(Math.random() * 99999);\r\n      if (field.dataType == \"number\") {\r\n        let option = {\r\n          icon: \"icon-single\",\r\n          ctrlType: \"number\",\r\n          key: key,\r\n          columnType: \"number\",\r\n          options: {\r\n            defaultValue: 0,\r\n            min: 0,\r\n            max: 99999,\r\n            step: 1,\r\n            decimalDigits: field.decimalLen,\r\n            maxDecimalDigits: field.decimalLen,\r\n            filtercurrency: \"\",\r\n            filterthousandBit: \"\",\r\n            advancedProperty: \"inputType|bindPreAndSufFix\",\r\n            basicsProperty: \"number|currency|placeholder|dateCount\",\r\n            controlsPosition: \"\",\r\n            company: \"\",\r\n            validateType:\r\n              \"min_value|max_value|confirmed|numeric|between|digits|required|row_unique|frontJSValidate|mobile\",\r\n            dataType: \"number\",\r\n            validateList: [],\r\n            disabled: false,\r\n            formulasDiyJs: \"\",\r\n            lableColor: \"#969799\",\r\n            mathExp: \"\",\r\n            bindPreAndSufFixjson: {\r\n              preFix: \"\",\r\n              sufSix: \"\",\r\n            },\r\n          },\r\n        };\r\n        return { ...baseObj, ...option };\r\n      } else if (field.dataType == \"date\") {\r\n        let option = {\r\n          icon: \"icon-date\",\r\n          ctrlType: \"date\",\r\n          key: key,\r\n          columnType: \"date\",\r\n          options: {\r\n            defaultValue: \"\",\r\n            dataType: \"date\",\r\n            validateType:\r\n              \"isAfter|isBefore|isStart|isEnd|required|row_unique|frontJSValidate\",\r\n            advancedProperty: \"isEditor|isInputEdit\",\r\n            placeholder: \"\",\r\n            basicsProperty: \"date|placeholder\",\r\n            validate: \"\",\r\n            readonly: false,\r\n            editable: true,\r\n            clearable: true,\r\n            timestamp: false,\r\n            required: false,\r\n            type: \"date\",\r\n            validateList: [],\r\n            disabled: false,\r\n            formulasDiyJs: \"\",\r\n            lableColor: \"#969799\",\r\n            mathExp: \"\",\r\n            bindPreAndSufFixjson: {\r\n              preFix: \"\",\r\n              sufSix: \"\",\r\n            },\r\n            format: field.format,\r\n            inputFormat: field.format,\r\n          },\r\n        };\r\n        return { ...baseObj, ...option };\r\n      } else if (field.dataType == \"clob\") {\r\n        let option = {\r\n          icon: \"icon-single\",\r\n          ctrlType: \"textarea\",\r\n          key: key,\r\n          columnType: \"clob\",\r\n          options: {\r\n            width: \"100%\",\r\n            isWidth: true,\r\n            defaultValue: \"\",\r\n            dataType: \"clob\",\r\n            validateType:\r\n              \"regex|min|max|required|row_unique|frontJSValidate|backendValidate\",\r\n            advancedProperty: \"isEditor|isInputEdit\",\r\n            placeholder: \"\",\r\n            basicsProperty: \"placeholder\",\r\n            validateList: [],\r\n            disabled: false,\r\n            formulasDiyJs: \"\",\r\n            lableColor: \"#969799\",\r\n          },\r\n        };\r\n        return { ...baseObj, ...option };\r\n      } else {\r\n        let option = {\r\n          icon: \"icon-single\",\r\n          ctrlType: \"input\",\r\n          key: key,\r\n          options: {\r\n            width: \"100%\",\r\n            isWidth: true,\r\n            defaultValue: \"\",\r\n            isCountDate: false,\r\n            mathExp: \"\",\r\n            isStartDate: \"\",\r\n            isEndDate: \"\",\r\n            countFormat: \"day\",\r\n            dataType: \"string|number\",\r\n            validateList: [],\r\n            validate: \"\",\r\n            validateType:\r\n              \"confirmed|email|regex|min|max|min_value|max_value|isAfter|isBefore|isStart|isEnd|numeric|between|is|digits|mobile|required|row_unique|alpha_spaces|alpha_dash|alpha_num|alpha|frontJSValidate|backendValidate\",\r\n            advancedProperty:\r\n              \"isInputEdit|isBindIdentity|inputType|bindPreAndSufFix\",\r\n            placeholder: \"\",\r\n            disabled: false,\r\n            basicsProperty: \"input|dateCount|placeholder\",\r\n            bindIdentityjson: {},\r\n            isBindPreAndSufFix: false,\r\n            bindPreAndSufFixjson: {\r\n              preFix: \"\",\r\n              sufSix: \"\",\r\n            },\r\n            formulasDiyJs: \"\",\r\n            lableColor: \"#969799\",\r\n            showCondition: { target: '',fieldPath:'',value:''}\r\n          },\r\n        };\r\n        return { ...baseObj, ...option };\r\n      }\r\n      return null;\r\n    },\r\n    getCopyFieldControl(formKey, field) {\r\n      if (\r\n        this.copyFiledMap[formKey] &&\r\n        this.copyFiledMap[formKey][\r\n          formKey + \"_\" + field.tableName + \"_\" + field.name\r\n        ]\r\n      ) {\r\n        return this.copyFiledMap[formKey][\r\n          formKey + \"_\" + field.tableName + \"_\" + field.name\r\n        ];\r\n      } else {\r\n        return null;\r\n      }\r\n    },\r\n    initSelectedMap(rootList, formKey) {\r\n      const this_ = this;\r\n      let newMap = {};\r\n      let getFieldMap = function (newMap, obj, type) {\r\n        switch (type) {\r\n          case \"grid\":\r\n            if (obj.columns && obj.columns.length > 0) {\r\n              obj.columns.forEach((citem) => {\r\n                if (citem.list && citem.list.length > 0) {\r\n                  citem.list.forEach((gitem) => {\r\n                    if (gitem.fieldPath) {\r\n                      if (formKey) {\r\n                        newMap[\r\n                          formKey + \"_\" + gitem.tableName + \"_\" + gitem.name\r\n                        ] = { ...gitem };\r\n                      } else {\r\n                        newMap[gitem.tableName + \"_\" + gitem.name] = true;\r\n                      }\r\n                    }\r\n                  });\r\n                }\r\n              });\r\n            }\r\n            break;\r\n          case \"table\":\r\n            if (obj.rows && obj.rows.length > 0) {\r\n              obj.rows.forEach((ritem) => {\r\n                if (ritem.cols && ritem.cols.length > 0) {\r\n                  ritem.cols.forEach((citem) => {\r\n                    citem.list.forEach((item) => {\r\n                      if (item.fieldPath) {\r\n                        if (formKey) {\r\n                          newMap[\r\n                            formKey + \"_\" + item.tableName + \"_\" + item.name\r\n                          ] = { ...item };\r\n                        } else {\r\n                          newMap[item.tableName + \"_\" + item.name] = true;\r\n                        }\r\n                      }\r\n                    });\r\n                  });\r\n                }\r\n              });\r\n            }\r\n            break;\r\n          default:\r\n            break;\r\n        }\r\n      };\r\n      let getLayoutMap = function (list, newMap) {\r\n        list.forEach((listItem) => {\r\n          if (listItem.fieldPath) {\r\n            if (formKey) {\r\n              newMap[\r\n                formKey + \"_\" + listItem.tableName + \"_\" + listItem.name\r\n              ] = { ...listItem };\r\n            } else {\r\n              newMap[listItem.tableName + \"_\" + listItem.name] = true;\r\n            }\r\n          } else if (listItem.ctrlType) {\r\n            switch (listItem.ctrlType) {\r\n              case \"tab\":\r\n              case \"accordion\":\r\n                if (listItem.columns && listItem.columns.length > 0) {\r\n                  listItem.columns.forEach((aitem) => {\r\n                    if (aitem.list && aitem.list.length > 0) {\r\n                      getLayoutMap(aitem.list, newMap);\r\n                    }\r\n                  });\r\n                }\r\n                break;\r\n              case \"grid\":\r\n                getFieldMap(newMap, listItem, \"grid\");\r\n                break;\r\n              case \"table\":\r\n                getFieldMap(newMap, listItem, \"table\");\r\n                break;\r\n              case \"subtable\":\r\n                if (listItem.list && listItem.list.length > 0) {\r\n                  listItem.list.forEach((item) => {\r\n                    if (item.fieldPath) {\r\n                      if (formKey) {\r\n                        newMap[\r\n                          formKey + \"_\" + item.tableName + \"_\" + item.name\r\n                        ] = { ...item };\r\n                      } else {\r\n                        newMap[item.tableName + \"_\" + item.name] = true;\r\n                      }\r\n                    } else if (\r\n                      item.ctrlType == \"sunDiv\" ||\r\n                      item.ctrlType == \"suntable\"\r\n                    ) {\r\n                      if (item.list && item.list.length > 0) {\r\n                        item.list.forEach((sunitem) => {\r\n                          if (sunitem.fieldPath) {\r\n                            if (formKey) {\r\n                              newMap[\r\n                                formKey +\r\n                                  \"_\" +\r\n                                  sunitem.tableName +\r\n                                  \"_\" +\r\n                                  sunitem.name\r\n                              ] = { ...sunitem };\r\n                            } else {\r\n                              newMap[\r\n                                sunitem.tableName + \"_\" + sunitem.name\r\n                              ] = true;\r\n                            }\r\n                          } else if (sunitem.ctrlType == \"grid\") {\r\n                            getFieldMap(newMap, sunitem, \"grid\");\r\n                          }\r\n                        });\r\n                      }\r\n                    }\r\n                  });\r\n                }\r\n                break;\r\n              case \"subDiv\":\r\n                if (listItem.list && listItem.list.length > 0) {\r\n                  listItem.list.forEach((item) => {\r\n                    if (item.fieldPath) {\r\n                      newMap[item.tableName + \"_\" + item.name] = true;\r\n                    } else if (item.ctrlType == \"grid\") {\r\n                      getFieldMap(newMap, item, \"grid\");\r\n                    } else if (\r\n                      item.ctrlType == \"sunDiv\" ||\r\n                      item.ctrlType == \"suntable\"\r\n                    ) {\r\n                      if (item.list && item.list.length > 0) {\r\n                        item.list.forEach((sunitem) => {\r\n                          if (sunitem.fieldPath) {\r\n                            if (formKey) {\r\n                              newMap[\r\n                                formKey +\r\n                                  \"_\" +\r\n                                  sunitem.tableName +\r\n                                  \"_\" +\r\n                                  sunitem.name\r\n                              ] = { ...sunitem };\r\n                            } else {\r\n                              newMap[\r\n                                sunitem.tableName + \"_\" + sunitem.name\r\n                              ] = true;\r\n                            }\r\n                          } else if (sunitem.ctrlType == \"grid\") {\r\n                            getFieldMap(newMap, sunitem, \"grid\");\r\n                          }\r\n                        });\r\n                      }\r\n                    }\r\n                  });\r\n                }\r\n                break;\r\n              default:\r\n                break;\r\n            }\r\n          } else {\r\n          }\r\n        });\r\n        if(newMap){\r\n          //获取可以复用的字段集合\r\n          for(let key in newMap){\r\n            this_.showFiledList.push(newMap[key]);\r\n          }\r\n        }\r\n      };\r\n      getLayoutMap(rootList, newMap);\r\n      if (formKey) {\r\n        this.copyFiledMap[formKey] = newMap;\r\n      } else {\r\n        this.selectedMap = newMap;\r\n      }\r\n    },\r\n    addCopyForms() {\r\n      this.$refs.eipCopyFormDialog.showDialog();\r\n    },\r\n    addCopyForm(form) {\r\n      let formObj = { key: form.formKey, name: form.name, boTreeData: [] };\r\n      let _this = this;\r\n      let copyBoTree = function (defId) {\r\n        let copyTreeData = {};\r\n        _this.boTreeData.forEach((treeData) => {\r\n          if (treeData.id == defId) {\r\n            copyTreeData = { ...treeData };\r\n          }\r\n        });\r\n        return copyTreeData;\r\n      };\r\n      form.boDefList.forEach((defId) => {\r\n        if (_this.boDefIdMap[defId]) {\r\n          let copyTree = copyBoTree(defId);\r\n          if (JSON.stringify(copyTree) != \"{}\") {\r\n            formObj.boTreeData.push(copyTree);\r\n          }\r\n        }\r\n      });\r\n      if (formObj.boTreeData.length > 0) {\r\n        const expand = JSON.parse(form.expand);\r\n        this.initSelectedMap(expand.list, form.formKey);\r\n        this.copyFormBoTreeData.push(formObj);\r\n      } else {\r\n        this.$message({\r\n          message: \"表单【\" + form.name + \"】不能被复用。\",\r\n          type: \"warning\",\r\n        });\r\n      }\r\n    },\r\n    formDialogConfirm(data, init) {\r\n      if (data && data.length > 0) {\r\n        let _this = this;\r\n        data.forEach((form) => {\r\n          if (form.expand && form.boDefList && form.boDefList.length > 0) {\r\n            _this.addCopyForm(form);\r\n            if(!init){\r\n              _this.$emit('addTocopyFormList', form);\r\n            }\r\n          }\r\n        });\r\n      }\r\n    },\r\n    //判断哪些字段可以复用\r\n    isShow(attr){\r\n      if(this.showFiledList.length>0){\r\n        let isShow = this.showFiledList.find(obj=>\r\n          obj.fieldPath==attr.fieldPath\r\n        )\r\n        if(isShow){\r\n          return true;\r\n        }else{\r\n          return false;\r\n        }\r\n      }else{\r\n        return false;\r\n      }\r\n    }\r\n  },\r\n};\r\n",null]}