{"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\\portal\\DesignPanel.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\src\\components\\portal\\DesignPanel.vue","mtime":1675071992178},{"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\r\nimport Draggable from \"vuedraggable\";\r\nimport DesignFormItem from \"@/components/portal/DesignFormItem.vue\";\r\nimport DesignGridLayout from \"@/components/portal/DesignGridLayout.vue\";\r\nimport DesignTableLayout from \"@/components/portal/DesignTableLayout.vue\";\r\n\r\nexport default {\r\n  name: \"design-panel\",\r\n  components: {\r\n    Draggable,\r\n    DesignFormItem,\r\n    DesignGridLayout,\r\n    DesignTableLayout\r\n  },\r\n  props: [\"data\", \"select\"],\r\n  data() {\r\n    return {\r\n      selectWidget: this.select\r\n    };\r\n  },\r\n  mounted() {\r\n    document.body.ondrop = function(event) {\r\n      let isFirefox = navigator.userAgent.toLowerCase().indexOf(\"firefox\") > -1;\r\n      if (isFirefox) {\r\n        event.preventDefault();\r\n        event.stopPropagation();\r\n      }\r\n    };\r\n  },\r\n  methods: {\r\n    handleMoveEnd({ newIndex, oldIndex }) {\r\n      console.log(\"index\", newIndex, oldIndex);\r\n    },\r\n    handleSelectWidget(index) {\r\n      console.log(index, \"#####\");\r\n      this.selectWidget = this.data.list[index];\r\n    },\r\n    handleWidgetAdd(evt) {\r\n      console.log(\"add\", evt);\r\n      console.log(\"end\", evt);\r\n      const newIndex = evt.newIndex;\r\n      const to = evt.to;\r\n      console.log(to);\r\n\r\n      //为拖拽到容器的元素添加唯一 key\r\n      const key =\r\n        Date.parse(new Date()) + \"_\" + Math.ceil(Math.random() * 99999);\r\n      this.$set(this.data.list, newIndex, {\r\n        ...this.data.list[newIndex],\r\n        options: {\r\n          ...this.data.list[newIndex].options,\r\n          remoteFunc: \"func_\" + key\r\n        },\r\n        key,\r\n        // 绑定键值\r\n        model: this.data.list[newIndex].type + \"_\" + key,\r\n        rules: []\r\n      });\r\n\r\n      if (\r\n        this.data.list[newIndex].type === \"radio\" ||\r\n        this.data.list[newIndex].type === \"checkbox\" ||\r\n        this.data.list[newIndex].type === \"select\"\r\n      ) {\r\n        this.$set(this.data.list, newIndex, {\r\n          ...this.data.list[newIndex],\r\n          options: {\r\n            ...this.data.list[newIndex].options,\r\n            options: this.data.list[newIndex].options.options.map(item => ({\r\n              ...item\r\n            }))\r\n          }\r\n        });\r\n      }\r\n\r\n      if (this.data.list[newIndex].type === \"grid\") {\r\n        this.$set(this.data.list, newIndex, {\r\n          ...this.data.list[newIndex],\r\n          columns: this.data.list[newIndex].columns.map(item => ({ ...item }))\r\n        });\r\n      }\r\n\r\n      this.selectWidget = this.data.list[newIndex];\r\n    }\r\n  },\r\n  watch: {\r\n    select(val) {\r\n      this.selectWidget = val;\r\n    },\r\n    selectWidget: {\r\n      handler(val) {\r\n        this.$emit(\"update:select\", val);\r\n      },\r\n      deep: true\r\n    }\r\n  }\r\n};\r\n",null]}