{"remainingRequest":"D:\\data\\hanguodoushan\\acs2\\nladmin-ui\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\data\\hanguodoushan\\acs2\\nladmin-ui\\src\\views\\acs\\stage\\editor\\index.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\data\\hanguodoushan\\acs2\\nladmin-ui\\src\\views\\acs\\stage\\editor\\index.vue","mtime":1732871026666},{"path":"D:\\data\\hanguodoushan\\acs2\\nladmin-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1732872824662},{"path":"D:\\data\\hanguodoushan\\acs2\\nladmin-ui\\node_modules\\babel-loader\\lib\\index.js","mtime":1732872825017},{"path":"D:\\data\\hanguodoushan\\acs2\\nladmin-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1732872824662},{"path":"D:\\data\\hanguodoushan\\acs2\\nladmin-ui\\node_modules\\vue-loader\\lib\\index.js","mtime":1732872825835}],"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\r\nimport draggable from 'vuedraggable'\r\nimport crudStage from '@/api/acs/stage/stage'\r\nimport actorCrud from '@/api/acs/stage/actor'\r\nimport deviceCrud from '@/api/acs/device/device'\r\nimport del from '@/assets/acs/del_new.png'\r\nimport crud from '@/mixins/crud'\r\n\r\nexport default {\r\n name: 'StageEditor',\r\n // 注册draggable组件\r\n components: {\r\n draggable\r\n },\r\n mixins: [crud],\r\n data() {\r\n return {\r\n oldIndex: '',\r\n del: del,\r\n newIndex: '',\r\n imgUrl: '1',\r\n stage_code: '',\r\n saveLoading: false,\r\n drag: false,\r\n // 定义要被拖拽对象的数组\r\n\r\n dialogFormVisible: false,\r\n drawFormSet: false,\r\n arr1: [\r\n { id: 1, name: 'agv', img1: 'AGV' },\r\n { id: 2, name: 'bcr', img1: 'BCR' },\r\n { id: 3, name: 'ddg', img1: 'DDJ' },\r\n { id: 4, name: '常温', img1: '常温' },\r\n { id: 5, name: 'ssj', img1: 'SSJ' },\r\n { id: 6, name: '滚筒', img1: '滚筒输送机' },\r\n { id: 7, name: '机械手', img1: '机械手' },\r\n { id: 8, name: '叠盘机', img1: '叠盘机' },\r\n { id: 9, name: '墙面横', img1: '墙面横' },\r\n { id: 10, name: '墙面竖', img1: '墙面竖' },\r\n { id: 11, name: '区域横', img1: '区域横' },\r\n { id: 12, name: '区域竖', img1: '区域竖' },\r\n { id: 13, name: '专机', img1: '专机' }\r\n ],\r\n arr2: [],\r\n stageSelectList: [],\r\n deviceList: [],\r\n form: {\r\n index: 0,\r\n device_code: '',\r\n angle: 0\r\n },\r\n grid_width: 1000,\r\n grid_length: 500\r\n }\r\n },\r\n created() {\r\n this.initArr2()\r\n this.$nextTick(() => {\r\n // 初始化设备下拉框\r\n deviceCrud.selectDeviceList().then(data => {\r\n this.deviceList = data\r\n })\r\n // 初始化舞台下拉框\r\n crudStage.selectStageList().then(data => {\r\n this.stageSelectList = data\r\n })\r\n })\r\n },\r\n methods: {\r\n click(index) {\r\n const clickObj = this.arr2[index]\r\n if (!clickObj.img2 || clickObj.img2 === '1') {\r\n return\r\n }\r\n this.dialogFormVisible = true\r\n this.form.angle = clickObj.angle\r\n this.form.index = clickObj.index\r\n this.form.device_code = clickObj.device_code\r\n },\r\n changeStage(stage_code) {\r\n actorCrud.queryStageActor(stage_code).then(data => {\r\n if (data.detail.length > 0) {\r\n this.grid_width = data.form.grid_width\r\n this.grid_length = data.form.grid_length\r\n this.initArr2()\r\n for (const i of data.detail) {\r\n const index = i.index\r\n this.arr2.splice(index, 1, i)\r\n }\r\n } else {\r\n this.initArr2()\r\n }\r\n }).catch(err => {\r\n console.log(err.response.data.message)\r\n })\r\n },\r\n delImg(index) {\r\n const clickObj = this.arr2[index]\r\n if (!clickObj.img2 || clickObj.img2 === '1') {\r\n return\r\n }\r\n this.arr2[index].img2 = '1'\r\n this.arr2[index].device_code = ''\r\n this.arr2[index].angle = 0\r\n },\r\n dialogSave() {\r\n const obj = this.arr2[this.form.index]\r\n obj.angle = this.form.angle\r\n obj.device_code = this.form.device_code\r\n this.dialogFormVisible = false\r\n },\r\n mouseOver(index, id) {\r\n // 根据坐标可以在这做弹出\r\n if (this.arr2[index].img2) {\r\n }\r\n },\r\n\r\n // 开始拖拽事件\r\n onStart(e) {\r\n this.drag = true\r\n },\r\n onMove(e, originalEvent) {\r\n this.oldIndex = e.draggedContext.index\r\n this.newIndex = e.relatedContext.index\r\n return false\r\n },\r\n // 拖拽结束事件\r\n onEnd(e) {\r\n // https://www.w3school.com.cn/jsref/jsref_splice.asp\r\n // 删除列表2新的位置的元素,并且用列表1的元素代替\r\n this.arr2[this.newIndex].img2 = this.arr1[this.oldIndex].img1\r\n },\r\n saveAll() {\r\n this.saveLoading = true\r\n const dataObj = {}\r\n dataObj.stage_code = this.stage_code\r\n const list = []\r\n for (const item of this.arr2) {\r\n if (item.img2 !== '1') {\r\n list.push(item)\r\n }\r\n }\r\n dataObj.list = list\r\n dataObj.grid_width = this.grid_width\r\n dataObj.grid_length = this.grid_length\r\n\r\n actorCrud.saveData(dataObj).then(res => {\r\n this.notify('保存成功', 'success')\r\n this.saveLoading = false\r\n }).catch(err => {\r\n this.saveLoading = false\r\n console.log(err)\r\n })\r\n },\r\n initArr2() {\r\n this.arr2 = []\r\n for (let i = 0; i < this.grid_length; i++) {\r\n const a = { 'id': i, 'name': '', device_code: '', img: '', index: i, img2: '1', angle: '0' }\r\n this.arr2.push(a)\r\n }\r\n },\r\n set() {\r\n const clickObj = this.arr2[index]\r\n if (!clickObj.img2 || clickObj.img2 === '1') {\r\n return\r\n }\r\n this.dialogFormVisible = true\r\n this.form.angle = clickObj.angle\r\n this.form.index = clickObj.index\r\n this.form.device_code = clickObj.device_code\r\n },\r\n handleGridNum(value) {\r\n this.grid_length = value\r\n this.initArr2()\r\n },\r\n handleChange(value) {\r\n this.initArr2()\r\n }\r\n }\r\n}\r\n",null]}