From 6ebcfebf58fe23ea401de1050b15ba85e41763a9 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期六, 17 十月 2026 18:36:52 +0800
Subject: [PATCH] feat(wls): 仓储物流单据跨模块关联字段改为手工填写

---
 src/views/wls/outsourceissue/data.ts       |   37 +---
 src/views/wls/productreceipt/data.ts       |   17 -
 src/views/wls/outsourcereceipt/data.ts     |   37 +---
 src/views/wls/returnissue/data.ts          |   34 +--
 src/views/wls/salesnotice/data.ts          |   32 +--
 src/views/wls/returnsales/modules/form.vue |   31 ---
 src/views/wls/packages/data.ts             |   59 +-----
 src/views/wls/returnvendor/data.ts         |   49 +----
 src/views/wls/productsales/data.ts         |   77 ++-------
 src/views/wls/arrivalnotice/data.ts        |   42 +----
 src/views/wls/returnsales/data.ts          |   41 +---
 11 files changed, 121 insertions(+), 335 deletions(-)

diff --git a/src/views/wls/arrivalnotice/data.ts b/src/views/wls/arrivalnotice/data.ts
index 995e60f..3095b3f 100644
--- a/src/views/wls/arrivalnotice/data.ts
+++ b/src/views/wls/arrivalnotice/data.ts
@@ -13,8 +13,6 @@
 import { generateAutoCode } from '#/api/mes/md/autocode/record';
 import { getRangePickerDefaultProps } from '#/utils';
 import { MdmItemSelect } from '#/views/basicData/mdm/components';
-import { ErpPurchaseOrderSelect } from '#/views/erp/purchase/order/components';
-import { MdVendorSelect } from '#/views/mes/md/vendor/components';
 
 /** 琛ㄥ崟绫诲瀷 */
 export type FormType = 'create' | 'detail' | 'update';
