{"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\\device\\driver\\siemens_conveyor_labeling.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\data\\hanguodoushan\\acs2\\nladmin-ui\\src\\views\\acs\\device\\driver\\siemens_conveyor_labeling.vue","mtime":1732871026592},{"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//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\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 {\r\n queryDriverConfig,\r\n updateConfig,\r\n testRead,\r\n testwrite\r\n} from '@/api/acs/device/driverConfig'\r\nimport { selectOpcList } from '@/api/acs/device/opc'\r\nimport { selectPlcList } from '@/api/acs/device/opcPlc'\r\nimport { selectListByOpcID } from '@/api/acs/device/opcPlc'\r\n\r\nimport crud from '@/mixins/crud'\r\nimport deviceCrud from '@/api/acs/device/device'\r\n\r\nexport default {\r\n name: 'StandardConveyorControl',\r\n mixins: [crud],\r\n props: {\r\n parentForm: {\r\n type: Object,\r\n required: true\r\n }\r\n },\r\n data() {\r\n return {\r\n device_code: '',\r\n device_id: '',\r\n plc_id: '',\r\n plc_code: '',\r\n address: '',\r\n opc_id: '',\r\n opc_code: '',\r\n configLoading: false,\r\n dataOpcservers: [],\r\n dataOpcPlcs: [],\r\n deviceList: [],\r\n data1: [],\r\n data2: [],\r\n form: {\r\n inspect_in_stocck: true,\r\n ignore_pickup_check: true,\r\n ignore_release_check: true,\r\n apply_task: true,\r\n link_three_lamp: '',\r\n manual_create_task: true,\r\n is_pickup: true,\r\n is_release: true,\r\n link_device_code: []\r\n },\r\n rules: {}\r\n }\r\n },\r\n created() {\r\n this.$nextTick(() => {\r\n // 从父表单获取设备编码\r\n this.device_id = this.$props.parentForm.device_id\r\n this.device_code = this.$props.parentForm.device_code\r\n queryDriverConfig(this.device_id, this.$props.parentForm.driver_code).then(data => {\r\n // 给表单赋值,并且属性不能为空\r\n if (data.form) {\r\n const arr = Object.keys(data.form)\r\n // 不为空\r\n if (arr.length > 0) {\r\n this.form = data.form\r\n }\r\n }\r\n\r\n // 给表单赋值,并且属性不能为空\r\n if (data.parentForm) {\r\n const arr = Object.keys(data.parentForm)\r\n // 不为空\r\n if (arr.length > 0) {\r\n this.opc_code = data.parentForm.opc_code\r\n this.plc_code = data.parentForm.plc_code\r\n }\r\n }\r\n this.data1 = data.rs\r\n this.data2 = data.ws\r\n this.sliceItem()\r\n })\r\n selectPlcList().then(data => {\r\n this.dataOpcPlcs = data\r\n this.plc_id = this.$props.parentForm.opc_plc_id\r\n })\r\n selectOpcList().then(data => {\r\n this.dataOpcservers = data\r\n this.opc_id = this.$props.parentForm.opc_server_id\r\n })\r\n deviceCrud.selectDeviceList().then(data => {\r\n this.deviceList = data\r\n })\r\n })\r\n },\r\n methods: {\r\n finishReadEdit(data) {\r\n // 编辑的是code列,并且值包含mode\r\n if (data.code.indexOf('mode') !== -1) {\r\n const dbValue = data.db\r\n // .之前的字符串\r\n const beforeStr = dbValue.match(/(\\S*)\\./)[1]\r\n // .之后的字符串\r\n const afterStr = dbValue.match(/\\.(\\S*)/)[1]\r\n // 取最后数字\r\n const endNumber = afterStr.substring(1)\r\n // 最后为非数字\r\n if (isNaN(parseInt(endNumber))) {\r\n return\r\n }\r\n for (const val in this.data1) {\r\n if (this.data1[val].code.indexOf('mode') !== -1) {\r\n this.data1[val].db = beforeStr + '.' + afterStr.substring(0, 1) + (parseInt(endNumber) + 0)\r\n }\r\n if (this.data1[val].code.indexOf('move') !== -1) {\r\n this.data1[val].db = beforeStr + '.' + afterStr.substring(0, 1) + (parseInt(endNumber) + 1)\r\n }\r\n if (this.data1[val].code.indexOf('carrier_direction') !== -1) {\r\n this.data1[val].db = beforeStr + '.' + afterStr.substring(0, 1) + (parseInt(endNumber) + 2)\r\n }\r\n if (this.data1[val].code.indexOf('error') !== -1) {\r\n this.data1[val].db = beforeStr + '.' + afterStr.substring(0, 1) + (parseInt(endNumber) + 4)\r\n }\r\n if (this.data1[val].code.indexOf('task') !== -1) {\r\n this.data1[val].db = beforeStr + '.' + 'D' + (parseInt(endNumber) + 8)\r\n }\r\n }\r\n }\r\n },\r\n finishWriteEdit(data) {\r\n // 编辑的是code列,并且值包含mode\r\n if (data.code.indexOf('to_command') !== -1) {\r\n const dbValue = data.db\r\n // .之前的字符串\r\n const beforeStr = dbValue.match(/(\\S*)\\./)[1]\r\n // .之后的字符串\r\n const afterStr = dbValue.match(/\\.(\\S*)/)[1]\r\n // 取最后数字\r\n const endNumber = afterStr.substring(1)\r\n // 最后为非数字\r\n if (isNaN(parseInt(endNumber))) {\r\n return\r\n }\r\n console.log(endNumber)\r\n for (const val in this.data2) {\r\n if (this.data2[val].code.indexOf('to_command') !== -1) {\r\n this.data2[val].db = beforeStr + '.' + afterStr.substring(0, 1) + (parseInt(endNumber) + 0)\r\n }\r\n if (this.data2[val].code.indexOf('to_target') !== -1) {\r\n this.data2[val].db = beforeStr + '.' + afterStr.substring(0, 1) + (parseInt(endNumber) + 2)\r\n }\r\n if (this.data2[val].code.indexOf('to_container_type') !== -1) {\r\n this.data2[val].db = beforeStr + '.' + afterStr.substring(0, 1) + (parseInt(endNumber) + 4)\r\n }\r\n if (this.data2[val].code.indexOf('to_task') !== -1) {\r\n this.data2[val].db = beforeStr + '.' + 'D' + (parseInt(endNumber) + 6)\r\n }\r\n if (this.data2[val].code.indexOf('to_strap_times') !== -1) {\r\n this.data2[val].db = beforeStr + '.' + afterStr.substring(0, 1) + (parseInt(endNumber) + 10)\r\n }\r\n if (this.data2[val].code.indexOf('to_length') !== -1) {\r\n this.data2[val].db = beforeStr + '.' + afterStr.substring(0, 1) + (parseInt(endNumber) + 12)\r\n }\r\n if (this.data2[val].code.indexOf('to_weight') !== -1) {\r\n this.data2[val].db = beforeStr + '.' + afterStr.substring(0, 1) + (parseInt(endNumber) + 14)\r\n }\r\n if (this.data2[val].code.indexOf('to_height') !== -1) {\r\n this.data2[val].db = beforeStr + '.' + afterStr.substring(0, 1) + (parseInt(endNumber) + 16)\r\n }\r\n }\r\n }\r\n },\r\n changeOpc(val) {\r\n this.dataOpcservers.forEach(item => {\r\n if (item.opc_id === val) {\r\n this.opc_code = item.opc_code\r\n }\r\n })\r\n\r\n selectListByOpcID(val).then(data => {\r\n this.dataOpcPlcs = data\r\n this.plc_id = ''\r\n this.plc_code = ''\r\n if (this.dataOpcPlcs && this.dataOpcPlcs.length > 0) {\r\n this.plc_id = this.dataOpcPlcs[0].plc_id\r\n this.plc_code = this.dataOpcPlcs[0].plc_code\r\n }\r\n this.sliceItem()\r\n })\r\n },\r\n changePlc(val) {\r\n this.dataOpcPlcs.forEach(item => {\r\n if (item.plc_id === val) {\r\n this.plc_code = item.plc_code\r\n this.sliceItem()\r\n return\r\n }\r\n })\r\n },\r\n test_read1() {\r\n testRead(this.data1, this.opc_id).then(data => {\r\n this.data1 = data\r\n this.notify('操作成功!', 'success')\r\n }).catch(err => {\r\n console.log(err.response.data.message)\r\n })\r\n },\r\n test_read2() {\r\n testRead(this.data2, this.opc_id).then(data => {\r\n this.data2 = data\r\n console.log(this.data2)\r\n this.notify('操作成功!', 'success')\r\n }).catch(err => {\r\n console.log(err.response.data.message)\r\n })\r\n },\r\n test_write1() {\r\n testwrite(this.data2, this.opc_id).then(data => {\r\n this.notify('操作成功!', 'success')\r\n }).catch(err => {\r\n console.log(err.response.data.message)\r\n })\r\n },\r\n doSubmit() {\r\n this.$refs['form'].validate((valid) => {\r\n if (valid) {\r\n this.configLoading = true\r\n // 根据驱动类型判断是否为路由设备\r\n const parentForm = this.parentForm\r\n parentForm.is_route = true\r\n parentForm.plc_id = this.plc_id\r\n parentForm.opc_id = this.opc_id\r\n updateConfig(parentForm, this.form, this.data1, this.data2).then(res => {\r\n this.notify('保存成功', 'success')\r\n this.configLoading = false\r\n }).catch(err => {\r\n this.configLoading = false\r\n console.log(err.response.data.message)\r\n })\r\n }\r\n })\r\n },\r\n sliceItem() { // 拼接DB的Item值\r\n this.data1.forEach(item => {\r\n const str = item.code\r\n // 是否包含.\r\n if (str.search('.') !== -1) {\r\n // 截取最后一位\r\n item.code = this.opc_code + '.' + this.plc_code + '.' + this.device_code + '.' + str.slice(str.lastIndexOf('.') + 1)\r\n } else {\r\n item.code = this.opc_code + '.' + this.plc_code + '.' + this.device_code + '.' + item.code\r\n }\r\n })\r\n this.data2.forEach(item => {\r\n const str = item.code\r\n // 是否包含.\r\n if (str.search('.') !== -1) {\r\n // 截取最后一位\r\n item.code = this.opc_code + '.' + this.plc_code + '.' + this.device_code + '.' + str.slice(str.lastIndexOf('.') + 1)\r\n } else {\r\n item.code = this.opc_code + '.' + this.plc_code + '.' + this.device_code + '.' + item.code\r\n }\r\n })\r\n }\r\n }\r\n}\r\n",null]}