fix: 模具上下模新增弹框校验提示与交互优化

main
zhongwenkai 2 days ago
parent 26b59f9ad2
commit 52e9f0ef9e

@ -19,13 +19,12 @@
@click="openCriticalComponentDialog" />
</el-form-item>
<el-form-item :label="t('MoldManagement.MoldOperate.productionLine')" prop="lineId" v-if="formData.operateType != null">
<el-input :model-value="displayLineName" readonly />
<el-input :model-value="displayLineName" disabled />
</el-form-item>
<!-- 上模手动选择模具 -->
<el-form-item
:label="t('MoldManagement.MoldOperate.mold')"
prop="moldId"
:required="String(formData.operateType) === '1'"
v-if="formData.operateType == 1"
>
<el-input
@ -37,7 +36,7 @@
</el-form-item>
<!-- 下模自动带出该设备的在机模具 -->
<el-form-item label="在机模具" v-if="formData.operateType == 2">
<el-input :model-value="currentDeviceMoldText" readonly />
<el-input :model-value="currentDeviceMoldText" disabled />
</el-form-item>
<el-form-item :label="t('MoldManagement.MoldOperate.operateTime')" prop="operateTime">
<el-date-picker
@ -215,26 +214,13 @@ const formData = ref<MoldOperateFormData>({
remark: undefined,
})
const validateMoldId = (_rule: any, value: any, callback: (error?: Error) => void) => {
if (String(formData.value.operateType) !== '1') {
callback()
return
}
const hasValue = value !== undefined && value !== null && value !== ''
if (!hasValue) {
callback(new Error(t('MoldManagement.MoldOperate.validatorMoldRequired')))
} else {
callback()
}
}
const formRules = reactive({
const formRules = computed(() => ({
operateType: [{ required: true, message: t('MoldManagement.MoldOperate.validatorOperateTypeRequired'), trigger: 'blur' }],
deviceId: [{ required: true, message: t('MoldManagement.MoldOperate.validatorDeviceRequired'), trigger: 'change' }],
moldId: [{ validator: validateMoldId, trigger: 'change' }],
moldId: [{ required: true, message: formType.value === 'create' ? '关联模具不能为空' : t('MoldManagement.MoldOperate.validatorMoldRequired'), trigger: 'change' }],
operateTime: [{ required: true, message: t('MoldManagement.MoldOperate.validatorOperateTimeRequired'), trigger: 'blur' }],
operatorId: [{ required: true, message: t('MoldManagement.MoldOperate.validatorOperatorRequired'), trigger: 'change' }],
})
}))
const formRef = ref() // Ref
/** 打开弹窗 */
@ -409,11 +395,13 @@ watch(
return
}
formData.value.deviceId = undefined as any
formData.value.lineId = undefined as any
formData.value.moldId = undefined as any
ids.value = []
moldIds.value = []
selectedDeviceRows.value = []
selectedMoldRows.value = []
displayTopCategory.value = ''
if (!val) {
return
}
@ -599,7 +587,9 @@ const handleDeviceSelectConfirm = async (payload: { ids: (number | string)[]; ro
} else {
selectedDeviceRows.value = []
formData.value.deviceId = undefined
formData.value.lineId = undefined
ids.value = []
displayTopCategory.value = ''
}
nextTick(() => {
formRef.value?.clearValidate?.('deviceId')
@ -792,8 +782,12 @@ const openCriticalComponentDialog = async () => {
}
const openMoldSelectDialog = () => {
searchMoldParams.code=''
searchMoldParams.name=''
if (!formData.value.deviceId) {
message.warning('请先选择设备')
return
}
searchMoldParams.code = ''
searchMoldParams.name = ''
const rows = selectedMoldRows.value.map((item) => ({ ...item, id: Number(item.id) }))
moldSelectDialogRef.value?.open(rows)
}

Loading…
Cancel
Save