| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 | 
							- <!DOCTYPE html>
 
- <html lang="zh-CN">
 
- <head>
 
-     <meta charset="UTF-8">
 
-     <title></title>
 
- </head>
 
- <style type="text/css">
 
-     .pageBreakOrg {
 
-         page-break-before: auto;
 
-         page-break-after: always;
 
-     }
 
-     .pageBreak {
 
-         page-break-before: auto;
 
-         page-break-after: auto;
 
-     }
 
-     @page {size: A4 portrait;}
 
-     body {page: page}
 
-     div {page: page}
 
- </style>
 
- <!--
 
-     .printPage {
 
-         page: page
 
-     }
 
-     @page {size: A4 landscape;}
 
-     div { page: page }
 
- @page {margin: auto;}
 
- @page horizon {size: A4 landscape;}
 
- @page vertical1 {size: A4 portrait;}
 
-     @page horizon1 {size: A4 landscape;}
 
-     @page vertical1 {size: A4 portrait;}
 
- -->
 
- <script type="text/javascript" src="/web/building_saas/report/js/jpc_output_value_define.js"></script>
 
- <body onload="loading()" onbeforeunload="closing()">
 
-     <canvas id="chkCanvas" style="display:none"></canvas>
 
- </body>
 
- <script src="/lib/jquery/jquery-3.2.1.min.js"></script>
 
- <script type="text/javascript" src="/web/building_saas/report/js/jpc_output.js"></script>
 
- <script type="text/javascript" src="/web/building_saas/report/js/rpt_print.js"></script>
 
- <SCRIPT type="text/javascript">
 
-     let G_OFFSET_X = 0, G_OFFSET_Y = 0;
 
-     function loading() {
 
-         if (sessionStorage.multiRptsData) {
 
-             let multiRptData = JSON.parse(sessionStorage.multiRptsData);
 
-             let scaleFactor = parseInt(sessionStorage.scaleFactor);
 
-             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);
 
-                 //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);
 
-             }
 
-             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) {
 
-         let orgHeight = 793, orgWidth = 1122;
 
-         if (pageSize === 'A3') {
 
-             orgHeight = 1122;
 
-             orgWidth = 793 * 2;
 
-         } else if (pageSize.indexOf('自定义') >= 0) {
 
-             //自定义
 
-         } else {
 
-             //其他size(LEGAL, 16K etc.)
 
-         }
 
-         let pageHeight = orgHeight * scaleFactor, pageWidth = orgWidth * scaleFactor;
 
-         if (orientation === "纵向") {
 
-             pageHeight = orgWidth * scaleFactor;
 
-             pageWidth = orgHeight * scaleFactor;
 
-         }
 
-         for (let i = 0; i < svgArr.length; i++) {
 
-             let offsetHeight = 0, offsetWidth = 0;
 
-             if (actAreaArr) {
 
-                 offsetWidth = actAreaArr[i].Left + (pageWidth - actAreaArr[i].Right) - 5;
 
-                 offsetHeight = actAreaArr[i].Top + (pageHeight - actAreaArr[i].Bottom) - 5;
 
-                 if (orgPixelSize[0] > orgPixelSize[1]) {
 
-                     //横向强制改纵向(系统是以纵向为准),那么计算offset的方式会有所不同
 
-                     offsetWidth = actAreaArr[i].Top + (pageWidth - actAreaArr[i].Bottom) - 5;
 
-                     offsetHeight = actAreaArr[i].Left + (pageHeight - actAreaArr[i].Right) - 5;
 
-                 }
 
-             }
 
-             let div = $('<div class="pageBreak"></div>');
 
-             div.append($(svgArr[i].join("")));
 
-             $(div).find("svg").each(function(cIdx,elementSvg){
 
-                 elementSvg.setAttribute('height', pageHeight - offsetHeight);
 
-                 elementSvg.setAttribute('width', pageWidth - offsetWidth);
 
-             });
 
-             $("body").append(div);
 
-         }
 
-     }
 
-     function getActualArea(pageData) {
 
-         let rst = [];
 
-         for (let item of pageData.items) {
 
-             let area = {Left: 10000, Right: 0, Top: 10000, Bottom: 0};
 
-             for (let cell of item.cells) {
 
-                 if (cell.area.Left < area.Left) {
 
-                     area.Left = cell.area.Left;
 
-                 }
 
-                 if (cell.area.Right > area.Right) {
 
-                     area.Right = cell.area.Right;
 
-                 }
 
-                 if (cell.area.Top < area.Top) {
 
-                     area.Top = cell.area.Top;
 
-                 }
 
-                 if (cell.area.Bottom > area.Bottom) {
 
-                     area.Bottom = cell.area.Bottom;
 
-                 }
 
-             }
 
-             rst.push(area);
 
-         }
 
-         return rst;
 
-     }
 
-     function closing() {
 
-         //
 
-     }
 
- </SCRIPT>
 
- </html>
 
 
  |