diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index 4d0298b..9f763b5 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -150,9 +150,9 @@ v-for="image in step.stepImages" :key="image.objId" class="image-item" - @click="previewImage(image.imageUrl)" + @click="previewImage(getFullImageUrl(image.imageUrl))" > - +
{{ image.description }}
@@ -380,6 +380,19 @@ export default { closeDialog() { this.alarmOpen = false this.activeTab = 'alarmList' + }, + // 获取完整的图片URL + getFullImageUrl(relativePath) { + if (!relativePath) return ''; + + // 如果已经是完整URL,直接返回(兼容历史数据) + if (relativePath.startsWith('http')) { + return relativePath; + } + + // 动态拼接当前环境的baseURL + const baseURL = process.env.VUE_APP_BASE_API || ''; + return baseURL + relativePath; } } } diff --git a/src/views/ems/base/baseMonitorInfoIOTDevice/index.vue b/src/views/ems/base/baseMonitorInfoIOTDevice/index.vue index 08c516b..b469240 100644 --- a/src/views/ems/base/baseMonitorInfoIOTDevice/index.vue +++ b/src/views/ems/base/baseMonitorInfoIOTDevice/index.vue @@ -341,9 +341,9 @@ export default { form: {}, // 表单校验 rules: { - objId: [ - { required: true, message: "自增标识不能为空", trigger: "blur" } - ], + // objId: [ + // { required: true, message: "自增标识不能为空", trigger: "blur" } + // ], monitorCode: [ { required: true, message: "计量设备编号不能为空", trigger: "blur" } ], @@ -353,6 +353,9 @@ export default { monitorName: [ { required: true, message: "计量设备名称不能为空", trigger: "blur" } ], + isAmmeter: [ + { required: true, message: '是否为虚拟能为空', trigger: 'blur' } + ], }, columns: [ // { key: 0, label: `自增标识`, visible: false }, @@ -401,7 +404,7 @@ export default { ], triggerValue: [ { required: true, message: "触发阈值量不能为空", trigger: "blur" } - ] + ], }, }; }, diff --git a/src/views/ems/record/recordAlarmRule/index.vue b/src/views/ems/record/recordAlarmRule/index.vue index bc0c809..dce3599 100644 --- a/src/views/ems/record/recordAlarmRule/index.vue +++ b/src/views/ems/record/recordAlarmRule/index.vue @@ -226,10 +226,29 @@ v-for="(step, index) in actionStepsList" :key="step.tempId || step.objId" class="step-item" + :data-index="index" >
步骤 {{ step.stepSequence }} - +
+ + + +
@@ -275,8 +294,8 @@ :key="image.tempId || image.objId" class="image-item" > -
- 预览图 +
+ 预览图
0) { + const temp = this.actionStepsList[index]; + this.actionStepsList[index] = this.actionStepsList[index - 1]; + this.actionStepsList[index - 1] = temp; + // 重新排序步骤序号 + this.actionStepsList.forEach((step, idx) => { + step.stepSequence = idx + 1; + }); + } + }, + moveStepDown(index) { + if (index < this.actionStepsList.length - 1) { + const temp = this.actionStepsList[index]; + this.actionStepsList[index] = this.actionStepsList[index + 1]; + this.actionStepsList[index + 1] = temp; + // 重新排序步骤序号 + this.actionStepsList.forEach((step, idx) => { + step.stepSequence = idx + 1; + }); + } + }, + // 获取完整的图片URL + getFullImageUrl(relativePath) { + if (!relativePath) return ''; + + // 如果已经是完整URL,直接返回(兼容历史数据) + if (relativePath.startsWith('http')) { + return relativePath; + } + + // 动态拼接当前环境的baseURL + const baseURL = process.env.VUE_APP_BASE_API || ''; + return baseURL + relativePath; } } } @@ -746,6 +808,21 @@ export default { font-weight: bold; color: #409EFF; } + + .step-controls { + display: flex; + align-items: center; + gap: 5px; + + .el-button--text { + color: #606266; + font-size: 16px; + + &:hover { + color: #409EFF; + } + } + } } .step-content {