{"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\\WidgetPanel.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\src\\components\\form\\WidgetPanel.vue","mtime":1675071992038},{"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/es6.regexp.split\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\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 Draggable from \"vuedraggable\";\nimport WidgetDivLayout from '@/components/form/WidgetDivLayout.vue';\nimport WidgetFormItem from \"@/components/form/WidgetFormItem.vue\";\nimport WidgetGridLayout from \"@/components/form/WidgetGridLayout.vue\";\nimport WidgetTableLayout from \"@/components/form/WidgetTableLayout.vue\";\nimport WidgetPaginationLayout from \"@/components/form/WidgetPaginationLayout.vue\";\nimport WidgetCollapseLayout from \"@/components/form/WidgetCollapseLayout.vue\";\nimport WidgetSubtableLayout from \"@/components/form/WidgetSubtableLayout.vue\";\nimport WidgetSubdivLayout from \"@/components/form/WidgetSubDivLayout.vue\";\nimport WidgetPageStepsLayout from \"@/components/form/WidgetPageStepsLayout.vue\";\nimport WidgetPageButtonLayout from \"@/components/form/WidgetPageButtonLayout.vue\";\nimport WidgetDataViewLayout from \"@/components/form/WidgetDataViewLayout.vue\";\nimport WidgetHottableLayout from \"@/components/form/WidgetHottableLayout.vue\";\nimport WidgetMainTableLayout from \"@/components/form/WidgetMainTableLayout.vue\";\nimport deepmerge from \"deepmerge\";\nexport default {\n  name: \"widget-panel\",\n  components: {\n    Draggable: Draggable,\n    WidgetDivLayout: WidgetDivLayout,\n    WidgetGridLayout: WidgetGridLayout,\n    WidgetTableLayout: WidgetTableLayout,\n    WidgetPaginationLayout: WidgetPaginationLayout,\n    WidgetCollapseLayout: WidgetCollapseLayout,\n    WidgetSubtableLayout: WidgetSubtableLayout,\n    WidgetSubdivLayout: WidgetSubdivLayout,\n    WidgetFormItem: WidgetFormItem,\n    WidgetPageStepsLayout: WidgetPageStepsLayout,\n    WidgetPageButtonLayout: WidgetPageButtonLayout,\n    WidgetDataViewLayout: WidgetDataViewLayout,\n    WidgetHottableLayout: WidgetHottableLayout,\n    WidgetMainTableLayout: WidgetMainTableLayout\n  },\n  props: [\"data\", \"select\", \"selectWidgetList\"],\n  data: function data() {\n    return {\n      selectWidget: this.select\n    };\n  },\n  mounted: function mounted() {\n    document.body.ondrop = function (event) {\n      var isFirefox = navigator.userAgent.toLowerCase().indexOf(\"firefox\") > -1;\n\n      if (isFirefox) {\n        event.preventDefault();\n        event.stopPropagation();\n      }\n    };\n  },\n  methods: {\n    handleMoveStart: function handleMoveStart(evt) {\n      window.panelList = this.data.list; // 新增控件时  将控件属性切断联系\n\n      evt.item._underlying_vm_ = deepmerge({}, evt.item._underlying_vm_, {\n        clone: true\n      });\n      var key = Date.parse(new Date()) + \"_\" + Math.ceil(Math.random() * 99999);\n      evt.item._underlying_vm_.key = key;\n    },\n    handleMoveEnd: function handleMoveEnd(_ref) {\n      var newIndex = _ref.newIndex,\n          oldIndex = _ref.oldIndex;\n      console.log(\"index\", newIndex, oldIndex);\n    },\n    handleSelectWidget: function handleSelectWidget(index) {\n      console.log(index, \"#####\");\n      this.selectWidget = this.data.list[index];\n    },\n    handleWidgetAdd: function handleWidgetAdd(evt) {\n      var newIndex = evt.newIndex;\n      var item = evt.item;\n\n      if (item.innerText == \"孙表\" || item.innerText == \"div孙表\") {\n        this.$message.error(\"孙表只能存在子表中\");\n        this.data.list.splice(newIndex, 1);\n        return false;\n      } //拖拽的控件是高德地图控件时，判断是否已经存在高德地图控件\n\n\n      var vueInst = this; //拖字段属性时防止子表和孙表字段拖入非对应布局中\n\n      if (vueInst.data.list[newIndex] && vueInst.data.list[newIndex].fieldPath) {\n        if (vueInst.data.list[newIndex].fieldPath.indexOf(\"item.\") == 0) {\n          this.$message.error(\"子表字段只能存在子表中\");\n          this.data.list.splice(newIndex, 1);\n          return false;\n        } else if (vueInst.data.list[newIndex].fieldPath.split(\".\").length == 4) {\n          this.$message.error(\"孙表字段只能存在子表中\");\n          this.data.list.splice(newIndex, 1);\n          return false;\n        }\n      }\n\n      var amapNum = 0;\n\n      for (var i = vueInst.data.list.length - 1; i >= 0; i--) {\n        if (vueInst.data.list[i].ctrlType == \"amap\") {\n          amapNum = amapNum + 1;\n        }\n      } //amapNum为1代表只存在一个高德地图控件，大于1则拖拽的控件也是高德地图控件\n\n\n      if (amapNum > 1) {\n        for (var j = vueInst.data.list.length - 1; j >= 0; j--) {\n          if (vueInst.data.list[j].ctrlType == \"amap\" && !vueInst.data.list[j].options.addressName) {\n            this.$message.error(\"已存在高德地图控件\");\n            vueInst.data.list.splice(j, 1);\n            return;\n          }\n        }\n      }\n\n      var to = evt.to;\n      console.log(to);\n      this.selectWidget = this.data.list[newIndex]; //如果启用了分页布局,就不能在开头与结尾添加东西了\n\n      if (this.data.pageSize && this.data.pageSize >= 2) {\n        if (evt.newIndex == 0) {\n          var dataEn = this.data.list[0];\n          this.data.list.splice(0, 1);\n          this.data.list.splice(1, 0, dataEn);\n        } else if (evt.newIndex == this.data.list.length - 1) {\n          var _dataEn = this.data.list[evt.newIndex];\n          this.data.list.splice(evt.newIndex, 1);\n          this.data.list.splice(this.data.list.length - 1, 0, _dataEn);\n        }\n      }\n\n      console.log(\"add\", evt);\n      console.log(\"end\", evt);\n      console.log(\"data\", this.data); //如果是分页布局.第一次拖入,会额外添加一个步骤条的头,与一个页尾\n\n      if (this.selectWidget.ctrlType == \"page\") {\n        if (this.data.pageSize && (this.data.pageSize == 2 || this.data.pageSize > 2)) {\n          this.data.pageSize += 1;\n          this.data.list[0].pageSize = this.data.pageSize;\n          this.data.list[0].pageStepsArr.push({\n            name: \"分页\" + (this.data.list[0].pageStepsArr.length + 1)\n          });\n        } else {\n          this.data.pageSize = 2;\n          var pageSteps = {\n            ctrlType: \"pageSteps\",\n            desc: \"分页步骤条\",\n            key: \"1581473408000_37810\",\n            isShow: true,\n            isLayout: true,\n            columns: [{\n              list: []\n            }],\n            pageSize: 2,\n            pageStepsArr: [{\n              name: \"分页1\"\n            }, {\n              name: \"分页2\"\n            }]\n          };\n          this.data.list.splice(0, 0, pageSteps);\n          var pageButton = {\n            ctrlType: \"pageButton\",\n            desc: \"分页步骤按钮\",\n            key: \"1581473408000_37811\",\n            isLayout: true,\n            columns: [{\n              list: []\n            }],\n            nextButton: {\n              name: \"下一步\",\n              icon: \"\",\n              color: \"#409eff\",\n              preScript: \"\",\n              rearScript: \"\"\n            },\n            backButton: {\n              name: \"上一步\",\n              icon: \"\",\n              color: \"#67C23A\",\n              preScript: \"\",\n              rearScript: \"\"\n            }\n          };\n          this.data.list.push(pageButton);\n        }\n      }\n    },\n    handleChange: function handleChange(arr) {\n      this.data.list.remove(this.data.list.length - 1);\n    }\n  },\n  watch: {\n    select: function select(val) {\n      this.selectWidget = val;\n    },\n    selectWidget: {\n      handler: function handler(val) {\n        this.$emit(\"update:select\", val);\n      },\n      deep: true\n    }\n  }\n};",null]}