From d0a900560cca0647cd1571ff9289ae31b262895c Mon Sep 17 00:00:00 2001 From: hwj Date: Fri, 10 Apr 2026 18:10:09 +0800 Subject: [PATCH] =?UTF-8?q?style=EF=BC=9A=E8=AE=BE=E5=A4=87=E5=8F=B0?= =?UTF-8?q?=E8=B4=A6-=E6=98=AF=E5=90=A6=E6=8E=92=E4=BA=A7=E5=8B=BE?= =?UTF-8?q?=E9=80=89=E5=90=8E=E5=B1=95=E7=A4=BA=E9=A2=9D=E5=AE=9A=E4=BA=A7?= =?UTF-8?q?=E8=83=BD=E3=80=81=E6=AF=8F=E6=97=A5=E6=8A=A5=E5=B7=A5=E5=B9=B3?= =?UTF-8?q?=E5=9D=87=E5=80=BC=E3=80=81=E6=95=B0=E6=8D=AE=E9=87=87=E9=9B=86?= =?UTF-8?q?=E4=BA=A7=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mes/deviceledger/DeviceLedgerForm.vue | 39 ++++++++++++++++--- 1 file changed, 33 insertions(+), 6 deletions(-) diff --git a/src/views/mes/deviceledger/DeviceLedgerForm.vue b/src/views/mes/deviceledger/DeviceLedgerForm.vue index b9389836..c18c6c4e 100644 --- a/src/views/mes/deviceledger/DeviceLedgerForm.vue +++ b/src/views/mes/deviceledger/DeviceLedgerForm.vue @@ -53,20 +53,24 @@ :placeholder="t('EquipmentManagement.EquipmentLedger.placeholderDeviceSpec')" /> - - + + - - + + - - + + @@ -514,6 +518,7 @@ const initFormData = () => ({ const formData = ref({ ...initFormData() }) +const isScheduledEnabled = computed(() => Number(formData.value.isScheduled) === 1) const validateDeviceCode = (_rule, value, callback) => { if (Boolean(formData.value.isCode)) { callback() @@ -525,15 +530,37 @@ const validateDeviceCode = (_rule, value, callback) => { } callback() } +const validateScheduledRequired = (label: string) => (_rule, value, callback) => { + if (!isScheduledEnabled.value) { + callback() + return + } + const normalized = normalizeNumberish(value) + if (normalized === undefined) { + callback(new Error(`请输入${label}`)) + return + } + callback() +} const formRules = reactive({ deviceCode: [{ validator: validateDeviceCode, trigger: ['blur', 'change'] }], deviceName: [{ required: true, message: t('EquipmentManagement.EquipmentLedger.placeholderDeviceName'), trigger: 'blur' }], deviceType: [{ required: true, message: t('EquipmentManagement.EquipmentLedger.placeholderDeviceType'), trigger: 'change' }], + ratedCapacity: [{ validator: validateScheduledRequired('额定产能'), trigger: ['blur', 'change'] }], + dailyAverageValue: [{ validator: validateScheduledRequired('每日报工平均值'), trigger: ['blur', 'change'] }], + dataCollectionCapacity: [{ validator: validateScheduledRequired('数据采集产能'), trigger: ['blur', 'change'] }], productionDate: [{ required: true, message: t('EquipmentManagement.EquipmentLedger.placeholderProductionDate'), trigger: 'change' }], factoryEntryDate: [{ required: true, message: t('EquipmentManagement.EquipmentLedger.placeholderFactoryEntryDate'), trigger: 'change' }] }) const formRef = ref() // 表单 Ref +watch( + () => formData.value.isScheduled, + () => { + formRef.value?.clearValidate?.(['ratedCapacity', 'dailyAverageValue', 'dataCollectionCapacity']) + } +) + const treeSelectProps = { label: 'name', children: 'children' } const deviceTypeTree = ref([]) const users = ref([])