From da1dfa410bc21dd312fd2faa5ccc7dac0f8af943 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Sat, 4 Apr 2026 00:54:39 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat(mes):=20=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E7=BB=B4=E4=BF=AE=E5=B7=A5=E5=8D=95=E7=A1=AE=E8=AE=A4=E5=AE=8C?= =?UTF-8?q?=E6=88=90=E8=AF=B7=E6=B1=82=E5=8F=8A=E7=9B=B8=E5=85=B3=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 新增 MesDvRepairConfirmReqVO 类以处理维修工单确认完成请求,更新相关服务和控制器逻辑以支持新的请求格式。确保维修工单名称和完成日期为必填项,增强了数据验证和状态管理。 --- src/api/mes/dv/repair/index.ts | 4 +- src/views/mes/dv/repair/RepairForm.vue | 59 ++++++++++++++------------ 2 files changed, 33 insertions(+), 30 deletions(-) diff --git a/src/api/mes/dv/repair/index.ts b/src/api/mes/dv/repair/index.ts index 53130f6a4..fd291b683 100644 --- a/src/api/mes/dv/repair/index.ts +++ b/src/api/mes/dv/repair/index.ts @@ -63,8 +63,8 @@ export const DvRepairApi = { }, // 确认维修完成(维修中→待验收) - confirmRepair: async (id: number) => { - return await request.put({ url: `/mes/dv/repair/confirm?id=` + id }) + confirmRepair: async (data: any) => { + return await request.put({ url: `/mes/dv/repair/confirm`, data }) }, // 完成验收(待验收→已确认) diff --git a/src/views/mes/dv/repair/RepairForm.vue b/src/views/mes/dv/repair/RepairForm.vue index 2ee063e12..166dfaa33 100644 --- a/src/views/mes/dv/repair/RepairForm.vue +++ b/src/views/mes/dv/repair/RepairForm.vue @@ -1,11 +1,11 @@ @@ -186,23 +189,20 @@ const formType = ref('create') // 表单类型:create / update / confi const isEditable = computed(() => ['create', 'update'].includes(formType.value)) // 是否为编辑模式 const isDetail = computed(() => !isEditable.value) // 是否为详情模式(confirm/finish/detail 均只读) const isHeaderReadonly = computed(() => !isEditable.value) // 是否只读 - -// DONE @AI;注释在字段后面,对齐上面的标准 -const showFinishFields = computed(() => { // 维修中(1)及之后显示 +const showFinishFields = computed(() => { const status = formData.value.status if (status == null) { return false } return status >= MesDvRepairStatusEnum.CONFIRMED -}) -const showConfirmFields = computed(() => { // 待验收(2)及之后显示 +}) // 维修中(1)及之后显示 +const showConfirmFields = computed(() => { const status = formData.value.status if (status == null) { return false } return status >= MesDvRepairStatusEnum.APPROVING -}) - +}) // 待验收(2)及之后显示 const dialogTitle = computed(() => { const titles: Record = { create: '新增维修工单', @@ -229,6 +229,7 @@ const formData = ref({ }) const formRules = reactive({ code: [{ required: true, message: '维修单编码不能为空', trigger: 'blur' }], + name: [{ required: true, message: '维修单名称不能为空', trigger: 'blur' }], machineryId: [{ required: true, message: '设备不能为空', trigger: 'blur' }], requireDate: [{ required: true, message: '报修日期不能为空', trigger: 'blur' }] }) @@ -236,9 +237,7 @@ const formRef = ref() // 表单 Ref /** 生成维修单编码 */ const generateCode = async () => { - formData.value.code = await AutoCodeRecordApi.generateAutoCode( - MesAutoCodeRuleCode.DV_REPAIR_CODE - ) + formData.value.code = await AutoCodeRecordApi.generateAutoCode(MesAutoCodeRuleCode.DV_REPAIR_CODE) } /** 打开弹窗 */ @@ -257,7 +256,6 @@ const open = async (type: string, id?: number) => { } } -// DONE @AI:对齐,是不是应该直接 close 的? /** 提交表单(create/update 模式) */ const submitForm = async () => { await formRef.value.validate() @@ -281,6 +279,7 @@ const submitForm = async () => { /** 提交维修工单(草稿→维修中) */ const handleSubmit = async () => { try { + // TODO @AI: /Users/yunai/Java/yudao-all-in-one/yudao-ui-admin-vue3/src/views/mes/dv/maintenrecord/MaintenRecordForm.vue 参考类似的; await message.confirm('确认提交该维修工单?提交后将进入维修中状态') formLoading.value = true await DvRepairApi.submitRepair(formData.value.id!) @@ -295,10 +294,14 @@ const handleSubmit = async () => { /** 确认维修完成(维修中→待验收) */ const handleConfirm = async () => { + await formRef.value.validate() try { await message.confirm('确认完成维修?完成后将进入待验收状态') formLoading.value = true - await DvRepairApi.confirmRepair(formData.value.id!) + await DvRepairApi.confirmRepair({ + id: formData.value.id!, + finishDate: formData.value.finishDate + }) message.success('操作成功') dialogVisible.value = false emit('success')