From 34d20fbf25427a76848bd1bf85f14c6e3d7ea1f0 Mon Sep 17 00:00:00 2001
From: quxin <592870522@qq.com>
Date: 星期五, 04 九月 2026 11:36:57 +0800
Subject: [PATCH] 修复: 生产领料后的退料应该是选择领料的记录,不是选择库存的记录(同时库存数据需要根据领料退料变动,比如库存100,领用80,然后领用80中退料30,库存应由原来的20变成50)

---
 src/views/wls/returnissue/data.ts |   36 ++++++++++++++++++++----------------
 1 files changed, 20 insertions(+), 16 deletions(-)

diff --git a/src/views/wls/returnissue/data.ts b/src/views/wls/returnissue/data.ts
index 4ca6336..691b573 100644
--- a/src/views/wls/returnissue/data.ts
+++ b/src/views/wls/returnissue/data.ts
@@ -1,6 +1,7 @@
 锘縤mport type { VbenFormApi, VbenFormSchema } from '#/adapter/form';
 import type { VxeTableGridOptions } from '#/adapter/vxe-table';
 import type { MesWmMaterialStockApi } from '#/api/mes/wm/materialstock';
+import type { MesWmProductIssueLineApi } from '#/api/mes/wm/productissue/line';
 import type { MesWmReturnIssueApi } from '#/api/mes/wm/returnissue';
 import type { MesWmReturnIssueDetailApi } from '#/api/mes/wm/returnissue/detail';
 import type { MesWmReturnIssueLineApi } from '#/api/mes/wm/returnissue/line';
@@ -20,6 +21,7 @@
 import { generateAutoCode } from '#/api/mes/md/autocode/record';
 import { MdWorkstationSelect } from '#/views/mes/md/workstation/components';
 import { ProWorkOrderSelect } from '#/views/mes/pro/workorder/components';
+import { WmProductIssueLineSelect } from '#/views/wls/productissue/components';
 import { WmMaterialStockSelect } from '#/views/wls/materialstock/components';
 import {
   WmWarehouseAreaSelect,
@@ -316,27 +318,29 @@
 }
 
 /** 閫�鏂欏崟琛屾柊澧�/淇敼鐨勮〃鍗� */
-export function useLineFormSchema(formApi?: VbenFormApi): VbenFormSchema[] {
+export function useLineFormSchema(
+  formApi?: VbenFormApi,
+  workOrderId?: number,
+): VbenFormSchema[] {
   return [
     {
-      fieldName: 'materialStockId',
-      label: '搴撳瓨璁板綍',
-      component: markRaw(WmMaterialStockSelect),
+      fieldName: 'issueLineId',
+      label: '棰嗘枡璁板綍',
+      component: markRaw(WmProductIssueLineSelect),
       componentProps: {
-        // 閫夋嫨搴撳瓨璁板綍鍚庯紝鑷姩鍥炲~鐗╂枡/鎵规/鏁伴噺
-        onChange: async (stock?: MesWmMaterialStockApi.MaterialStock) => {
+        workOrderId,
+        onChange: async (line?: MesWmProductIssueLineApi.ProductIssueLine) => {
           await formApi?.setValues({
-            batchCode: stock?.batchCode,
-            batchId: stock?.batchId,
-            itemId: stock?.itemId,
-            materialDisplayName: stock
-              ? [stock.itemName, stock.specification].filter(Boolean).join(' | ')
+            batchCode: line?.batchCode,
+            batchId: line?.batchId,
+            itemId: line?.itemId,
+            materialDisplayName: line
+              ? [line.itemName, line.specification].filter(Boolean).join(' | ')
               : undefined,
-            quantity: stock?.quantity,
-            quantityMax: stock?.quantity,
+            quantity: line?.quantity,
+            quantityMax: line?.quantity,
           });
         },
-        virtualFilter: 'only',
       },
       rules: 'selectRequired',
     },
@@ -390,7 +394,7 @@
       component: 'Input',
       componentProps: {
         disabled: true,
-        placeholder: '閫夋嫨搴撳瓨鍚庤嚜鍔ㄥ甫鍑�',
+        placeholder: '閫夋嫨棰嗘枡璁板綍鍚庤嚜鍔ㄥ甫鍑�',
       },
     },
     {
@@ -399,7 +403,7 @@
       component: 'Input',
       componentProps: {
         disabled: true,
-        placeholder: '閫夋嫨搴撳瓨鍚庤嚜鍔ㄥ甫鍑�',
+        placeholder: '閫夋嫨棰嗘枡璁板綍鍚庤嚜鍔ㄥ甫鍑�',
       },
     },
     {

--
Gitblit v1.9.3