|
|
@@ -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;
|
|
|
+ });
|
|
|
};
|
|
|
};
|
|
|
};
|