From 5a581157ef99b336130265ee267458cf0c40165b Mon Sep 17 00:00:00 2001
From: hsy <1029150275@qq.com>
Date: 星期三, 26 八月 2026 10:51:04 +0800
Subject: [PATCH] feat(returnvendor): 拣货明细增加库存记录的 batchId 传递

---
 src/views/wls/returnvendor/modules/detail-form.vue |   10 +++++++++-
 src/views/wls/returnvendor/data.ts                 |    7 +++++--
 2 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/src/views/wls/returnvendor/data.ts b/src/views/wls/returnvendor/data.ts
index 1903c81..7a4442d 100644
--- a/src/views/wls/returnvendor/data.ts
+++ b/src/views/wls/returnvendor/data.ts
@@ -439,7 +439,10 @@
 }
 
 /** 鎷h揣鏄庣粏鏂板/淇敼鐨勮〃鍗� */
-export function useDetailFormSchema(formApi?: VbenFormApi): VbenFormSchema[] {
+export function useDetailFormSchema(
+  formApi?: VbenFormApi,
+  onStockChange?: (stock?: MesWmMaterialStockApi.MaterialStock) => void,
+): VbenFormSchema[] {
   return [
     {
       fieldName: 'quantityMax',
@@ -464,10 +467,10 @@
       componentProps: {
         // 閫夋嫨搴撳瓨璁板綍鍚庯紝鑷姩鍥炲~浠撳簱/搴撳尯/搴撲綅/鎵规/鏁伴噺
         onChange: async (stock?: MesWmMaterialStockApi.MaterialStock) => {
+          onStockChange?.(stock);
           await formApi?.setValues({
             areaId: stock?.areaId,
             batchCode: stock?.batchCode,
-            batchId: stock?.batchId,
             locationId: stock?.locationId,
             quantity: stock?.quantity,
             quantityMax: stock?.quantity,
diff --git a/src/views/wls/returnvendor/modules/detail-form.vue b/src/views/wls/returnvendor/modules/detail-form.vue
index f4a2788..d0607c7 100644
--- a/src/views/wls/returnvendor/modules/detail-form.vue
+++ b/src/views/wls/returnvendor/modules/detail-form.vue
@@ -21,6 +21,7 @@
 const formData = ref<MesWmReturnVendorDetailApi.ReturnVendorDetail>();
 const returnId = ref<number>(); // 鎵�灞為��璐у崟缂栧彿
 const lineId = ref<number>(); // 鎵�灞為��璐у崟琛岀紪鍙�
+const batchId = ref<number>(); // 褰撳墠閫夋嫨搴撳瓨鐨勬壒娆$紪鍙�
 
 const getTitle = computed(() => {
   return formData.value?.id
@@ -54,6 +55,7 @@
       (await formApi.getValues()) as MesWmReturnVendorDetailApi.ReturnVendorDetail;
     data.returnId = returnId.value;
     data.lineId = lineId.value;
+    data.batchId = batchId.value;
     try {
       await (formData.value?.id
         ? updateReturnVendorDetail({ ...data, id: formData.value.id })
@@ -69,9 +71,14 @@
   async onOpenChange(isOpen: boolean) {
     if (!isOpen) {
       formData.value = undefined;
+      batchId.value = undefined;
       return;
     }
-    formApi.setState({ schema: useDetailFormSchema(formApi) });
+    formApi.setState({
+      schema: useDetailFormSchema(formApi, (stock) => {
+        batchId.value = stock?.batchId;
+      }),
+    });
     // 鍔犺浇鏁版嵁
     const data = modalApi.getData<{
       detailId?: number;
@@ -85,6 +92,7 @@
       modalApi.lock();
       try {
         formData.value = await getReturnVendorDetail(data.detailId);
+        batchId.value = formData.value.batchId;
         // 璁剧疆鍒� values
         await formApi.setValues(formData.value);
       } finally {

--
Gitblit v1.9.3