|
@@ -10,6 +10,10 @@ let ROLE_REL_LIST = [];
|
|
|
let current_stage_id = -1;
|
|
|
let BGL_OBJ = null;
|
|
|
let OSS_PATH = '';
|
|
|
+const PREVIEW_SVG_DATA = [];
|
|
|
+const PRINT_SVG_DATA = [];
|
|
|
+const ORG_PIXEL_SIZE = [];
|
|
|
+const ACT_AREA = [];
|
|
|
// 设置Date对象Format函数
|
|
|
// -- 打印预览需要重新设置一遍 ------------------------------------------------
|
|
|
Date.prototype.Format = function(fmt) {
|
|
@@ -35,6 +39,7 @@ async function printPageLoading() {
|
|
|
printPageDirectLoading();
|
|
|
} else {
|
|
|
let params = JSON.parse(sessionStorage.report_params);
|
|
|
+ params.pageSize = PAGE_SIZE;
|
|
|
let _current_stage_status = parseInt(sessionStorage.current_stage_status);
|
|
|
let closeWaterMark = parseInt(sessionStorage.closeWaterMark);
|
|
|
let refRptTplIds = JSON.parse(sessionStorage.refRptTplIds);
|
|
@@ -87,11 +92,17 @@ async function printPageLoading() {
|
|
|
$(document).attr("title", pageData[JV.NODE_PAGE_INFO][JV.NODE_MAIN_INFO_RPT_NAME]);
|
|
|
}
|
|
|
let orgPixelSize = getPixelSize(pageData);
|
|
|
+ ORG_PIXEL_SIZE.push(orgPixelSize);
|
|
|
let actArea = getActualArea(pageData);
|
|
|
- let svgArr = rptPrintHelper.buildSvgArr(pageData, actArea, G_OFFSET_X, G_OFFSET_Y, closeWaterMark);
|
|
|
+ ACT_AREA.push(actArea);
|
|
|
+ let svgArr = rptPrintHelper.buildSvgArr(pageData, actArea, G_OFFSET_X, G_OFFSET_Y, closeWaterMark, true);
|
|
|
+ PREVIEW_SVG_DATA.push(svgArr);
|
|
|
+ let actSvgArr = rptPrintHelper.buildSvgArr(pageData, actArea, G_OFFSET_X, G_OFFSET_Y, closeWaterMark, false);
|
|
|
+ PRINT_SVG_DATA.push(actSvgArr);
|
|
|
restoreSignCells(pageData, dtlSignCells, null, null, isTextSignature, false);
|
|
|
- let orientation = "纵向";
|
|
|
- showPreviewData(svgArr, actArea, scaleFactor, sessionStorage.pageSize, orientation, orgPixelSize);
|
|
|
+ // let orientation = "纵向";
|
|
|
+ let orientation = "横向";
|
|
|
+ showPreviewData(svgArr, actArea, scaleFactor, sessionStorage.pageSize, orientation, orgPixelSize, true);
|
|
|
}
|
|
|
// window.print();
|
|
|
},
|
|
@@ -112,55 +123,21 @@ function printPageDirectLoading() {
|
|
|
let pageData = JSON.parse(sessionStorage.report_direct_data);
|
|
|
$(document).attr("title", pageData[JV.NODE_PAGE_INFO][JV.NODE_MAIN_INFO_RPT_NAME]);
|
|
|
let orgPixelSize = getPixelSize(pageData);
|
|
|
+ ORG_PIXEL_SIZE.push(orgPixelSize);
|
|
|
let actArea = getActualArea(pageData);
|
|
|
+ ACT_AREA.push(actArea);
|
|
|
let closeWaterMark = parseInt(sessionStorage.closeWaterMark);
|
|
|
- let svgArr = rptPrintHelper.buildSvgArr(pageData, actArea, G_OFFSET_X, G_OFFSET_Y, closeWaterMark);
|
|
|
- let orientation = "纵向";
|
|
|
+ let svgArr = rptPrintHelper.buildSvgArr(pageData, actArea, G_OFFSET_X, G_OFFSET_Y, closeWaterMark, true);
|
|
|
+ PREVIEW_SVG_DATA.push(svgArr);
|
|
|
+ let actSvgArr = rptPrintHelper.buildSvgArr(pageData, actArea, G_OFFSET_X, G_OFFSET_Y, closeWaterMark, false);
|
|
|
+ PRINT_SVG_DATA.push(actSvgArr);
|
|
|
+ // let orientation = "纵向";
|
|
|
+ let orientation = "横向";
|
|
|
let scaleFactor = 1;
|
|
|
- showPreviewData(svgArr, actArea, scaleFactor, sessionStorage.pageSize, orientation, orgPixelSize);
|
|
|
+ showPreviewData(svgArr, actArea, scaleFactor, sessionStorage.pageSize, orientation, orgPixelSize, true);
|
|
|
}
|
|
|
|
|
|
-function printPageLoading_bk() {
|
|
|
- if (sessionStorage.multiRptsData) {
|
|
|
- let multiRptData = JSON.parse(sessionStorage.multiRptsData);
|
|
|
- let scaleFactor = parseInt(sessionStorage.scaleFactor);
|
|
|
- let closeWaterMark = parseInt(sessionStorage.closeWaterMark);
|
|
|
- for (let idx = 0; idx < multiRptData.length; idx++) {
|
|
|
- let pageData = multiRptData[idx];
|
|
|
- if (idx === 0) {
|
|
|
- $(document).attr("title", pageData[JV.NODE_PAGE_INFO][JV.NODE_MAIN_INFO_RPT_NAME]);
|
|
|
- }
|
|
|
- let orgPixelSize = getPixelSize(pageData);
|
|
|
- let actArea = getActualArea(pageData);
|
|
|
- let svgArr = rptPrintHelper.buildSvgArr(pageData, actArea, G_OFFSET_X, G_OFFSET_Y, closeWaterMark);
|
|
|
- //let orientation = (pageData[JV.NODE_PAGE_INFO][JV.NODE_PAGE_SIZE][0] < pageData[JV.NODE_PAGE_INFO][JV.NODE_PAGE_SIZE][1])?"纵向":"横向";
|
|
|
- let orientation = "纵向";
|
|
|
- // showPreviewData(svgArr, actArea, scaleFactor, sessionStorage.pageSize, orientation, orgPixelSize);
|
|
|
- showPreviewData(svgArr, actArea, scaleFactor, sessionStorage.pageSize, orientation, orgPixelSize);
|
|
|
- }
|
|
|
- window.print();
|
|
|
- } else if (sessionStorage.currentPageData) {
|
|
|
- let pageData = JSON.parse(sessionStorage.currentPageData);
|
|
|
- let scaleFactor = parseInt(sessionStorage.scaleFactor);
|
|
|
- let orgPixelSize = getPixelSize(pageData);
|
|
|
- let actArea = getActualArea(pageData);
|
|
|
- let svgArr = rptPrintHelper.buildSvgArr(pageData, actArea, G_OFFSET_X, G_OFFSET_Y);
|
|
|
- $(document).attr("title", pageData[JV.NODE_PAGE_INFO][JV.NODE_MAIN_INFO_RPT_NAME]);
|
|
|
- //showPreviewData(svgArr, scaleFactor, sessionStorage.pageSize, sessionStorage.orientation);
|
|
|
- showPreviewData(svgArr, actArea, scaleFactor, sessionStorage.pageSize, "纵向", orgPixelSize);
|
|
|
- window.print();
|
|
|
- } else if (sessionStorage.currentPageSvgData) {
|
|
|
- let svgArr = JSON.parse(sessionStorage.currentPageSvgData);
|
|
|
- let scaleFactor = 1;
|
|
|
- //showPreviewData(svgArr, scaleFactor, sessionStorage.pageSize, sessionStorage.orientation);
|
|
|
- showPreviewData(svgArr, null, scaleFactor, sessionStorage.pageSize, "纵向", null);
|
|
|
- window.print();
|
|
|
- } else {
|
|
|
- //alert("没有报表数据!");
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-function showPreviewData(svgArr, actAreaArr, scaleFactor, pageSize, orientation, orgPixelSize) {
|
|
|
+function showPreviewData(svgArr, actAreaArr, scaleFactor, pageSize, orientation, orgPixelSize, keepOrgDirection = false) {
|
|
|
let orgHeight = 793, orgWidth = 1122;
|
|
|
let DFT_MARGIN = 2;
|
|
|
getScreenDPI();
|
|
@@ -196,13 +173,13 @@ function showPreviewData(svgArr, actAreaArr, scaleFactor, pageSize, orientation,
|
|
|
let paddingStr = '';
|
|
|
if (actAreaArr) {
|
|
|
paddingStr = `padding: ${actAreaArr[i].Top}px 0px 0px ${actAreaArr[i].Left}px`;
|
|
|
- if (actAreaArr[i].Right > actAreaArr[i].Bottom) {
|
|
|
+ if (actAreaArr[i].Right > actAreaArr[i].Bottom && !keepOrgDirection) {
|
|
|
//横向,需要重新调整padding
|
|
|
paddingStr = `padding: ${actAreaArr[i].Left}px 0px 0px ${orgHeight - actAreaArr[i].Bottom}px`;
|
|
|
}
|
|
|
offsetWidth = actAreaArr[i].Left + (pageWidth - actAreaArr[i].Right) - DFT_MARGIN;
|
|
|
offsetHeight = actAreaArr[i].Top + (pageHeight - actAreaArr[i].Bottom) - DFT_MARGIN;
|
|
|
- if (orgPixelSize[0] > orgPixelSize[1]) {
|
|
|
+ if (orgPixelSize[0] > orgPixelSize[1] && !keepOrgDirection) {
|
|
|
//横向强制改纵向(系统是以纵向为准),那么计算offset的方式会有所不同
|
|
|
offsetWidth = actAreaArr[i].Top + (pageWidth - actAreaArr[i].Bottom) - DFT_MARGIN;
|
|
|
//横向转纵向时,还得考虑左上角转右上角的Left与Top之间的差,否则坐标还是会有偏差
|
|
@@ -263,3 +240,15 @@ function printPage() {
|
|
|
window.print();
|
|
|
}
|
|
|
|
|
|
+function actualPrintPage() {
|
|
|
+ const allDivs = $('#print_preview_div').nextAll();
|
|
|
+ for (let idx = allDivs.length - 1; idx >= 0; idx--) {
|
|
|
+ allDivs[idx].remove();
|
|
|
+ }
|
|
|
+ PRINT_SVG_DATA.forEach((svgArr, index) => {
|
|
|
+ showPreviewData(svgArr, ACT_AREA[index], 1, sessionStorage.pageSize, '纵向', ORG_PIXEL_SIZE[index]);
|
|
|
+ });
|
|
|
+ $("#print_preview_div")[0].style.display = 'none';
|
|
|
+ window.print();
|
|
|
+}
|
|
|
+
|