From 2592dc279ec82bf3649a4dbe644c6416263a10ef Mon Sep 17 00:00:00 2001 From: riku <risaku@163.com> Date: 星期五, 07 三月 2025 17:10:25 +0800 Subject: [PATCH] 各模块功能新增 --- src/stores/satellite-grid.js | 71 +++++++++++++++++++++++++++++++---- 1 files changed, 62 insertions(+), 9 deletions(-) diff --git a/src/stores/satellite-grid.js b/src/stores/satellite-grid.js index 2b83df2..0238594 100644 --- a/src/stores/satellite-grid.js +++ b/src/stores/satellite-grid.js @@ -1,18 +1,71 @@ -import { ref } from 'vue'; +import { ref, computed } from 'vue'; import { defineStore } from 'pinia'; import gridApi from '@/api/gridApi'; import { useFetchData } from '@/composables/fetchData'; // 鍗槦閬ユ祴缃戞牸 -export const usesatelliteGridStore = defineStore('satelliteGrid', () => { - const gridGropiList = ref([]); - const { loading, fetchData } = useFetchData(); +export const useSatelliteGridStore = defineStore('satelliteGrid', () => { + // 缃戞牸淇℃伅 + const gridInfo = ref([]); + // 鎵�鏈夌綉鏍兼暟鎹粍 + const allGridDataList = ref([]); + // 鍘熷缃戞牸鏁版嵁缁� + const gridDataList = computed(() => { + // return allGridDataList.value.filter((v) => { + // return v.type == 0; + // }); + return allGridDataList.value; + }); + // 铻嶅悎缃戞牸鏁版嵁缁� + const mixGridDataList = computed(() => { + return allGridDataList.value.filter((v) => { + return v.type == 1; + }); + }); + // 缃戞牸鏁版嵁璇︽儏 + const gridDataDetailMap = new Map(); + const selectedGridData = ref(undefined); - function fetchGridGroup(area) { - return fetchData((page, pageSize) => { - return gridApi.fetchGridGroup(area, page, pageSize).then((res) => { - return res; - }); + const selectedGridDataDetail = ref(undefined); + + // 鑾峰彇缃戞牸淇℃伅 + function fetchGridCell(groupId) { + return gridApi.fetchGridCell(groupId).then((res) => { + gridInfo.value = res.data; }); } + + // 鑾峰彇閬ユ祴鍗曟棩鏁版嵁淇℃伅 + function fetchGridData(groupId) { + return gridApi.fetchGridData(groupId).then((res) => { + allGridDataList.value = 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 { + gridInfo, + allGridDataList, + gridDataList, + mixGridDataList, + selectedGridData, + selectedGridDataDetail, + fetchGridCell, + fetchGridData, + fetchGridDataDetail + }; }); -- Gitblit v1.9.3