chenshilong před 7 roky
rodič
revize
b98e13dc57
1 změnil soubory, kde provedl 12 přidání a 12 odebrání
  1. 12 12
      web/building_saas/main/js/models/calc_program.js

+ 12 - 12
web/building_saas/main/js/models/calc_program.js

@@ -1581,26 +1581,26 @@ class CalcProgram {
         fieldNameArr 值取自:遍历treeNode的计算规则,取有绑定的字段名。这些字段名以外的fee是因旧计算多出来的,需要删除。 */
         function deleteUselessFees(treeNode, fieldNameArr){
             if (fieldNameArr){   // 用于计算程序没有绑定的费用类别,不要同步到清单,而清单因为以前计算过该类别又有值,需删除。如切换取费类别,旧费要清掉。
-                for (var i = 0; i < treeNode.data.fees.length; i++) {
-                    let fee = treeNode.data.fees[i];
-                    if ((fee.fieldName != 'estimate') && !fieldNameArr.includes(fee.fieldName)){
-                        treeNode.data.fees.splice(i, 1);
-                        delete treeNode.data.feesIndex[fee.fieldName];
+                treeNode.data.fees = _.filter(treeNode.data.fees, function (item) {
+                    if(!fieldNameArr.includes(item.fieldName)){
+                        delete treeNode.data.feesIndex[item.fieldName];
                         treeNode.changed = true;
+                        return false;
                     }
-                }
+                    return true;
+                });
             }
             else{   // 总造价清单只留common, estimate两个费用类别。其它公式清单只留common。
                 let reserveArr = calcTools.isTotalCostBill(treeNode)? ['common', 'estimate']:['common'];
                 if (treeNode.data.fees && treeNode.data.fees.length > 0){
-                    let feesArr = treeNode.data.fees;
-                    for (let i = 0; i < feesArr.length; i++) {
-                        if (!reserveArr.includes(feesArr[i].fieldName)) {
-                            delete treeNode.data.feesIndex[feesArr[i].fieldName];
-                            feesArr.splice(i, 1);
+                    treeNode.data.fees = _.filter(treeNode.data.fees, function (item) {
+                        if(!reserveArr.includes(item.fieldName)){
+                            delete treeNode.data.feesIndex[item.fieldName];
                             treeNode.changed = true;
+                            return false;
                         }
-                    }
+                        return true;
+                    });
                 };
             };
         };