Преглед изворни кода

fix(s0): 生产线/标准工序去掉隐藏字段 domain 的前台必填,消除静默失败

这两个页面的「工厂域编码」控件已 v-if="false" 隐藏,但 rules 里仍挂着
required。隐藏控件的校验失败无处标红,而 submitForm 的
await formRef.value?.validate() 写在 try 块之外,rejection 无人接管被吞,
最终表现为「点保存毫无反应」——无弹窗、无红字,用户完全无从判断。

未铺 S0-C001/S0-F001 种子组织的租户(如 UATTEST_CHL)取不到工厂、
domain 补不上默认值,必然命中该路径。

去掉这两处 required 后,请求会真正发出,由后端返回可见的错误提示。

边界(不在本次范围):后端 AdoS0LineMasterUpsertDto /
AdoS0StdOpMasterUpsertDto 的 Domain 仍是 [Required] 非空 string,
域编码为空依旧会被拒。本次只把静默失败变成可见报错,未解除该必填约束;
且该租户 LineMaster/StdOpMaster 用 8010、CustMaster 用 2410,
域编码不统一,前端无可靠来源可自动推断,故不做自动填充。

chore: bump version Web 2.4.319
YY968XX пре 14 часа
родитељ
комит
c681d01ae4

+ 1 - 1
Web/package.json

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

+ 5 - 1
Web/src/views/aidop/s0/manufacturing/ProductionLineList.vue

@@ -274,7 +274,11 @@ watch(
 
 // 公司/工厂已降级为系统后台归属字段(新增自动补默认、编辑保留原值),不再作为用户前台必填项。
 const rules: FormRules = {
-	domain: [{ required: true, message: '请填写工厂域编码', trigger: 'blur' }],
+	// 工厂域编码控件已 v-if="false" 隐藏,此处不再挂 required:
+	// 隐藏控件上的校验失败无处标红,而 submitForm 的 validate() 在 try 外、异常被吞,
+	// 表现为「点保存毫无反应」,用户完全无从判断。
+	// 注意:后端 AdoS0LineMasterUpsertDto.Domain 仍是 [Required],域编码为空时依旧会被拒;
+	// 去掉前台规则只是把静默失败变成可见的后端报错,未解除该必填约束。
 	line: [{ required: true, message: '请填写生产线编码', trigger: 'blur' }],
 };
 

+ 5 - 1
Web/src/views/aidop/s0/manufacturing/StandardProcessList.vue

@@ -153,7 +153,11 @@ watch(
 
 // 公司/工厂已降级为系统后台归属字段(新增自动补默认、编辑保留原值),不再作为用户前台必填项。
 const rules: FormRules = {
-	domain: [{ required: true, message: '请填写工厂域编码', trigger: 'blur' }],
+	// 工厂域编码控件已 v-if="false" 隐藏,此处不再挂 required:
+	// 隐藏控件上的校验失败无处标红,而 submitForm 的 validate() 在 try 外、异常被吞,
+	// 表现为「点保存毫无反应」,用户完全无从判断。
+	// 注意:后端 AdoS0StdOpMasterUpsertDto.Domain 仍是 [Required],域编码为空时依旧会被拒;
+	// 去掉前台规则只是把静默失败变成可见的后端报错,未解除该必填约束。
 	stdOp: [{ required: true, message: '请填写标准工序名称', trigger: 'blur' }],
 	stdOpCode: [{ required: true, message: '请填写标准工序编码', trigger: 'blur' }],
 };