| 
					
				 | 
			
			
				@@ -71,11 +71,36 @@ let cbTools = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return rst; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     //根据公式获取相关的节点 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    getNodesByExp: function (exp) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    getNodesByExp: function (exp, formulaNodesArr) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let rst = [], ids = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if(this.isUnDef(exp) || exp === ''){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return rst; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(exp.includes('{税前工程造价}')){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let findChildNodes = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let subEngingeering = this.findBill(fixedFlag.SUB_ENGINERRING) ? this.getNodeByID(this.findBill(fixedFlag.SUB_ENGINERRING).ID) : null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                measure = this.findBill(fixedFlag.MEASURE) ? this.getNodeByID(this.findBill(fixedFlag.MEASURE).ID) : null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                other = this.findBill(fixedFlag.OTHER) ? this.getNodeByID(this.findBill(fixedFlag.OTHER).ID) : null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                charge = this.findBill(fixedFlag.CHARGE) ? this.getNodeByID(this.findBill(fixedFlag.CHARGE).ID) : null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(subEngingeering){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                findChildNodes.push(subEngingeering); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(measure){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                findChildNodes.push(measure); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(other){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                findChildNodes.push(other); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(charge){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                findChildNodes.push(charge); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let childrenNodes = calcTools.getChildrenFormulaNodes(formulaNodesArr, findChildNodes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for(let cNode of childrenNodes){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ids.push(cNode.data.ID); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            rst = rst.concat(childrenNodes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //获取表达式中的基数和行引用 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let figureF = cbParser.getFigureF(cbParser.getFigure(exp), cbParser.getUID(cbParser.getFIDArr(exp))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         for(let i = 0, len = figureF.length; i < len; i++){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -309,7 +334,7 @@ let cbTools = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 for (let node of nodes){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     if (orderArr.includes(node)) continue;    // 已排过序的节点则跳过 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     if (node.data.calcBase){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        let subNodes = cbTools.getNodesByExp(node.data.calcBase); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        let subNodes = cbTools.getNodesByExp(node.data.calcBase, nodesArr); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         recursionNode(subNodes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     if (nodesArr.includes(node) && !orderArr.includes(node)) orderArr.push(node); 
			 |