| 
					
				 | 
			
			
				@@ -24,6 +24,10 @@ let fileType = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     feeRateFile: 'FeeRateFile' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+let taxTypeMap = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    1:"一般计税", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    2:"简易计税" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const projTreeObj = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     tree: null, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1084,6 +1088,13 @@ $(document).ready(function() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         changeEngineering(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //选择计税方式 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $("#taxType").change(function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $('#valuation-info').hide(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        getStdCalcProgramFiles(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // 新增单项项目点击 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /* $("#add-engineering-btn").click(function() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let selectedItem = projTreeObj.tree.selected; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1113,7 +1124,7 @@ $(document).ready(function() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     });*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     //新建单位工程-建设项目提示 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    $('#poj-name').change(function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $('#poj-name').keyup(function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let pojName = $('#poj-name').val().trim(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let nameList = getNameList($('#poj-name-list').children()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let isExist = hasListName(nameList, pojName); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1122,25 +1133,40 @@ $(document).ready(function() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 replaceClass($('#poj-name-info'), 'text-danger', 'text-info'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 setDangerInfo($('#poj-name-info'), `新建“${pojName}”`); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                $('#poj-name-info').hide(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             //清空单项工程下拉和文件下拉 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             setEngOptions(null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             setFileOptions(null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //触发选项 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let curName = $(this).val().trim(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            function getProjOpt(opts){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                for(let opt of opts){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if($(opt).text().trim() === curName){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        return $(opt); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let matchOpt = getProjOpt($('#poj-name-list').find('button')); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(matchOpt){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                matchOpt.click(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             $('#poj-name-info').hide(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     //新建单位工程-单项工程提示 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    $('#eng-name').change(function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $('#eng-name').keyup(function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let engName = $('#eng-name').val().trim(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let nameList = getNameList($('#eng-name-list').children()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let isExist = hasListName(nameList, engName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(!isExist){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if(engName !== ''){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                replaceClass($('#eng-name-info'), 'text-danger', 'text-info'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                setDangerInfo($('#eng-name-info'), `新建“${engName}”`); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(!isExist && engName !== ''){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            replaceClass($('#eng-name-info'), 'text-danger', 'text-info'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            setDangerInfo($('#eng-name-info'), `新建“${engName}”`); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             $('#eng-name-info').hide(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1148,7 +1174,7 @@ $(document).ready(function() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     //新建单位工程-单位工程提示 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    $('#tender-name').change(function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $('#tender-name').keyup(function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let selected = projTreeObj.tree.selected; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let pojName = $('#poj-name').val().trim(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let engName = $('#eng-name').val().trim(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1394,46 +1420,71 @@ $(document).ready(function() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     function changeEngineering(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $('#engineering-info').hide(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let engineeringList = getEngineeringList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(engineeringList.length === 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let selectedEngineering = $("#tender-engineering").val(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        selectedEngineering = parseInt(selectedEngineering); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let currentLib = {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        for(let engineering of engineeringList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (engineering.engineering === selectedEngineering) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                currentLib = engineering.lib; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(engineeringList.length > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let selectedEngineering = $("#tender-engineering").val(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let currentLib = {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for(let engineering of engineeringList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (engineering.engineering_id === selectedEngineering) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    currentLib = engineering.lib; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (Object.keys(currentLib).length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                // 输出数据到页面 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (currentLib.fee_lib !== undefined && currentLib.fee_lib.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    $("#tender-fee-rate").children("option").first().val("newFeeRate-"+currentLib.fee_lib[0].id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                $("#tender-engineering").parent().siblings('.hidden-area').slideDown('fast'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        setTaxGroupHtml(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        getStdCalcProgramFiles(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (Object.keys(currentLib).length <= 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    function setTaxGroupHtml() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let groups = getTaxGroupList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let taxTypeArray = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let htmlString = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(groups && groups.length > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            taxTypeArray = _.uniq(_.map(groups,'taxType')); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // 输出数据到页面 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (currentLib.fee_lib !== undefined && currentLib.fee_lib.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            $("#tender-fee-rate").children("option").first().val("newFeeRate-"+currentLib.fee_lib[0].id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for(let t of taxTypeArray){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+             htmlString += "<option value='"+t+"'>"+taxTypeMap[t]+"</option>" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        $("#tender-engineering").parent().siblings('.hidden-area').slideDown('fast'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        function getStdCalcProgramFiles(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            function getStdCPFilesHtml(stdCPLibs) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                let result = '<option value="">请选择计算程序</option>'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (stdCPLibs.length <= 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $('#taxType').html(htmlString); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(taxTypeArray.length <2){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $('#taxType_div').hide(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $('#taxType_div').show(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        console.log(taxTypeArray); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                for (let lib of stdCPLibs){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    result += '<option value='+ lib.id +'>'+ lib.name +'</option>'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    function getStdCalcProgramFiles(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        function getStdCPFilesHtml(taxGroups) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let result = '<option value="">请选择计算程序</option>'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (taxGroups.length <= 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            let stdCPHtml = getStdCPFilesHtml(getcalcProgramList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            $("#tender-calcProgram").html(stdCPHtml); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if ($("#tender-calcProgram")[0].options.length > 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                $("#tender-calcProgram")[0].selectedIndex = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for (let group of taxGroups){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                let groupString = ""; //把计算程序、清单模板、列设置的ID生成一个组合的值 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                let p_id = group.program_lib?group.program_lib.id:""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                let t_id = group.template_lib?group.template_lib.id:""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                let c_id = group.col_lib?group.col_lib.id:""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                groupString = p_id + "|-|" +t_id+"|-|"+c_id; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                result += '<option value='+ groupString +'>'+ group.program_lib.name +'</option>'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        getStdCalcProgramFiles(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let taxType = $("#taxType").val(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let stdCPHtml = getStdCPFilesHtml(getTaxGroupList(taxType)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $("#tender-calcProgram").html(stdCPHtml); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if ($("#tender-calcProgram")[0].options.length > 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $("#tender-calcProgram")[0].selectedIndex = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // 选择工程专业后动态更改费率文件等数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     $("#tender-engineering").change(function() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         changeEngineering() 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1810,17 +1861,26 @@ function getEngineeringList(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return engineeringList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-function getcalcProgramList(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function getTaxGroupList(type){//getcalcProgramList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     let egrs = getEngineeringList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    let calcProgramList = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    let groupList = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     let egrID = $("#tender-engineering").val(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     for(let egr of egrs) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (egr.engineering == egrID) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            calcProgramList = egr.lib.program_lib; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (egr.engineering_id == egrID && egr.lib) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(type){//是否要过滤,如果这个参数不传,则返回整个数组; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                for(let group of egr.lib.tax_group){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if(group.taxType == type && group.program_lib){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        groupList.push(group); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                groupList = egr.lib.tax_group; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    return calcProgramList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return groupList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function getNodeByName(name, nodes){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2100,22 +2160,36 @@ function AddTender() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let engineering = $("#tender-engineering").val(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (engineering === '') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let engineering_id = $("#tender-engineering").val(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (engineering_id === '') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             setDangerInfo($('#engineering-info'), '请选择工程专业'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let calcProgram = $("#tender-calcProgram").val(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (calcProgram === '') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let taxType = $("#taxType").val(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(taxType ===""){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let IDGroup = $("#tender-calcProgram").val(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (IDGroup === '') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             setDangerInfo($('#calcProgram-info'), '请选择计算程序'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        IDGroup = IDGroup.split("|-|"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let calcProgram = isNaN(parseInt(IDGroup[0]))?IDGroup[0]:parseInt(IDGroup[0]);//转换成整数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let templateLibID = IDGroup[1]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let colLibID = IDGroup[2]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(templateLibID == ''|| colLibID ==''){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            alert("工程专业配置有误!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let valuationName = $("#valuation").children("option:selected").text(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let valuationType = $("input[name='valuation_type']:checked").val(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let engineering_id = undefined; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let engineering = undefined; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let valuationData = valuationType === 'bill' ? JSON.parse(billValuation) : JSON.parse(rationValuation); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let engineeringList = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         for(let tmp of valuationData) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2126,15 +2200,15 @@ function AddTender() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let libs = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         for(let tmp of engineeringList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (tmp.engineering == engineering) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                engineering_id = tmp.engineering_id; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (tmp.engineering_id == engineering_id) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                engineering = tmp.engineering; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 libs = tmp.lib; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 一个项目里面,这两个文件必须得有,而界面又没有像费率、单价文件那样给出可选项。所以这里给出提示。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (!libs.artificial_lib)  throw '编办没有绑定人工系数标准文件'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (!libs.program_lib)  throw '编办没有绑定计算程序标准文件'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //if (!libs.program_lib)  throw '编办没有绑定计算程序标准文件'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let engineeringName = $('#tender-engineering').children("option:selected").text(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let calcProgramName = $('#tender-calcProgram').children("option:selected").text(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2162,7 +2236,10 @@ function AddTender() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             engineeringName: engineeringName, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             unitPriceFile: {name: unitPriceFileObj.name, id: unitPriceFileObj.id}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             feeFile: {name: feeFileObj.name, id: feeFileObj.id}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            calcProgram: {name: calcProgramName, id: calcProgram} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            calcProgram: {name: calcProgramName, id: calcProgram}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            taxType:taxType, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            templateLibID:templateLibID, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            colLibID:colLibID 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         AddTenderItems(selectedItem, projName, engName, tenderName, tenderInfo, callback); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2495,9 +2572,10 @@ function getEngineeringHtml(engineeringList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     for(let i = 0; i < engineeringList.length; i++){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let tmp = engineeringList[i]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (engineeringObject[tmp.engineering] !== undefined) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        result += `<option ${i === 0 ? 'selected' : ''} value="${tmp.engineering_id}">${tmp.lib.name}</option>`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        /*if (engineeringObject[tmp.engineering] !== undefined) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             result += `<option ${i === 0 ? 'selected' : ''} value="${tmp.engineering}">${engineeringObject[tmp.engineering]}</option>`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /*for(let tmp of engineeringList) { 
			 |