| | |
| | | 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 }; |
| | | }); |