From 7b1293cec33b47680f08756bd1f8518d3cb1a729 Mon Sep 17 00:00:00 2001
From: Riku <risaku@163.com>
Date: 星期三, 01 一月 2025 22:33:32 +0800
Subject: [PATCH] 新增对比色

---
 src/views/satellitetelemetry/SatelliteTelemetry.vue |   90 ++++++++++++++++++++++++++++++++++-----------
 1 files changed, 68 insertions(+), 22 deletions(-)

diff --git a/src/views/satellitetelemetry/SatelliteTelemetry.vue b/src/views/satellitetelemetry/SatelliteTelemetry.vue
index 82cfe88..0f0698f 100644
--- a/src/views/satellitetelemetry/SatelliteTelemetry.vue
+++ b/src/views/satellitetelemetry/SatelliteTelemetry.vue
@@ -1,6 +1,7 @@
 <template>
-  <div>
-    <!-- <el-button
+  <el-row class="wrap">
+    <el-col span="2">
+      <!-- <el-button
       class="p-events-auto"
       type="info"
       icon="Memo"
@@ -9,21 +10,37 @@
     >
       缁樺埗缃戞牸
     </el-button> -->
-    <SatelliteManage
-      class="satellite-manage"
-      :gridDataList="satelliteGridStore.gridDataList"
-      :loading="loading"
-      @search="onSearch"
-      @row-click="handleRowClick"
-    ></SatelliteManage>
-    <el-row class="historical" justify="center">
-      <SatelliteAnimation
-        :loading="animaLoading"
-        :grid-data="gridDataDetailList"
-        :mapViews="mapViews"
-      ></SatelliteAnimation>
-    </el-row>
-  </div>
+      <el-row>
+        <SatelliteManage
+          v-show="show"
+          class="satellite-manage"
+          :gridDataList="satelliteGridStore.gridDataList"
+          :loading="loading"
+          @search="onSearch"
+          @row-click="handleRowClick"
+          @show-rank="handleRankClick"
+          @show-data="handleDataClick"
+          @change-color="handleColorClick"
+        ></SatelliteManage>
+      </el-row>
+    </el-col>
+    <el-col span="2">
+      <el-row>
+        <CardButton
+          name="鍗槦閬ユ祴鏁版嵁"
+          direction="right"
+          @click="() => (show = !show)"
+        ></CardButton>
+      </el-row>
+    </el-col>
+  </el-row>
+  <el-row class="historical" justify="center">
+    <SatelliteAnimation
+      :loading="animaLoading"
+      :grid-data="gridDataDetailList"
+      :mapViews="mapViews"
+    ></SatelliteAnimation>
+  </el-row>
 </template>
 <script setup>
 import { map } from '@/utils/map/index_old';
@@ -41,6 +58,7 @@
 const satelliteGridStore = useSatelliteGridStore();
 const { loading, fetchData } = useFetchData(10000);
 const animaLoading = ref(true);
+const show = ref(true);
 
 let count = 0,
   max = 0;
@@ -94,26 +112,54 @@
 function drawTextAndColor(gridData) {
   // SatelliteProxy.clearText(mapViews);
   // 鏂囨湰鏍囪
-  mapViews.textViews = SatelliteProxy.drawDataText(
-    mapViews.points,
-    gridData,
-    mapViews.textViews
-  );
+  const { textViews: dataTxt, labelsLayer: dataLayer } =
+    SatelliteProxy.drawDataText(
+      mapViews.points,
+      gridData,
+      mapViews.dataTxt,
+      mapViews.dataLayer
+    );
+  mapViews.dataTxt = dataTxt;
+  mapViews.dataLayer = dataLayer;
+  const { textViews: rankTxt, labelsLayer: rankLayer } =
+    SatelliteProxy.drawRankText(
+      mapViews.points,
+      gridData,
+      mapViews.rankTxt,
+      mapViews.rankLayer
+    );
+  mapViews.rankTxt = rankTxt;
+  mapViews.rankLayer = rankLayer;
   SatelliteProxy.drawColor(mapViews.gridViews, gridData);
 }
 
+let selectedGridData
 function handleRowClick(row) {
   if (gridDataDetailMap.has(row.id)) {
     const gridData = gridDataDetailMap.get(row.id);
+    selectedGridData = gridData
     drawTextAndColor(gridData);
   } else {
     gridApi.fetchGridDataDetail(row.id, row.groupId).then((res) => {
       gridDataDetailMap.set(row.id, res.data);
       const gridData = res.data;
+      selectedGridData = gridData
       drawTextAndColor(gridData);
     });
   }
 }
+
+function handleRankClick(rankVisible) {
+  rankVisible ? map.add(mapViews.rankLayer) : map.remove(mapViews.rankLayer);
+}
+
+function handleDataClick(dataVisible) {
+  dataVisible ? map.add(mapViews.dataLayer) : map.remove(mapViews.dataLayer);
+}
+
+function handleColorClick(isStandardColor) {
+  SatelliteProxy.drawColor(mapViews.gridViews, selectedGridData, !isStandardColor);
+}
 </script>
 <style scoped>
 .satellite-manage {

--
Gitblit v1.9.3