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 | 30 ++++++++++++++++++++++-------- 1 files changed, 22 insertions(+), 8 deletions(-) diff --git a/src/stores/satellite-grid.js b/src/stores/satellite-grid.js index 6f73012..0238594 100644 --- a/src/stores/satellite-grid.js +++ b/src/stores/satellite-grid.js @@ -11,9 +11,10 @@ const allGridDataList = ref([]); // 鍘熷缃戞牸鏁版嵁缁� const gridDataList = computed(() => { - return allGridDataList.value.filter((v) => { - return v.type == 0; - }); + // return allGridDataList.value.filter((v) => { + // return v.type == 0; + // }); + return allGridDataList.value; }); // 铻嶅悎缃戞牸鏁版嵁缁� const mixGridDataList = computed(() => { @@ -21,6 +22,11 @@ return v.type == 1; }); }); + // 缃戞牸鏁版嵁璇︽儏 + const gridDataDetailMap = new Map(); + const selectedGridData = ref(undefined); + + const selectedGridDataDetail = ref(undefined); // 鑾峰彇缃戞牸淇℃伅 function fetchGridCell(groupId) { @@ -37,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 { @@ -50,6 +62,8 @@ allGridDataList, gridDataList, mixGridDataList, + selectedGridData, + selectedGridDataDetail, fetchGridCell, fetchGridData, fetchGridDataDetail -- Gitblit v1.9.3