{"remainingRequest":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\bzzgj-fvue\\src\\views\\Device\\deviceManage\\components\\modle\\EquipEventDialog.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\src\\views\\Device\\deviceManage\\components\\modle\\EquipEventDialog.vue","mtime":1667545182426},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\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//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\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 PhysicalModel from '@/api/device/PhysicalModel.js'\r\nimport dictUtils from '@/components/dict/DictSelectUtils.js'\r\nimport utils from '@/hotent-ui-util.js'\r\nexport default {\r\n props: {\r\n productId: {\r\n type: String,\r\n default: ''\r\n }\r\n },\r\n name: 'productManageModal',\r\n data() {\r\n return {\r\n time: '时间', //时间&日期的lable\r\n showFormData: '', //用于判断类型显示不同输入框\r\n datatimes: [], // 用于动态绑定时间/日期的下拉框\r\n lableName: '', //布尔&枚举lable\r\n boolShow: false, //禁用布尔前面的key\r\n dialogData: [{}], //布尔&枚举存储数据\r\n //显示\r\n visible: false,\r\n isSaved: false,\r\n title: '新增',\r\n params: {\r\n productId: this.productId,\r\n name: '',\r\n code: '',\r\n type: '',\r\n outDataFormart: '',\r\n outDataType: '',\r\n outDataUnit: '',\r\n memo: '' //备注\r\n },\r\n typeList: [], //事件等级\r\n outDataFormartList: [], //参数格式\r\n outDataTypeList: [], //参数类型\r\n activeCollapse1: '1',\r\n rules: {\r\n code: [\r\n {\r\n required: true,\r\n message: '请输入事件标识',\r\n trigger: 'blur'\r\n }\r\n ],\r\n name: [\r\n {\r\n required: true,\r\n message: '请输入事件名称',\r\n trigger: 'blur'\r\n }\r\n ],\r\n type: [\r\n {\r\n required: true,\r\n message: '请选择事件等级',\r\n trigger: 'change'\r\n }\r\n ],\r\n outDataType: [\r\n {\r\n required: true,\r\n message: '请选择输出参数类型',\r\n trigger: 'change'\r\n }\r\n ]\r\n }\r\n }\r\n },\r\n created() {\r\n this.typeList = dictUtils.getDictItemsFromCache('sjdj')\r\n this.outDataTypeList = dictUtils.getDictItemsFromCache('sxlx')\r\n // 数据单位\r\n this.dataUnits = dictUtils.getDictItemsFromCache('sjdw')\r\n // 时间格式\r\n this.dateTimeFormarts = dictUtils.getDictItemsFromCache('sjgs')\r\n // 日期格式\r\n this.dateFormarts = dictUtils.getDictItemsFromCache('rqgs')\r\n },\r\n mounted() {},\r\n methods: {\r\n // 动态渲染数据单位,格式\r\n changeDataType(item) {\r\n if (item == '') {\r\n this.showFormData = item\r\n }\r\n if (item == 'string') {\r\n this.showFormData = item\r\n this.params.outDataFormart = 'default'\r\n }\r\n if (item == 'int') {\r\n this.showFormData = item\r\n this.params.outDataFormart = 'default'\r\n }\r\n if (item == 'float') {\r\n this.showFormData = item\r\n this.params.outDataFormart = 0\r\n }\r\n if (item == 'bool') {\r\n this.showFormData = item\r\n this.lableName = '布尔值:'\r\n this.boolShow = true\r\n this.dialogData = [{}, {}]\r\n this.dialogData[0].label = '是'\r\n this.dialogData[1].label = '否'\r\n this.params.outDataUnit = 'default'\r\n }\r\n if (item == 'date') {\r\n this.showFormData = item\r\n this.time = '日期'\r\n this.datatimes = this.dateFormarts\r\n this.params.outDataFormart = 'yyyy-MM-dd'\r\n }\r\n if (item == 'dateTime') {\r\n this.showFormData = item\r\n this.time = '时间'\r\n this.datatimes = this.dateTimeFormarts\r\n this.params.outDataFormart = 'yyyy-MM-dd HH:mm:ss'\r\n }\r\n if (item == 'enum') {\r\n this.showFormData = item\r\n this.lableName = '枚举项:'\r\n this.boolShow = false\r\n this.dialogData = [{}]\r\n this.params.outDataUnit = 'default'\r\n }\r\n },\r\n // 布尔&枚举添加\r\n addTable() {\r\n this.dialogData.push({})\r\n },\r\n // 布尔&枚举删除\r\n removeTable(index) {\r\n if (this.dialogData.length == 1) {\r\n this.params.dataFormart = ''\r\n this.dialogData = [{}]\r\n } else {\r\n this.dialogData.splice(index, 1)\r\n }\r\n },\r\n add(userRow) {\r\n // this.params.fullName = userRow.name\r\n // this.params.typeId = userRow.id\r\n // this.params.deviceType = this.deviceTypeList[0].value\r\n // this.params.isIntellect = this.isIntellectList[0].value\r\n this.visible = true\r\n },\r\n // 保存产品信息\r\n handleSave() {\r\n let jsons = true\r\n let dtype = true\r\n if (this.showFormData == 'bool' || this.showFormData == 'enum') {\r\n // 找到导致重复的元素,ID\r\n // 将所有对象的ID重新组成数组\r\n if (this.dialogData[0].label || this.dialogData[0].value) {\r\n const label = this.dialogData.map(e => {\r\n if (e.label == '' || typeof e.label == 'undefined') {\r\n dtype = false\r\n jsons = false\r\n this.$message({\r\n message: '名称不能为空',\r\n type: 'warning'\r\n })\r\n } else {\r\n return e.label\r\n }\r\n })\r\n const value = this.dialogData.map(v => {\r\n if (v.value == '' || typeof v.value == 'undefined') {\r\n dtype = false\r\n jsons = false\r\n this.$message({\r\n message: '值不能为空',\r\n type: 'warning'\r\n })\r\n } else {\r\n return v.value\r\n }\r\n })\r\n if (dtype) {\r\n // 通过Set去除数组重复项\r\n const labelSet = new Set(label)\r\n const valueSet = new Set(value)\r\n // 比较两个数组的长度来判断是否存在重复项\r\n if ([...labelSet].length != label.length) {\r\n jsons = false\r\n this.$message({\r\n message: '存在相同名称',\r\n type: 'warning'\r\n })\r\n } else if ([...valueSet].length != value.length) {\r\n jsons = false\r\n this.$message({\r\n message: '存在相同值',\r\n type: 'warning'\r\n })\r\n } else if (\r\n [...labelSet].length === label.length &&\r\n [...valueSet].length === value.length\r\n ) {\r\n this.params.outDataFormart = JSON.stringify(this.dialogData)\r\n jsons = true\r\n }\r\n }\r\n }\r\n }\r\n\r\n this.isSaved = true\r\n this.$refs.formInfo.validate(valid => {\r\n if (valid) {\r\n if (jsons) {\r\n if (this.title === '新增') {\r\n PhysicalModel.addEventDefinition(this.params, res => {\r\n console.log(this.params)\r\n if (res.state) {\r\n this.$notify({\r\n type: 'success',\r\n message: '新增成功',\r\n duration: 2000\r\n })\r\n this.handleClose()\r\n this.$emit('reload')\r\n } else {\r\n }\r\n })\r\n }\r\n if (this.title === '修改') {\r\n PhysicalModel.modifyEventDefinition(this.params, res => {\r\n if (res.state) {\r\n this.$notify({\r\n type: 'success',\r\n message: '修改成功',\r\n duration: 2000\r\n })\r\n this.handleClose()\r\n this.$emit('reload')\r\n } else {\r\n }\r\n })\r\n }\r\n }\r\n } else {\r\n return false\r\n }\r\n })\r\n },\r\n edit(row) {\r\n // this.params = utils.deepClone(row)\r\n // this.params.id = row.id\r\n this.visible = true\r\n this.title = '修改'\r\n this.showFormData = row.outDataType\r\n if (this.title === '修改') {\r\n PhysicalModel.findEventDefinition(row.id, res => {\r\n console.log(res)\r\n this.params = res\r\n // 布尔值回显\r\n if (res.outDataType == 'bool') {\r\n this.lableName = '布尔值:'\r\n this.boolShow = true\r\n let dataAeey = JSON.parse(res.outDataFormart)\r\n this.dialogData = dataAeey\r\n }\r\n // 枚举项回显\r\n if (res.outDataType == 'enum') {\r\n this.lableName = '枚举项:'\r\n this.boolShow = false\r\n let dataAeey = JSON.parse(res.outDataFormart)\r\n this.dialogData = dataAeey\r\n }\r\n if (res.outDataType == 'date') {\r\n this.time = '日期'\r\n this.datatimes = this.dateFormarts\r\n }\r\n if (res.outDataType == 'dateTime') {\r\n this.time = '时间'\r\n this.datatimes = this.dateTimeFormarts\r\n }\r\n })\r\n }\r\n },\r\n // 关闭新增人员窗口\r\n handleClose() {\r\n this.params = {\r\n productId: '',\r\n name: '',\r\n code: '',\r\n type: '',\r\n outDataFormart: '',\r\n outDataType: '',\r\n outDataUnit: '',\r\n memo: ''\r\n }\r\n this.title = '新增'\r\n this.visible = false\r\n this.activeCollapse1 = '1'\r\n this.showFormData = ''\r\n this.boolShow = false\r\n this.datatimes = []\r\n this.dialogData = [{}]\r\n }\r\n }\r\n}\r\n",null]}