From 2f86852483056ef2a07dac22dda389fdcbf9b8bc Mon Sep 17 00:00:00 2001 From: YunaiV Date: Tue, 17 Feb 2026 16:05:24 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat(mes/cal-plan):=20=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E6=8E=92=E7=8F=AD=E8=AE=A1=E5=88=92=E4=B8=93=E7=94=A8?= =?UTF-8?q?=20confirm=20=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 后端新增 PUT /mes/cal/plan/confirm 接口,仅接收 id 参数 - Service 层新增 confirmPlan(Long id) 方法,含草稿状态校验和班组数量校验 - updatePlan 中强制忽略 status 字段,禁止通过 update 修改状态 - 前端 API 新增 confirmPlan(id: number) 方法 - CalPlanForm handleConfirm 改为调用专用 confirmPlan 接口 --- src/api/mes/cal/plan/index.ts | 5 +++++ src/views/mes/cal/plan/CalPlanForm.vue | 3 +-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/api/mes/cal/plan/index.ts b/src/api/mes/cal/plan/index.ts index fc942b001..074cddf0d 100644 --- a/src/api/mes/cal/plan/index.ts +++ b/src/api/mes/cal/plan/index.ts @@ -41,6 +41,11 @@ export const CalPlanApi = { return await request.put({ url: `/mes/cal/plan/update`, data }) }, + // 确认排班计划 + confirmPlan: async (id: number) => { + return await request.put({ url: `/mes/cal/plan/confirm?id=` + id }) + }, + // 删除排班计划 deletePlan: async (id: number) => { return await request.delete({ url: `/mes/cal/plan/delete?id=` + id }) diff --git a/src/views/mes/cal/plan/CalPlanForm.vue b/src/views/mes/cal/plan/CalPlanForm.vue index 4fbaf3acd..479ebb686 100644 --- a/src/views/mes/cal/plan/CalPlanForm.vue +++ b/src/views/mes/cal/plan/CalPlanForm.vue @@ -223,8 +223,7 @@ const handleConfirm = async () => { try { await message.confirm('确认该排班计划?确认后将不可修改或删除。') formLoading.value = true - const data = { ...formData.value, status: MesCalPlanStatusEnum.CONFIRMED } as unknown as CalPlanVO - await CalPlanApi.updatePlan(data) + await CalPlanApi.confirmPlan(formData.value.id!) message.success('确认成功') dialogVisible.value = false emit('success')