{"remainingRequest":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\thread-loader\\dist\\cjs.js!D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\babel-loader\\lib\\index.js!D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!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\\FormDesigner.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\src\\components\\form\\FormDesigner.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":["import \"core-js/modules/es7.object.get-own-property-descriptors\";\nimport \"core-js/modules/es6.object.keys\";\nimport _defineProperty from \"D:/jenkins/workspace/xq-web-bpm/node_modules/@babel/runtime/helpers/esm/defineProperty\";\nimport \"core-js/modules/es6.function.name\";\nimport \"core-js/modules/web.dom.iterable\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport FormNavigator from \"@/components/form/FormNavigator.vue\";\nimport FieldPanel from \"@/components/form/FieldPanel.vue\";\nimport WidgetPanel from \"@/components/form/WidgetPanel.vue\";\nimport PropertyPanel from \"@/components/form/PropertyPanel.vue\";\nimport request from \"@/request.js\";\nexport default {\n  props: [\"visibleDialog\", \"formId\", \"formDefId\", \"addBpmForm\", \"formType\"],\n  components: {\n    FormNavigator: FormNavigator,\n    FieldPanel: FieldPanel,\n    WidgetPanel: WidgetPanel,\n    PropertyPanel: PropertyPanel\n  },\n  data: function data() {\n    return {\n      asideShow: true,\n      rightAsideShow: true,\n      widgetForm: {\n        list: [],\n        config: {\n          labelWidth: 100,\n          labelPosition: \"right\",\n          size: \"small\"\n        }\n      },\n      selectWidgetList: [],\n      formData: this.addBpmForm,\n      boDefData: null,\n      widgetFormSelect: {\n        options: {\n          validateType: \"\"\n        }\n      },\n      mainBoFields: [],\n      subTables: [],\n      sunTablesMap: {},\n      boDefIds: \"\",\n      copyFormList: []\n    };\n  },\n  watch: {\n    visibleDialog: {\n      handler: function handler(newVal) {\n        if (newVal) {\n          this.initData(this.formId, this.addBpmForm.bos);\n        }\n      },\n      immediate: true\n    }\n  },\n  mounted: function mounted() {\n    this.monitor();\n  },\n  methods: {\n    addTocopyFormList: function addTocopyFormList(form) {\n      if (this.copyFormList.length > 0) {\n        var isIn = false;\n        this.copyFormList.forEach(function (item) {\n          if (item.id == form.id) {\n            isIn = true;\n          }\n        });\n\n        if (!isIn) {\n          this.copyFormList.push(form);\n        }\n      } else {\n        this.copyFormList.push(form);\n      }\n    },\n    monitor: function monitor() {\n      var that = this;\n\n      document.onkeydown = function (e) {\n        //按下删除提交\n        var key = window.event.keyCode; //事件中keycode=18为删除事件 左Alt\n\n        if (key == 18 && e.code == \"AltRight\") {\n          that.handleWidgetDelete();\n        }\n      };\n    },\n    //删除表单字段控件\n    deleteWidget: function deleteWidget(list) {\n      for (var i = list.length - 1; i >= 0; i--) {\n        if (list[i].key && !list[i].columns && !list[i].rows && !list[i].list) {\n          //没使用布局字段\n          if (this.selectWidgetList.indexOf(list[i].key) != -1) {\n            list.splice(i, 1);\n          }\n        } else if (list[i].columns && list[i].columns.length > 0) {\n          //栅格，tab页签，折叠面板\n          for (var j = list[i].columns.length - 1; j >= 0; j--) {\n            this.deleteWidget(list[i].columns[j].list);\n          }\n        } else if (list[i].rows && list[i].rows.length > 0) {\n          //表格布局\n          for (var k = list[i].rows.length - 1; k >= 0; k--) {\n            if (list[i].rows[k].cols.length > 0) {\n              for (var m = list[i].rows[k].cols.length - 1; m >= 0; m--) {\n                this.deleteWidget(list[i].rows[k].cols[m].list);\n              }\n            }\n          }\n        } else if (list[i].list && list[i].list.length > 0) {\n          //子表，孙表\n          this.deleteWidget(list[i].list);\n        }\n      }\n    },\n    handleWidgetDelete: function handleWidgetDelete() {\n      var list = this.widgetForm.list;\n\n      if (list.length > 0) {\n        this.deleteWidget(list);\n        this.selectWidgetList.empty();\n      }\n    },\n\n    /**\r\n     * 保存本地配置\r\n     */\n    localSave: function localSave() {\n      var localSaveData = {};\n      localSaveData.widgetForm = this.widgetForm;\n      localSaveData.formData = this.formData;\n      localSaveData.boDefData = this.boDefData;\n      localSaveData.widgetFormSelect = this.widgetFormSelect;\n      localSaveData.mainBoFields = this.mainBoFields;\n      localSaveData.subTables = this.subTables;\n      localSaveData.sunTablesMap = this.sunTablesMap;\n      var jsonStr = JSON.stringify(localSaveData);\n      var blob = new Blob([jsonStr], {\n        type: \"application/json\"\n      });\n      var saveAs = window.saveAs;\n      var name = this.formData.name || this.formData.key || \"表单设计\";\n      saveAs(blob, name + new Date().getTime() + \".json\");\n    },\n\n    /**\r\n     * 加载本地存储\r\n     */\n    loadLocal: function loadLocal(localSaveData) {\n      var newVersion = this.formData.rev;\n      this.widgetForm = localSaveData.widgetForm;\n      this.formData = localSaveData.formData;\n      this.formData.rev = newVersion;\n      this.boDefData = localSaveData.boDefData;\n      this.widgetFormSelect = localSaveData.widgetFormSelect;\n      this.mainBoFields = localSaveData.mainBoFields;\n      this.subTables = localSaveData.subTables;\n      this.sunTablesMap = localSaveData.sunTablesMap;\n      console.log(this.widgetFormSelect);\n    },\n    saveEnd: function saveEnd() {\n      this.$refs.FormNavigator.saveEnd();\n    },\n    saveValidate: function saveValidate() {\n      this.$refs.propertyPanel.saveValidate();\n    },\n    close: function close(value) {\n      if (value) {\n        this.$emit(\"update:formDefId\", value.formData.defId);\n        this.$emit(\"update:formId\", value.formData.id);\n        this.formData = value.formData;\n        this.formData.rev = value.rev;\n      } else {\n        this.$emit(\"update:visibleDialog\", false);\n      }\n    },\n    initData: function initData(formId, bos) {\n      var _this = this;\n\n      this.copyFormList = [];\n\n      if (this.formDefId) {\n        request.get(\"${form}/form/formDef/v1/get?formDefId=\" + this.formDefId).then(function (response) {\n          _this.widgetForm = JSON.parse(response.data.value.expand);\n        });\n      } else if (this.formData.templateConf && this.formData.templateConf.boDefId) {\n        request.post(\"${form}/form/form/v1/generateExpand\", this.formData.templateConf).then(function (response) {\n          _this.widgetForm = JSON.parse(response.data.value);\n        });\n      }\n\n      if (bos && bos.length > 0) {\n        var boDefIds = bos.extractByKey(\"id\").join(\",\");\n        this.getBoDefData(boDefIds);\n        this.widgetForm.boDefList = bos;\n        this.boDefIds = boDefIds;\n        return;\n      }\n\n      if (formId) {\n        request.get(\"${form}/form/form/v1/formDesign?formId=\" + formId).then(function (response) {\n          _this.formData = response.data;\n          _this.formData.id = formId;\n          _this.boDefIds = JSON.parse(_this.formData.bos).extractByKey(\"id\").join(\",\");\n\n          _this.getBoDefData(_this.boDefIds);\n        });\n      }\n    },\n    getBoDefData: function getBoDefData(boDefId) {\n      var _this2 = this;\n\n      request.post(\"${form}/bo/def/v1/getBOTree\", boDefId).then(function (response) {\n        _this2.boDefData = response.data;\n\n        _this2.getMainBoFields();\n      });\n    },\n    getMainBoFields: function getMainBoFields() {\n      var _this3 = this;\n\n      this.mainBoFields = []; // 多个BO   一个Bo 对应一个主表\n\n      this.boDefData.children.forEach(function (element) {\n        var boData = _objectSpread({}, element);\n\n        var boSubTables = boData.children.filter(function (field) {\n          return field.nodeType == \"sub\";\n        });\n        boSubTables.forEach(function (subTable) {\n          //收集孙实体\n          var sunTables = subTable.children.filter(function (field) {\n            return field.nodeType == \"sub\";\n          });\n\n          if (sunTables && sunTables.length > 0) {\n            _this3.sunTablesMap[subTable.name] = sunTables;\n          }\n\n          var sunTable1 = _objectSpread({}, subTable);\n\n          sunTable1.children = subTable.children.filter(function (field) {\n            return field.status != \"hide\" && field.nodeType != \"sub\";\n          });\n\n          _this3.subTables.push(sunTable1);\n        }); // 删除子表字段\n\n        boData.children = boData.children.filter(function (field) {\n          return field.nodeType != \"sub\" && field.status != \"hide\";\n        });\n\n        _this3.mainBoFields.push(boData);\n      });\n    }\n  }\n};",null]}