diff --git a/store/team.js b/store/team.js new file mode 100644 index 0000000..c1d1a82 --- /dev/null +++ b/store/team.js @@ -0,0 +1,31 @@ +import { ref } from "vue"; +import { defineStore, storeToRefs } from "pinia"; +import api from '@/utils/api'; +import { toast } from '@/utils/widget'; +import useAccountStore from "./account"; + + +export default defineStore("teamStore", () => { + const { account, doctorInfo } = storeToRefs(useAccountStore()); + const teams = ref([]); + + async function getTeam(teamId) { + if (!teamId || !account.value?.corpId) return; + const res = await api('getTeamData', { teamId, corpId: account.value.corpId }); + if (res && res.data) { + return res.data; + } else { + toast(res?.message || '获取团队信息失败') + } + } + + async function getTeams() { + const corpId = account.value?.corpId; + const mateId = doctorInfo.value?.corpId; + if (!corpId || !mateId) return; + const res = await api('getJoinedTeams', { corpId, mateId }); + teams.value = res && Array.isArray(res.data) ? res.data : []; + } + + return { teams, getTeam, getTeams } +}) \ No newline at end of file