From 8f8dcdae7e40ba4e94a363aa8eb91c7665810bc3 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 31 八月 2026 15:29:17 +0800
Subject: [PATCH] fix: 新疆-绿能 1.报工自动生成产品入库单 + 勾选入库 + 不合格仓库兜底
---
src/views/wls/returnsales/modules/form.vue | 35 ++++++++++++++++++++++++++++++++++-
1 files changed, 34 insertions(+), 1 deletions(-)
diff --git a/src/views/wls/returnsales/modules/form.vue b/src/views/wls/returnsales/modules/form.vue
index 3cae020..e9cb5e2 100644
--- a/src/views/wls/returnsales/modules/form.vue
+++ b/src/views/wls/returnsales/modules/form.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,41 @@
// 鍔犺浇鏁版嵁
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 鑳芥纭洖鏄�
+ const formValues = formData.value as MesWmReturnSalesApi.ReturnSales & {
+ saleOrderId?: number;
+ };
+ if (formValues.salesOrderCode && !formValues.saleOrderId) {
+ const orderPage = await getSaleOrderPage({
+ pageNo: 1,
+ pageSize: 1,
+ no: formValues.salesOrderCode,
+ } as never);
+ const first = orderPage?.list?.[0];
+ if (first) {
+ const orderId = Number(first.id);
+ formValues.saleOrderId = orderId;
+ const order = await getSaleOrder(orderId);
+ saleOrderItems.value = order?.items || [];
+ }
+ }
// 璁剧疆鍒� values
await formApi.setValues(formData.value);
} finally {
@@ -198,6 +230,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