From 306ef09707d6bcf9ffa67de55f86ab6f4362deee Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期五, 18 七月 2025 10:04:01 +0800
Subject: [PATCH] 2025.7.18 动态溯源-测试版本

---
 src/views/historymode/HistoryMode.vue |   27 +++++++++++++++++++++------
 1 files changed, 21 insertions(+), 6 deletions(-)

diff --git a/src/views/historymode/HistoryMode.vue b/src/views/historymode/HistoryMode.vue
index 99b1303..452fc0d 100644
--- a/src/views/historymode/HistoryMode.vue
+++ b/src/views/historymode/HistoryMode.vue
@@ -28,7 +28,6 @@
         :factor="factorDatas.factor[factorType]"
         @change="handleLegendTypeChange"
       ></FactorLegend>
-      <!-- <SourceTrace></SourceTrace> -->
     </el-row>
     <el-row class="historical" justify="center">
       <HistoricalTrajectory
@@ -53,6 +52,13 @@
       :device-type="deviceType"
       :device-code="deviceCode"
     ></DataSheet>
+    <SourceTrace
+      class="source-trace"
+      v-model:factorType="factorType"
+      direction="left"
+      mode="history"
+      :mission-code="missionCode"
+    ></SourceTrace>
   </div>
 </template>
 
@@ -87,6 +93,7 @@
   },
   data() {
     return {
+      missionCode: undefined,
       // 鐩戞祴璁惧绫诲瀷
       deviceType: TYPE0,
       // 鐩戞祴璁惧缂栧彿
@@ -119,8 +126,8 @@
     factorType(nValue, oValue) {
       if (nValue != oValue && this.status == 0) {
         Layer.clear();
-        this.draw();
-        this.drawHighlightPollution();
+        this.draw(true);
+        // this.drawHighlightPollution();
       }
     }
   },
@@ -162,13 +169,17 @@
       done();
       this.draw();
     },
-    draw() {
+    draw(notSetBound) {
       // 鍒锋柊鍥句緥
       const factor = this.factorDatas.factor[this.factorType];
       sector.clearSector();
       // this.drawRoadLine(factor);
       this.drawRoadMap(factor);
       this.drawMassMarks(factor);
+      // 璋冩暣鍦板浘瑙嗚
+      if (!notSetBound) {
+        mapUtil.setBound(this.factorDatas.lnglats_GD);
+      }
     },
     // 缁樺埗3D璧拌璺嚎鍥�
     drawRoadMap(e) {
@@ -183,8 +194,6 @@
       marks.drawMassMarks(this.factorDatas, e, (index) => {
         this.handelIndexChange(index);
       });
-      // 璋冩暣鍦板浘瑙嗚
-      mapUtil.setBound(this.factorDatas.lnglats_GD);
     },
     drawSector(index) {
       // 1. 缁樺埗鏂版墖褰㈠尯鍩�
@@ -227,6 +236,7 @@
       this.deviceType = deviceType;
       this.deviceCode = deviceCode;
       this.mission = mission;
+      this.missionCode = mission.missionCode;
       let startTime, endTime;
       if (timeArray && timeArray.length == 2) {
         startTime = moment(timeArray[0]).format('YYYY-MM-DD HH:mm:ss');
@@ -307,4 +317,9 @@
   left: 0;
   right: 0;
 }
+.source-trace {
+  position: absolute;
+  right: 0;
+  bottom: 0px;
+}
 </style>

--
Gitblit v1.9.3