From 5679cbbb630092a197d991cb41997a2d953261e9 Mon Sep 17 00:00:00 2001 From: Riku <risaku@163.com> Date: 星期三, 11 六月 2025 22:49:07 +0800 Subject: [PATCH] 动态溯源(待完成) --- src/views/historymode/HistoryMode.vue | 34 +++++++++++++++++++++++++++++++--- 1 files changed, 31 insertions(+), 3 deletions(-) diff --git a/src/views/historymode/HistoryMode.vue b/src/views/historymode/HistoryMode.vue index 2d2a20f..2ced9f5 100644 --- a/src/views/historymode/HistoryMode.vue +++ b/src/views/historymode/HistoryMode.vue @@ -4,7 +4,7 @@ <SearchBar v-show="status == 0" :search-time="searchTime" - :loading="loading" + :loading="loading || thirdPartyLoading" @search="onSearch" ></SearchBar> <TrajectoryState v-show="status != 0" :status="status"></TrajectoryState> @@ -74,6 +74,7 @@ import { ElMessage } from 'element-plus'; import { fetchHistoryData } from '@/utils/factor/data'; import dataAnalysisApi from '@/api/dataAnalysisApi'; +import thirdPartyDataApi from '@/api/thirdPartyDataApi'; import { mapStores } from 'pinia'; import { useSceneStore } from '@/stores/scene'; @@ -108,7 +109,10 @@ // 杞ㄨ抗鍔ㄧ敾鐘舵�� status: 0, // 鏄惁椤甸潰宸茶烦杞� - isUnmounted: false + isUnmounted: false, + // 绗笁鏂规暟鎹幏鍙栨槸鍚﹀皾璇� + isFetchThirdParty: false, + thirdPartyLoading: false }; }, watch: { @@ -236,9 +240,33 @@ endTime, page, perPage: pageSize - }).then((res) => this.onFetchData(deviceType, res.data)); + }).then((res) => { + this.onFetchData(deviceType, res.data); + if ( + res.data.length == 0 && + this.isFetchThirdParty != mission.missionCode + ) { + this.onThirdPartyFetch(option); + } + }); }); }, + onThirdPartyFetch(option) { + const { mission } = option; + if (import.meta.env.VITE_DATA_MODE == 'jingan') { + this.thirdPartyLoading = true; + this.isFetchThirdParty = mission.missionCode; + // 閫氱煡鏈嶅姟绔惎鍔ㄤ换鍔¤寖鍥村唴鐨勭涓夋柟鏁版嵁鑾峰彇浠诲姟 + thirdPartyDataApi + .fetchMissionData(mission.missionCode) + .then((res) => { + if (res.data) { + this.onSearch(option); + } + }) + .finally(() => (this.thirdPartyLoading = false)); + } + }, handleClick() { const { missionCode } = this.mission; dataAnalysisApi.pollutionTrace(missionCode).then((res) => { -- Gitblit v1.9.3