From b8de520fa696d8a95393aa3ff544c5a6f5c36001 Mon Sep 17 00:00:00 2001
From: 吴羡 <16976746+Xian-TT3@user.noreply.gitee.com>
Date: 星期三, 30 九月 2026 15:33:41 +0800
Subject: [PATCH] 宁夏万通需求:出库单行支持主/辅单位录入;物料型号维护;考勤节假日配置时间段;设备批量删除;质检导出按筛选条件
---
src/views/basicData/mdm/modules/form.vue | 18 +++++++++++++++++-
1 files changed, 17 insertions(+), 1 deletions(-)
diff --git a/src/views/basicData/mdm/modules/form.vue b/src/views/basicData/mdm/modules/form.vue
index 5d82e00..7aa7c27 100644
--- a/src/views/basicData/mdm/modules/form.vue
+++ b/src/views/basicData/mdm/modules/form.vue
@@ -13,11 +13,13 @@
import { useFormSchema, clearUnitListCache, buildCategoryTree } from '../data';
import { getItemTypeSimpleList } from '#/api/mes/md/item/type';
+import ItemModelConfig from '../components/item-model-config.vue';
defineOptions({ name: "ItemForm" });
const emit = defineEmits(['success']);
const formData = ref<MdmItemApi.Item>();
+const itemModelRef = ref<InstanceType<typeof ItemModelConfig>>();
const [Form, formApi] = useVbenForm({
commonConfig: {
@@ -38,10 +40,20 @@
if (!valid) {
return;
}
+ // 鍨嬪彿鍏堟牎楠岋紝閬垮厤鐗╂枡宸蹭繚瀛樿�屽瀷鍙锋湭淇濆瓨
+ const modelError = itemModelRef.value?.validate();
+ if (modelError) {
+ message.error(modelError);
+ return;
+ }
modalApi.lock();
const data = (await formApi.getValues()) as MdmItemApi.Item;
try {
- await (formData.value?.id ? updateItem(data) : createItem(data));
+ const itemId = formData.value?.id ?? (await createItem(data));
+ if (formData.value?.id) {
+ await updateItem(data);
+ }
+ await itemModelRef.value?.save(itemId);
await modalApi.close();
emit('success');
message.success($t('ui.actionMessage.operationSuccess'));
@@ -52,6 +64,7 @@
async onOpenChange(isOpen: boolean) {
if (!isOpen) {
formData.value = undefined;
+ itemModelRef.value?.reset();
return;
}
const data = modalApi.getData<MdmItemApi.Item>();
@@ -70,6 +83,7 @@
// 鍚屾鐘舵�佹槧灏勶細璇︽儏鎺ュ彛杩斿洖 syncedMes锛岃〃鍗曞瓧娈典负 syncMes
formData.value.syncMes = formData.value.syncedMes ?? true;
await formApi.setValues(formData.value);
+ await itemModelRef.value?.load(data.id);
} finally {
modalApi.unlock();
}
@@ -77,6 +91,7 @@
// 鏂板妯″紡
formData.value = undefined;
await formApi.resetForm();
+ itemModelRef.value?.reset();
}
},
});
@@ -85,5 +100,6 @@
<template>
<Modal class="w-[1000px]" :title="formData?.id ? $t('ui.actionTitle.edit', ['鐗╂枡']) : $t('ui.actionTitle.create', ['鐗╂枡'])">
<Form class="mx-4" />
+ <ItemModelConfig ref="itemModelRef" />
</Modal>
</template>
--
Gitblit v1.9.3