|
@@ -888,8 +888,44 @@ let rptControlObj = {
|
|
|
|
|
|
function downloadPDFReport(pageDataArr, pageSize, rpt_names, signatureRelArr, signatureRelInfo, refRptTplIds, STAGE_AUDIT) {
|
|
|
rptControlObj.currentDownloadIdx = 0;
|
|
|
- const private_download = function() {
|
|
|
- if (rptControlObj.currentDownloadIdx < pageDataArr.length) {
|
|
|
+ const _resetPageDataByBreaks = function(breakAmt, newRptNames) {
|
|
|
+ let rst = [];
|
|
|
+ for (let pi = 0; pi < pageDataArr.length; pi++) {
|
|
|
+ let pageItem = pageDataArr[pi];
|
|
|
+ let currentRptName = rpt_names[pi];
|
|
|
+ if (pageItem.items.length > breakAmt) {
|
|
|
+ let pa = Math.floor(pageItem.items.length / breakAmt);
|
|
|
+ if (pageItem.items.length % breakAmt > 0) {
|
|
|
+ pa++;
|
|
|
+ }
|
|
|
+ for (let idx = 0; idx < pa; idx++) {
|
|
|
+ let newPageDataObj = {items: []};
|
|
|
+ // newPageDataObj[JV.NODE_PAGE_INFO] = JSON.parse(JSON.stringify(pageItem[JV.NODE_PAGE_INFO]));
|
|
|
+ newPageDataObj[JV.NODE_PAGE_INFO] = pageItem[JV.NODE_PAGE_INFO];
|
|
|
+ // newPageDataObj[JV.BAND_PROP_MERGE_BAND] = JSON.parse(JSON.stringify(pageItem[JV.BAND_PROP_MERGE_BAND]));
|
|
|
+ newPageDataObj[JV.BAND_PROP_MERGE_BAND] = pageItem[JV.BAND_PROP_MERGE_BAND];
|
|
|
+
|
|
|
+ newPageDataObj[JV.NODE_FONT_COLLECTION] = pageItem[JV.NODE_FONT_COLLECTION];
|
|
|
+ newPageDataObj[JV.NODE_STYLE_COLLECTION] = pageItem[JV.NODE_STYLE_COLLECTION];
|
|
|
+ newPageDataObj[JV.NODE_CONTROL_COLLECTION] = pageItem[JV.NODE_CONTROL_COLLECTION];
|
|
|
+
|
|
|
+ for ( let dIdx = idx * breakAmt; dIdx < (Math.min( (idx + 1) * breakAmt, pageItem.items.length)); dIdx++) {
|
|
|
+ // newPageDataObj.items.push(JSON.parse(JSON.stringify( pageItem.items[dIdx] )));
|
|
|
+ newPageDataObj.items.push(pageItem.items[dIdx]);
|
|
|
+ }
|
|
|
+ rst.push(newPageDataObj);
|
|
|
+ newRptNames.push(currentRptName + '_' + (idx + 1));
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ rst.push(pageItem);
|
|
|
+ newRptNames.push(currentRptName);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return rst;
|
|
|
+ };
|
|
|
+
|
|
|
+ const private_download = function(newPageDataArr, new_rpt_rames) {
|
|
|
+ if (rptControlObj.currentDownloadIdx < newPageDataArr.length) {
|
|
|
let singleSignatureRelArr = [];
|
|
|
for (let rIdx = 0; rIdx < signatureRelInfo.length; rIdx++) {
|
|
|
// for (const rptId of refRptTplIds) {
|
|
@@ -908,14 +944,21 @@ function downloadPDFReport(pageDataArr, pageSize, rpt_names, signatureRelArr, si
|
|
|
// break;
|
|
|
// }
|
|
|
}
|
|
|
- let pageData = pageDataArr[rptControlObj.currentDownloadIdx];
|
|
|
- let rptName = rpt_names[rptControlObj.currentDownloadIdx];
|
|
|
+ let pageData = newPageDataArr[rptControlObj.currentDownloadIdx];
|
|
|
+ let rptName = new_rpt_rames[rptControlObj.currentDownloadIdx];
|
|
|
rptControlObj.currentDownloadIdx++;
|
|
|
JpcJsPDFHelper.outputAsPdf(pageData, pageSize, rptName, singleSignatureRelArr, STAGE_AUDIT); // 精确控制签名
|
|
|
- if (rptControlObj.currentDownloadIdx < pageDataArr.length) setTimeout(private_download, 2000);
|
|
|
+ if (rptControlObj.currentDownloadIdx < newPageDataArr.length) setTimeout(private_download(newPageDataArr, new_rpt_rames), 2000);
|
|
|
}
|
|
|
- }
|
|
|
- private_download();
|
|
|
+ };
|
|
|
+ /*
|
|
|
+ // 这里控制导出PDF的页码数量(如果有设置的话)
|
|
|
+ let newRptNames = []; //这个为导出PDF控制分页用
|
|
|
+ let newPageDataRst = _resetPageDataByBreaks(10, newRptNames);
|
|
|
+ private_download(newPageDataRst, newRptNames);
|
|
|
+ /*/
|
|
|
+ private_download(pageDataArr, rpt_names);
|
|
|
+ //*/
|
|
|
}
|
|
|
|
|
|
function downloadReport(urls) {
|