From 91513e171078ed6b0887f87b9fced33895d6d3fb Mon Sep 17 00:00:00 2001 From: riku <risaku@163.com> Date: 星期二, 08 七月 2025 08:35:50 +0800 Subject: [PATCH] 2025.7.8 --- src/stores/subtask.js | 48 ++++++++++++++++++++++++++++++++++-------------- 1 files changed, 34 insertions(+), 14 deletions(-) diff --git a/src/stores/subtask.js b/src/stores/subtask.js index aaf96cb..d8333f5 100644 --- a/src/stores/subtask.js +++ b/src/stores/subtask.js @@ -11,6 +11,8 @@ // 宸℃煡浠诲姟 export const useSubtaskStore = defineStore('subtask', () => { + const allTask = ref(null) + const onFetchAllTask = [] // 鎬讳换鍔′俊鎭� const taskInfo = ref(null) // 褰撴湡鎵�鏈夊贰鏌ョ粺璁′俊鎭� @@ -24,18 +26,35 @@ function fetchTopTaskProgress(area) { subtaskLoading.value = true - taskApi.fetchTopTaskProgress(area).then((res) => { - if (res.data.length == 0) return - const data = res.data[0] - // 瀛樺偍涓哄叏灞�鏁版嵁 - setSummary(data) - subtaskLoading.value = false - // 缁樺埗鍦板浘鏍囪 - marks.createLabelMarks(scene_1, unref(data.subTaskSummary), (v) => { - mapStore.focusMarker = v + taskApi + .fetchTopTaskProgress(area) + .then((res) => { + if (res.data.length == 0) return + + allTask.value = res.data + if (onFetchAllTask.length > 0) { + onFetchAllTask.forEach((e) => { + e(allTask.value) + }) + } + + const data = res.data[0] + // 瀛樺偍涓哄叏灞�鏁版嵁 + setSummary(data) + // 缁樺埗鍦板浘鏍囪 + marks.createLabelMarks(scene_1, unref(data.subTaskSummary), (v) => { + mapStore.focusMarker = v + }) + mapUtil.setFitView() }) - mapUtil.setFitView() - }) + .finally(() => (subtaskLoading.value = false)) + } + + function onAllTaskRefreshed(callback) { + if (allTask.value != null) { + callback(taskInfo.value) + } + onFetchAllTask.push(callback) } // 璁剧疆鏂扮殑鍊� @@ -92,11 +111,11 @@ } function getSummaryMap(callback) { - if (summaryMap.value.size === 0) { - onFetchMap.push(callback) - } else { + if (summaryMap.value.size > 0) { callback(summaryMap.value) + } + onFetchMap.push(callback) } return { @@ -105,6 +124,7 @@ // summaryMap, subtaskLoading, fetchTopTaskProgress, + onAllTaskRefreshed, setSummary, getTaskInfo, getSummaryList, -- Gitblit v1.9.3