From b401f28ff6adc15cfe733fabc4629a144cfb3548 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期六, 22 八月 2026 19:16:40 +0800
Subject: [PATCH] fix: 发货数量精度计算修复
---
src/views/salesManagement/salesLedger/index.vue | 27 ++++++++++++++-------------
1 files changed, 14 insertions(+), 13 deletions(-)
diff --git a/src/views/salesManagement/salesLedger/index.vue b/src/views/salesManagement/salesLedger/index.vue
index 1057d97..c7e9df7 100644
--- a/src/views/salesManagement/salesLedger/index.vue
+++ b/src/views/salesManagement/salesLedger/index.vue
@@ -1102,6 +1102,7 @@
tableAmountFormatter,
formatDecimal,
buildAmountSummaryFormat,
+ roundAmount,
} from "@/utils/numberFormat";
import ImageUpload from "@/components/AttachmentUpload/image/index.vue";
import { getCurrentDate } from "@/utils/index.js";
@@ -1244,7 +1245,7 @@
item?.qualifiedUnLockedQuantity ??
item?.qualifiedQuantity ??
item?.stockQuantity;
- return quantity ?? 0;
+ return roundAmount(quantity ?? 0);
};
const formatDeliveryBatchSalesOrderNo = item =>
item?.salesContractNo || "--";
@@ -1263,14 +1264,14 @@
rawList.forEach(item => {
total += Number(getDeliveryBatchQuantity(item) || 0);
});
- currentStock.value = total;
+ currentStock.value = roundAmount(total);
} catch (e) {
console.error(e);
currentStock.value = 0;
}
};
const getCurrentDeliveryRowQuantity = () => {
- return Number(currentDeliveryRow.value?.noQuantity || 0);
+ return roundAmount(Number(currentDeliveryRow.value?.noQuantity || 0));
};
const getDeliveryBatchDeliveryMax = row => {
const productQuantity = getCurrentDeliveryRowQuantity();
@@ -1282,9 +1283,8 @@
},
0
);
- const remainingProductQuantity = Math.max(
- 0,
- productQuantity - otherBatchTotal
+ const remainingProductQuantity = roundAmount(
+ Math.max(0, productQuantity - otherBatchTotal)
);
return Math.max(0, Math.min(batchQuantity, remainingProductQuantity));
};
@@ -1298,9 +1298,8 @@
},
0
);
- const remainingProductQuantity = Math.max(
- 0,
- productQuantity - otherBatchTotal
+ const remainingProductQuantity = roundAmount(
+ Math.max(0, productQuantity - otherBatchTotal)
);
const currentValue = Number(row?.deliveryQuantity || 0);
@@ -2522,16 +2521,18 @@
proxy.$modal.msgWarning("璇疯嚦灏戝~鍐欎竴涓壒鍙风殑鍙戣揣鏁伴噺");
return;
}
- const totalDeliveryQuantity = selectedBatchRows.reduce(
- (sum, item) => sum + Number(item.deliveryQuantity || 0),
- 0
+ const totalDeliveryQuantity = roundAmount(
+ selectedBatchRows.reduce(
+ (sum, item) => sum + Number(item.deliveryQuantity || 0),
+ 0
+ )
);
const currentRowNoQuantity = Number(
currentDeliveryRow.value?.noQuantity || 0
);
if (
currentRowNoQuantity > 0 &&
- totalDeliveryQuantity > currentRowNoQuantity
+ totalDeliveryQuantity > roundAmount(currentRowNoQuantity)
) {
proxy.$modal.msgWarning("鎵瑰彿鍙戣揣鎬绘暟涓嶈兘瓒呰繃寰呭彂璐ф暟閲�");
return;
--
Gitblit v1.9.3