From e1a215afc563aaf9884304d48ffc9548fb9033d4 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 30 三月 2026 15:53:29 +0800
Subject: [PATCH] 军泰伟业 1.销售退货中已退货数量未退货数量计算错误
---
src/views/salesManagement/returnOrder/components/formDia.vue | 42 +++++++++++++++++++++++++++++++++++++-----
1 files changed, 37 insertions(+), 5 deletions(-)
diff --git a/src/views/salesManagement/returnOrder/components/formDia.vue b/src/views/salesManagement/returnOrder/components/formDia.vue
index 6bac560..c87981e 100644
--- a/src/views/salesManagement/returnOrder/components/formDia.vue
+++ b/src/views/salesManagement/returnOrder/components/formDia.vue
@@ -83,7 +83,7 @@
</div>
<PIMTable :isShowPagination="false" rowKey="id" :column="tableColumn" :tableData="tableData">
<template #unQuantity="{ row }">
- {{ calcAlreadyReturned(row) }}
+ {{ row.unQuantity ?? 0 }}
</template>
<template #returnQuantity="{ row }">
<el-input
@@ -211,15 +211,18 @@
const { form, rules } = toRefs(data);
const calcAlreadyReturned = (row) => {
- // 濡傛灉 row.unQuantity 宸茬粡鏈夊�硷紙浠庡悗绔幏鍙栫殑鏈��璐ф暟閲忥級锛岀洿鎺ヨ繑鍥�
+ // 濡傛灉 row.unQuantity 宸茬粡鏈夊�硷紙浠庡悗绔幏鍙栫殑鏈��璐ф暟閲忥級锛岃绠楀凡閫�璐ф暟閲�
if (row?.unQuantity !== undefined && row?.unQuantity !== null) {
- return Number(row.unQuantity);
- }
+ const total = Number(row?.shippingNum ?? row?.totalQuantity ?? 0);
+ const unQuantity = Number(row.unQuantity);
+ if (!Number.isFinite(total) || !Number.isFinite(unQuantity)) return 0;
+ return total - unQuantity;
+ };
// 鍚﹀垯鏍规嵁鎬绘暟閲忓拰宸查��璐ф暟閲忚绠�
const total = Number(row?.shippingNum ?? row?.totalQuantity ?? 0);
const returned = Number(row?.returnNum ?? 0);
if (!Number.isFinite(total) || !Number.isFinite(returned)) return 0;
- return total - returned;
+ return returned;
};
const tableColumn = ref([
@@ -326,6 +329,35 @@
const submitForm = () => {
proxy.$refs["formRef"].validate(valid => {
if (!valid) return;
+
+ // 鏍¢獙鏄惁鏈変骇鍝佹暟鎹�
+ if (!tableData.value || tableData.value.length === 0) {
+ proxy.$modal.msgWarning("璇锋坊鍔犻��璐т骇鍝�");
+ return;
+ }
+
+ // 鏍¢獙鏈��璐ф暟閲忎负0鐨勪骇鍝�
+ const zeroUnQuantityProducts = tableData.value.filter(row => {
+ const unQuantity = Number(row.unQuantity ?? 0);
+ return unQuantity <= 0;
+ });
+ if (zeroUnQuantityProducts.length > 0) {
+ const productNames = zeroUnQuantityProducts.map(p => p.productCategory || p.specificationModel || '鏈煡浜у搧').join('銆�');
+ proxy.$modal.msgWarning(`浠ヤ笅浜у搧鏈��璐ф暟閲忎负0锛屾棤娉曢��璐э細${productNames}`);
+ return;
+ }
+
+ // 鏍¢獙閫�璐ф暟閲忓繀椤诲ぇ浜�0
+ const zeroReturnProducts = tableData.value.filter(row => {
+ const returnQty = Number(row.returnQuantity ?? 0);
+ return returnQty <= 0;
+ });
+ if (zeroReturnProducts.length > 0) {
+ const productNames = zeroReturnProducts.map(p => p.productCategory || p.specificationModel || '鏈煡浜у搧').join('銆�');
+ proxy.$modal.msgWarning(`浠ヤ笅浜у搧閫�璐ф暟閲忓繀椤诲ぇ浜�0锛�${productNames}`);
+ return;
+ }
+
const returnSaleProducts = (tableData.value || []).map(el => ({
returnSaleLedgerProductId: el.returnSaleLedgerProductId ?? el.id,
productModelId: el.productModelId,
--
Gitblit v1.9.3