From 1788c96aea9247cc36ef8b82734997f1a6a92fb4 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期五, 23 八月 2024 11:07:42 +0800
Subject: [PATCH] 新增新版本。静安区特供版

---
 src/views/realtimemode/RealtimeMode.vue |   92 ++++++++++++++++++++++++----------------------
 1 files changed, 48 insertions(+), 44 deletions(-)

diff --git a/src/views/realtimemode/RealtimeMode.vue b/src/views/realtimemode/RealtimeMode.vue
index c4de517..f6ff253 100644
--- a/src/views/realtimemode/RealtimeMode.vue
+++ b/src/views/realtimemode/RealtimeMode.vue
@@ -25,14 +25,20 @@
 </template>
 
 <script>
+import moment from 'moment';
 import { useFetchData } from '@/composables/fetchData';
 import { TYPE0 } from '@/constant/device-type';
+import { radioOptions } from '@/constant/radio-options';
 import { FactorDatas } from '@/model/FactorDatas';
-import monitorDataApi from '@/api/monitorDataApi';
 import DashBoard from './component/DashBoard.vue';
 import RealTimeTrend from './component/RealTimeTrend.vue';
 import DeviceChange from './component/DeviceChange.vue';
 import { realTimeMapAnimation } from '@/utils/map/animation';
+import {
+  fetchHistoryData,
+  startLoopFetchRealTimeData,
+  clearFetchingTask
+} from '@/utils/factor/data';
 
 // const mapAnimation = new MapAnimation();
 
@@ -46,9 +52,9 @@
     return {
       // 鐩戞祴璁惧绫诲瀷
       deviceType: TYPE0,
-      deviceCode: '0a0000000001',
+      deviceCode: '',
       // 鐩戞祴鍥犲瓙鐨勭被鍨嬬紪鍙�
-      factorType: '1',
+      factorType: radioOptions(TYPE0)[0].value,
       // 鏂拌幏鍙栫殑鐩戞祴鏁版嵁
       factorDatas: new FactorDatas(),
       // 鍏ㄩ儴鐩戞祴鏁版嵁
@@ -63,11 +69,13 @@
     }
   },
   computed: {
+    // 鏁版嵁鏈�鏂版椂闂达紙鏈�鏂版暟鎹殑閲囨牱鏃堕棿鍔�1绉掞紱娌℃湁鏁版嵁鏃讹紝閲囩敤褰撳墠鏃堕棿鐨勫墠6鍒嗛挓锛�
     latestTime() {
       if (this.factorDatas.times.length == 0) {
-        return '';
+        return moment().subtract(6, 'm').format('YYYY-MM-DD HH:mm:ss');
       } else {
-        return this.factorDatas.times[this.factorDatas.times.length - 1];
+        const _time = this.factorDatas.times[this.factorDatas.times.length - 1];
+        return moment(_time).add(1, 's').format('YYYY-MM-DD HH:mm:ss');
       }
     }
   },
@@ -93,50 +101,40 @@
       });
     },
     fetchRealTimeData() {
-      // fixme 2024.5.3 姝ゅ鍒濆鑾峰彇鐨勬暟鎹紝鍙傛暟搴旇鐢眘earchbar鍐冲畾锛屽悗缁慨鏀�
       this.fetchData((page) => {
-        return monitorDataApi
-          .fetchHistroyData({
-            deviceCode: this.deviceCode,
-            // startTime: '2021-11-04 09:53:35',
-            page,
-            perPage: 100
-          })
-          .then((res) => {
-            this.onFetchData(res.data);
-            this.onMapData(res.data);
-            this.fetchNextData();
-          });
+        return fetchHistoryData({
+          deviceCode: this.deviceCode,
+          // startTime: '2024-08-20 06:00:00',
+          // endTime: '2024-08-20 06:02:00',
+          page,
+          perPage: 100
+        }).then((res) => {
+          this.onFetchData(res.data);
+          this.onMapData(res.data);
+          // if (res.data.length > 0) {
+          //   this.fetchNextData(res.data[res.data.length - 1].time);
+          // }
+          this.fetchNextData();
+        });
       });
     },
     clearFetchingTask() {
-      if (this.fetchingTask) {
-        clearInterval(this.fetchingTask);
-        this.fetchingTask = undefined;
-      }
+      clearFetchingTask();
     },
     fetchNextData() {
-      this.clearFetchingTask();
-      this.fetchingTask = setInterval(() => {
-        if (this.isFetching) {
-          return;
+      startLoopFetchRealTimeData(
+        () => {
+          return {
+            deviceCode: this.deviceCode,
+            updateTime: this.latestTime,
+            perPage: 10
+          };
+        },
+        (res) => {
+          this.onFetchData(res.data);
+          this.onMapData(res.data);
         }
-
-        this.isFetching = true;
-        this.fetchData(() => {
-          return monitorDataApi
-            .fetchNextData({
-              deviceCode: this.deviceCode,
-              updateTime: this.latestTime,
-              perPage: 10
-            })
-            .then((res) => {
-              this.onFetchData(res.data);
-              this.onMapData(res.data);
-            })
-            .finally(() => (this.isFetching = false));
-        });
-      }, 10000);
+      );
     },
     onMapData(dataList) {
       let startIndex = this.allFactorDatas.length() - 1;
@@ -157,12 +155,18 @@
     }
   },
   mounted() {
-    this.fetchRealTimeData();
+    // this.fetchRealTimeData();
+    // startLoopFetchRealTimeData({
+    //   compUser: 'user1',
+    //   compPassword: 'User1@jingan',
+    //   mn: 'TX105',
+    //   dtFrom: '2024-08-07 10:00:00',
+    //   dtTo: '2024-08-07 10:00:59'
+    // });
   },
   unmounted() {
     this.clearFetchingTask();
     realTimeMapAnimation.stop();
-    console.log('clear');
   }
 };
 </script>

--
Gitblit v1.9.3