From cb99768a728002372bcb80885de2b4b2cd52e303 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期一, 09 九月 2024 14:10:32 +0800
Subject: [PATCH] 1. 修复轨迹动画无法运行的问题
---
src/views/historymode/HistoryMode.vue | 73 ++++++++++++++++++------------------
1 files changed, 36 insertions(+), 37 deletions(-)
diff --git a/src/views/historymode/HistoryMode.vue b/src/views/historymode/HistoryMode.vue
index 9df700d..11ba4f6 100644
--- a/src/views/historymode/HistoryMode.vue
+++ b/src/views/historymode/HistoryMode.vue
@@ -5,7 +5,7 @@
v-show="status == 0"
:search-time="searchTime"
:loading="loading"
- @search="fetchHistroyData"
+ @search="onSearch"
></SearchBar>
<TrajectoryState v-show="status != 0" :status="status"></TrajectoryState>
</el-row>
@@ -42,6 +42,7 @@
@table-click="handelIndexChange"
:factor-datas="factorDatas"
:device-type="deviceType"
+ :device-code="deviceCode"
></DataSheet>
</div>
</template>
@@ -61,10 +62,13 @@
import DataSheet from './component/DataSheet.vue';
import { ElMessage } from 'element-plus';
import { fetchHistoryData } from '@/utils/factor/data';
+import { mapStores } from 'pinia';
+import { useSceneStore } from '@/stores/scene';
export default {
components: { TrendAnalysis, DataSheet },
setup() {
+ // 闄愬畾鍒嗛〉鏁版嵁閲忎负10000
const { loading, fetchData } = useFetchData(10000);
return { loading, fetchData };
},
@@ -88,7 +92,9 @@
// 褰撳墠閫変腑楂樹寒鐨勬暟鎹偣绱㈠紩
locateIndex: undefined,
// 杞ㄨ抗鍔ㄧ敾鐘舵��
- status: 0
+ status: 0,
+ // 鏄惁椤甸潰宸茶烦杞�
+ isUnmounted: false
};
},
watch: {
@@ -97,6 +103,9 @@
this.draw();
}
}
+ },
+ computed: {
+ ...mapStores(useSceneStore)
},
methods: {
// 妫�鏌ユ暟鎹粡绾害鏄惁鍚堟硶
@@ -117,7 +126,11 @@
// 鐩戝惉鎶樼嚎鍥惧拰琛ㄦ牸鐨勭偣鍑讳簨浠�
handelIndexChange(index) {
if (this.checkDataIsValid(index)) {
+ // 缁樺埗婧簮鎵囧舰
this.drawSector(index);
+ // 鏌ヨ鑼冨洿鍐呯殑鐩戞祴绔欑偣
+ const [lng, lat] = this.factorDatas.lnglats_GD[index];
+ this.sceneStore.searchScene(lng, lat);
}
},
draw() {
@@ -136,11 +149,7 @@
},
drawMassMarks(e) {
marks.drawMassMarks(this.factorDatas, e, (index) => {
- // 鏌ヨ鑼冨洿鍐呯殑鐩戞祴绔欑偣
- // SceneUtil.searchByCoordinate(lnglat[0], lnglat[1], distance);
- if (this.checkDataIsValid(index)) {
- this.drawSector(index);
- }
+ this.handelIndexChange(index);
});
// 璋冩暣鍦板浘瑙嗚
mapUtil.setBound(this.factorDatas.lnglats_GD);
@@ -152,21 +161,29 @@
mapUtil.setCenter(pr.p);
// mapUtil.setFitSector(pr);
// 2. 缁樺埗瀵硅瘽妗�
- DialogUtil.openNewWindow(this.deviceCode, this.factorDatas, index, () => {
- // 绉婚櫎鎵囧舰鍖哄煙
- sector.clearSector();
- });
+ DialogUtil.openNewWindow(
+ this.deviceType,
+ this.deviceCode,
+ this.factorDatas,
+ index,
+ () => {
+ // 绉婚櫎鎵囧舰鍖哄煙
+ sector.clearSector();
+ }
+ );
},
- onFetchData(type, data) {
+ onFetchData(deviceType, data) {
+ if (this.isUnmounted) return;
// todo 鏍规嵁璁惧绫诲瀷鍒囨崲鍦板浘鐩戞祴鍥犲瓙灞曠ず鍗曢�夋銆佹姌绾垮浘澶嶉�夋銆佹暟鎹〃鏍煎閫夋鐨勫洜瀛愮被鍨�
- this.deviceType = type;
+ this.deviceType = deviceType;
this.factorDatas.setData(data, this.drawMode, () => {
this.factorDatas.refreshHeight(this.factorType);
this.draw();
});
},
- fetchHistroyData(option) {
- const { deviceCode, type, timeArray } = option;
+ onSearch(option) {
+ const { deviceType, deviceCode, timeArray } = option;
+ this.deviceType = deviceType;
this.deviceCode = deviceCode;
let startTime, endTime;
if (timeArray && timeArray.length == 2) {
@@ -175,40 +192,22 @@
}
this.fetchData((page, pageSize) => {
return fetchHistoryData({
+ deviceType,
deviceCode,
startTime,
endTime,
page,
perPage: pageSize
- }).then((res) => this.onFetchData(type, res.data));
+ }).then((res) => this.onFetchData(deviceType, res.data));
});
}
- // fetchRealTimeData() {
- // // fixme 2024.5.3 姝ゅ鍒濆鑾峰彇鐨勬暟鎹紝鍙傛暟搴旇鐢眘earchbar鍐冲畾锛屽悗缁慨鏀�
- // this.fetchData((page) => {
- // return fetchHistoryData({
- // deviceCode: '0a0000000001',
- // // type: TYPE0,
- // page,
- // perPage: 100
- // }).then((res) => {
- // if (res.data.length > 0) {
- // const s = new Date(res.data[0].time.replace(' ', 'T'));
- // const e = new Date(
- // res.data[res.data.length - 1].time.replace(' ', 'T')
- // );
- // this.searchTime = [s, e];
- // }
- // this.onFetchData(TYPE0, res.data);
- // });
- // });
- // }
},
mounted() {
- // this.fetchRealTimeData();
+ this.isUnmounted = false;
},
unmounted() {
mapUtil.clearMap();
+ this.isUnmounted = true;
}
};
</script>
--
Gitblit v1.9.3