From d3a143288b354bd453668195e38c82284e00d6fd Mon Sep 17 00:00:00 2001 From: DXC Date: Thu, 9 Apr 2026 09:28:54 +0800 Subject: [PATCH] fix(repair): enforce mandatory frontend form validations with proper prop bindings --- .../src/views/stock/inbound/repair.vue | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/inventory-web/src/views/stock/inbound/repair.vue b/inventory-web/src/views/stock/inbound/repair.vue index 2c5b48b..21ab4eb 100644 --- a/inventory-web/src/views/stock/inbound/repair.vue +++ b/inventory-web/src/views/stock/inbound/repair.vue @@ -228,7 +228,7 @@ import { ref, reactive, onMounted, computed } from 'vue' import dayjs from 'dayjs' import { Plus, Search, Refresh, Printer, Camera, Edit } from '@element-plus/icons-vue' -import { ElMessage, ElMessageBox, ElFormRules } from 'element-plus' +import { ElMessage, ElMessageBox } from 'element-plus' import { useUserStore } from '@/stores/user' import { getRepairList, createRepair, updateRepair, updateRepairStatus, deleteRepair } from '@/api/inbound/repair' import { getLabelPreview, executePrint } from '@/api/common/print' @@ -275,11 +275,11 @@ const form = reactive({ }) // 表单校验规则 -const formRules: ElFormRules = [ - { required: true, message: '请输入物料名称', trigger: 'blur', field: 'material_name' }, - { required: true, message: '请输入序列号', trigger: 'blur', field: 'serial_number' }, - { required: true, message: '请输入客户名称', trigger: 'blur', field: 'customer_name' } -] +const formRules = reactive({ + material_name: [{ required: true, message: '请输入物料名称', trigger: 'blur' }], + serial_number: [{ required: true, message: '请输入序列号', trigger: 'blur' }], + customer_name: [{ required: true, message: '请输入客户名称', trigger: 'blur' }] +}) // 状态更新弹窗 const statusDialogVisible = ref(false) @@ -405,8 +405,12 @@ const handleEdit = (row: any) => { // 提交新增/编辑 const handleSubmit = async () => { if (!formRef.value) return - await formRef.value.validate() - + try { + await formRef.value.validate() + } catch (error) { + return // 校验不通过,直接阻断提交 + } + submitLoading.value = true try { if (form.id) {