{"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\\WidgetGridLayout.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\src\\components\\form\\WidgetGridLayout.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":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\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 WidgetFormItem from \"@/components/form/WidgetFormItem.vue\";\r\nimport controlsApi from \"@/api/controlsConfig.js\";\r\nimport deepmerge from \"deepmerge\";\r\nexport default {\r\n name: \"widget-grid-layout\",\r\n components: { Draggable, WidgetFormItem },\r\n props: [\"element\", \"select\", \"index\", \"data\",\"selectWidgetList\"],\r\n data() {\r\n return {\r\n selectWidget: this.select\r\n };\r\n },\r\n methods: {\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 handleSelectWidget(index) {\r\n this.selectWidget = this.data.list[index];\r\n },\r\n handleMoveEnd({ newIndex, oldIndex }) {\r\n console.log(\"index\", newIndex, oldIndex);\r\n },\r\n handleWidgetColAdd($event, row, colIndex) {\r\n const newIndex = $event.newIndex;\r\n const oldIndex = $event.oldIndex;\r\n const item = $event.item;\r\n if(row.parentNodeType){\r\n let text = \"\";\r\n if(row.parentNodeType==\"sub\"){\r\n text = \"子表\";\r\n }else if(row.parentNodeType==\"sun\"){\r\n text = \"孙表\";\r\n }\r\n if(item.innerText==\"二维码\"){\r\n this.$message.warning(text+\"不允许存在二维码\");\r\n row.columns[colIndex].list.splice(newIndex, 1);\r\n return false;\r\n }\r\n if(item.innerText==\"里程碑\"){\r\n this.$message.warning(text+\"不允许存在里程碑\");\r\n row.columns[colIndex].list.splice(newIndex, 1);\r\n return false;\r\n }\r\n if (item.innerText == \"表格布局\") {\r\n this.$message.warning(text+\"不允许存在表格布局\");\r\n row.columns[colIndex].list.splice(newIndex, 1);\r\n return false;\r\n }\r\n if (item.innerText == \"高德地图\") {\r\n this.$message.warning(text+\"不允许存在高德地图\");\r\n row.columns[colIndex].list.splice(newIndex, 1);\r\n return false;\r\n }\r\n if(item.innerText==\"相关流程\"){\r\n this.$message.warning(text+\"不允许存在相关流程\");\r\n row.columns[colIndex].list.splice(newIndex, 1);\r\n return false;\r\n }\r\n if (item.innerText === \"数据视图\"){\r\n this.$message.warning(text+\"不允许存在数据视图\");\r\n row.columns[colIndex].list.splice(newIndex, 1);\r\n return false;\r\n }\r\n }\r\n // 防止布局元素的嵌套拖拽\r\n if (item.className.indexOf(\"data-grid\") >= 0 || item.innerText==\"分页符\") {\r\n // 如果是列表中拖拽的元素需要还原到原来位置\r\n item.tagName === \"DIV\" &&\r\n this.data.list.splice(\r\n oldIndex,\r\n 0,\r\n row.columns[colIndex].list[newIndex]\r\n );\r\n\r\n row.columns[colIndex].list.splice(newIndex, 1);\r\n if(item.innerText==\"分页符\"){\r\n this.$message.warning(\"栅格布局中不允许再拖入分页布局\");\r\n }\r\n return false;\r\n }\r\n controlsApi.handleLayoutComponents(this, row, row.columns[colIndex].list, newIndex);\r\n if(row.columns[colIndex].list[newIndex]){\r\n this.selectWidget = row.columns[colIndex].list[newIndex];\r\n this.selectWidget.parentNodeType = row.parentNodeType;\r\n this.selectWidget.boSubEntity = row.boSubEntity;\r\n }\r\n },\r\n handleWidgetDelete(index) {\r\n if (this.data.list.length - 1 === index) {\r\n if (index === 0) {\r\n this.selectWidget = { options: { validateType: \"\" } };\r\n } else {\r\n this.selectWidget = this.data.list[index - 1];\r\n }\r\n } else {\r\n this.selectWidget = this.data.list[index + 1];\r\n }\r\n\r\n this.$nextTick(() => {\r\n this.data.list.splice(index, 1);\r\n });\r\n },\r\n //复制布局+字段\r\n handleWidgetFieldClone(index) {\r\n let cloneData = deepmerge({}, this.data.list[index], { clone: true });\r\n\r\n cloneData.key =\r\n Date.parse(new Date()) + \"_\" + Math.ceil(Math.random() * 99999);\r\n\r\n cloneData.columns.forEach(v =>{\r\n v.list.forEach(t =>{\r\n t.key = Date.parse(new Date()) + \"_\" + Math.ceil(Math.random() * 99999);\r\n })\r\n })\r\n\r\n this.data.list.splice(index + 1, 0, cloneData);\r\n\r\n this.$nextTick(() => {\r\n this.selectWidget = this.data.list[index + 1];\r\n });\r\n },\r\n //复制布局\r\n handleWidgetClone(index) {\r\n let cloneData = deepmerge({}, this.data.list[index], { clone: true });\r\n\r\n cloneData.key =\r\n Date.parse(new Date()) + \"_\" + Math.ceil(Math.random() * 99999);\r\n cloneData.columns.forEach(v =>{\r\n v.list = [];\r\n })\r\n this.data.list.splice(index + 1, 0, cloneData);\r\n\r\n this.$nextTick(() => {\r\n this.selectWidget = this.data.list[index + 1];\r\n });\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]}