| 
					
				 | 
			
			
				@@ -13,7 +13,6 @@ let feeRateData = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 let isSaving = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 let projectProperty = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 let fileDelObj = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-let selectedInfo = {project: null, engineering: null};//新建单位工程,建设项目和单项工程下拉选择 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 let projectType = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     folder: 'Folder', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     tender: 'Tender', 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -358,10 +357,16 @@ $(document).ready(function() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // 新增单位工程弹层改变 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     $('#add-tender-dialog').on('show.bs.modal', function() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //clear info 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $('#poj-name-info').hide(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $('#eng-name-info').hide(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $('#tender-name-info').hide(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $('#tender-name').val(''); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //获取建设项目 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let selected = Tree.selected(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let projs = getProjs(selected); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         setProjOptions(projs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       $($("input[name='valuation_type']")[0]).click(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // 新增单位工程 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -949,24 +954,41 @@ function existName(name , nodes){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function getProjs(selected){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     let rst = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     let temp; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    let firstNode; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if(!selected){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         temp = Tree._root.children; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        firstNode = temp[0]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     else if(selected.data.projType === projectType.folder){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         temp = selected.children; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        firstNode = temp[0]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     else if(selected.data.projType === projectType.project){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         temp = selected.parent.children; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        firstNode = temp[0]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     else if(selected.data.projType === projectType.engineering || selected.data.projType === projectType.tender){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let proj = selected.parent.data.projType === projectType.project ? selected.parent : selected.parent.parent; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         temp = proj.parent.children; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        firstNode = proj; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     for(let i = 0, len = temp.length; i < len; i++){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if(temp[i].data.projType === projectType.project){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             rst.push(temp[i]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //firstNode to first place 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    let index = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    for(let i = 0, len = rst.length; i < len; i++){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(rst[i].data.ID === firstNode.data.ID){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            index = i; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if(index){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        rst.splice(index, 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        rst.splice(0, 0, firstNode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return rst; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -981,6 +1003,7 @@ function setFileOptions(projID){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         getUnitFile(projID, function (response) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $("#unit-price").children("option:not(':first')").remove(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (response.data.length <= 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -988,17 +1011,16 @@ function setFileOptions(projID){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             for(let tmp of response.data) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 unitFileHtml += '<option value="'+ tmp.id +'">'+ tmp.name +'</option>'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            $("#unit-price").children("option:not(':first')").remove(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             $("#unit-price").children("option").first().after(unitFileHtml); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 获取费率文件数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         getFeeRateFile(projID, function (response) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (response.data.length <= 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             let first = $("#tender-fee-rate").children("option").first(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             $("#tender-fee-rate").empty(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             $("#tender-fee-rate").append(first); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (response.data.length <= 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             for(let tmp of response.data) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 let option =  $("<option>").val(tmp.ID).text(tmp.name); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 $("#tender-fee-rate").append(option); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1011,12 +1033,8 @@ function setFileOptions(projID){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function setProjOptions(projs){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     $("#poj-name-list").empty(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     $("#poj-name").val(""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    selectedInfo.project = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if(projs.length > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $("#poj-name").val(projs[0].data.name); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        selectedInfo.project = Object.create(null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        selectedInfo.project.ID = projs[0].data.ID; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        selectedInfo.project.name = projs[0].data.name; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         setFileOptions(projs[0].data.ID); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         setEngOptions(projs[0].data.ID); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         for(let i = 0, len = projs.length; i < len; i++){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1024,8 +1042,6 @@ function setProjOptions(projs){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             proj.addClass("dropdown-item"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             proj.attr("type", "button"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             proj.click(function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                selectedInfo.project.ID = projs[i].data.ID; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                selectedInfo.project.name = projs[i].data.name; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 $("#poj-name").val(projs[i].data.name); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 setFileOptions(projs[i].data.ID); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 setEngOptions(projs[i].data.ID); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1043,21 +1059,33 @@ function setEngOptions(projID){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     let proj = Tree.findNode(projID) || null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     $("#eng-name-list").empty(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     $("#eng-name").val(""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    selectedInfo.engineering = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if(proj){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let engineerings = proj.children; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //set selected engineering to first place 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let selected = Tree.selected(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let firstNode = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(selected && (selected.data.projType === projectType.engineering || selected.data.projType === projectType.tender)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            firstNode = selected.data.projType === projectType.engineering ? selected : selected.parent; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(firstNode){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let index = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for(let i = 0, len = engineerings.length; i < len; i++){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(firstNode.data.ID === engineerings[i].data.ID){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    index = i; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(index){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                engineerings.splice(index, 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                engineerings.splice(0, 0, firstNode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if(engineerings.length > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             $("#eng-name").val(engineerings[0].data.name); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            selectedInfo.engineering = Object.create(null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            selectedInfo.engineering.ID = engineerings[0].data.ID; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            selectedInfo.engineering.name = engineerings[0].data.name; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             for(let i = 0, len = engineerings.length; i < len; i++){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 let eng = $("<button>").val(engineerings[i].data.ID).text(engineerings[i].data.name); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 eng.addClass("dropdown-item"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 eng.attr("type", "button"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 eng.click(function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    selectedInfo.engineering.ID = engineerings[i].data.ID; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    selectedInfo.engineering.name = engineerings[i].data.name; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     $("#eng-name").val(engineerings[i].data.name); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 $("#eng-name-list").append(eng); 
			 |