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

[Mod 0000] 喷雾设备详情开发

houzekong 5 дней назад
Родитель
Сommit
6448780e4a

+ 57 - 19
src/views/vent/monitorManager/deviceMonitor/components/device/modal/atomizing.modal.vue

@@ -72,15 +72,24 @@
               <span class="title">排污状态:</span>
               <div class="flex">
                 <div class="pr-10px"
-                  ><span class="signal-round signal-round-gry" :class="{ 'signal-round-run': atomizingMonitor['airStatus'] === 'FF00' }"></span
+                  ><span
+                    class="signal-round signal-round-gry"
+                    :class="{ 'signal-round-run': atomizingMonitor[airStatusConfig[0].prop] === airStatusConfig[0].val }"
+                  ></span
                   ><span class="pl-10px">开启</span></div
                 >
                 <div class="pr-10px"
-                  ><span class="signal-round signal-round-gry" :class="{ 'signal-round-run': atomizingMonitor['airStatus'] === '0000' }"></span
+                  ><span
+                    class="signal-round signal-round-gry"
+                    :class="{ 'signal-round-run': atomizingMonitor[airStatusConfig[1].prop] === airStatusConfig[1].val }"
+                  ></span
                   ><span class="pl-10px">关闭</span></div
                 >
                 <div class="pr-10px"
-                  ><span class="signal-round signal-round-gry" :class="{ 'signal-round-run': atomizingMonitor['airStatus'] === '0001' }"></span
+                  ><span
+                    class="signal-round signal-round-gry"
+                    :class="{ 'signal-round-run': atomizingMonitor[airStatusConfig[2].prop] === airStatusConfig[2].val }"
+                  ></span
                   ><span class="pl-10px">停止</span></div
                 >
               </div>
@@ -88,14 +97,20 @@
             <div class="base-item flex">
               <span class="title">连接状态:</span>
               <div class="flex">
-                <div class="pr-10px"
-                  ><span class="signal-round signal-round-gry" :class="{ 'signal-round-run': atomizingMonitor['connStatus'] === '0000' }"></span
-                  ><span class="pl-10px">未连接</span></div
-                >
-                <div class="pr-10px"
-                  ><span class="signal-round signal-round-gry" :class="{ 'signal-round-run': atomizingMonitor['connStatus'] === '0001' }"></span
-                  ><span class="pl-10px">已连接</span></div
-                >
+                <div class="pr-10px">
+                  <span
+                    class="signal-round signal-round-gry"
+                    :class="{ 'signal-round-run': atomizingMonitor[netStatusConfig[0].prop] === netStatusConfig[0].val }"
+                  ></span>
+                  <span class="pl-10px">未连接</span>
+                </div>
+                <div class="pr-10px">
+                  <span
+                    class="signal-round signal-round-gry"
+                    :class="{ 'signal-round-run': atomizingMonitor[netStatusConfig[1].prop] === netStatusConfig[1].val }"
+                  ></span>
+                  <span class="pl-10px">已连接</span>
+                </div>
               </div>
             </div>
             <div class="base-item flex">
@@ -198,7 +213,7 @@
             </div>
           </div>
         </div>
-        <div class="right-bottom">
+        <div class="right-bottom" v-if="posList && posList.length > 0">
           <span class="base-title">实时数据监测曲线</span>
           <div class="echarts-box">
             <BarAndLine xAxisPropType="time" :dataSource="posList" height="100%" :chartsColumns="chartsColumns" :option="echatsOption" />
@@ -330,7 +345,7 @@
             // })
             // if(list.length > 0) posList.value = list
             posList.value = item['history'];
-            atomizingMonitor.value = item.readData;
+            atomizingMonitor.value = { ...item, ...item.readData };
             activeDeviceType.value = item.deviceType;
           }
         });
@@ -401,15 +416,36 @@
       const atomizeConfig = computed(() => {
         if (activeDeviceType.value === 'atomizing_cy') {
           return [
-            { prop: 'deviceStatus', val: '1' },
-            { prop: 'deviceStatus', val: '0' },
-            { prop: 'deviceStatus', val: '2' },
+            { prop: 'deviceStatus', val: '-256' }, // 喷雾开启
+            { prop: 'deviceStatus', val: '0' }, // 喷雾关闭
+            { prop: 'deviceStatus', val: '2' }, // 喷雾停止
+          ];
+        }
+        return [
+          { prop: 'waterStatus', val: 'FF00' }, // 喷雾开启
+          { prop: 'waterStatus', val: '0000' }, // 喷雾关闭
+          { prop: 'waterStatus', val: '0001' }, // 喷雾停止
+        ];
+      });
+      // 排污状态配置:默认与 atomizing_cy 使用相同字段和值
+      const airStatusConfig = computed(() => {
+        return [
+          { prop: 'airStatus', val: 'FF00' }, // 排污开启
+          { prop: 'airStatus', val: '0000' }, // 排污关闭
+          { prop: 'airStatus', val: '0001' }, // 排污停止
+        ];
+      });
+      // 连接状态配置:默认与 atomizing_cy 使用相同字段和值
+      const netStatusConfig = computed(() => {
+        if (activeDeviceType.value === 'atomizing_cy') {
+          return [
+            { prop: 'connStatus', val: '0000' }, // 未连接
+            { prop: 'connStatus', val: '0001' }, // 已连接
           ];
         }
         return [
-          { prop: 'waterStatus', val: 'FF00' },
-          { prop: 'waterStatus', val: '0000' },
-          { prop: 'waterStatus', val: '0001' },
+          { prop: 'netStatus', val: 0 }, // 未连接
+          { prop: 'netStatus', val: 1 }, // 已连接
         ];
       });
 
@@ -433,6 +469,8 @@
         handlePasswordConfirm,
         workModeConfig,
         atomizeConfig,
+        airStatusConfig,
+        netStatusConfig,
       };
     },
   });