Przeglądaj źródła

[Fix 0000] 修复linkStatus的错误使用

houzekong 1 tydzień temu
rodzic
commit
5be11775e5

+ 42 - 5
src/layouts/default/feature/components/LeafPopup.vue

@@ -60,10 +60,10 @@
             </td>
             <td
               :style="{
-                color: get(alarmLevelColor, node.linkStatus, linkStatusText[0]),
+                color: get(linkStatusColor, node.status, linkStatusText[0]),
               }"
             >
-              {{ get(linkStatusText, node.linkStatus, linkStatusText[0]) }}
+              {{ get(linkStatusText, node.status, linkStatusText[0]) }}
             </td>
           </tr>
         </tbody>
@@ -85,9 +85,46 @@
   function clickHandler() {
     props.callback(props.node);
   }
-  const linkStatusText = ref(['断线', '正常', '标校']);
-  const alarmLevelText = ref(['暂无信息', '低风险', '一般风险', '较高风险', '高风险']);
-  const alarmLevelColor = ref([StatusColorEnum.red, StatusColorEnum.blue, StatusColorEnum.gold, StatusColorEnum.purple, StatusColorEnum.red]);
+  // const linkStatusText = ref(['断线', '正常', '标校']);
+  const linkStatusText = ref({
+    '0': '正常',
+    '1': '超限报警',
+    '2': '断电报警',
+    '4': '标校',
+    '5': '标校报警',
+    '8': '超量程',
+    '16': '分站故障',
+    '32': '不巡检',
+    '64': '暂停',
+    '128': '传感器故障',
+  });
+  const alarmLevelText = ref({
+    '0': '暂无信息',
+    '1': '低风险',
+    '2': '一般风险',
+    '3': '较高风险',
+    '4': '高风险',
+  });
+  // const alarmLevelColor = ref([StatusColorEnum.red, StatusColorEnum.blue, StatusColorEnum.gold, StatusColorEnum.purple, StatusColorEnum.red]);
+  const linkStatusColor = ref({
+    '0': StatusColorEnum.black,
+    '1': StatusColorEnum.yellow,
+    '2': StatusColorEnum.yellow,
+    '4': StatusColorEnum.black,
+    '5': StatusColorEnum.yellow,
+    '8': StatusColorEnum.black,
+    '16': StatusColorEnum.red,
+    '32': StatusColorEnum.black,
+    '64': StatusColorEnum.black,
+    '128': StatusColorEnum.red,
+  });
+  const alarmLevelColor = ref({
+    '0': StatusColorEnum.red,
+    '1': StatusColorEnum.blue,
+    '2': StatusColorEnum.gold,
+    '3': StatusColorEnum.purple,
+    '4': StatusColorEnum.red,
+  });
 
   const coalSeamList = computed(() => {
     return JSON.parse(props.node.coalSeamList);

+ 27 - 5
src/views/dashboard/Overhaul/components/LeafPage.vue

@@ -288,7 +288,7 @@
     { label: '爆炸三角', key: 'explosionAlarm.alarmName', colorKey: 'explosionAlarm.alarmLevel', type: 'alarm' },
     { label: '压差预警', key: 'sourcePressureAlarm.alarmName', colorKey: 'sourcePressureAlarm.alarmLevel', type: 'alarm' },
     { label: '漏风状态判定', key: 'leakageAlarm.alarmName', colorKey: 'leakageAlarm.alarmLevel', type: 'alarm' },
-    { label: '设备状态', key: 'linkStatus', type: 'status' },
+    { label: '设备状态', key: 'status', type: 'status' },
     { label: '检查时间', key: 'readTime', type: 'text' },
   ];
 
@@ -361,12 +361,34 @@
    * 获取设备状态信息 (文本和颜色)
    * @param status 0: 断开, 1: 正常
    */
-  const getlinkStatusInfo = (status?: number | string) => {
-    if (status === 1 || status === '1') {
-      return { text: '正常', color: '#52c41a' }; // 绿色
+  const getlinkStatusInfo = (status: number | string = '') => {
+    const statusStr = String(status);
+    switch (statusStr) {
+      case '0':
+        return { text: '正常', color: StatusColorEnum.green }; // 绿色
+      case '1':
+        return { text: '超限报警', color: StatusColorEnum.yellow }; // 红色
+      case '2':
+        return { text: '断电报警', color: StatusColorEnum.yellow }; // 红色
+      case '4':
+        return { text: '标校', color: StatusColorEnum.blue }; // 蓝色
+      case '5':
+        return { text: '标校报警', color: StatusColorEnum.yellow }; // 橙色
+      case '8':
+        return { text: '超量程', color: StatusColorEnum.blue }; // 橙色
+      case '16':
+        return { text: '分站故障', color: StatusColorEnum.red }; // 红色
+      case '32':
+        return { text: '不巡检', color: StatusColorEnum.blue }; // 橙色
+      case '64':
+        return { text: '暂停', color: StatusColorEnum.blue }; // 蓝色
+      case '128':
+        return { text: '传感器故障', color: StatusColorEnum.red }; // 红色
+      default:
+        return { text: '-', color: StatusColorEnum.green }; // 默认
     }
-    return { text: '断开', color: '#ff4d4f' }; // 红色
   };
+
   /**
    * 获取列显示的文本
    */

+ 13 - 6
src/views/dashboard/Overhaul/overhaul.data.ts

@@ -9,9 +9,16 @@ const riskMap = {
   '4': '高风险',
 };
 const linkMap = {
-  '0': '断线',
-  '1': '正常',
-  '2': '标校',
+  '0': '正常',
+  '1': '超限报警',
+  '2': '断电报警',
+  '4': '标校',
+  '5': '标校报警',
+  '8': '超量程',
+  '16': '分站故障',
+  '32': '不巡检',
+  '64': '暂停',
+  '128': '传感器故障',
 };
 // 实时数据相关
 export const columns: BasicColumn[] = [
@@ -129,13 +136,13 @@ export const columns: BasicColumn[] = [
   },
   {
     title: '设备状态',
-    dataIndex: 'linkStatus',
+    dataIndex: 'status',
     width: 100,
     customRender({ record }) {
       return alarmCellRender(
-        record.linkStatus,
+        record.status,
         (r) => linkMap[r],
-        (r) => String(r)
+        (r) => r
       );
     },
   },