From 91c82965b2d987452ca276e3a03b48c8dcda2ae9 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期三, 19 八月 2026 11:47:26 +0800
Subject: [PATCH] config(env): 更新生产环境配置和公司名称

---
 src/views/wls/returnsales/modules/form.vue |   36 +++++++++++++++++++++++++++++++++---
 1 files changed, 33 insertions(+), 3 deletions(-)

diff --git a/src/views/wls/returnsales/modules/form.vue b/src/views/wls/returnsales/modules/form.vue
index f43296b..2f57364 100644
--- a/src/views/wls/returnsales/modules/form.vue
+++ b/src/views/wls/returnsales/modules/form.vue
@@ -5,8 +5,8 @@
 
 import { computed, ref } from 'vue';
 
-import { useVbenModal } from '../../../../packages/effects/common-ui/src';
-import { MesWmReturnSalesStatusEnum } from '../../../../packages/constants/src';
+import { useVbenModal } from '@vben/common-ui';
+import { MesWmReturnSalesStatusEnum } from '@vben/constants';
 
 import { Button, Divider, message, Popconfirm } from 'ant-design-vue';
 
@@ -19,6 +19,9 @@
   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';
@@ -28,6 +31,7 @@
 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),
@@ -169,13 +173,38 @@
     // 鍔犺浇鏁版嵁
     const data = modalApi.getData<{ formType: FormType; id?: number }>();
     formType.value = data.formType;
-    formApi.setState({ schema: useFormSchema(formType.value, formApi) });
+    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 = [];
+        }
+      }),
+    });
     formApi.setDisabled(!isEditable.value);
     modalApi.setState({ showConfirmButton: isEditable.value });
     if (data?.id) {
       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 {
@@ -198,6 +227,7 @@
           :client-id="formData.clientId"
           :form-type="formType"
           :return-id="formData.id"
+          :sale-order-items="saleOrderItems"
           :sales-order-code="formData.salesOrderCode"
         />
       </div>

--
Gitblit v1.9.3