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