From 38ff09bd2a638bc43a365efe0390cc3510d62e68 Mon Sep 17 00:00:00 2001 From: riku <risaku@163.com> Date: 星期一, 09 六月 2025 17:36:37 +0800 Subject: [PATCH] 2025.6.9 功能编写中 --- src/stores/subtask.js | 42 +++++++++++++++++++++++++++++++----------- 1 files changed, 31 insertions(+), 11 deletions(-) diff --git a/src/stores/subtask.js b/src/stores/subtask.js index aaf96cb..b43b07a 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) } // 璁剧疆鏂扮殑鍊� @@ -105,6 +124,7 @@ // summaryMap, subtaskLoading, fetchTopTaskProgress, + onAllTaskRefreshed, setSummary, getTaskInfo, getSummaryList, -- Gitblit v1.9.3