@@ -77,45 +75,21 @@
       rules: 'required',
     },
     {
-      fieldName: 'vendorName',
-      label: '',
+      fieldName: 'purchaseOrderCode',
+      label: '閲囪喘璁㈠崟鍙�',
       component: 'Input',
-      dependencies: {
-        triggerFields: [''],
-        show: () => false,
-      },
-    },
-    {
-      fieldName: 'purchaseOrderId',
-      label: '閲囪喘璁㈠崟',
-      component: markRaw(ErpPurchaseOrderSelect),
       componentProps: {
-        placeholder: '璇烽�夋嫨閲囪喘璁㈠崟',
-        onChange: (item: any) => {
-          if (item?.supplierId && formApi) {
-            formApi.setFieldValue('vendorId', item.supplierId);
-            formApi.setFieldValue('vendorName', item.supplierName);
-          }
-        },
+        placeholder: '璇疯緭鍏ラ噰璐鍗曞彿',
       },
     },
     {
-      fieldName: 'vendorId',
+      fieldName: 'vendorName',
       label: '渚涘簲鍟�',
-      component: markRaw(MdVendorSelect),
+      component: 'Input',
       componentProps: {
-        placeholder: '璇烽�夋嫨渚涘簲鍟�',
-        disabled: true,
+        placeholder: '璇疯緭鍏ヤ緵搴斿晢鍚嶇О',
       },
-      dependencies: {
-        triggerFields: ['vendorName'],
-        componentProps: (values) => ({
-          placeholder: '璇烽�夋嫨渚涘簲鍟�',
-          disabled: true,
-          vendorName: values.vendorName as string,
-        }),
-      },
-      rules: 'selectRequired',
+      rules: 'required',
     },
     {
       fieldName: 'arrivalDate',
@@ -180,7 +154,7 @@
       },
     },
     {
-      fieldName: 'purchaseOrderNo',
+      fieldName: 'purchaseOrderCode',
       label: '閲囪喘璁㈠崟鍙�',
       component: 'Input',
       componentProps: {
diff --git a/src/views/wls/outsourceissue/data.ts b/src/views/wls/outsourceissue/data.ts
index dd70166..aab0af6 100644
--- a/src/views/wls/outsourceissue/data.ts
+++ b/src/views/wls/outsourceissue/data.ts
@@ -1,6 +1,5 @@
 锘縤mport type { VbenFormApi, VbenFormSchema } from '#/adapter/form';
 import type { VxeTableGridOptions } from '#/adapter/vxe-table';
-import type { MesProWorkOrderApi } from '#/api/mes/pro/workorder';
 import type { MesWmMaterialStockApi } from '#/api/mes/wm/materialstock';
 import type { MesWmOutsourceIssueApi } from '#/api/mes/wm/outsourceissue';
 import type { MesWmOutsourceIssueDetailApi } from '#/api/mes/wm/outsourceissue/detail';
@@ -8,20 +7,13 @@
 
 import { h, markRaw } from 'vue';
 
-import {
-  DICT_TYPE,
-  MesAutoCodeRuleCode,
-  MesProWorkOrderStatusEnum,
-  MesProWorkOrderTypeEnum,
-} from '@vben/constants';
+import { DICT_TYPE, MesAutoCodeRuleCode } from '@vben/constants';
 
 import { Button } from 'ant-design-vue';
 
 import { generateAutoCode } from '#/api/mes/md/autocode/record';
 import { getRangePickerDefaultProps } from '#/utils';
 import { MdItemSelect } from '#/views/mes/md/item/components';
-import { MdVendorSelect } from '#/views/mes/md/vendor/components';
-import { ProWorkOrderSelect } from '#/views/mes/pro/workorder/components';
 import { WmMaterialStockSelect } from '#/views/wls/materialstock/components';
 import {
   WmWarehouseAreaSelect,
@@ -104,25 +96,19 @@
       },
     },
     {
-      fieldName: 'workOrderId',
-      label: '澶栧崗璁㈠崟',
-      component: markRaw(ProWorkOrderSelect),
+      fieldName: 'workOrderCode',
+      label: '澶栧崗璁㈠崟鍙�',
+      component: 'Input',
       componentProps: {
-        // 閫夋嫨澶栧崗璁㈠崟鍚庯紝鑷姩鍥炲~渚涘簲鍟�
-        onChange: async (workOrder?: MesProWorkOrderApi.WorkOrder) => {
-          await formApi?.setFieldValue('vendorId', workOrder?.vendorId);
-        },
-        status: MesProWorkOrderStatusEnum.CONFIRMED,
-        type: MesProWorkOrderTypeEnum.OUTSOURCE,
+        placeholder: '璇疯緭鍏ュ鍗忚鍗曞彿',
       },
-      rules: 'selectRequired',
     },
     {
-      fieldName: 'vendorId',
+      fieldName: 'vendorName',
       label: '渚涘簲鍟�',
-      component: markRaw(MdVendorSelect),
+      component: 'Input',
       componentProps: {
-        placeholder: '璇烽�夋嫨渚涘簲鍟�',
+        placeholder: '璇疯緭鍏ヤ緵搴斿晢鍚嶇О',
       },
     },
     {
@@ -160,11 +146,12 @@
       },
     },
     {
-      fieldName: 'vendorId',
+      fieldName: 'vendorName',
       label: '渚涘簲鍟�',
-      component: markRaw(MdVendorSelect),
+      component: 'Input',
       componentProps: {
-        placeholder: '璇烽�夋嫨渚涘簲鍟�',
+        allowClear: true,
+        placeholder: '璇疯緭鍏ヤ緵搴斿晢鍚嶇О',
       },
     },
     {
diff --git a/src/views/wls/outsourcereceipt/data.ts b/src/views/wls/outsourcereceipt/data.ts
index 4d336b4..01081ea 100644
--- a/src/views/wls/outsourcereceipt/data.ts
+++ b/src/views/wls/outsourcereceipt/data.ts
@@ -1,18 +1,12 @@
 锘縤mport type { VbenFormApi, VbenFormSchema } from '#/adapter/form';
 import type { VxeTableGridOptions } from '#/adapter/vxe-table';
-import type { MesProWorkOrderApi } from '#/api/mes/pro/workorder';
 import type { MesWmOutsourceReceiptApi } from '#/api/mes/wm/outsourcereceipt';
 import type { MesWmOutsourceReceiptDetailApi } from '#/api/mes/wm/outsourcereceipt/detail';
 import type { MesWmOutsourceReceiptLineApi } from '#/api/mes/wm/outsourcereceipt/line';
 
 import { h, markRaw } from 'vue';
 
-import {
-  DICT_TYPE,
-  MesAutoCodeRuleCode,
-  MesProWorkOrderStatusEnum,
-  MesProWorkOrderTypeEnum,
-} from '@vben/constants';
+import { DICT_TYPE, MesAutoCodeRuleCode } from '@vben/constants';
 import { getDictOptions } from '@vben/hooks';
 
 import { Button } from 'ant-design-vue';
@@ -21,8 +15,6 @@
 import { generateAutoCode } from '#/api/mes/md/autocode/record';
 import { getRangePickerDefaultProps } from '#/utils';
 import { MdItemSelect } from '#/views/mes/md/item/components';
-import { MdVendorSelect } from '#/views/mes/md/vendor/components';
-import { ProWorkOrderSelect } from '#/views/mes/pro/workorder/components';
 import {
   WmWarehouseAreaSelect,
   WmWarehouseLocationSelect,
@@ -94,25 +86,19 @@
       rules: 'required',
     },
     {
-      fieldName: 'workOrderId',
-      label: '澶栧崗璁㈠崟',
-      component: markRaw(ProWorkOrderSelect),
+      fieldName: 'workOrderCode',
+      label: '澶栧崗璁㈠崟鍙�',
+      component: 'Input',
       componentProps: {
-        // 閫夋嫨澶栧崗璁㈠崟鍚庯紝鑷姩鍥炲~渚涘簲鍟�
-        onChange: async (workOrder?: MesProWorkOrderApi.WorkOrder) => {
-          await formApi?.setFieldValue('vendorId', workOrder?.vendorId);
-        },
-        status: MesProWorkOrderStatusEnum.CONFIRMED,
-        type: MesProWorkOrderTypeEnum.OUTSOURCE,
+        placeholder: '璇疯緭鍏ュ鍗忚鍗曞彿',
       },
-      rules: 'selectRequired',
     },
     {
-      fieldName: 'vendorId',
+      fieldName: 'vendorName',
       label: '渚涘簲鍟�',
-      component: markRaw(MdVendorSelect),
+      component: 'Input',
       componentProps: {
-        placeholder: '璇烽�夋嫨渚涘簲鍟�',
+        placeholder: '璇疯緭鍏ヤ緵搴斿晢鍚嶇О',
       },
     },
     {
@@ -170,11 +156,12 @@
       },
     },
     {
-      fieldName: 'vendorId',
+      fieldName: 'vendorName',
       label: '渚涘簲鍟�',
-      component: markRaw(MdVendorSelect),
+      component: 'Input',
       componentProps: {
-        placeholder: '璇烽�夋嫨渚涘簲鍟�',
+        allowClear: true,
+        placeholder: '璇疯緭鍏ヤ緵搴斿晢鍚嶇О',
       },
     },
     {
diff --git a/src/views/wls/packages/data.ts b/src/views/wls/packages/data.ts
index ec8952a..5fa1c2e 100644
--- a/src/views/wls/packages/data.ts
+++ b/src/views/wls/packages/data.ts
@@ -8,18 +8,14 @@
 import {
   DICT_TYPE,
   MesAutoCodeRuleCode,
-  MesProWorkOrderStatusEnum,
 } from '@vben/constants';
 
 import { Button } from 'ant-design-vue';
 
 import { generateAutoCode } from '#/api/mes/md/autocode/record';
 import { getSimpleUserList } from '#/api/system/user';
-import { ErpSaleOrderSelect } from '#/views/erp/sale/order/components';
-import { MdClientSelect } from '#/views/mes/md/client/components';
 import { MdItemSelect } from '#/views/mes/md/item/components';
 import { MdUnitMeasureSelect } from '#/views/mes/md/unitmeasure/components';
-import { ProWorkOrderSelect } from '#/views/mes/pro/workorder/components';
 
 /** 琛ㄥ崟绫诲瀷 */
 export type FormType = 'create' | 'detail' | 'update';
@@ -97,27 +93,11 @@
     },
     {
       fieldName: 'salesOrderCode',
-      component: 'Input',
-      dependencies: {
-        triggerFields: [''],
-        show: () => false,
-      },
-    },
-    {
-      fieldName: 'saleOrderId',
       label: '閿�鍞鍗曠紪鍙�',
-      component: markRaw(ErpSaleOrderSelect),
+      component: 'Input',
       componentProps: {
-        placeholder: '璇烽�夋嫨閿�鍞鍗�',
-        onChange: (item: any) => {
-          if (formApi) {
-            formApi.setFieldValue('salesOrderCode', item?.no ?? '');
-            formApi.setFieldValue('clientId', item?.customerId ?? undefined);
-            formApi.setFieldValue('clientName', item?.customerName ?? '');
-          }
-        },
+        placeholder: '璇疯緭鍏ラ攢鍞鍗曠紪鍙�',
       },
-      rules: 'selectRequired',
     },
     {
       fieldName: 'invoiceCode',
@@ -128,20 +108,11 @@
       },
     },
     {
-      fieldName: 'clientId',
-      component: 'Input',
-      dependencies: {
-        triggerFields: [''],
-        show: () => false,
-      },
-    },
-    {
       fieldName: 'clientName',
       label: '瀹㈡埛',
       component: 'Input',
       componentProps: {
-        placeholder: '閫夋嫨閿�鍞鍗曞悗鑷姩鍙嶆樉',
-        disabled: true,
+        placeholder: '璇疯緭鍏ュ鎴峰悕绉�',
       },
     },
     {
@@ -250,11 +221,12 @@
       },
     },
     {
-      fieldName: 'clientId',
+      fieldName: 'clientName',
       label: '瀹㈡埛',
-      component: markRaw(MdClientSelect),
+      component: 'Input',
       componentProps: {
-        placeholder: '璇烽�夋嫨瀹㈡埛',
+        allowClear: true,
+        placeholder: '璇疯緭鍏ュ鎴峰悕绉�',
       },
     },
     {
@@ -444,14 +416,12 @@
 export function useLineFormSchema(): VbenFormSchema[] {
   return [
     {
-      fieldName: 'workOrderId',
-      label: '鐢熶骇璁㈠崟',
-      component: markRaw(ProWorkOrderSelect),
+      fieldName: 'workOrderCode',
+      label: '鐢熶骇璁㈠崟鍙�',
+      component: 'Input',
       componentProps: {
-        placeholder: '璇烽�夋嫨鐢熶骇璁㈠崟',
-        status: MesProWorkOrderStatusEnum.CONFIRMED,
+        placeholder: '璇疯緭鍏ョ敓浜ц鍗曞彿',
       },
-      rules: 'selectRequired',
     },
     {
       fieldName: 'itemId',
@@ -572,11 +542,12 @@
       },
     },
     {
-      fieldName: 'clientId',
+      fieldName: 'clientName',
       label: '瀹㈡埛',
-      component: markRaw(MdClientSelect),
+      component: 'Input',
       componentProps: {
-        placeholder: '璇烽�夋嫨瀹㈡埛',
+        allowClear: true,
+        placeholder: '璇疯緭鍏ュ鎴峰悕绉�',
       },
     },
     {
diff --git a/src/views/wls/productreceipt/data.ts b/src/views/wls/productreceipt/data.ts
index f249a84..0b78d18 100644
--- a/src/views/wls/productreceipt/data.ts
+++ b/src/views/wls/productreceipt/data.ts
@@ -7,18 +7,13 @@
 
 import { h, markRaw } from 'vue';
 
-import {
-  DICT_TYPE,
-  MesAutoCodeRuleCode,
-  MesProWorkOrderStatusEnum,
-} from '@vben/constants';
+import { DICT_TYPE, MesAutoCodeRuleCode } from '@vben/constants';
 
 import { Button } from 'ant-design-vue';
 
 import { generateAutoCode } from '#/api/mes/md/autocode/record';
 import { getRangePickerDefaultProps } from '#/utils';
 import { MdItemSelect } from '#/views/mes/md/item/components';
-import { ProWorkOrderSelect } from '#/views/mes/pro/workorder/components';
 import { WmMaterialStockSelect } from '#/views/wls/materialstock/components';
 import {
   WmWarehouseAreaSelect,
@@ -103,12 +98,12 @@
       rules: 'required',
     },
     {
-      fieldName: 'workOrderId',
-      label: '鐢熶骇璁㈠崟',
-      component: markRaw(ProWorkOrderSelect),
+      fieldName: 'workOrderCode',
+      label: '鐢熶骇璁㈠崟鍙�',
+      component: 'Input',
       componentProps: {
-        status: MesProWorkOrderStatusEnum.CONFIRMED,
-        checkMethod: (row: any) => row.productionStatus !== 0,
+        disabled: isHeaderReadonly(formType),
+        placeholder: '璇疯緭鍏ョ敓浜ц鍗曞彿',
       },
     },
     {
diff --git a/src/views/wls/productsales/data.ts b/src/views/wls/productsales/data.ts
index 9522d75..3e7881e 100644
--- a/src/views/wls/productsales/data.ts
+++ b/src/views/wls/productsales/data.ts
@@ -4,31 +4,21 @@
 import type { MesWmProductSalesApi } from '#/api/mes/wm/productsales';
 import type { MesWmProductSalesDetailApi } from '#/api/mes/wm/productsales/detail';
 import type { MesWmProductSalesLineApi } from '#/api/mes/wm/productsales/line';
-import type { MesWmSalesNoticeApi } from '#/api/mes/wm/salesnotice';
 import type { MesWmSalesNoticeLineApi } from '#/api/mes/wm/salesnotice/line';
 
 import { h, markRaw } from 'vue';
 
-import {
-  DICT_TYPE,
-  MesAutoCodeRuleCode,
-  MesWmSalesNoticeStatusEnum,
-} from '@vben/constants';
+import { DICT_TYPE, MesAutoCodeRuleCode } from '@vben/constants';
 import { getDictOptions } from '@vben/hooks';
 
 import { Button } from 'ant-design-vue';
 
 import { z } from '#/adapter/form';
-import CrmCustomerSelect from '#/components/crm-customer-select.vue';
 import { generateAutoCode } from '#/api/mes/md/autocode/record';
-import { ErpSaleOrderSelect } from '#/views/erp/sale/order/components';
 import { getRangePickerDefaultProps } from '#/utils';
 import { MdItemSelect } from '#/views/mes/md/item/components';
 import { WmMaterialStockSelect } from '#/views/wls/materialstock/components';
-import {
-  WmSalesNoticeLineSelect,
-  WmSalesNoticeSelect,
-} from '#/views/wls/salesnotice/components';
+import { WmSalesNoticeLineSelect } from '#/views/wls/salesnotice/components';
 import {
   WmWarehouseAreaSelect,
   WmWarehouseLocationSelect,
@@ -120,44 +110,12 @@
       rules: 'required',
     },
     {
-      fieldName: 'noticeId',
-      label: '鍙戣揣閫氱煡鍗�',
-      component: markRaw(WmSalesNoticeSelect),
+      fieldName: 'noticeCode',
+      label: '鍙戣揣閫氱煡鍗曞彿',
+      component: 'Input',
       componentProps: {
         disabled: isHeaderReadonly(formType),
-        // 閫夋嫨鍙戣揣閫氱煡鍗曞悗锛岃嚜鍔ㄥ洖濉攢鍞鍗曞彿銆佸鎴枫�佹敹璐т汉淇℃伅
-        onChange: async (notice?: MesWmSalesNoticeApi.SalesNotice) => {
-          await formApi?.setValues({
-            clientId: notice?.clientId,
-            contactAddress: notice?.recipientAddress,
-            contactName: notice?.recipientName,
-            contactTelephone: notice?.recipientTelephone,
-            salesOrderCode: notice?.salesOrderCode,
-          });
-        },
-        status: MesWmSalesNoticeStatusEnum.APPROVED,
-      },
-    },
-    {
-      fieldName: 'saleOrderId',
-      label: '閿�鍞鍗曠紪鍙�',
-      component: markRaw(ErpSaleOrderSelect),
-      componentProps: {
-        disabled: isHeaderReadonly(formType),
-        placeholder: '璇烽�夋嫨閿�鍞鍗�',
-        onChange: (item: any) => {
-          if (formApi) {
-            formApi.setFieldValue('salesOrderCode', item?.no ?? '');
-            if (item?.customerId) {
-              formApi.setFieldValue('clientId', item.customerId);
-            }
-          }
-        },
-      },
-      rules: 'selectRequired',
-      dependencies: {
-        triggerFields: ['salesOrderCode'],
-        if: () => formType === 'create',
+        placeholder: '璇疯緭鍏ュ彂璐ч�氱煡鍗曞彿',
       },
     },
     {
@@ -165,12 +123,8 @@
       label: '閿�鍞鍗曠紪鍙�',
       component: 'Input',
       componentProps: {
-        disabled: true,
-        placeholder: '閿�鍞鍗曠紪鍙�',
-      },
-      dependencies: {
-        triggerFields: [''],
-        if: () => formType !== 'create',
+        disabled: isHeaderReadonly(formType),
+        placeholder: '璇疯緭鍏ラ攢鍞鍗曠紪鍙�',
       },
     },
     {
@@ -187,14 +141,14 @@
       rules: 'required',
     },
     {
-      fieldName: 'clientId',
+      fieldName: 'clientName',
       label: '瀹㈡埛',
-      component: markRaw(CrmCustomerSelect),
+      component: 'Input',
       componentProps: {
         disabled: isHeaderReadonly(formType),
-        placeholder: '璇烽�夋嫨瀹㈡埛',
+        placeholder: '璇疯緭鍏ュ鎴峰悕绉�',
       },
-      rules: 'selectRequired',
+      rules: 'required',
     },
     {
       fieldName: 'contactName',
@@ -294,11 +248,12 @@
       },
     },
     {
-      fieldName: 'clientId',
+      fieldName: 'clientName',
       label: '瀹㈡埛',
-      component: markRaw(CrmCustomerSelect),
+      component: 'Input',
       componentProps: {
-        placeholder: '璇烽�夋嫨瀹㈡埛',
+        allowClear: true,
+        placeholder: '璇疯緭鍏ュ鎴峰悕绉�',
       },
     },
     {
diff --git a/src/views/wls/returnissue/data.ts b/src/views/wls/returnissue/data.ts
index 22549d5..ff3033b 100644
--- a/src/views/wls/returnissue/data.ts
+++ b/src/views/wls/returnissue/data.ts
@@ -8,19 +8,13 @@
 
 import { h, markRaw } from 'vue';
 
-import {
-  DICT_TYPE,
-  MesAutoCodeRuleCode,
-  MesProWorkOrderStatusEnum,
-} from '@vben/constants';
+import { DICT_TYPE, MesAutoCodeRuleCode } from '@vben/constants';
 import { getDictOptions } from '@vben/hooks';
 
 import { Button } from 'ant-design-vue';
 
 import { z } from '#/adapter/form';
 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 {
@@ -105,20 +99,21 @@
       rules: 'required',
     },
     {
-      fieldName: 'workOrderId',
-      label: '鐢熶骇璁㈠崟',
-      component: markRaw(ProWorkOrderSelect),
+      fieldName: 'workOrderCode',
+      label: '鐢熶骇璁㈠崟鍙�',
+      component: 'Input',
       componentProps: {
-        status: MesProWorkOrderStatusEnum.CONFIRMED,
+        disabled: isHeaderReadonly(formType),
+        placeholder: '璇疯緭鍏ョ敓浜ц鍗曞彿',
       },
-      rules: 'selectRequired',
     },
     {
-      fieldName: 'workstationId',
+      fieldName: 'workstationName',
       label: '宸ヤ綔绔�',
-      component: markRaw(MdWorkstationSelect),
+      component: 'Input',
       componentProps: {
-        placeholder: '璇烽�夋嫨宸ヤ綔绔�',
+        disabled: isHeaderReadonly(formType),
+        placeholder: '璇疯緭鍏ュ伐浣滅珯鍚嶇О',
       },
     },
     {
@@ -168,11 +163,12 @@
       },
     },
     {
-      fieldName: 'workOrderId',
-      label: '鐢熶骇璁㈠崟',
-      component: markRaw(ProWorkOrderSelect),
+      fieldName: 'workOrderCode',
+      label: '鐢熶骇璁㈠崟鍙�',
+      component: 'Input',
       componentProps: {
-        placeholder: '璇烽�夋嫨鐢熶骇璁㈠崟',
+        allowClear: true,
+        placeholder: '璇疯緭鍏ョ敓浜ц鍗曞彿',
       },
     },
     {
diff --git a/src/views/wls/returnsales/data.ts b/src/views/wls/returnsales/data.ts
index 7a3214b..b139e54 100644
--- a/src/views/wls/returnsales/data.ts
+++ b/src/views/wls/returnsales/data.ts
@@ -13,9 +13,7 @@
 import { Button } from 'ant-design-vue';
 
 import { z } from '#/adapter/form';
-import CrmCustomerSelect from '#/components/crm-customer-select.vue';
 import { generateAutoCode } from '#/api/mes/md/autocode/record';
-import { ErpSaleOrderSelect } from '#/views/erp/sale/order/components';
 import { MdItemSelect } from '#/views/mes/md/item/components';
 import { WmBatchSelect } from '#/views/wls/batch/components';
 import {
@@ -36,7 +34,6 @@
 export function useFormSchema(
   formType: FormType,
   formApi?: VbenFormApi,
-  onOrderChange?: (item: Record<string, unknown> | undefined) => void,
 ): VbenFormSchema[] {
   return [
     {
@@ -91,39 +88,20 @@
     },
     {
       fieldName: 'salesOrderCode',
-      component: 'Input',
-      dependencies: {
-        triggerFields: [''],
-        show: () => false,
-      },
-    },
-    {
-      fieldName: 'saleOrderId',
       label: '閿�鍞鍗曞彿',
-      component: markRaw(ErpSaleOrderSelect),
+      component: 'Input',
       componentProps: {
-        outStatus: 3,
-        placeholder: '璇烽�夋嫨閿�鍞鍗�',
-        onChange: (item: any) => {
-          if (formApi) {
-            formApi.setFieldValue('salesOrderCode', item?.no ?? '');
-            if (item?.customerId) {
-              formApi.setFieldValue('clientId', item.customerId);
-            }
-          }
-          onOrderChange?.(item);
-        },
+        placeholder: '璇疯緭鍏ラ攢鍞鍗曞彿',
       },
-      rules: 'selectRequired',
     },
     {
-      fieldName: 'clientId',
+      fieldName: 'clientName',
       label: '瀹㈡埛',
-      component: markRaw(CrmCustomerSelect),
+      component: 'Input',
       componentProps: {
-        placeholder: '璇烽�夋嫨瀹㈡埛',
+        placeholder: '璇疯緭鍏ュ鎴峰悕绉�',
       },
-      rules: 'selectRequired',
+      rules: 'required',
     },
     {
       fieldName: 'returnDate',
@@ -192,11 +170,12 @@
       },
     },
     {
-      fieldName: 'clientId',
+      fieldName: 'clientName',
       label: '瀹㈡埛',
-      component: markRaw(CrmCustomerSelect),
+      component: 'Input',
       componentProps: {
-        placeholder: '璇烽�夋嫨瀹㈡埛',
+        allowClear: true,
+        placeholder: '璇疯緭鍏ュ鎴峰悕绉�',
       },
     },
     {
diff --git a/src/views/wls/returnsales/modules/form.vue b/src/views/wls/returnsales/modules/form.vue
index 2f57364..a62483b 100644
--- a/src/views/wls/returnsales/modules/form.vue
+++ b/src/views/wls/returnsales/modules/form.vue
@@ -19,9 +19,6 @@
   submitReturnSales,
   updateReturnSales,
 } from '#/api/mes/wm/returnsales';
-import type { ErpSaleOrderApi } from '#/api/erp/sale/order';
-
-import { getSaleOrder, getSaleOrderPage } from '#/api/erp/sale/order';
 import { $t } from '#/locales';
 
 import { useFormSchema } from '../data';
@@ -31,7 +28,6 @@
 const formType = ref<FormType>('create');
 const formData = ref<MesWmReturnSalesApi.ReturnSales>();
 const originalSnapshot = ref(''); // 琛ㄥ崟鍘熷鏁版嵁蹇収锛岀敤浜庢彁浜ゆ椂璺宠繃鏈彉鏇寸殑淇濆瓨璇锋眰
-const saleOrderItems = ref<ErpSaleOrderApi.SaleOrderItem[]>([]); // 褰撳墠閿�鍞鍗曠殑鐗╂枡琛�
 const isEditable = computed(() =>
   // 鏄惁涓虹紪杈戞ā寮忥紙鍙繚瀛橈級
   ['create', 'update'].includes(formType.value),
@@ -174,15 +170,7 @@
     const data = modalApi.getData<{ formType: FormType; id?: number }>();
     formType.value = data.formType;
     formApi.setState({
-      schema: useFormSchema(formType.value, formApi, (item) => {
-        if (item?.id) {
-          getSaleOrder(item.id as number).then((order) => {
-            saleOrderItems.value = (order as ErpSaleOrderApi.SaleOrder)?.items || [];
-          });
-        } else {
-          saleOrderItems.value = [];
-        }
-      }),
+      schema: useFormSchema(formType.value, formApi),
     });
     formApi.setDisabled(!isEditable.value);
     modalApi.setState({ showConfirmButton: isEditable.value });
@@ -190,21 +178,6 @@
       modalApi.lock();
       try {
         formData.value = await getReturnSales(data.id);
-        // 閫氳繃閿�鍞鍗曞彿鍙嶆煡璁㈠崟ID锛岀‘淇� ErpSaleOrderSelect 鑳芥纭洖鏄�
-        if (formData.value?.salesOrderCode && !formData.value.saleOrderId) {
-          const orderPage = await getSaleOrderPage({
-            pageNo: 1,
-            pageSize: 1,
-            no: formData.value.salesOrderCode,
-          } as Record<string, unknown> as never);
-          const list = (orderPage as Record<string, unknown>)?.list as Array<Record<string, unknown>> | undefined;
-          if (list?.length) {
-            const orderId = list[0].id as number;
-            (formData.value as Record<string, unknown>).saleOrderId = orderId;
-            const order = await getSaleOrder(orderId);
-            saleOrderItems.value = order?.items || [];
-          }
-        }
         // 璁剧疆鍒� values
         await formApi.setValues(formData.value);
       } finally {
@@ -227,7 +200,7 @@
           :client-id="formData.clientId"
           :form-type="formType"
           :return-id="formData.id"
-          :sale-order-items="saleOrderItems"
+          :sale-order-items="[]"
           :sales-order-code="formData.salesOrderCode"
         />
       </div>
diff --git a/src/views/wls/returnvendor/data.ts b/src/views/wls/returnvendor/data.ts
index a337f07..2504e58 100644
--- a/src/views/wls/returnvendor/data.ts
+++ b/src/views/wls/returnvendor/data.ts
@@ -13,8 +13,6 @@
 
 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 {
@@ -88,45 +86,23 @@
       rules: 'required',
     },
     {
-      fieldName: 'vendorName',
-      label: '',
+      fieldName: 'purchaseOrderCode',
+      label: '閲囪喘璁㈠崟鍙�',
       component: 'Input',
-      dependencies: {
-        triggerFields: [''],
-        show: () => false,
-      },
-    },
-    {
-      fieldName: 'purchaseOrderId',
-      label: '閲囪喘璁㈠崟',
-      component: markRaw(ErpPurchaseOrderSelect),
       componentProps: {
-        placeholder: '璇烽�夋嫨閲囪喘璁㈠崟',
-        onChange: (item: any) => {
-          if (item?.supplierId && formApi) {
-            formApi.setFieldValue('vendorId', item.supplierId);
-            formApi.setFieldValue('vendorName', item.supplierName);
-          }
-        },
+        disabled: isHeaderReadonly(formType),
+        placeholder: '璇疯緭鍏ラ噰璐鍗曞彿',
       },
     },
     {
-      fieldName: 'vendorId',
+      fieldName: 'vendorName',
       label: '渚涘簲鍟�',
-      component: markRaw(MdVendorSelect),
+      component: 'Input',
       componentProps: {
-        placeholder: '璇烽�夋嫨渚涘簲鍟�',
-        disabled: true,
+        disabled: isHeaderReadonly(formType),
+        placeholder: '璇疯緭鍏ヤ緵搴斿晢',
       },
-      dependencies: {
-        triggerFields: ['vendorName'],
-        componentProps: (values) => ({
-          placeholder: '璇烽�夋嫨渚涘簲鍟�',
-          disabled: true,
-          vendorName: values.vendorName as string,
-        }),
-      },
-      rules: 'selectRequired',
+      rules: 'required',
     },
     {
       fieldName: 'returnDate',
@@ -211,11 +187,12 @@
       },
     },
     {
-      fieldName: 'vendorId',
+      fieldName: 'vendorName',
       label: '渚涘簲鍟�',
-      component: markRaw(MdVendorSelect),
+      component: 'Input',
       componentProps: {
-        placeholder: '璇烽�夋嫨渚涘簲鍟�',
+        allowClear: true,
+        placeholder: '璇疯緭鍏ヤ緵搴斿晢',
       },
     },
   ];
diff --git a/src/views/wls/salesnotice/data.ts b/src/views/wls/salesnotice/data.ts
index 6818446..c0b807a 100644
--- a/src/views/wls/salesnotice/data.ts
+++ b/src/views/wls/salesnotice/data.ts
@@ -14,8 +14,6 @@
 
 import { z } from '#/adapter/form';
 import { generateAutoCode } from '#/api/mes/md/autocode/record';
-import CrmCustomerSelect from '#/components/crm-customer-select.vue';
-import { ErpSaleOrderSelect } from '#/views/erp/sale/order/components';
 import { MdItemSelect } from '#/views/mes/md/item/components';
 
 /** 琛ㄥ崟绫诲瀷 */
@@ -83,28 +81,21 @@
       rules: 'required',
     },
     {
-      fieldName: 'saleOrderId',
-      label: '閿�鍞鍗�',
-      component: markRaw(ErpSaleOrderSelect),
+      fieldName: 'saleOrderCode',
+      label: '閿�鍞鍗曠紪鍙�',
+      component: 'Input',
       componentProps: {
-        placeholder: '璇烽�夋嫨閿�鍞鍗�',
-        // 閫夋嫨閿�鍞鍗曞悗锛岃嚜鍔ㄥ洖濉鎴蜂俊鎭�
-        onChange: (item: any) => {
-          if (item?.customerId && formApi) {
-            formApi.setFieldValue('clientId', item.customerId);
-          }
-        },
+        placeholder: '璇疯緭鍏ラ攢鍞鍗曠紪鍙�',
       },
     },
     {
-      fieldName: 'clientId',
+      fieldName: 'clientName',
       label: '瀹㈡埛',
-      component: markRaw(CrmCustomerSelect),
+      component: 'Input',
       componentProps: {
-        placeholder: '璇烽�夋嫨瀹㈡埛',
-        disabled: true,
+        placeholder: '璇疯緭鍏ュ鎴峰悕绉�',
       },
-      rules: 'selectRequired',
+      rules: 'required',
     },
     {
       fieldName: 'salesDate',
@@ -186,11 +177,12 @@
       },
     },
     {
-      fieldName: 'clientId',
+      fieldName: 'clientName',
       label: '瀹㈡埛',
-      component: markRaw(CrmCustomerSelect),
+      component: 'Input',
       componentProps: {
-        placeholder: '璇烽�夋嫨瀹㈡埛',
+        allowClear: true,
+        placeholder: '璇疯緭鍏ュ鎴峰悕绉�',
       },
     },
   ];

--
Gitblit v1.9.3