From f9e6eb6fc2c2e0c2a2b17238b817fcbfcb6bab56 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期一, 10 八月 2026 16:38:45 +0800
Subject: [PATCH] feat(erp): 添加采购来票管理和付款关联功能

---
 src/views/wls/productsales/data.ts |   39 +++++++++++++++++++++++++++++++++------
 1 files changed, 33 insertions(+), 6 deletions(-)

diff --git a/src/views/wls/productsales/data.ts b/src/views/wls/productsales/data.ts
index a99cee4..9522d75 100644
--- a/src/views/wls/productsales/data.ts
+++ b/src/views/wls/productsales/data.ts
@@ -19,9 +19,10 @@
 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 { MdClientSelect } from '#/views/mes/md/client/components';
 import { MdItemSelect } from '#/views/mes/md/item/components';
 import { WmMaterialStockSelect } from '#/views/wls/materialstock/components';
 import {
@@ -138,12 +139,38 @@
       },
     },
     {
+      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',
+      },
+    },
+    {
       fieldName: 'salesOrderCode',
       label: '閿�鍞鍗曠紪鍙�',
       component: 'Input',
       componentProps: {
-        disabled: isHeaderReadonly(formType),
-        placeholder: '璇疯緭鍏ラ攢鍞鍗曠紪鍙�',
+        disabled: true,
+        placeholder: '閿�鍞鍗曠紪鍙�',
+      },
+      dependencies: {
+        triggerFields: [''],
+        if: () => formType !== 'create',
       },
     },
     {
@@ -155,14 +182,14 @@
         disabled: isHeaderReadonly(formType),
         format: 'YYYY-MM-DD',
         placeholder: '璇烽�夋嫨鍑哄簱鏃ユ湡',
-        valueFormat: 'x',
+        valueFormat: 'YYYY-MM-DD',
       },
       rules: 'required',
     },
     {
       fieldName: 'clientId',
       label: '瀹㈡埛',
-      component: markRaw(MdClientSelect),
+      component: markRaw(CrmCustomerSelect),
       componentProps: {
         disabled: isHeaderReadonly(formType),
         placeholder: '璇烽�夋嫨瀹㈡埛',
@@ -269,7 +296,7 @@
     {
       fieldName: 'clientId',
       label: '瀹㈡埛',
-      component: markRaw(MdClientSelect),
+      component: markRaw(CrmCustomerSelect),
       componentProps: {
         placeholder: '璇烽�夋嫨瀹㈡埛',
       },

--
Gitblit v1.9.3