| 
					
				 | 
			
			
				@@ -93,61 +93,61 @@ const XMLStandard = (function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         '修复': '23', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         '其他': '99', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-/*     // 需要用固定类别关联的费用字典,用固定类别来映射 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // 数据节选自标准pdf文件《《建设工程政府投资项目造价数据标准》信息公开版》,附录C-费用名称与费用代号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // 若映射表中没有映射关系,则费用字典取名称首字母 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    const FlagFeeCodeMap = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // 分部分项工程 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        [fixedFlag.SUB_ENGINERRING]: 'QDF', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // 措施项目 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        [fixedFlag.MEASURE]: 'CSF', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // 其他项目 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        [fixedFlag.OTHER]: 'QTF', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // 措施项目的子项 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        [fixedFlag.GREEN_MEASURE_FEE]: 'AQWMSGF', // 绿色施工安全防护措施费 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        [fixedFlag.OTHER_MEASURE_FEE]: 'QTCSF', // 其他措施费 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // 其他项目的子项 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        [fixedFlag.PROVISIONAL]: 'ZLF', // 暂列金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        [fixedFlag.ESTIMATE]: 'ZGJ', // 暂估价 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        [fixedFlag.MATERIAL_PROVISIONAL]: 'ZGC', // 材料(工程设备)暂估价 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        [fixedFlag.ENGINEERING_ESITIMATE]: 'ZGGC', // 专业工程暂估价 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        [fixedFlag.DAYWORK]: 'LXF', // 计日工 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        [fixedFlag.TURN_KEY_CONTRACT]: 'ZCBFWF', // 总承包服务费 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        [fixedFlag.BUDGET_INCLUDE_WORK_FEE]: 'YSBGF', // 预算包干费 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        [fixedFlag.PROJECT_HIGH_QUALITY_FEE]: 'GCYZF', // 工程优质费 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        [fixedFlag.BUDGET_ESTIMATE_DIFF]: 'GSFDC', // 概算幅度差 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        [fixedFlag.CLAIM]: 'SPFY', // 索赔费用 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        [fixedFlag.VISA]: 'XCQZFY', // 现场签证 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        [fixedFlag.OTHER_FEE]: 'QTFY', // 其他费用 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // 税金 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        [fixedFlag.TAX]: 'SJ', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // 工程造价 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        [fixedFlag.ENGINEERINGCOST]: 'ZZJ', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }; */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /*     // 需要用固定类别关联的费用字典,用固定类别来映射 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 数据节选自标准pdf文件《《建设工程政府投资项目造价数据标准》信息公开版》,附录C-费用名称与费用代号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 若映射表中没有映射关系,则费用字典取名称首字母 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const FlagFeeCodeMap = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 分部分项工程 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            [fixedFlag.SUB_ENGINERRING]: 'QDF', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 措施项目 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            [fixedFlag.MEASURE]: 'CSF', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 其他项目 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            [fixedFlag.OTHER]: 'QTF', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 措施项目的子项 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            [fixedFlag.GREEN_MEASURE_FEE]: 'AQWMSGF', // 绿色施工安全防护措施费 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            [fixedFlag.OTHER_MEASURE_FEE]: 'QTCSF', // 其他措施费 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 其他项目的子项 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            [fixedFlag.PROVISIONAL]: 'ZLF', // 暂列金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            [fixedFlag.ESTIMATE]: 'ZGJ', // 暂估价 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            [fixedFlag.MATERIAL_PROVISIONAL]: 'ZGC', // 材料(工程设备)暂估价 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            [fixedFlag.ENGINEERING_ESITIMATE]: 'ZGGC', // 专业工程暂估价 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            [fixedFlag.DAYWORK]: 'LXF', // 计日工 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            [fixedFlag.TURN_KEY_CONTRACT]: 'ZCBFWF', // 总承包服务费 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            [fixedFlag.BUDGET_INCLUDE_WORK_FEE]: 'YSBGF', // 预算包干费 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            [fixedFlag.PROJECT_HIGH_QUALITY_FEE]: 'GCYZF', // 工程优质费 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            [fixedFlag.BUDGET_ESTIMATE_DIFF]: 'GSFDC', // 概算幅度差 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            [fixedFlag.CLAIM]: 'SPFY', // 索赔费用 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            [fixedFlag.VISA]: 'XCQZFY', // 现场签证 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            [fixedFlag.OTHER_FEE]: 'QTFY', // 其他费用 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 税金 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            [fixedFlag.TAX]: 'SJ', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 工程造价 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            [fixedFlag.ENGINEERINGCOST]: 'ZZJ', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }; */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // 需要用计算基数关联的费用字典 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-/*     const FormulaFeeCodeMap = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        '{分部分项工程费}': 'QDF', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        '{分部分项人工费}': 'QRG', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        '{分部分项材料费}': 'QCL', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        '{分部分项施工机具费}': 'QJX', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        '{分部分项主材费}': 'QZCF', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        '{分部分项设备费}': 'QSBF', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        '{分部分项人工工日}': 'FBFXRGGR', // 标准没有,自增 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        '{建筑面积}': 'JZMZ', // 自增 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        '{措施项目费}': 'CSF', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        '{其他项目费}': 'QTF', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        '{甲供人工费}': 'JGRGF', // 自增 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        '{甲供材料费}': 'JGC', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        '{甲供施工机具费}': 'JGSGJJF', // 自增 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        '{甲定人工费}': 'JDRGF', // 自增 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        '{甲定材料费}': 'JDCLF', // 自增 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        '{甲定施工机具费}': 'JDSGJJF', // 自增 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        '{甲定主材费}': 'JDZCF', // 自增 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        '{甲定设备费}': 'JDSBF', // 自增 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        '{暂估材料费(从子目汇总)}': 'ZGCLFCZMHZ', // 自增 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        '{税金}': 'SJ', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }; */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /*     const FormulaFeeCodeMap = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            '{分部分项工程费}': 'QDF', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            '{分部分项人工费}': 'QRG', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            '{分部分项材料费}': 'QCL', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            '{分部分项施工机具费}': 'QJX', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            '{分部分项主材费}': 'QZCF', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            '{分部分项设备费}': 'QSBF', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            '{分部分项人工工日}': 'FBFXRGGR', // 标准没有,自增 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            '{建筑面积}': 'JZMZ', // 自增 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            '{措施项目费}': 'CSF', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            '{其他项目费}': 'QTF', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            '{甲供人工费}': 'JGRGF', // 自增 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            '{甲供材料费}': 'JGC', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            '{甲供施工机具费}': 'JGSGJJF', // 自增 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            '{甲定人工费}': 'JDRGF', // 自增 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            '{甲定材料费}': 'JDCLF', // 自增 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            '{甲定施工机具费}': 'JDSGJJF', // 自增 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            '{甲定主材费}': 'JDZCF', // 自增 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            '{甲定设备费}': 'JDSBF', // 自增 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            '{暂估材料费(从子目汇总)}': 'ZGCLFCZMHZ', // 自增 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            '{税金}': 'SJ', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }; */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // 费用字典占用列表,普通清单根据首字母获取费用字典时,与下列占用费用字典重复时,需要加上_序号后缀 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     const feeCodeList = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         'QDF', 'QRG', 'QCL', 'QJX', 'ZCSB', 'QZCF', 'QSBF', 'QGL', 'QLR', 'QZGJ', 'CSF', 'AQWMSGF', 'AXSJSCSXMF', 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -366,7 +366,7 @@ const XMLStandard = (function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 const feeCode = getFeeCode(null, base); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (/[\(\)]/.test(base)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     // 将()进行处理不然会被当成组 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    base = base.replace(/[\(\)]/g, function(matched) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    base = base.replace(/[\(\)]/g, function (matched) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         return matched === '(' ? '\\(' : '\\)' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2270,11 +2270,20 @@ const XMLStandard = (function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // attrList 单位工程的工程特征,来自property.projectFeature 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         function loadAttrInfo(attrList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             const attrInfo = new Info('AttrInfo'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            // 有值的才输出 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            attrInfo.children = attrList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                .filter(attr => commonUtil.isDef(attr.value)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                .map(attr => new InfoItem('AttrInfoItem', attr)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return attrInfo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            attrInfo.children = loadItems(attrList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 递归导出子项 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            function loadItems(items) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                const children = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                items.forEach(item => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    const infoItem = new InfoItem('AttrInfoItem', item); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    children.push(infoItem); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (item.items && item.items.length) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        infoItem.children = loadItems(item.items); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return children; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 加载补充信息(基本信息所有条目) 
			 |