From 27611a4b01a1d5209ad7f51447134adadd256f58 Mon Sep 17 00:00:00 2001 From: ouhuangzhiguang <1464651917@qq.com> Date: Thu, 20 Mar 2025 17:28:49 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=87=E8=B4=AD=E9=80=80=E8=B4=A7=EF=BC=8C?= =?UTF-8?q?=E5=85=A5=E5=BA=93=E5=8D=95=E5=AD=90=E6=98=BE=E7=A4=BA=E8=B4=A7?= =?UTF-8?q?=E4=BD=8D=EF=BC=9B=E9=87=87=E8=B4=AD=E5=85=A5=E5=BA=93=EF=BC=8C?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=8B=86=E5=88=86=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../in/components/PurchaseInItemForm.vue | 611 ++++++++++-------- .../purchase/return/PurchaseReturnForm.vue | 39 +- 2 files changed, 363 insertions(+), 287 deletions(-) diff --git a/src/views/erp/purchase/in/components/PurchaseInItemForm.vue b/src/views/erp/purchase/in/components/PurchaseInItemForm.vue index 69d0acd54..aa98fc24d 100644 --- a/src/views/erp/purchase/in/components/PurchaseInItemForm.vue +++ b/src/views/erp/purchase/in/components/PurchaseInItemForm.vue @@ -1,231 +1,240 @@ diff --git a/src/views/erp/purchase/return/PurchaseReturnForm.vue b/src/views/erp/purchase/return/PurchaseReturnForm.vue index da43e1fc9..833538d93 100644 --- a/src/views/erp/purchase/return/PurchaseReturnForm.vue +++ b/src/views/erp/purchase/return/PurchaseReturnForm.vue @@ -174,6 +174,7 @@ import { erpPriceInputFormatter, erpPriceMultiply } from '@/utils' import PurchaseOrderReturnEnableList from '@/views/erp/purchase/order/components/PurchaseOrderReturnEnableList.vue' import { PurchaseOrderVO } from '@/api/erp/purchase/order' import * as UserApi from '@/api/system/user' +import { PurchaseInApi } from '@/api/erp/purchase/in' /** ERP 采购退货表单 */ defineOptions({ name: 'PurchaseReturnForm' }) @@ -214,6 +215,12 @@ const userList = ref([]) // 用户列表 const subTabsName = ref('item') const itemFormRef = ref() +const queryParams = reactive({ + pageNo: 1, + pageSize: 10, + orderNo: undefined +}) //获取采购入库单号 + /** 计算 discountPrice、totalPrice 价格 */ watch( () => formData.value, @@ -243,8 +250,8 @@ const open = async (type: string, id?: number) => { try { formData.value = await PurchaseReturnApi.getPurchaseReturn(id) formData.value.items.forEach((item) => { - if(item.ifQr===0){ - item.qrCodeLineCount = item.count + if (item.ifQr === 0) { + item.qrCodeLineCount = item.count } }) } finally { @@ -270,7 +277,7 @@ const openPurchaseOrderReturnEnableList = () => { purchaseOrderReturnEnableListRef.value.open() } -const handlePurchaseOrderChange = (order: PurchaseOrderVO) => { +const handlePurchaseOrderChange = async (order: PurchaseOrderVO) => { // 将订单设置到退货单 formData.value.orderId = order.id formData.value.orderNo = order.no @@ -279,13 +286,25 @@ const handlePurchaseOrderChange = (order: PurchaseOrderVO) => { formData.value.discountPercent = order.discountPercent formData.value.remark = order.remark formData.value.fileUrl = order.fileUrl - // 将订单项设置到退货单项 - order.items.forEach((item) => { - item.count = item.inCount - item.returnCount - item.orderItemId = item.id - item.id = undefined + + // 获取与采购订单号相关的采购入库单号列表 + const data = await PurchaseInApi.getPurchaseInPage(queryParams) + const purchaseInList = data.list + const items: { productId: any; count: any; orderItemId: any; id: undefined }[] = [] + purchaseInList.forEach((purchaseIn) => { + purchaseIn.items.forEach((item) => { + if (item.count > 0) { + items.push({ + ...item, + count: item.count, + orderItemId: item.id, + id: undefined + }) + } + }) }) - formData.value.items = order.items.filter((item) => item.count > 0) + // 按入库单顺序展示 items + formData.value.items = items } /** 提交表单 */ @@ -300,7 +319,7 @@ const submitForm = async () => { const item = items[i] //先判断本行是否需要一物一码 if (item.ifQr) { - continue; + continue } if (item.qrcodes.split('\n').length !== item.count) { message.error(`第 ${i + 1} 行的退货数量和码的数量不同`)