diff --git a/src/views/system/calendar/index.vue b/src/views/system/calendar/index.vue index f313ba7..6b22052 100644 --- a/src/views/system/calendar/index.vue +++ b/src/views/system/calendar/index.vue @@ -183,11 +183,18 @@ const handleSelect = async (date:any) => { await getDate(date); // 提前处理数据,只更新必要的部分 const holidayData = holidayDate.value[sDate.value]; - // 更新更新数据 - formDataCaln.value.id = holidayDate.value[sDate.value].id; - formDataCaln.value.date = holidayDate.value[sDate.value].date - formDataCaln.value.isWorkday = holidayDate.value[sDate.value].isWorkday; - formDataCaln.value.content = holidayDate.value[sDate.value].content; + if (!holidayData) { + message.error("未找到对应的假期数据"); + return; + } + // 更新数据 + formDataCaln.value = { + ...formDataCaln.value, + id: holidayData.id, + date: holidayData.date, + isWorkday: holidayData.isWorkday, + content: holidayData.content + }; //关闭或开启弹窗 holidayData.visible = !holidayData.visible; @@ -197,15 +204,20 @@ const handleSelect = async (date:any) => { const submitForm = async ()=> { const dataClan = formDataCaln.value as unknown as CalendarVO // 更新后台数据 - await CalendarApi.updateCalendar(dataClan); + try { + await CalendarApi.updateCalendar(dataClan); + } catch (error) { + message.error("更新失败"); + return; + } + const updatedHoliday = holidayDate.value[sDate.value]; // 更改展示状态 - holidayDate.value[sDate.value].isWorkday = formDataCaln.value.isWorkday - // 重新赋值触发新渲染 - holidayDate.value = { ...holidayDate.value}; - // 前端直接赋值内容避免需要刷新 - holidayDate.value[sDate.value].content = formDataCaln.value.content + updatedHoliday.isWorkday = formDataCaln.value.isWorkday + updatedHoliday.content = formDataCaln.value.content + // 重新赋值触发新渲染 本来需要重新渲染才更新不知道怎么好了留着 + // holidayDate.value = { ...holidayDate.value}; // 关闭弹窗 - holidayDate.value[sDate.value].visible = false; + updatedHoliday.visible = false; } // 获取日期时间 年月日