From e4994fccfb49ebfb108ba62cbd82aea4e004f6d8 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期四, 15 十月 2026 10:02:46 +0800
Subject: [PATCH] fix(mes/qc): 不合格品处理单的不合格物料改查 MDM 物料

---
 src/views/wls/itemreceipt/modules/line-form.vue |   36 ++++++++++++++++++++++++++++--------
 1 files changed, 28 insertions(+), 8 deletions(-)

diff --git a/src/views/wls/itemreceipt/modules/line-form.vue b/src/views/wls/itemreceipt/modules/line-form.vue
index a34a436..47ee948 100644
--- a/src/views/wls/itemreceipt/modules/line-form.vue
+++ b/src/views/wls/itemreceipt/modules/line-form.vue
@@ -3,7 +3,7 @@
 
 import { computed, ref } from 'vue';
 
-import { useVbenModal } from '../../../../packages/effects/common-ui/src';
+import { useVbenModal } from '@vben/common-ui';
 
 import { message } from 'ant-design-vue';
 
@@ -15,7 +15,11 @@
 } from '#/api/mes/wm/itemreceipt/line';
 import { $t } from '#/locales';
 
-import { useLineFormSchema } from '../data';
+import {
+  getEnterUnitRate,
+  omitLineTempFields,
+  useLineFormSchema,
+} from '../data';
 
 const emit = defineEmits(['success']);
 const formData = ref<MesWmItemReceiptLineApi.ItemReceiptLine>();
@@ -49,9 +53,8 @@
       return;
     }
     modalApi.lock();
-    // 鎻愪氦琛ㄥ崟
-    const data =
-      (await formApi.getValues()) as MesWmItemReceiptLineApi.ItemReceiptLine;
+    // 鎻愪氦琛ㄥ崟锛堝墧闄や粎鐢ㄤ簬鍓嶇鎹㈢畻/灞曠ず鐨勪复鏃跺瓧娈碉級
+    const data = omitLineTempFields(await formApi.getValues());
     data.receiptId = receiptId.value;
     try {
       await (formData.value?.id
@@ -87,9 +90,26 @@
     }
     modalApi.lock();
     try {
-      formData.value = await getItemReceiptLine(data.id);
-      // 璁剧疆鍒� values
-      await formApi.setValues({ ...formData.value, noticeId: noticeId.value });
+      const line = await getItemReceiptLine(data.id);
+      formData.value = line;
+      // 璁剧疆鍒� values锛涜鎯呴噷鐨� unitMeasureId/unitMeasureName 鍗崇墿鏂欎富鍗曚綅锛岃ˉ鍒板墠绔崲绠楃敤鐨勯殣钘忓瓧娈典笂
+      await formApi.setValues({
+        ...line,
+        noticeId: noticeId.value,
+        itemPrimaryUnitId: line.unitMeasureId,
+        itemPrimaryUnitName: line.unitMeasureName,
+      });
+      // 鍥炴樉褰曞叆鍗曚綅鏃惰ˉ榻愭崲绠楁瘮鐜囷紙鍓嶇棰勮鎹㈢畻闇�瑕侊級
+      if (line.enterUnitMeasureId) {
+        await formApi.setFieldValue(
+          'enterUnitRate',
+          await getEnterUnitRate(
+            line.itemId,
+            line.itemModelId,
+            line.enterUnitMeasureId,
+          ),
+        );
+      }
     } finally {
       modalApi.unlock();
     }

--
Gitblit v1.9.3