From 9c8d2858d15d87ea0b47e7521061e2b6c3039a43 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期五, 09 十月 2026 14:50:49 +0800
Subject: [PATCH] feat: 仓储/售后物料改用 MDM 选择器;首页隐藏生产模块并恢复质量/设备卡片;产品入库行去除库存记录
---
src/views/basicData/mdm/modules/form.vue | 20 +++++++++++++++++++-
1 files changed, 19 insertions(+), 1 deletions(-)
diff --git a/src/views/basicData/mdm/modules/form.vue b/src/views/basicData/mdm/modules/form.vue
index c1f5eb7..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>();
@@ -67,7 +80,10 @@
modalApi.lock();
try {
formData.value = await getItem(data.id);
+ // 鍚屾鐘舵�佹槧灏勶細璇︽儏鎺ュ彛杩斿洖 syncedMes锛岃〃鍗曞瓧娈典负 syncMes
+ formData.value.syncMes = formData.value.syncedMes ?? true;
await formApi.setValues(formData.value);
+ await itemModelRef.value?.load(data.id);
} finally {
modalApi.unlock();
}
@@ -75,6 +91,7 @@
// 鏂板妯″紡
formData.value = undefined;
await formApi.resetForm();
+ itemModelRef.value?.reset();
}
},
});
@@ -83,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