Просмотр исходного кода

feat(故障管理): 添加故障状态自动更新功能

在设备故障管理页面中,新增故障状态自动更新逻辑。当设置或取消故障时,会自动调用接口获取最新故障列表并更新设备状态。同时添加了页面加载时的初始状态获取,确保状态显示准确。
zhanghaijun месяцев назад: 9
Родитель
Сommit
fb07909dd4
2 измененных файлов с 32 добавлено и 0 удалено
  1. 19 0
      src/views/train/fault/device-list.vue
  2. 13 0
      src/views/train/fault/fault.api.ts

+ 19 - 0
src/views/train/fault/device-list.vue

@@ -22,6 +22,7 @@
   import { useDictStore } from '@/store/modules/dict'
   import { DictItem } from '@/api/dict.api'
   import request from '@/api'
+  import { FaultService } from './fault.api'
 
   const dictStore = useDictStore()
   // 设备控制
@@ -40,13 +41,31 @@
     deviceStatus.value[id] = true
     await request.post('/serverctrl/seteqpmtfault', { EqpmtStrID: id, EventType: 1, EventId: Number(id) })
     ElMessage.success(`设置故障[${id}]成功`)
+    nextTick(() => {
+      handleSetStatus()
+    })
   }
   const handleStop = async (id: string) => {
     deviceStatus.value[id] = false
     await request.post('/serverctrl/seteqpmtfault', { EqpmtStrID: id, EventType: 2, EventId: Number(id) })
     ElMessage.success(`取消故障[${id}]成功`)
+    nextTick(() => {
+      handleSetStatus()
+    })
   }
 
+  // 设置状态
+  const handleSetStatus = async () => {
+    const { data } = await FaultService.getFaultList()
+    data?.forEach((item) => {
+      deviceStatus.value[item.FaultID] = false
+    })
+  }
+
+  onMounted(() => {
+    handleSetStatus()
+  })
+
   const [Dialog, dialogApi] = useDialog({
     title: '工况设置',
     width: '55%',

+ 13 - 0
src/views/train/fault/fault.api.ts

@@ -0,0 +1,13 @@
+import request from '@/api'
+
+export interface FaultItem {
+  SeqNo: number /** 序号 */
+  EqpmtID: string /** 设备ID */
+  EqpmtName: string /** 设备名称 */
+  FaultID: number /** 故障ID */
+  FaultTime: number /** 故障触发时间,距离现在秒 */
+}
+
+export class FaultService {
+  static getFaultList = () => request.post<FaultItem[]>('/serverctrl/geteqpmtfault')
+}