From c62517daefcc52624f6eece28a2693fa8f4b9b41 Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期六, 29 八月 2026 01:44:28 +0800
Subject: [PATCH] fix(mes): 修复生产任务修改弹窗表单回填为空

---
 src/views/wls/returnvendor/data.ts |   42 +++++++++++++++++++++++++++++++++++-------
 1 files changed, 35 insertions(+), 7 deletions(-)

diff --git a/src/views/wls/returnvendor/data.ts b/src/views/wls/returnvendor/data.ts
index 6844970..7a4442d 100644
--- a/src/views/wls/returnvendor/data.ts
+++ b/src/views/wls/returnvendor/data.ts
@@ -7,13 +7,14 @@
 
 import { h, markRaw } from 'vue';
 
-import { DICT_TYPE, MesAutoCodeRuleCode } from '../../../packages/constants/src';
+import { DICT_TYPE, MesAutoCodeRuleCode } from '@vben/constants';
 
 import { Button } from 'ant-design-vue';
 
 import { generateAutoCode } from '#/api/mes/md/autocode/record';
 import { MdItemSelect } from '#/views/mes/md/item/components';
 import { MdVendorSelect } from '#/views/mes/md/vendor/components';
+import { ErpPurchaseOrderSelect } from '#/views/erp/purchase/order/components';
 import { WmBatchSelect } from '#/views/wls/batch/components';
 import { WmMaterialStockSelect } from '#/views/wls/materialstock/components';
 import {
@@ -87,11 +88,26 @@
       rules: 'required',
     },
     {
-      fieldName: 'purchaseOrderCode',
-      label: '閲囪喘璁㈠崟鍙�',
+      fieldName: 'vendorName',
+      label: '',
       component: 'Input',
+      dependencies: {
+        triggerFields: [''],
+        show: () => false,
+      },
+    },
+    {
+      fieldName: 'purchaseOrderId',
+      label: '閲囪喘璁㈠崟',
+      component: markRaw(ErpPurchaseOrderSelect),
       componentProps: {
-        placeholder: '璇疯緭鍏ラ噰璐鍗曞彿',
+        placeholder: '璇烽�夋嫨閲囪喘璁㈠崟',
+        onChange: (item: any) => {
+          if (item?.supplierId && formApi) {
+            formApi.setFieldValue('vendorId', item.supplierId);
+            formApi.setFieldValue('vendorName', item.supplierName);
+          }
+        },
       },
     },
     {
@@ -100,6 +116,15 @@
       component: markRaw(MdVendorSelect),
       componentProps: {
         placeholder: '璇烽�夋嫨渚涘簲鍟�',
+        disabled: true,
+      },
+      dependencies: {
+        triggerFields: ['vendorName'],
+        componentProps: (values) => ({
+          placeholder: '璇烽�夋嫨渚涘簲鍟�',
+          disabled: true,
+          vendorName: values.vendorName as string,
+        }),
       },
       rules: 'selectRequired',
     },
@@ -112,7 +137,7 @@
         format: 'YYYY-MM-DD HH:mm:ss',
         placeholder: '璇烽�夋嫨閫�璐ф棩鏈�',
         showTime: true,
-        valueFormat: 'x',
+        valueFormat: 'YYYY-MM-DD HH:mm:ss',
       },
       rules: 'required',
     },
@@ -414,7 +439,10 @@
 }
 
 /** 鎷h揣鏄庣粏鏂板/淇敼鐨勮〃鍗� */
-export function useDetailFormSchema(formApi?: VbenFormApi): VbenFormSchema[] {
+export function useDetailFormSchema(
+  formApi?: VbenFormApi,
+  onStockChange?: (stock?: MesWmMaterialStockApi.MaterialStock) => void,
+): VbenFormSchema[] {
   return [
     {
       fieldName: 'quantityMax',
@@ -439,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,

--
Gitblit v1.9.3