|  | @@ -814,6 +814,11 @@ let rptControlObj = {
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      downloadExcelReport: async function(pageDataArr, pageSize, rpt_names, signatureRelArr) {
 | 
	
		
			
				|  |  | +        const MAX_BRK_PAGE = 300;
 | 
	
		
			
				|  |  | +        const __sleep = (n) => {
 | 
	
		
			
				|  |  | +            var start = new Date().getTime();
 | 
	
		
			
				|  |  | +            while(true)  if(new Date().getTime()-start > n) break;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |          const private_download = async function(currentIndex) {
 | 
	
		
			
				|  |  |              if (currentIndex < pageDataArr.length) {
 | 
	
		
			
				|  |  |                  //这里的数据应该在调用前己处理
 | 
	
	
		
			
				|  | @@ -824,8 +829,28 @@ let rptControlObj = {
 | 
	
		
			
				|  |  |                  await excelExportUtil.exportExcel(pageDataArr[currentIndex], pageSize, rptName, singlePage, null, null, role_rel_list, null, getStageStatus() !== 3);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          };
 | 
	
		
			
				|  |  | +        const _splitDownload = async (currentIndex) => {
 | 
	
		
			
				|  |  | +            if (currentIndex < pageDataArr.length) {
 | 
	
		
			
				|  |  | +                const rptName = rpt_names[currentIndex];
 | 
	
		
			
				|  |  | +                const ttlPages = pageDataArr[currentIndex].items.length;
 | 
	
		
			
				|  |  | +                const splitAmt = Math.ceil(ttlPages / MAX_BRK_PAGE);
 | 
	
		
			
				|  |  | +                const singlePage = true;
 | 
	
		
			
				|  |  | +                let role_rel_list = signatureRelArr[currentIndex];
 | 
	
		
			
				|  |  | +                const bkItems = [].concat(pageDataArr[currentIndex].items);
 | 
	
		
			
				|  |  | +                for (let sIdx = 0; sIdx < splitAmt; sIdx++) {
 | 
	
		
			
				|  |  | +                    let dlItems = bkItems.slice(sIdx * MAX_BRK_PAGE, (sIdx + 1) * MAX_BRK_PAGE);
 | 
	
		
			
				|  |  | +                    pageDataArr[currentIndex].items = dlItems;
 | 
	
		
			
				|  |  | +                    await excelExportUtil.exportExcel(pageDataArr[currentIndex], pageSize, `${rptName}${sIdx}`, singlePage, null, null, role_rel_list, null, getStageStatus() !== 3);
 | 
	
		
			
				|  |  | +                    if (sIdx < splitAmt - 1) __sleep(10000);
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        };
 | 
	
		
			
				|  |  |          for (let idx = 0; idx < pageDataArr.length; idx++) {
 | 
	
		
			
				|  |  | -            await private_download(idx);
 | 
	
		
			
				|  |  | +            if (pageDataArr[idx].items.length > MAX_BRK_PAGE) {
 | 
	
		
			
				|  |  | +                await private_download(idx); // 应该用_splitDownload方法,只是目前的判断条件还不够理想,需要在qa上再仔细调整,在外网需要临时debug来分批导出
 | 
	
		
			
				|  |  | +            } else {
 | 
	
		
			
				|  |  | +                await private_download(idx);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |  
 |