From fa3d215757d43321d4881c7321651a10391604d5 Mon Sep 17 00:00:00 2001 From: hejunjie Date: Sat, 30 Mar 2024 15:10:20 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=8A=A8=E6=80=81=E5=92=8C?= =?UTF-8?q?=E8=B0=83=E5=BA=A6=E7=AC=AC=E4=B8=80=E8=BD=AEbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dike/manage/components/edit.vue | 62 +++++++++++++---- .../monitoring/dike/manage/index.vue | 15 ++++ .../dispatch/plan/components/edit.vue | 17 +++-- .../dispatch/record/components/edit.vue | 69 ++++++++++--------- .../sluice/manage/components/edit.vue | 59 +++++++++++++--- .../monitoring/sluice/manage/index.vue | 17 ++++- 6 files changed, 175 insertions(+), 64 deletions(-) diff --git a/src/views/dike/runManage/monitoring/dike/manage/components/edit.vue b/src/views/dike/runManage/monitoring/dike/manage/components/edit.vue index 5c4ba1d..6dcc948 100644 --- a/src/views/dike/runManage/monitoring/dike/manage/components/edit.vue +++ b/src/views/dike/runManage/monitoring/dike/manage/components/edit.vue @@ -13,11 +13,13 @@ export default { xcDeviceType:[], xcWarnningType:[], xcWarnningLevelType:[], + xcDeviceStatus:[], sluiceType:[], ruleForm: { type: '', name: '', deviceId: '', + status: '0', message: '', warningType: '', warningLevel: '', @@ -32,23 +34,33 @@ export default { name: [ { required: true, message: "请选择设备名称", trigger: "blur" }, ], - message: [ - { required: true, message: "请输入设备信息", trigger: "blur" }, - ], reportInterval: [ - { required: true, message: "请输入自动预警上报间隔", trigger: "blur" }, + { required: true, validator: this.validateReportInterval, trigger: "blur" }, ], - Threshold: [ - { validator: this.validateThresholds }, + threshold: [ + { required: true, validator: this.validateThresholds, trigger: "blur" }, ], } } }, methods: { validateThresholds(rule, value, callback) { - if (this.ruleForm.minThreshold > this.ruleForm.maxThreshold) { + if (!this.ruleForm.minThreshold && this.ruleForm.minThreshold !== 0) { + callback(new Error('请输入最小阈值')); + } else if (!this.ruleForm.maxThreshold && this.ruleForm.maxThreshold !== 0) { + callback(new Error('请输入最大阈值')); + } else if (this.ruleForm.minThreshold > this.ruleForm.maxThreshold) { callback(new Error('最小阈值必须小于最大阈值')); - } else { + }else { + callback() + } + }, + validateReportInterval(rule, value, callback) { + if (!this.ruleForm.reportInterval && this.ruleForm.reportInterval !== 0) { + callback(new Error('请输入自动预警上报间隔')); + } else if (this.ruleForm.reportInterval > 60 || this.ruleForm.reportInterval < 0) { + callback(new Error('间隔值为0-60之间的整数')); + }else { callback() } }, @@ -60,6 +72,10 @@ export default { }) } }) + }, + handleInput(event) { + // 使用正则表达式匹配非数字字符,并将其替换为空字符串 + this.ruleForm.reportInterval = event.replace(/\D/g, ''); } }, async mounted() { @@ -75,12 +91,17 @@ export default { getDicts("xc_device_type").then((res) => { this.xcDeviceType = res.data; }); + // 获取设备类型 + getDicts("xc_device_status").then((res) => { + this.xcDeviceStatus = res.data; + }); if (this.model) { const data = await getDFDevice(this.model.id) this.ruleForm.type = data.data.type + '' this.ruleForm.name = data.data.name this.ruleForm.deviceId = data.data.deviceId this.ruleForm.message = data.data.message + this.ruleForm.status = data.data.status || '0' this.ruleForm.warningType = data.data.warningType this.ruleForm.warningLevel = data.data.warningLevel this.ruleForm.reportInterval = data.data.configs[0].reportInterval @@ -125,7 +146,7 @@ export default { - + @@ -142,11 +163,12 @@ export default { resize="none" rows="3" placeholder="请输入" - maxlength="30" + maxlength="500" + show-word-limit > - + - + + + + + + + +
- + - + diff --git a/src/views/dike/runManage/monitoring/dike/manage/index.vue b/src/views/dike/runManage/monitoring/dike/manage/index.vue index 71eaeb1..6914faa 100644 --- a/src/views/dike/runManage/monitoring/dike/manage/index.vue +++ b/src/views/dike/runManage/monitoring/dike/manage/index.vue @@ -19,6 +19,7 @@ export default { xcWarnningType: [], xcWarnningLevelType: [], xcDeviceType: [], + xcDeviceStatus: [], searchForm: { type: -1, warningLevel: "", @@ -177,6 +178,11 @@ export default { const data = that.xcDeviceType.filter((res) => res.dictValue == price); return data[0] ? data[0].dictLabel : "/"; }, + // 过滤设备状态 + filterStatus(price) { + const data = that.xcDeviceStatus.filter((res) => res.dictValue == price); + return data[0] ? data[0].dictLabel : "离线"; + }, }, async mounted() { // 获取预警类型 @@ -191,6 +197,10 @@ export default { getDicts("xc_device_type").then((res) => { this.xcDeviceType = res.data; }); + // 获取设备状态 + getDicts("xc_device_status").then((res) => { + this.xcDeviceStatus = res.data; + }); // 获取列表数据 await this.getTableData(); }, @@ -271,6 +281,11 @@ export default { {{ scope.row.warningLevel | filterwarnningLevel }} + + + - + diff --git a/src/views/sluice/runManage/dispatch/record/components/edit.vue b/src/views/sluice/runManage/dispatch/record/components/edit.vue index 87bf528..76cc8c1 100644 --- a/src/views/sluice/runManage/dispatch/record/components/edit.vue +++ b/src/views/sluice/runManage/dispatch/record/components/edit.vue @@ -2,6 +2,7 @@ import { getRunSzOperaRecord } from "@/api/scheduling/operaRecord"; + export default { name: "Edit", props: { @@ -26,16 +27,16 @@ export default { }, rules: { gate: [ - { required: true, message: "请输入闸门名称", trigger: "blur" }, + {required: true, message: "请输入闸门名称", trigger: "blur"}, ], controlLevel: [ - { required: true, message: "请输入控制水位", trigger: "blur" }, + {required: true, message: "请输入控制水位", trigger: "blur"}, ], leftDry: [ - { required: true, message: "请输入左干", trigger: "blur" }, + {required: true, message: "请输入左干", trigger: "blur"}, ], rightDry: [ - { required: true, message: "请输入右干", trigger: "blur" }, + {required: true, message: "请输入右干", trigger: "blur"}, ], } } @@ -57,6 +58,12 @@ export default { } }, methods: { + handleInputVal(val, e) { + this.ruleForm[val] = e.replace(/[\W]/g, ''); + }, + handleInput(val, e) { + this.ruleForm[val] = e.replace(/\D/g, ''); + }, submitForm(callback) { this.$refs.ruleForm.validate((valid) => { if (valid) { @@ -92,58 +99,58 @@ export default { > - + - - - + + + - + - + - + - - - + + + - - - + + + - - - + + + - - - + + + - - - - + + + +
diff --git a/src/views/sluice/runManage/monitoring/sluice/manage/components/edit.vue b/src/views/sluice/runManage/monitoring/sluice/manage/components/edit.vue index aec6109..701fffe 100644 --- a/src/views/sluice/runManage/monitoring/sluice/manage/components/edit.vue +++ b/src/views/sluice/runManage/monitoring/sluice/manage/components/edit.vue @@ -13,11 +13,13 @@ export default { xcDeviceType:[], xcWarnningType:[], xcWarnningLevelType:[], + xcDeviceStatus:[], sluiceType:[], ruleForm: { type: '', name: '', deviceId: '', + status: '0', message: '', warningType: '', warningLevel: '', @@ -36,19 +38,32 @@ export default { { required: true, message: "请输入设备信息", trigger: "blur" }, ], reportInterval: [ - { required: true, message: "请输入自动预警上报间隔", trigger: "blur" }, + { required: true, validator: this.validateReportInterval, trigger: "blur" }, ], - Threshold: [ - { validator: this.validateThresholds }, + threshold: [ + { required: true, validator: this.validateThresholds, trigger: "blur" }, ], } } }, methods: { validateThresholds(rule, value, callback) { - if (this.ruleForm.minThreshold > this.ruleForm.maxThreshold) { + if (!this.ruleForm.minThreshold && this.ruleForm.minThreshold !== 0) { + callback(new Error('请输入最小阈值')); + } else if (!this.ruleForm.maxThreshold && this.ruleForm.maxThreshold !== 0) { + callback(new Error('请输入最大阈值')); + } else if (this.ruleForm.minThreshold > this.ruleForm.maxThreshold) { callback(new Error('最小阈值必须小于最大阈值')); - } else { + }else { + callback() + } + }, + validateReportInterval(rule, value, callback) { + if (!this.ruleForm.reportInterval && this.ruleForm.reportInterval !== 0) { + callback(new Error('请输入自动预警上报间隔')); + } else if (this.ruleForm.reportInterval > 60 || this.ruleForm.reportInterval < 0) { + callback(new Error('间隔值为0-60之间的整数')); + }else { callback() } }, @@ -60,6 +75,10 @@ export default { }) } }) + }, + handleInput(event) { + // 使用正则表达式匹配非数字字符,并将其替换为空字符串 + this.ruleForm.reportInterval = event.replace(/\D/g, ''); } }, async mounted() { @@ -75,12 +94,17 @@ export default { getDicts("xc_device_type").then((res) => { this.xcDeviceType = res.data; }); + // 获取设备类型 + getDicts("xc_device_status").then((res) => { + this.xcDeviceStatus = res.data; + }); if (this.model) { const data = await getSZDevice(this.model.id) this.ruleForm.type = data.data.type + '' this.ruleForm.name = data.data.name this.ruleForm.deviceId = data.data.deviceId this.ruleForm.message = data.data.message + this.ruleForm.status = data.data.status || '0' this.ruleForm.warningType = data.data.warningType this.ruleForm.warningLevel = data.data.warningLevel this.ruleForm.reportInterval = data.data.configs[0].reportInterval @@ -125,7 +149,7 @@ export default { - + @@ -142,11 +166,12 @@ export default { resize="none" rows="3" placeholder="请输入" - maxlength="30" + maxlength="500" + show-word-limit > - + - + + + + + + + +
- + - + diff --git a/src/views/sluice/runManage/monitoring/sluice/manage/index.vue b/src/views/sluice/runManage/monitoring/sluice/manage/index.vue index 79ce1f8..f3b55fd 100644 --- a/src/views/sluice/runManage/monitoring/sluice/manage/index.vue +++ b/src/views/sluice/runManage/monitoring/sluice/manage/index.vue @@ -19,6 +19,7 @@ export default { xcWarnningType: [], xcWarnningLevelType: [], xcDeviceType: [], + xcDeviceStatus: [], searchForm: { type: -1, warningLevel: '', @@ -166,7 +167,12 @@ export default { filterdeviceType (price) { const data = that.xcDeviceType.filter((res) => res.dictValue == price) return data[0] ? data[0].dictLabel : '/' - } + }, + // 过滤设备状态 + filterStatus(price) { + const data = that.xcDeviceStatus.filter((res) => res.dictValue == price); + return data[0] ? data[0].dictLabel : "离线"; + }, }, async mounted() { // 获取预警类型 @@ -181,6 +187,10 @@ export default { getDicts("xc_device_type").then((res) => { this.xcDeviceType = res.data; }); + // 获取设备状态 + getDicts("xc_device_status").then((res) => { + this.xcDeviceStatus = res.data; + }); // 获取列表数据 await this.getTableData(); }, @@ -251,6 +261,11 @@ export default { {{ scope.row.warningLevel | filterwarnningLevel }} + + +