2024-07-03 07:58:37 +00:00
|
|
|
import MeetingService from '../services/meetingService';
|
|
|
|
|
|
2024-06-24 03:56:21 +00:00
|
|
|
const state = {
|
2024-07-03 07:58:37 +00:00
|
|
|
meetings: [],
|
|
|
|
|
currentMeeting: null
|
|
|
|
|
};
|
2024-06-24 03:56:21 +00:00
|
|
|
|
|
|
|
|
const mutations = {
|
|
|
|
|
setMeetings(state, meetings) {
|
2024-07-03 07:58:37 +00:00
|
|
|
state.meetings = meetings;
|
|
|
|
|
},
|
|
|
|
|
setCurrentMeeting(state, meeting) {
|
|
|
|
|
state.currentMeeting = meeting;
|
2024-06-24 03:56:21 +00:00
|
|
|
}
|
2024-07-03 07:58:37 +00:00
|
|
|
};
|
2024-06-24 03:56:21 +00:00
|
|
|
|
|
|
|
|
const actions = {
|
2024-07-03 07:58:37 +00:00
|
|
|
async fetchMeetings({ commit }) {
|
|
|
|
|
try {
|
|
|
|
|
const response = await MeetingService.getAllMeetings();
|
|
|
|
|
commit('setMeetings', response.data);
|
|
|
|
|
} catch (error) {
|
|
|
|
|
console.error('Failed to fetch meetings:', error);
|
|
|
|
|
}
|
|
|
|
|
},
|
2024-07-04 08:45:59 +00:00
|
|
|
async searchMeetings({ commit }, params) {
|
|
|
|
|
try {
|
2024-07-04 12:49:48 +00:00
|
|
|
const formattedparams = {
|
|
|
|
|
name: params.name,
|
|
|
|
|
organizer: params.organizer,
|
|
|
|
|
startTime: params.startTime,
|
|
|
|
|
|
|
|
|
|
};
|
2024-07-04 14:11:39 +00:00
|
|
|
const response = await MeetingService.searchMeetings(formattedparams);
|
2024-07-04 08:45:59 +00:00
|
|
|
commit('setMeetings', response.data);
|
|
|
|
|
} catch (error) {
|
|
|
|
|
console.error('Failed to search meetings:', error);
|
|
|
|
|
}
|
|
|
|
|
},
|
2024-07-03 07:58:37 +00:00
|
|
|
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 {
|
2024-07-03 16:12:46 +00:00
|
|
|
const formattedMeeting = {
|
|
|
|
|
name: meeting.name,
|
|
|
|
|
organizer: meeting.organizer,
|
|
|
|
|
startTime: meeting.startTime,
|
|
|
|
|
endTime: meeting.endTime,
|
|
|
|
|
content: meeting.content,
|
|
|
|
|
status: 'Scheduled' // 确保状态为 'Scheduled'
|
|
|
|
|
};
|
|
|
|
|
await MeetingService.createMeeting(formattedMeeting);
|
2024-07-03 07:58:37 +00:00
|
|
|
dispatch('fetchMeetings');
|
|
|
|
|
} catch (error) {
|
|
|
|
|
console.error('Failed to create meeting:', error);
|
|
|
|
|
}
|
|
|
|
|
},
|
2024-07-03 16:12:46 +00:00
|
|
|
async editMeeting({ dispatch }, meeting) {
|
2024-07-03 07:58:37 +00:00
|
|
|
try {
|
2024-07-03 16:12:46 +00:00
|
|
|
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);
|
2024-07-03 07:58:37 +00:00
|
|
|
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);
|
|
|
|
|
}
|
2024-06-24 03:56:21 +00:00
|
|
|
}
|
2024-07-03 07:58:37 +00:00
|
|
|
};
|
2024-06-24 03:56:21 +00:00
|
|
|
|
|
|
|
|
const getters = {
|
2024-07-03 07:58:37 +00:00
|
|
|
allMeetings: state => state.meetings,
|
|
|
|
|
currentMeeting: state => state.currentMeeting
|
|
|
|
|
};
|
2024-06-24 03:56:21 +00:00
|
|
|
|
|
|
|
|
export default {
|
|
|
|
|
namespaced: true,
|
|
|
|
|
state,
|
|
|
|
|
mutations,
|
|
|
|
|
actions,
|
|
|
|
|
getters
|
2024-07-03 07:58:37 +00:00
|
|
|
};
|