|  | @@ -470,8 +470,8 @@ let treeNodeTools = {
 | 
	
		
			
				|  |  |          treeNode.changed = true;
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      initSummaryFee(treeNode){
 | 
	
		
			
				|  |  | -        if (!treeNode.data.SummaryFees){
 | 
	
		
			
				|  |  | -            treeNode.data.SummaryFees = {
 | 
	
		
			
				|  |  | +        if (!treeNode.data.summaryFees){
 | 
	
		
			
				|  |  | +            treeNode.data.summaryFees = {
 | 
	
		
			
				|  |  |                  totalFee: 0,
 | 
	
		
			
				|  |  |                  estimateFee: 0,
 | 
	
		
			
				|  |  |                  safetyFee: 0,
 | 
	
	
		
			
				|  | @@ -735,7 +735,7 @@ class CalcProgram {
 | 
	
		
			
				|  |  |                      contain:node.data.contain,
 | 
	
		
			
				|  |  |                      quantityEXP:node.data.quantityEXP
 | 
	
		
			
				|  |  |                  };
 | 
	
		
			
				|  |  | -                if (node.data.SummaryFees) data.SummaryFees = node.data.SummaryFees;
 | 
	
		
			
				|  |  | +                if (node.data.summaryFees) data.summaryFees = node.data.summaryFees;
 | 
	
		
			
				|  |  |                  if(node.sourceType==ModuleNames.ration && node.data.type==rationType.gljRation){//定额类型的工料机做特殊处理
 | 
	
		
			
				|  |  |                      data.code=node.data.code;
 | 
	
		
			
				|  |  |                      data.projectGLJID = node.data.projectGLJID;
 | 
	
	
		
			
				|  | @@ -915,6 +915,25 @@ class CalcProgram {
 | 
	
		
			
				|  |  |              let tf = (me.project.property.billsCalcMode === leafBillGetFeeType.rationPrice) ? (b * f / 100).toDecimal(decimalObj.bills.totalPrice) : (uf * q).toDecimal(decimalObj.bills.totalPrice);
 | 
	
		
			
				|  |  |              let ttf = tf;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +            function newCommonFee(){
 | 
	
		
			
				|  |  | +                treeNodeTools.initFeeField(treeNode, 'common');
 | 
	
		
			
				|  |  | +                treeNode.data.feesIndex.common.unitFee = uf;
 | 
	
		
			
				|  |  | +                treeNode.data.feesIndex.common.totalFee = tf;
 | 
	
		
			
				|  |  | +                treeNode.data.feesIndex.common.tenderUnitFee = tuf;
 | 
	
		
			
				|  |  | +                treeNode.data.feesIndex.common.tenderTotalFee = ttf;
 | 
	
		
			
				|  |  | +                treeNode.changed = true;
 | 
	
		
			
				|  |  | +                // 如果是总造价清单,还要做单项工程、建设项目金额汇总
 | 
	
		
			
				|  |  | +                if (treeNodeTools.isEngineeringCostBill(treeNode)){
 | 
	
		
			
				|  |  | +                    treeNodeTools.initSummaryFee(treeNode);
 | 
	
		
			
				|  |  | +                    treeNode.data.summaryFees.totalFee = tf;
 | 
	
		
			
				|  |  | +                    treeNode.data.summaryFees.estimateFee = 0;//treeNode.data.feesIndex.zangu.totalFee;
 | 
	
		
			
				|  |  | +                    let bill_safe = cbTools.findBill(fixedFlag.SAFETY_CONSTRUCTION);
 | 
	
		
			
				|  |  | +                    treeNode.data.summaryFees.safetyFee = (bill_safe && bill_safe.feesIndex && bill_safe.feesIndex.common)?bill_safe.feesIndex.common.totalFee:0;
 | 
	
		
			
				|  |  | +                    let bill_charge = cbTools.findBill(fixedFlag.CHARGE);
 | 
	
		
			
				|  |  | +                    treeNode.data.summaryFees.chargeFee = (bill_charge && bill_charge.feesIndex && bill_charge.feesIndex.common)?bill_charge.feesIndex.common.totalFee:0;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            };
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |              if (treeNode.data.feesIndex && treeNode.data.feesIndex.common){
 | 
	
		
			
				|  |  |                  if (treeNode.data.feesIndex.common.unitFee != uf ||
 | 
	
		
			
				|  |  |                      treeNode.data.feesIndex.common.totalFee != tf ||
 | 
	
	
		
			
				|  | @@ -922,23 +941,10 @@ class CalcProgram {
 | 
	
		
			
				|  |  |                      treeNode.data.feesIndex.common.tenderTotalFee != ttf ){
 | 
	
		
			
				|  |  |                      delete treeNode.data.fees;    // 直接删掉再新增。从其它计算方式切换到公式计算方式,会多出其它的费(不光是common)所以这里直接删掉,不用一个个费判断更新,效率更高。
 | 
	
		
			
				|  |  |                      delete treeNode.data.feesIndex;
 | 
	
		
			
				|  |  | -                    treeNodeTools.initFeeField(treeNode, 'common');
 | 
	
		
			
				|  |  | -                    treeNode.data.feesIndex.common.unitFee = uf;
 | 
	
		
			
				|  |  | -                    treeNode.data.feesIndex.common.totalFee = tf;
 | 
	
		
			
				|  |  | -                    treeNode.data.feesIndex.common.tenderUnitFee = tuf;
 | 
	
		
			
				|  |  | -                    treeNode.data.feesIndex.common.tenderTotalFee = ttf;
 | 
	
		
			
				|  |  | -                    treeNode.changed = true;
 | 
	
		
			
				|  |  | -                    // 如果是总造价清单,还要做单项工程、建设项目金额汇总
 | 
	
		
			
				|  |  | -                    if (treeNodeTools.isEngineeringCostBill(treeNode)){
 | 
	
		
			
				|  |  | -                        treeNodeTools.initSummaryFee(treeNode);
 | 
	
		
			
				|  |  | -                        treeNode.data.SummaryFees.totalFee = tf;
 | 
	
		
			
				|  |  | -                        treeNode.data.SummaryFees.estimateFee = 0;//treeNode.data.feesIndex.zangu.totalFee;
 | 
	
		
			
				|  |  | -                        let bill_safe = cbTools.findBill(fixedFlag.SAFETY_CONSTRUCTION);
 | 
	
		
			
				|  |  | -                        treeNode.data.SummaryFees.safetyFee = bill_safe?bill_safe.feesIndex.common.totalFee:0;
 | 
	
		
			
				|  |  | -                        let bill_charge = cbTools.findBill(fixedFlag.CHARGE);
 | 
	
		
			
				|  |  | -                        treeNode.data.SummaryFees.chargeFee = bill_charge?bill_charge.feesIndex.common.totalFee:0;
 | 
	
		
			
				|  |  | -                    }
 | 
	
		
			
				|  |  | +                    newCommonFee();
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  | +            }else{
 | 
	
		
			
				|  |  | +                newCommonFee();
 | 
	
		
			
				|  |  |              };
 | 
	
		
			
				|  |  |              treeNode.data.calcTemplate = {"calcItems": []};
 | 
	
		
			
				|  |  |          }
 |