From 8372d022614a1897120802cf1bac90d61651177f Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期五, 14 三月 2025 18:20:56 +0800
Subject: [PATCH] 2025.3.14

---
 src/utils/map/util.js                                       |    2 
 src/model/Legend.js                                         |    2 
 src/views/satellitetelemetry/SatelliteTelemetry.vue         |   38 +++++++-----
 src/views/satellitetelemetry/SatelliteProxy.js              |   76 +------------------------
 src/components/grid/GridTool.vue                            |    3 
 src/stores/grid-info.js                                     |   11 +++
 src/views/satellitetelemetry/component/SatelliteMixTool.vue |   36 ------------
 7 files changed, 40 insertions(+), 128 deletions(-)

diff --git a/src/components/grid/GridTool.vue b/src/components/grid/GridTool.vue
index a0f98fd..fb9254a 100644
--- a/src/components/grid/GridTool.vue
+++ b/src/components/grid/GridTool.vue
@@ -14,7 +14,8 @@
         <template #content>
           <div class="content-wrap">
             <div v-for="(g, i) in gridStore.gridClzList" :key="i">
-              <div>
+              <div v-for="(value, key) in g.mapViewsMap" :key="key">
+                {{ value[1].extData.name }}
                 <el-text>g.name</el-text>
               </div>
               <el-row>
diff --git a/src/model/Legend.js b/src/model/Legend.js
index 9d852d1..05ee593 100644
--- a/src/model/Legend.js
+++ b/src/model/Legend.js
@@ -292,7 +292,7 @@
 
   getCustomColor: function (data, min, max) {
     var per = (max - min) / this._custom.length;
-    var i = parseInt(data / per);
+    var i = parseInt((data - min) / per);
     if (i >= this._custom.length) {
       i = this._custom.length - 1;
     }
diff --git a/src/stores/grid-info.js b/src/stores/grid-info.js
index 3b673d6..f843b97 100644
--- a/src/stores/grid-info.js
+++ b/src/stores/grid-info.js
@@ -9,5 +9,14 @@
 
   const selectedGridCellAndDataDetail = ref(undefined);
 
-  return { gridClzList, selectedSatelliteProxy, selectedGridCellAndDataDetail };
+  function pushGridClz(clz) {
+    gridClzList.value.push(clz);
+  }
+
+  return {
+    gridClzList,
+    selectedSatelliteProxy,
+    selectedGridCellAndDataDetail,
+    pushGridClz
+  };
 });
diff --git a/src/utils/map/util.js b/src/utils/map/util.js
index e783baf..1b7b3a6 100644
--- a/src/utils/map/util.js
+++ b/src/utils/map/util.js
@@ -1,5 +1,6 @@
 import { map, isDragging } from '@/utils/map/index_old';
 import marks from '@/utils/map/marks';
