From fdd158306bf6dc3584f5110a385323f4a8dfb463 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期三, 02 九月 2026 14:25:10 +0800
Subject: [PATCH] feat(wms): 重构仓库管理系统并优化图表显示

---
 src/views/wls/returnsales/data.ts |   99 ++-----------------------------------------------
 1 files changed, 5 insertions(+), 94 deletions(-)

diff --git a/src/views/wls/returnsales/data.ts b/src/views/wls/returnsales/data.ts
index 9b61d3c..c45c5f9 100644
--- a/src/views/wls/returnsales/data.ts
+++ b/src/views/wls/returnsales/data.ts
@@ -1,4 +1,3 @@
-import type { ErpSaleOrderApi } from '#/api/erp/sale/order';
 import type { VbenFormApi, VbenFormSchema } from '#/adapter/form';
 import type { VxeTableGridOptions } from '#/adapter/vxe-table';
 import type { MesWmReturnSalesApi } from '#/api/mes/wm/returnsales';
@@ -15,7 +14,6 @@
 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 [
     {
@@ -88,33 +85,6 @@
         placeholder: '璇疯緭鍏ラ��璐у崟鍚嶇О',
       },
       rules: 'required',
-    },
-    {
-      fieldName: 'salesOrderCode',
-      component: 'Input',
-      dependencies: {
-        triggerFields: [''],
-        show: () => false,
-      },
-    },
-    {
-      fieldName: 'saleOrderId',
-      label: '閿�鍞鍗曞彿',
-      component: markRaw(ErpSaleOrderSelect),
-      componentProps: {
-        outStatus: 3,
-        placeholder: '璇烽�夋嫨閿�鍞鍗�',
-        onChange: (item: any) => {
-          if (formApi) {
-            formApi.setFieldValue('salesOrderCode', item?.no ?? '');
-            if (item?.customerId) {
-              formApi.setFieldValue('clientId', item.customerId);
-            }
-          }
-          onOrderChange?.(item);
-        },
-      },
-      rules: 'selectRequired',
     },
     {
       fieldName: 'clientId',
@@ -183,15 +153,6 @@
       },
     },
     {
-      fieldName: 'salesOrderCode',
-      label: '閿�鍞鍗曞彿',
-      component: 'Input',
-      componentProps: {
-        allowClear: true,
-        placeholder: '璇疯緭鍏ラ攢鍞鍗曞彿',
-      },
-    },
-    {
       fieldName: 'clientId',
       label: '瀹㈡埛',
       component: markRaw(CrmCustomerSelect),
@@ -225,11 +186,6 @@
       field: 'name',
       title: '閫�璐у崟鍚嶇О',
       minWidth: 150,
-    },
-    {
-      field: 'salesOrderCode',
-      title: '閿�鍞鍗曞彿',
-      minWidth: 140,
     },
     {
       field: 'clientCode',
@@ -343,34 +299,15 @@
 }
 
 /** 閫�璐у崟琛屾柊澧�/淇敼鐨勮〃鍗� */
-export function useLineFormSchema(
-  clientId?: number,
-  salesOrderCode?: string,
-  items?: ErpSaleOrderApi.SaleOrderItem[],
-  onItemChange?: (item: ErpSaleOrderApi.SaleOrderItem | undefined) => void,
-): VbenFormSchema[] {
-  const hasItems = items && items.length > 0;
+export function useLineFormSchema(clientId?: number): VbenFormSchema[] {
   return [
     {
       fieldName: 'itemId',
       label: '鐗╂枡',
-      component: hasItems ? 'Select' : markRaw(MdItemSelect),
-      componentProps: hasItems
-        ? {
-            placeholder: '璇烽�夋嫨鐗╂枡',
-            options: items.map((item) => ({
-              label: `${item.productName || ''}锛�${item.productBarCode || ''}锛塦,
-              value: item.productId,
-            })),
-            onChange: (value: number | undefined) => {
-              const selected = items.find((i) => i.productId === value);
-              onItemChange?.(selected);
-            },
-          }
-        : {
-            placeholder: '璇烽�夋嫨鐗╂枡',
-            productIds: [],
-          },
+      component: markRaw(MdItemSelect),
+      componentProps: {
+        placeholder: '璇烽�夋嫨鐗╂枡',
+      },
       rules: 'selectRequired',
     },
     {
@@ -383,30 +320,6 @@
         placeholder: '璇疯緭鍏ラ��璐ф暟閲�',
         precision: 2,
       },
-      dependencies: {
-        triggerFields: ['itemId'],
-        componentProps: (values) => {
-          const selected = items?.find((i) => i.productId === values.itemId);
-          return {
-            class: '!w-full',
-            max: selected?.count ?? undefined,
-            min: 0,
-            placeholder: '璇疯緭鍏ラ��璐ф暟閲�',
-            precision: 2,
-          };
-        },
-        rules: (values) => {
-          const selected = items?.find((i) => i.productId === values.itemId);
-          const max = selected?.count;
-          if (max !== undefined && max !== null) {
-            return z
-              .number({ message: '璇疯緭鍏ラ��璐ф暟閲�' })
-              .min(0)
-              .max(max, `鍙��璐ф暟閲忎笉鑳借秴杩� ${max}`);
-          }
-          return z.number({ message: '璇疯緭鍏ラ��璐ф暟閲�' }).min(0);
-        },
-      },
       rules: 'required',
     },
     {
@@ -417,7 +330,6 @@
         clientId,
         disabled: true,
         placeholder: '璇烽�夋嫨鎵规',
-        salesOrderCode,
       },
       dependencies: {
         triggerFields: ['itemId'],
@@ -426,7 +338,6 @@
           disabled: true,
           itemId: values.itemId,
           placeholder: '璇烽�夋嫨鎵规',
-          salesOrderCode,
         }),
       },
     },

--
Gitblit v1.9.3