From 1ee70becea36655a0fd537085b2e2ea5830ef880 Mon Sep 17 00:00:00 2001
From: Riku <risaku@163.com>
Date: 星期一, 02 六月 2025 23:02:10 +0800
Subject: [PATCH] 动态溯源

---
 src/stores/mission.js |   35 ++++++++++++++++++++++++++++++++++-
 1 files changed, 34 insertions(+), 1 deletions(-)

diff --git a/src/stores/mission.js b/src/stores/mission.js
index cb79aa8..b90e8e2 100644
--- a/src/stores/mission.js
+++ b/src/stores/mission.js
@@ -1,9 +1,42 @@
 import { ref } from 'vue';
 import { defineStore } from 'pinia';
+import missionApi from '@/api/missionApi';
+import { useFetchData } from '@/composables/fetchData';
 
 // 璧拌埅浠诲姟
 export const useMissionStore = defineStore('mission', () => {
   const missionList = ref([]);
+  const { loading, fetchData } = useFetchData(1000);
 
-  return { missionList };
+  function fetchMission(type) {
+    return fetchData((page, pageSize) => {
+      return missionApi
+        .fethchMission({ type: type, page, pageSize })
+        .then((res) => {
+          missionList.value = res.data;
+          return res;
+        });
+    });
+  }
+
+  function deleteMission(missionCode) {
+    return fetchData(() => {
+      return missionApi.deleteMission(missionCode).then((res) => {
+        let index = -1;
+        for (let i = 0; i < missionList.value.length; i++) {
+          const e = missionList.value[i];
+          if (e.missionCode == missionCode) {
+            index = i;
+            break;
+          }
+        }
+        if (index != -1) {
+          missionList.value.splice(index, 1);
+        }
+        return res;
+      });
+    });
+  }
+
+  return { missionList, loading, fetchMission, deleteMission };
 });

--
Gitblit v1.9.3