| 
					
				 | 
			
			
				@@ -31,23 +31,50 @@ let selectFBObject = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    showTreeData:function(roots){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let me = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let parentIDs = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let node = me.getSelectedNode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(node) parentIDs = me.getAllParentIDs(node); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.datas = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for(let r of roots){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            me.setDatas(r,parentIDs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        sheetCommonObj.showTreeData(me.spread.getSheet(0), me.setting, me.datas); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let row = me.getSelectedRow(node); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        me.spread.getSheet(0).setSelection(row,0,1,1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        me.spread.getSheet(0).showRow(row, GC.Spread.Sheets.VerticalPosition.center); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     showData:function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let budgetType = projectObj.project.property.budgetType||commonConstants.BudgetType.BUILDING; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(budgetType===commonConstants.BudgetType.BUILDING){//建筑安装工程显示清单树 显示定额章节树 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.showRationTree(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }else{//城市轨道交通工程 显示分部 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.showBillTree(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    showRationTree:async function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let rationLibID = rationLibObj.getDefaultStdRationLibID(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(!this.rationChapterTree){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $.bootstrapLoading.start(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let treeData = await ajaxPost('/complementaryRation/api/getRationTree', {userId: userID, rationRepId: rationLibID, type: 1}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.rationChapterTree = idTree.createNew({id: 'ID', pid: 'ParentID', nid: 'NextSiblingID', rootId: -1, autoUpdate: false}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            rationChapterTree.loadDatas(treeData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $.bootstrapLoading.end(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(this.rationChapterTree.roots.length >0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.showTreeData(this.rationChapterTree.roots[0].children); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    showBillTree:function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let me = selectFBObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        billsGuidance.initBillsLibs(()=>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            let parentIDs = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            let node = me.getSelectedNode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if(node) parentIDs = me.getAllParentIDs(node); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            this.datas = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            for(let r of billsGuidance.bills.tree.roots){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                selectFBObject.setDatas(r,parentIDs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            sheetCommonObj.showTreeData(me.spread.getSheet(0), me.setting, me.datas); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            let row = me.getSelectedRow(node); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            me.spread.getSheet(0).setSelection(row,0,1,1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            me.spread.getSheet(0).showRow(row, GC.Spread.Sheets.VerticalPosition.center); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        billsGuidance.initBillsLibs(()=>{  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            me.showTreeData(billsGuidance.bills.tree.roots); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     getSelectedRow:function(node){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let row = 0;//要选中的行;    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if(node){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -88,18 +115,26 @@ let selectFBObject = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    setDatas:function(node,parentIDs){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(node.children.length > 0){//过滤叶子节点 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            let nodeData = node.data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            let d = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                ID:nodeData.ID, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                ParentID:nodeData.ParentID, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                code:nodeData.code, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                name:nodeData.name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                unit:nodeData.unit 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    setDatas:function(node,parentIDs){    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let budgetType = projectObj.project.property.budgetType||commonConstants.BudgetType.BUILDING; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let nodeData = node.data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let d = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ID:nodeData.ID, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ParentID:nodeData.ParentID, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            code:nodeData.code, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            name:nodeData.name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            unit:nodeData.unit 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(nodeData.name  && budgetType === commonConstants.BudgetType.BUILDING){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let index = nodeData.name.indexOf(' '); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(index !== -1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                d.code = nodeData.name.substring(0,index); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                d.name = nodeData.name.substring(index+1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if(parentIDs.includes(d.ID)) d.collapsed = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            this.datas.push(d); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(parentIDs.includes(d.ID)) d.collapsed = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.datas.push(d); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(node.children.length > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             for(let c of node.children){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 this.setDatas(c,parentIDs) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 |