import MeetingService from '../services/meetingService'; const state = { meetings: [], currentMeeting: null }; const mutations = { setMeetings(state, meetings) { state.meetings = meetings; }, setCurrentMeeting(state, meeting) { state.currentMeeting = meeting; } }; const actions = { async fetchMeetings({ commit }) { try { const response = await MeetingService.getAllMeetings(); commit('setMeetings', response.data); } catch (error) { console.error('Failed to fetch meetings:', error); } }, async searchMeetings({ commit }, params) { try { const formattedparams = { name: params.name, organizer: params.organizer, startTime: params.startTime, }; const response = await MeetingService.searchMeetings(formattedparams); commit('setMeetings', response.data); } catch (error) { console.error('Failed to search meetings:', error); } }, async fetchMeetingById({ commit }, id) { try { const response = await MeetingService.getMeetingById(id); commit('setCurrentMeeting', response.data); } catch (error) { console.error('Failed to fetch meeting:', error); } }, async createMeeting({ dispatch }, meeting) { try { const formattedMeeting = { name: meeting.name, organizer: meeting.organizer, startTime: meeting.startTime, endTime: meeting.endTime, content: meeting.content, status: 'Scheduled' // 确保状态为 'Scheduled' }; await MeetingService.createMeeting(formattedMeeting); dispatch('fetchMeetings'); } catch (error) { console.error('Failed to create meeting:', error); } }, async editMeeting({ dispatch }, meeting) { try { const formattedMeeting = { name: meeting.name, organizer: meeting.organizer, startTime: meeting.startTime, endTime: meeting.endTime, content: meeting.content, status: 'Scheduled' // 确保状态为 'Scheduled' }; await MeetingService.updateMeeting(meeting.id, formattedMeeting); dispatch('fetchMeetings'); } catch (error) { console.error('Failed to update meeting:', error); } }, async deleteMeeting({ dispatch }, id) { try { await MeetingService.deleteMeeting(id); dispatch('fetchMeetings'); } catch (error) { console.error('Failed to delete meeting:', error); } } }; const getters = { allMeetings: state => state.meetings, currentMeeting: state => state.currentMeeting }; export default { namespaced: true, state, mutations, actions, getters };