From 4ae4ffa3ebaa659d8a7ec7b173cdfbc1896296a3 Mon Sep 17 00:00:00 2001 From: hwj Date: Mon, 9 Mar 2026 17:40:22 +0800 Subject: [PATCH] =?UTF-8?q?style=EF=BC=9A=E8=AE=BE=E5=A4=87=E7=AE=A1?= =?UTF-8?q?=E7=90=86/=E6=A8=A1=E5=85=B7=E7=AE=A1=E7=90=86-=E7=BB=B4?= =?UTF-8?q?=E4=BF=AE=E5=8D=95-=E6=96=B0=E5=A2=9E/=E7=BC=96=E8=BE=91-?= =?UTF-8?q?=E8=87=AA=E5=8A=A8=E7=94=9F=E6=88=90=E7=BC=96=E7=A0=81=E6=8C=89?= =?UTF-8?q?=E9=92=AE=E9=80=BB=E8=BE=91=E4=BC=98=E5=8C=96=EF=BC=8C=E5=BF=85?= =?UTF-8?q?=E5=A1=AB=E6=A0=A1=E9=AA=8C=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/mes/dvrepair/DvRepairForm.vue | 48 ++++++++++++++++++- .../dvrepair/components/DvRepairLineForm.vue | 2 +- src/views/mold/moldrepair/MoldRepairForm.vue | 33 ++++++++++++- .../components/MoldRepairLineForm.vue | 6 +-- 4 files changed, 82 insertions(+), 7 deletions(-) diff --git a/src/views/mes/dvrepair/DvRepairForm.vue b/src/views/mes/dvrepair/DvRepairForm.vue index 45b214d0..863e83d0 100644 --- a/src/views/mes/dvrepair/DvRepairForm.vue +++ b/src/views/mes/dvrepair/DvRepairForm.vue @@ -340,7 +340,43 @@ watch( } ) const formRules = reactive({ - repairCode: [{ required: true, message: t('EquipmentManagement.DvRepair.validatorRepairCodeRequired'), trigger: 'blur' }], + repairCode: [ + { + validator: (_: any, value: any, callback: any) => { + if (formType.value === 'update') { + callback() + return + } + if (formData.value.isCode === true) { + callback() + return + } + if (value === undefined || value === null || String(value).trim() === '') { + callback(new Error(t('EquipmentManagement.DvRepair.validatorRepairCodeRequired'))) + return + } + callback() + }, + trigger: 'blur', + }, + ], + deviceId: [{ required: true, message: t('EquipmentManagement.DvRepair.validatorMachineryIdRequired'), trigger: 'change' }], + componentId: [ + { + validator: (_: any, value: any, callback: any) => { + if (formData.value.machineryTypeId !== 2) { + callback() + return + } + if (value === undefined || value === null || value === '') { + callback(new Error(t('EquipmentManagement.DvRepair.validatorComponentRequired'))) + return + } + callback() + }, + trigger: 'change', + }, + ], machineryId: [{ required: true, message: t('EquipmentManagement.DvRepair.validatorMachineryIdRequired'), trigger: 'blur' }], machineryCode: [{ required: true, message: t('EquipmentManagement.DvRepair.validatorMachineryCodeRequired'), trigger: 'blur' }], machineryName: [{ required: true, message: t('EquipmentManagement.DvRepair.validatorMachineryNameRequired'), trigger: 'blur' }], @@ -396,6 +432,16 @@ const formRules = reactive({ }) const formRef = ref() // 表单 Ref +watch( + () => formData.value.isCode, + (val) => { + if (val === true) { + formData.value.repairCode = undefined + } + formRef.value?.clearValidate?.(['repairCode']) + } +) + /** 子表的表单 */ const subTabsName = ref('dvRepairLine') const dvRepairLineFormRef = ref() diff --git a/src/views/mes/dvrepair/components/DvRepairLineForm.vue b/src/views/mes/dvrepair/components/DvRepairLineForm.vue index a5f7accf..17bd2762 100644 --- a/src/views/mes/dvrepair/components/DvRepairLineForm.vue +++ b/src/views/mes/dvrepair/components/DvRepairLineForm.vue @@ -146,7 +146,7 @@ const formRules = reactive({ repairId: [{ required: true, message: t('EquipmentManagement.DvRepair.validatorLineRepairIdRequired'), trigger: 'blur' }], subjectId: [{ required: true, message: t('EquipmentManagement.DvRepair.validatorLineSubjectIdRequired'), trigger: 'blur' }], subjectCode: [{ required: true, message: t('EquipmentManagement.DvRepair.validatorLineSubjectCodeRequired'), trigger: 'blur' }], - subjectContent: [{ required: true, message: t('EquipmentManagement.DvRepair.validatorLineSubjectContentRequired'), trigger: 'blur' }], + subjectContent: [], remark: [ { validator: (_: any, value: any, callback: any) => { diff --git a/src/views/mold/moldrepair/MoldRepairForm.vue b/src/views/mold/moldrepair/MoldRepairForm.vue index 8699306a..13264125 100644 --- a/src/views/mold/moldrepair/MoldRepairForm.vue +++ b/src/views/mold/moldrepair/MoldRepairForm.vue @@ -273,8 +273,27 @@ watch( } ) const formRules = reactive({ - repairCode: [{ required: true, message: t('MoldManagement.MoldRepair.validatorRepairCodeRequired'), trigger: 'blur' }], - repairName: [{ required: true, message: t('MoldManagement.MoldRepair.validatorRepairNameRequired'), trigger: 'blur' }], + repairCode: [ + { + validator: (_: any, value: any, callback: any) => { + if (formType.value === 'update') { + callback() + return + } + if (formData.value.isCode === true) { + callback() + return + } + if (value === undefined || value === null || String(value).trim() === '') { + callback(new Error(t('MoldManagement.MoldRepair.validatorRepairCodeRequired'))) + return + } + callback() + }, + trigger: 'blur', + }, + ], + repairName: [], moldId: [{ required: true, message: t('MoldManagement.MoldRepair.validatorMoldRequired'), trigger: 'change' }], requireDate: [ { @@ -330,6 +349,16 @@ const formRef = ref() const subTabsName = ref('moldRepairLine') const moldRepairLineFormRef = ref() +watch( + () => formData.value.isCode, + (val) => { + if (val === true) { + formData.value.repairCode = undefined + } + formRef.value?.clearValidate?.(['repairCode']) + } +) + const setLineRows = (rows: any[]) => { moldRepairLineFormRef.value?.setData(rows) } diff --git a/src/views/mold/moldrepair/components/MoldRepairLineForm.vue b/src/views/mold/moldrepair/components/MoldRepairLineForm.vue index fc1fb1ba..4af33d11 100644 --- a/src/views/mold/moldrepair/components/MoldRepairLineForm.vue +++ b/src/views/mold/moldrepair/components/MoldRepairLineForm.vue @@ -88,9 +88,9 @@ const formLoading = ref(false) const formData = ref([]) const formRules = reactive({ repairId: [{ required: true, message: t('MoldManagement.MoldRepairLine.validatorRepairIdRequired'), trigger: 'blur' }], - subjectId: [{ required: true, message: t('MoldManagement.MoldRepairLine.validatorSubjectIdRequired'), trigger: 'blur' }], - subjectCode: [{ required: true, message: t('MoldManagement.MoldRepairLine.validatorSubjectCodeRequired'), trigger: 'blur' }], - subjectContent: [{ required: true, message: t('MoldManagement.MoldRepairLine.validatorSubjectContentRequired'), trigger: 'blur' }], + subjectId: [], + subjectCode: [], + subjectContent: [], remark: [ { validator: (_: any, value: any, callback: any) => {