From 23531c6c5b25a810f6c8bd10c9de7ae49cd9cdd0 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Mon, 16 Feb 2026 21:01:41 +0800 Subject: [PATCH] =?UTF-8?q?refactor(mes):=20=E4=BC=98=E5=8C=96=E5=81=87?= =?UTF-8?q?=E6=9C=9F=E8=AE=BE=E7=BD=AE=E4=BA=A4=E4=BA=92=EF=BC=8C=E7=B2=BE?= =?UTF-8?q?=E7=AE=80=E6=8E=A5=E5=8F=A3=E5=AF=B9=E9=BD=90=E5=90=8E=E7=AB=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. 右键改左键点击弹出设置弹窗,阻止非当前月切换 2. 弹窗打开时调 get-by-day 接口回显已有 type 和 remark 3. 新增备注(remark)输入框,时间戳传参用 formatDate 转换 4. HolidayType 枚举抽取到 mes/utils/constants.ts 统一管理 5. 精简 API:移除 page/export/update/delete,create 改为 save --- src/api/mes/cal/holiday/index.ts | 27 +++++------------------ src/views/mes/cal/holiday/HolidayForm.vue | 7 +++++- src/views/mes/cal/holiday/index.vue | 6 ++--- 3 files changed, 15 insertions(+), 25 deletions(-) diff --git a/src/api/mes/cal/holiday/index.ts b/src/api/mes/cal/holiday/index.ts index e74a2b70a..876f8da28 100644 --- a/src/api/mes/cal/holiday/index.ts +++ b/src/api/mes/cal/holiday/index.ts @@ -20,28 +20,13 @@ export const CalHolidayApi = { return await request.get({ url: `/mes/cal/holiday/list` }) }, - // 查询假期设置详情 - getHoliday: async (id: number) => { - return await request.get({ url: `/mes/cal/holiday/get?id=` + id }) + // 根据日期查询假期设置 + getHolidayByDay: async (day: string) => { + return await request.get({ url: `/mes/cal/holiday/get-by-day`, params: { day } }) }, - // 新增假期设置(含 upsert 逻辑) - createHoliday: async (data: CalHolidayVO) => { - return await request.post({ url: `/mes/cal/holiday/create`, data }) - }, - - // 修改假期设置 - updateHoliday: async (data: CalHolidayVO) => { - return await request.put({ url: `/mes/cal/holiday/update`, data }) - }, - - // 删除假期设置 - deleteHoliday: async (id: number) => { - return await request.delete({ url: `/mes/cal/holiday/delete?id=` + id }) - }, - - // 导出假期设置 Excel - exportHoliday: async (params: any) => { - return await request.download({ url: `/mes/cal/holiday/export-excel`, params }) + // 保存假期设置(含 upsert 逻辑) + saveHoliday: async (data: CalHolidayVO) => { + return await request.post({ url: `/mes/cal/holiday/save`, data }) } } diff --git a/src/views/mes/cal/holiday/HolidayForm.vue b/src/views/mes/cal/holiday/HolidayForm.vue index 2f537e830..7edfeea9c 100644 --- a/src/views/mes/cal/holiday/HolidayForm.vue +++ b/src/views/mes/cal/holiday/HolidayForm.vue @@ -78,12 +78,17 @@ defineExpose({ open }) /** 提交表单 */ const emit = defineEmits(['success']) const submitForm = async () => { - await formRef.value.validate() + // 校验表单 + if (!formRef) return + const valid = await formRef.value.validate() + if (!valid) return + // 提交请求 formLoading.value = true try { await CalHolidayApi.saveHoliday(formData.value as any) message.success('设置成功') dialogVisible.value = false + // 发送操作成功的事件 emit('success') } finally { formLoading.value = false diff --git a/src/views/mes/cal/holiday/index.vue b/src/views/mes/cal/holiday/index.vue index 51307bf4b..b2f69d21c 100644 --- a/src/views/mes/cal/holiday/index.vue +++ b/src/views/mes/cal/holiday/index.vue @@ -3,9 +3,9 @@