| 
					
				 | 
			
			
				@@ -165,7 +165,8 @@ module.exports = app => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             rptTpl = JSON.parse(rptTpl[0].rpt_content); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // console.log('get the template!'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            const pageRst = await getAllPagesCommon(ctx, rptTpl, params, JV.PAGING_OPTION_NORMAL, JV.OUTPUT_TYPE_NORMAL, this.app.baseDir); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            const customSelect = await ctx.service.rptCustomDefine.getCustomDefine(params.tender_id, params.stage_id, params.rpt_tpl_id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            const pageRst = await getAllPagesCommon(ctx, rptTpl, params, JV.PAGING_OPTION_NORMAL, JV.OUTPUT_TYPE_NORMAL, this.app.baseDir, customSelect); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // console.log(pageRst); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // const roleRel = (params.stage_status === 3) ? (await ctx.service.roleRptRel.getRoleRptRelByDetailIds(params.tender_id, params.rpt_tpl_id)) : []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             const roleRel = await ctx.service.roleRptRel.getRoleRptRelByDetailIds(params.tender_id, params.rpt_tpl_id); // 新需求中,允许在非审核状态下设置签名 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -175,7 +176,6 @@ module.exports = app => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             await encodeSignatureDataUri(roleRel, this.app.baseDir); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             await encodeDummySignatureDataUri(pageRst, this.app.baseDir); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             const stageFlow = await ctx.service.stageAudit.getAuditGroupByListWithOwner(params.stage_id, params.stage_times); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            const customSelect = await ctx.service.rptCustomDefine.getCustomDefine(params.tender_id, params.stage_id, params.rpt_tpl_id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // console.log('encodeSignatureDataUri!'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -527,12 +527,12 @@ async function checkStg(ctx, params) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return rst; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-async function getAllPagesCommon(ctx, rptTpl, params, option, outputType, baseDir) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+async function getAllPagesCommon(ctx, rptTpl, params, option, outputType, baseDir, customSelect) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     const rptDataUtil = new rptDataExtractor(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     rptDataUtil.initialize(rptTpl); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     const filter = rptDataUtil.getDataRequestFilter(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // console.log(filter.tables); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    const rawDataObj = await ctx.service.report.getReportData(params, filter.tables, filter.memFieldKeys, rptTpl); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const rawDataObj = await ctx.service.report.getReportData(params, filter.tables, filter.memFieldKeys); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // console.log(rawDataObj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         const printCom = JpcEx.createNew(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -546,7 +546,7 @@ async function getAllPagesCommon(ctx, rptTpl, params, option, outputType, baseDi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // console.log(defProperties); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // console.log('before assemble'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        const tplData = rptDataUtil.assembleData(ctx, rawDataObj, baseDir, printCom); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const tplData = rptDataUtil.assembleData(ctx, rawDataObj, baseDir, printCom, customSelect); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // console.log(tplData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (params.custCfg) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -639,7 +639,8 @@ async function getMultiRptsCommon(ctx, params, outputType, baseDir) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         for (let tplIdx = 0; tplIdx < rptTpls.length; tplIdx++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             const rptTpl = (rptTpls[tplIdx]._doc) ? rptTpls[tplIdx]._doc : rptTpls[tplIdx]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             rptDataUtil.initialize(rptTpl); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            const tplData = rptDataUtil.assembleData(ctx, rawDataObj, baseDir); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            const customSelect = await ctx.service.rptCustomDefine.getCustomDefine(params.tender_id, params.stage_id, rptTpls[tplIdx].id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            const tplData = rptDataUtil.assembleData(ctx, rawDataObj, baseDir, null, customSelect); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             const printCom = JpcEx.createNew(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             rptTpl[JV.NODE_MAIN_INFO][JV.NODE_PAGE_INFO][JV.PROP_PAGE_SIZE] = params.pageSize; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |