|
|
@@ -386,9 +386,10 @@ function buildPayload(): S0MfgRoutingOpDetailUpsert {
|
|
|
}
|
|
|
|
|
|
async function submitForm() {
|
|
|
- await formRef.value?.validate();
|
|
|
saving.value = true;
|
|
|
try {
|
|
|
+ const valid = await formRef.value?.validate().catch(() => false);
|
|
|
+ if (!valid) return;
|
|
|
const payload = buildPayload();
|
|
|
if (editingId.value) {
|
|
|
await s0MfgRoutingOpDetailsApi.update(editingId.value, payload);
|
|
|
@@ -399,6 +400,10 @@ async function submitForm() {
|
|
|
}
|
|
|
dialogVisible.value = false;
|
|
|
await loadList();
|
|
|
+ } catch {
|
|
|
+ // B3-UI: 失败 toast 由全局 request interceptor 负责(extractResponseMessage + ElMessage.error),
|
|
|
+ // 此处仅吞掉 rejected promise,避免 Vue "Unhandled error during execution of component event handler"
|
|
|
+ // 与浏览器 "Uncaught (in promise)" 噪音。不在页面层重复造错误解析逻辑。
|
|
|
} finally {
|
|
|
saving.value = false;
|
|
|
}
|