From da0d06cb06ef3fc55d88cb4a9a52505ac35c03e6 Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期三, 26 三月 2025 15:12:31 +0800
Subject: [PATCH] 走航融合(待完成)

---
 src/views/underwaymix/component/GridStyleTool.vue |   42 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 42 insertions(+), 0 deletions(-)

diff --git a/src/views/underwaymix/component/GridStyleTool.vue b/src/views/underwaymix/component/GridStyleTool.vue
index e21302d..35b61e7 100644
--- a/src/views/underwaymix/component/GridStyleTool.vue
+++ b/src/views/underwaymix/component/GridStyleTool.vue
@@ -53,6 +53,13 @@
                   >
                   </CheckButton>
                   <CheckButton
+                    active-text="椋庨櫓鐑姏鍥�"
+                    inactive-text="椋庨櫓鐑姏鍥�"
+                    :default-value="false"
+                    @change="(e) => handleHeatMapClick(e, i, value)"
+                  >
+                  </CheckButton>
+                  <CheckButton
                     v-if="value.extData.type == 0"
                     active-text="鏄剧ず璧拌埅杞ㄨ抗"
                     inactive-text="闅愯棌璧拌埅杞ㄨ抗"
@@ -105,6 +112,10 @@
  * 缃戞牸鏍峰紡鎺у埗宸ュ叿
  */
 import { ref, reactive, onMounted, onUnmounted, computed, toRaw } from 'vue';
+import gridApi from '@/api/gridApi';
+import { useGridStore } from '@/stores/grid-info';
+
+const gridStore = useGridStore()
 
 const props = defineProps({
   // 缃戞牸绠$悊瀵硅薄[SatelliteGrid]鏁扮粍
@@ -200,6 +211,37 @@
 function handleHighlightGridClick(e, index, value) {
   toRaw(props.gridCtrls[index]).mixGrid(value.tag.split('-'), e);
 }
+
+let heatTag
+function handleHeatMapClick(e, index, value) {
+  const _satelliteGrid = toRaw(props.gridCtrls[index])
+  _satelliteGrid.changeVisibility({
+    showGridViews: false,
+    showDataTxt: false,
+    showRankTxt: false
+  });
+  if (e) {
+    const data = _satelliteGrid.gridDataDetailMap.get(value.tag);
+    gridApi.buildUnderwayHeatmap(3, data).then((res) => {
+      heatTag = _satelliteGrid.drawHeatGrid2(value.tag, res.data);
+      _satelliteGrid.setGridEvent(
+        [heatTag],
+        'click',
+        (gridCell, gridDataDetail) => {
+          gridStore.selectedGridCellAndDataDetail = {
+            gridCell,
+            gridDataDetail
+          };
+        }
+      );
+    });
+  } else {
+    _satelliteGrid.changeVisibility({
+      tags: [value.tag],
+      showGridViews: true
+    });
+  }
+}
 </script>
 <style scoped>
 .content-wrap {

--
Gitblit v1.9.3