+import Layer from '@/utils/map/3dLayer';
 
 /**
  * 鍧愭爣闆嗗悎鐨勬渶瑗垮崡瑙掑拰鏈�涓滃寳瑙�
@@ -84,6 +85,7 @@
   clearMap() {
     marks.clearMassMarks();
     map.clearMap();
+    Layer.clear();
   },
   setFitView(views) {
     if (views) {
diff --git a/src/views/satellitetelemetry/SatelliteProxy.js b/src/views/satellitetelemetry/SatelliteProxy.js
index 7de249c..e0e5010 100644
--- a/src/views/satellitetelemetry/SatelliteProxy.js
+++ b/src/views/satellitetelemetry/SatelliteProxy.js
@@ -4,14 +4,8 @@
 import { useCloned } from '@vueuse/core';
 
 export class SatelliteProxy {
-  constructor(name) {
-    this.name = name;
-  }
-
   // 鍦板浘缃戞牸鐩稿叧瀵硅薄
   mapViews;
-
-  mapViewsList = [];
 
   mapViewsMap = new Map();
 
@@ -272,70 +266,6 @@
     }
   }
 
-  //
-  drawGrids({
-    gridDataDetailList,
-    useCustomColor,
-    opacity,
-    zIndex,
-    showDataTxt,
-    showRankTxt
-  }) {
-    if (this.mapViewsList.length < gridDataDetailList.length) {
-      let index = this.mapViewsList.length;
-      while (index < gridDataDetailList.length) {
-        const newMapViews = {
-          gridViews: gridMapUtil.drawPolylines({
-            points: this.mapViews.gridPoints,
-            event: this.firstEvent
-          }),
-          gridPoints: JSON.parse(JSON.stringify(this.mapViews.gridPoints)),
-          points: JSON.parse(JSON.stringify(this.mapViews.points))
-        };
-        this.mapViewsList.push(newMapViews);
-      }
-    }
-
-    this.mapViewsList.forEach((m, i) => {
-      this.drawGrid({
-        gridDataDetail: gridDataDetailList[i],
-        useCustomColor,
-        opacity,
-        zIndex,
-        showDataTxt,
-        showRankTxt,
-        mapViews: m
-      });
-    });
-  }
-
-  drawNewGrid({
-    gridDataDetail,
-    useCustomColor,
-    opacity,
-    zIndex,
-    showDataTxt,
-    showRankTxt
-  }) {
-    const newMapViews = {
-      gridViews: gridMapUtil.drawPolylines({
-        points: this.mapViews.gridPoints,
-        event: this.firstEvent
-      }),
-      gridPoints: JSON.parse(JSON.stringify(this.mapViews.gridPoints)),
-      points: JSON.parse(JSON.stringify(this.mapViews.points))
-    };
-    this.mapViewsList.push(newMapViews);
-    this.drawGrid({
-      gridDataDetail,
-      useCustomColor,
-      opacity,
-      zIndex,
-      showDataTxt,
-      showRankTxt,
-      mapViews: newMapViews
-    });
-  }
   drawTagGrid({
     tag,
     gridDataDetail,
@@ -343,7 +273,8 @@
     opacity,
     zIndex,
     showDataTxt,
-    showRankTxt
+    showRankTxt,
+    extData
   }) {
     if (!this.mapViewsMap.has(tag)) {
       const newMapViews = {
@@ -352,7 +283,8 @@
           event: this.firstEvent
         }),
         gridPoints: JSON.parse(JSON.stringify(this.mapViews.gridPoints)),
-        points: JSON.parse(JSON.stringify(this.mapViews.points))
+        points: JSON.parse(JSON.stringify(this.mapViews.points)),
+        extData: extData
       };
       this.mapViewsMap.set(tag, newMapViews);
     }
diff --git a/src/views/satellitetelemetry/SatelliteTelemetry.vue b/src/views/satellitetelemetry/SatelliteTelemetry.vue
index 9cfd538..f691e4a 100644
--- a/src/views/satellitetelemetry/SatelliteTelemetry.vue
+++ b/src/views/satellitetelemetry/SatelliteTelemetry.vue
@@ -45,16 +45,10 @@
   </el-row> -->
 </template>
 <script setup>
-import { map, onMapMounted } from '@/utils/map/index_old';
-import calculate from '@/utils/map/calculate';
-import marks from '@/utils/map/marks';
-import grid from '@/utils/map/grid';
-
 import { ref, onMounted } from 'vue';
 import gridApi from '@/api/gridApi';
 import SatelliteManage from './component/SatelliteManage.vue';
-import SatelliteDataMix from './component/SatelliteDataMix.vue';
-import SatelliteMixTool from './component/SatelliteMixTool.vue';
+import moment from 'moment';
 import GridStyleTool from './component/GridStyleTool.vue';
 import { SatelliteProxy } from './SatelliteProxy';
 import { useFetchData } from '@/composables/fetchData';
@@ -66,6 +60,8 @@
 
 const gridStore = useGridStore();
 gridStore.selectedSatelliteProxy = satelliteProxy;
+gridStore.pushGridClz(satelliteProxy);
+
 const sceneStore = useSceneStore();
 const satelliteGridStore = useSatelliteGridStore();
 
@@ -155,15 +151,27 @@
   });
 }
 
-function drawGrid(gridDataDetail) {
-  satelliteProxy.drawGrid({
-    gridDataDetail: gridDataDetail,
-    useDataTxtColor: true
+function drawGrid(useCustomColor) {
+  satelliteProxy.changeVisibility({
+    showGridViews: false,
+    showDataTxt: false,
+    showRankTxt: false
+  });
+  satelliteProxy.drawTagGrid({
+    tag: satelliteGridStore.selectedGridData.id,
+    gridDataDetail: satelliteGridStore.selectedGridDataDetail,
+    useCustomColor,
+    useDataTxtColor: true,
+    extData: {
+      name: `鍗槦閬ユ祴鏁版嵁 - ${moment(satelliteGridStore.selectedGridData).format('YYYY-MM-DD')}`
+    }
   });
 }
 
 function handleRowClick(row) {
-  satelliteGridStore.fetchGridDataDetail(row, drawGrid);
+  satelliteGridStore.fetchGridDataDetail(row, () => {
+    drawGrid();
+  });
 }
 
 function handleRankClick(rankVisible) {
@@ -175,11 +183,7 @@
 }
 
 function handleColorClick(isStandardColor) {
-  satelliteProxy.drawGrid({
-    gridDataDetail: satelliteGridStore.selectedGridDataDetail,
-    useCustomColor: !isStandardColor,
-    useDataTxtColor: true
-  });
+  drawGrid(!isStandardColor);
 }
 
 function handleOpacityClick(value) {
diff --git a/src/views/satellitetelemetry/component/SatelliteMixTool.vue b/src/views/satellitetelemetry/component/SatelliteMixTool.vue
index fb9ae68..cae84db 100644
--- a/src/views/satellitetelemetry/component/SatelliteMixTool.vue
+++ b/src/views/satellitetelemetry/component/SatelliteMixTool.vue
@@ -195,11 +195,6 @@
   satelliteProxy.gridPrepare(gridInfo);
 }
 
-// 缁樺埗缃戞牸閬ユ劅鏁版嵁鍊煎拰缃戞牸棰滆壊
-function drawGrid(gridDataDetail) {
-  satelliteProxy.drawGrid({ gridDataDetail, opacity: 1, zIndex: 11 });
-}
-
 // watch(mission, (nV, oV) => {
 //   if (nV != oV) {
 //     checkUnderwayFusionResult();
@@ -233,37 +228,12 @@
   }
 });
 
-let selectedGridDataDetail;
-// 鍙犲姞铻嶅悎
-// function handleFusionClick() {
-//   // resetButton();
-//   const d = fusionData.value;
-//   if (gridDataDetailMap.has(d.id)) {
-//     selectedGridDataDetail = gridDataDetailMap.get(d.id);
-//     // selectedGridData = gridData;
-//     drawGrid(selectedGridDataDetail);
-//   } else {
-//     gridApi.fetchGridDataDetail(d.id, d.groupId).then((res) => {
-//       gridDataDetailMap.set(d.id, res.data);
-//       selectedGridDataDetail = res.data;
-//       // selectedGridData = gridData;
-//       drawGrid(selectedGridDataDetail);
-//     });
-//   }
-// }
 function handleFusionClick() {
   // resetButton();
   satelliteProxy.changeVisibility({ showGridViews: false });
   selectedfusionData.value.forEach((i) => {
     const d = fusionDataList.value[i];
     if (gridDataDetailMap.has(d.id)) {
-      // const gdd = gridDataDetailMap.get(d.id);
-      // satelliteProxy.drawTagGrid({
-      //   tag: d.id,
-      //   gridDataDetail: gdd,
-      //   opacity: 1,
-      //   zIndex: 11
-      // });
       satelliteProxy.changeVisibility({ tag: d.id, showGridViews: true });
     } else {
       gridApi.fetchGridDataDetail(d.id, d.groupId).then((res) => {
@@ -302,12 +272,6 @@
 
 function handleColorClick() {
   isStandardColor.value = !isStandardColor.value;
-  // satelliteProxy.drawGrid({
-  //   gridDataDetail: selectedGridDataDetail,
-  //   useCustomColor: !isStandardColor.value,
-  //   opacity: 1,
-  //   zIndex: 11
-  // });
   selectedfusionData.value.forEach((i) => {
     const d = fusionDataList.value[i];
     if (gridDataDetailMap.has(d.id)) {

--
Gitblit v1.9.3