Selaa lähdekoodia

perf(views): 修复“环境监控”列表未优先级排序问题

wangshun 2 viikkoa sitten
vanhempi
sitoutus
7f37e37a60
1 muutettua tiedostoa jossa 14 lisäystä ja 0 poistoa
  1. 14 0
      src/views/env-monitor/EnvMonitorList.vue

+ 14 - 0
src/views/env-monitor/EnvMonitorList.vue

@@ -77,10 +77,24 @@ const setClick = () => {
 const switchMonitoringList = () => {
   if (activeMonitoringType.value === -1) {
     monitoringPointList.value = props.monitoringPointData.filter((item) => checkedList.value.includes(item.status));
+    monitoringPointList.value.sort((item1, item2) => {
+      // 优先级:3 > 2 > 其他
+      const priority1 = item1.status === 3 ? 1 : item1.status === 2 ? 2 : item1.status === 1 ? 3 : 4;
+      const priority2 = item2.status === 3 ? 1 : item2.status === 2 ? 2 : item2.status === 1 ? 3 : 4;
+
+      return priority1 - priority2;
+    });
   } else {
     props.monitorData.forEach((item) => {
       if (item.id === activeMonitoringType.value) {
         monitoringPointList.value = item.points.filter((item) => checkedList.value.includes(item.status));
+        monitoringPointList.value.sort((item1, item2) => {
+          // 优先级:3 > 2 > 其他
+          const priority1 = item1.status === 3 ? 1 : item1.status === 2 ? 2 : item1.status === 1 ? 3 : 4;
+          const priority2 = item2.status === 3 ? 1 : item2.status === 2 ? 2 : item2.status === 1 ? 3 : 4;
+
+          return priority1 - priority2;
+        });
         avgTemperature.value = item.avgTemperature;
         avgHumidity.value = item.avgHumidity;
         outSideTemperature.value = item.outSideTemperature;