From ccb00a17b9119200b8c8d29a177bcc129dd4c982 Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期四, 19 三月 2026 17:43:13 +0800
Subject: [PATCH] Merge branch 'dev_KTHG' of http://114.132.189.42:9002/r/product-inventory-management into dev_KTHG
---
src/views/consumablesLogistics/stockManagement/Subtract.vue | 26 +++++++++++++++++++++++++-
1 files changed, 25 insertions(+), 1 deletions(-)
diff --git a/src/views/consumablesLogistics/stockManagement/Subtract.vue b/src/views/consumablesLogistics/stockManagement/Subtract.vue
index 5598000..29fa533 100644
--- a/src/views/consumablesLogistics/stockManagement/Subtract.vue
+++ b/src/views/consumablesLogistics/stockManagement/Subtract.vue
@@ -158,6 +158,11 @@
return props.record.parentName === '鍘熸潗鏂�';
})
+const ledgerNetWeight = computed(() => {
+ const n = Number(props.record?.netWeight ?? 0);
+ return Number.isFinite(n) ? n : 0;
+});
+
const initFormData = () => {
if (props.record) {
formState.value = {
@@ -221,7 +226,20 @@
if (grossWeight != null && tareWeight != null) {
const net = Number(grossWeight) - Number(tareWeight);
const safeNet = Number(net.toFixed(2));
- formState.value.netWeight = safeNet > 0 ? safeNet : 0;
+ const computedNet = safeNet > 0 ? safeNet : 0;
+ const maxNet = ledgerNetWeight.value;
+ if (Number.isFinite(maxNet) && maxNet > 0 && computedNet > maxNet) {
+ const cappedNet = Number(maxNet.toFixed(2));
+ formState.value.netWeight = cappedNet;
+ // 鍚屾姣涢噸锛屼繚鎸侊細鍑�閲� = 姣涢噸 - 鐨噸
+ const tare = Number(tareWeight);
+ if (Number.isFinite(tare)) {
+ formState.value.grossWeight = Number((tare + cappedNet).toFixed(2));
+ }
+ proxy?.$modal?.msgWarning?.(`棰嗙敤鍑�閲嶄笉鑳借秴杩囧彴璐﹀噣閲嶏紙${maxNet.toFixed(2)} 鍚級`);
+ return;
+ }
+ formState.value.netWeight = computedNet;
} else {
formState.value.netWeight = undefined;
}
@@ -255,6 +273,12 @@
proxy.$modal.msgError("璇烽�夋嫨瑙勬牸");
return;
}
+ const maxNet = ledgerNetWeight.value;
+ const usedNet = Number(formState.value.netWeight ?? 0);
+ if (Number.isFinite(maxNet) && maxNet > 0 && Number.isFinite(usedNet) && usedNet > maxNet) {
+ proxy.$modal.msgError(`棰嗙敤鍑�閲嶄笉鑳借秴杩囧彴璐﹀噣閲嶏紙${maxNet.toFixed(2)} 鍚級`);
+ return;
+ }
if (props.type === 'qualified') {
subtractConsumablesIn(formState.value).then(res => {
// 鍏抽棴妯℃�佹
--
Gitblit v1.9.3