From 3149c3d719ffbcf3e7b51479d7933a7641c5a14f Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期一, 12 十月 2026 17:47:40 +0800
Subject: [PATCH] fix: 发货数量允许超发
---
src/views/salesManagement/salesLedger/index.vue | 61 +++++++-----------------------
1 files changed, 15 insertions(+), 46 deletions(-)
diff --git a/src/views/salesManagement/salesLedger/index.vue b/src/views/salesManagement/salesLedger/index.vue
index 203b688..e18897b 100644
--- a/src/views/salesManagement/salesLedger/index.vue
+++ b/src/views/salesManagement/salesLedger/index.vue
@@ -992,6 +992,12 @@
disabled />
</el-form-item>
</el-col>
+ <el-col :span="24">
+ <el-form-item label="瓒呭彂鏁伴噺锛�">
+ <el-input :model-value="excessDeliveryQuantity"
+ disabled />
+ </el-form-item>
+ </el-col>
</el-row>
<el-row :gutter="30"
v-if="deliveryForm.type === '璐ц溅'">
@@ -1313,46 +1319,25 @@
)
);
});
- const getDeliveryBatchDeliveryMax = row => {
- const productQuantity = getCurrentDeliveryRowQuantity();
- const batchQuantity = Number(getDeliveryBatchQuantity(row) || 0);
- const otherBatchTotal = roundAmount(
- (deliveryForm.value.batchNoList || []).reduce(
- (sum, item) => {
- if (item?.id === row?.id) return sum;
- return sum + Number(item?.deliveryQuantity || 0);
- },
- 0
+ const excessDeliveryQuantity = computed(() => {
+ return roundAmount(
+ Math.max(
+ 0,
+ selectedDeliveryQuantity.value - getCurrentDeliveryRowQuantity()
)
);
- const remainingProductQuantity = roundAmount(
- Math.max(0, productQuantity - otherBatchTotal)
- );
- return Math.max(0, Math.min(batchQuantity, remainingProductQuantity));
+ });
+ const getDeliveryBatchDeliveryMax = row => {
+ const batchQuantity = Number(getDeliveryBatchQuantity(row) || 0);
+ return Math.max(0, batchQuantity);
};
const handleDeliveryBatchQuantityChange = row => {
- const productQuantity = getCurrentDeliveryRowQuantity();
const batchQuantity = Number(getDeliveryBatchQuantity(row) || 0);
- const otherBatchTotal = roundAmount(
- (deliveryForm.value.batchNoList || []).reduce(
- (sum, item) => {
- if (item?.id === row?.id) return sum;
- return sum + Number(item?.deliveryQuantity || 0);
- },
- 0
- )
- );
- const remainingProductQuantity = roundAmount(
- Math.max(0, productQuantity - otherBatchTotal)
- );
const currentValue = Number(row?.deliveryQuantity || 0);
if (currentValue > batchQuantity) {
row.deliveryQuantity = batchQuantity;
proxy.$modal.msgWarning("鍙戣揣鏁伴噺涓嶈兘澶т簬搴撳瓨鏁伴噺");
- } else if (currentValue > remainingProductQuantity) {
- row.deliveryQuantity = remainingProductQuantity;
- proxy.$modal.msgWarning("鎵�鏈夋壒娆″彂璐ф暟閲忎箣鍜屼笉鑳藉ぇ浜庡緟鍙戣揣鏁伴噺");
}
};
const getSelectedDeliveryBatchRows = () => {
@@ -2607,22 +2592,6 @@
const selectedBatchRows = getSelectedDeliveryBatchRows();
if (selectedBatchRows.length === 0) {
proxy.$modal.msgWarning("璇疯嚦灏戝~鍐欎竴涓壒鍙风殑鍙戣揣鏁伴噺");
- return;
- }
- 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
- ) {
- proxy.$modal.msgWarning("鎵瑰彿鍙戣揣鎬绘暟涓嶈兘瓒呰繃寰呭彂璐ф暟閲�");
return;
}
// 淇濆瓨褰撳墠灞曞紑鐨勮ID锛屼互渚垮彂璐у悗閲嶆柊鍔犺浇瀛愯〃鏍兼暟鎹�
--
Gitblit v1.9.3