From 7b52f30bc471b7f433eea950f77ecb74a87d867c Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期三, 05 三月 2025 17:33:02 +0800
Subject: [PATCH] 污染溯源模块编写中

---
 src/stores/satellite-grid.js |   23 ++++++++++++++++++-----
 1 files changed, 18 insertions(+), 5 deletions(-)

diff --git a/src/stores/satellite-grid.js b/src/stores/satellite-grid.js
index 526ac9a..0238594 100644
--- a/src/stores/satellite-grid.js
+++ b/src/stores/satellite-grid.js
@@ -22,6 +22,11 @@
       return v.type == 1;
     });
   });
+  // 缃戞牸鏁版嵁璇︽儏
+  const gridDataDetailMap = new Map();
+  const selectedGridData = ref(undefined);
+
+  const selectedGridDataDetail = ref(undefined);
 
   // 鑾峰彇缃戞牸淇℃伅
   function fetchGridCell(groupId) {
@@ -38,12 +43,18 @@
   }
 
   // 鑾峰彇閬ユ祴鍗曟棩鍏蜂綋缃戞牸鐩戞祴鏁版嵁
-  function fetchGridDataDetail(gridData) {
-    return gridApi
-      .fetchGridDataDetail(gridData.id, gridData.groupId)
-      .then((res) => {
-        gridData.dataDetail = res.data;
+  function fetchGridDataDetail(gridData, callback) {
+    selectedGridData.value = gridData;
+    if (gridDataDetailMap.has(gridData.id)) {
+      selectedGridDataDetail.value = gridDataDetailMap.get(gridData.id);
+      callback(selectedGridDataDetail.value);
+    } else {
+      gridApi.fetchGridDataDetail(gridData.id, gridData.groupId).then((res) => {
+        gridDataDetailMap.set(gridData.id, res.data);
+        selectedGridDataDetail.value = res.data;
+        callback(selectedGridDataDetail.value);
       });
+    }
   }
 
   return {
@@ -51,6 +62,8 @@
     allGridDataList,
     gridDataList,
     mixGridDataList,
+    selectedGridData,
+    selectedGridDataDetail,
     fetchGridCell,
     fetchGridData,
     fetchGridDataDetail

--
Gitblit v1.9.3