Parcourir la source

fix(s0): 条码规则/物料状态任务指派新增编辑补必填校验

两表单原无前端必填校验(rules 空 + 后端列全可空,空记录可落库),补 required 规则并绑 prop:
- 条码规则:客户/供应商编码 + 条码类型
- 物料状态任务指派:任务类型 + 物料编码
开发系统 chrome MCP 实测空保存被拦『请填写X』、弹窗保持开、零落库。

bump Web 2.4.190
YY968XX il y a 1 mois
Parent
commit
e88a79cdeb

+ 1 - 1
Web/package.json

@@ -1,7 +1,7 @@
 {
 	"name": "admin.net",
 	"type": "module",
-	"version": "2.4.189",
+	"version": "2.4.190",
 	"packageManager": "pnpm@10.32.1",
 	"lastBuildTime": "2026.03.15",
 	"description": "Admin.NET 站在巨人肩膀上的 .NET 通用权限开发框架",

+ 6 - 3
Web/src/views/aidop/s0/warehouse/BarcodeRuleList.vue

@@ -40,8 +40,8 @@
 		<el-dialog v-model="dialogVisible" :title="dialogTitle" width="720px" destroy-on-close @closed="resetForm">
 			<el-form ref="formRef" :model="form" :rules="rules" label-width="110px">
 				<el-row :gutter="16">
-					<el-col :span="12"><el-form-item label="客户编码"><el-input v-model="form.customer" /></el-form-item></el-col>
-					<el-col :span="12"><el-form-item label="条码类型"><el-input v-model="form.type" /></el-form-item></el-col>
+					<el-col :span="12"><el-form-item label="客户编码" prop="customer"><el-input v-model="form.customer" /></el-form-item></el-col>
+					<el-col :span="12"><el-form-item label="条码类型" prop="type"><el-input v-model="form.type" /></el-form-item></el-col>
 					<el-col :span="12"><el-form-item label="流水规则"><el-input v-model="form.waterRules" /></el-form-item></el-col>
 					<el-col :span="12"><el-form-item label="流水长度"><el-input-number v-model="form.waterLen" :min="0" style="width:100%" /></el-form-item></el-col>
 					<el-col :span="12"><el-form-item label="分隔符"><el-input v-model="form.separator" /></el-form-item></el-col>
@@ -88,7 +88,10 @@ function emptyForm() {
 	return { companyRefId: undefined, factoryRefId: undefined, domainCode: '', customer: '', type: '', waterRules: '', waterLen: null as number | null, separator: '', firmLength: null as number | null, firmString1: '', firmStringLen1: null, firmString1Note: '', firmString2: '', firmStringLen2: null, firmString2Note: '', firmString3: '', firmStringLen3: null, firmString3Note: '', firmString4: '', firmStringLen4: null, firmString4Note: '', firmString5: '', firmStringLen5: null, firmString5Note: '', firmString6: '', firmStringLen6: null, firmString6Note: '', firmString7: '', firmStringLen7: null, firmString7Note: '', firmString8: '', firmStringLen8: null, firmString8Note: '', firmString9: '', firmStringLen9: null, firmString9Note: '', firmString10: '', firmStringLen10: null, firmString10Note: '', firmString11: '', firmStringLen11: null, firmString11Note: '', firmString12: '', firmStringLen12: null, firmString12Note: '' };
 }
 const form = reactive(emptyForm());
-const rules: FormRules = {};
+const rules: FormRules = {
+	customer: [{ required: true, message: '请填写客户/供应商编码', trigger: 'blur' }],
+	type: [{ required: true, message: '请填写条码类型', trigger: 'blur' }],
+};
 
 async function loadList() {
 	loading.value = true;

+ 6 - 3
Web/src/views/aidop/s0/warehouse/TaskAssignmentList.vue

@@ -52,8 +52,8 @@
 				<el-row :gutter="16">
 					<el-col :span="12"><el-form-item label="提出日期"><el-date-picker v-model="form.tcrq" type="datetime" value-format="YYYY-MM-DDTHH:mm:ss" style="width:100%" /></el-form-item></el-col>
 					<el-col :span="12"><el-form-item label="申请人"><el-input v-model="form.sqr" /></el-form-item></el-col>
-					<el-col :span="12"><el-form-item label="任务类型"><el-input v-model="form.rwlx" /></el-form-item></el-col>
-					<el-col :span="12"><el-form-item label="物料编码"><el-input v-model="form.wlbm" /></el-form-item></el-col>
+					<el-col :span="12"><el-form-item label="任务类型" prop="rwlx"><el-input v-model="form.rwlx" /></el-form-item></el-col>
+					<el-col :span="12"><el-form-item label="物料编码" prop="wlbm"><el-input v-model="form.wlbm" /></el-form-item></el-col>
 					<el-col :span="12"><el-form-item label="数量"><el-input-number v-model="form.sl" :precision="4" style="width:100%" /></el-form-item></el-col>
 					<el-col :span="12"><el-form-item label="批次"><el-input v-model="form.rqpc" /></el-form-item></el-col>
 					<el-col :span="12"><el-form-item label="原始库位"><el-input v-model="form.yskw" /></el-form-item></el-col>
@@ -93,7 +93,10 @@ const saving = ref(false);
 const formRef = ref<FormInstance>();
 const emptyF = (): S0TaskAssignmentUpsert => ({ companyRefId: undefined, factoryRefId: undefined, domainCode: '', tcrq: null, sqr: '', rwlx: '', wlbm: '', sl: null, rqpc: '', yskw: '', mdkw: '', xqsj: null, clr: '', bz: '', zt: '' });
 const form = reactive<S0TaskAssignmentUpsert>(emptyF());
-const rules: FormRules = {};
+const rules: FormRules = {
+	rwlx: [{ required: true, message: '请填写任务类型', trigger: 'blur' }],
+	wlbm: [{ required: true, message: '请填写物料编码', trigger: 'blur' }],
+};
 
 async function loadList() {
 	loading.value = true;