riku
2025-06-09 38ff09bd2a638bc43a365efe0390cc3510d62e68
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,