ソースを参照

feat(jobBom): 优化损耗判断逻辑,简化代码并明确损耗类型处理

xieyong 1 ヶ月 前
親
コミット
3907805348

+ 6 - 4
src/views/produce/components/jobBooking/components/jobBom.vue

@@ -265,9 +265,6 @@
               ? product.filter((it) => it.confirm == 1)
               : product;
 
-            const isLoss = (item) =>
-              item.extInfo.isLoss == 1 || item.extInfo.isLoss == 3;
-
             const isFormed = (item) => {
               const { isQualified, notType } = item.extInfo;
               return (
@@ -285,8 +282,13 @@
               (acc, item) => {
                 const qty = getQty(item);
 
-                if (isLoss(item)) {
+                if (item.extInfo.isLoss == 1) {
+                  // 损耗: formedNum 减少, 同时计入损耗数量
+                  acc.formedNum = this.sub(acc.formedNum, qty);
                   acc.lossNum = this.add(acc.lossNum, qty);
+                } else if (item.extInfo.isLoss == 3) {
+                  // 减损/增加: formedNum 增加(恢复合格品数量)
+                  acc.formedNum = this.add(acc.formedNum, qty);
                 } else if (isFormed(item)) {
                   acc.formedNum = this.add(acc.formedNum, qty);
                 } else {