Bläddra i källkod

Merge branch 'master' of http://192.168.1.41:3000/SmartCost/ConstructionCost

chenshilong 4 år sedan
förälder
incheckning
13bfd9c40d

+ 15 - 5
web/building_saas/report/html/rpt_print.html

@@ -78,6 +78,7 @@
 
     function showPreviewData(svgArr, actAreaArr, scaleFactor, pageSize, orientation, orgPixelSize) {
         let orgHeight = 793, orgWidth = 1122;
+        let DFT_MARGIN = 3;
         if (pageSize === 'A3') {
             orgHeight = 1122;
             orgWidth = 793 * 2;
@@ -94,16 +95,25 @@
 
         for (let i = 0; i < svgArr.length; i++) {
             let offsetHeight = 0, offsetWidth = 0;
+            let paddingStr = '';
             if (actAreaArr) {
-                offsetWidth = actAreaArr[i].Left + (pageWidth - actAreaArr[i].Right) - 5;
-                offsetHeight = actAreaArr[i].Top + (pageHeight - actAreaArr[i].Bottom) - 5;
+                paddingStr = `padding: ${actAreaArr[i].Top}px 0px 0px ${actAreaArr[i].Left}px`;
+                if (actAreaArr[i].Right > actAreaArr[i].Bottom) {
+                    //横向,需要重新调整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]) {
                     //横向强制改纵向(系统是以纵向为准),那么计算offset的方式会有所不同
-                    offsetWidth = actAreaArr[i].Top + (pageWidth - actAreaArr[i].Bottom) - 5;
-                    offsetHeight = actAreaArr[i].Left + (pageHeight - actAreaArr[i].Right) - 5;
+                    offsetWidth = actAreaArr[i].Top + (pageWidth - actAreaArr[i].Bottom) - DFT_MARGIN;
+                    //offsetHeight = actAreaArr[i].Left + (pageHeight - actAreaArr[i].Right) - (actAreaArr[i].Left - actAreaArr[i].Top) - DFT_MARGIN;
+                    //新方式下,没那么复杂了
+                    offsetHeight = actAreaArr[i].Left + (pageHeight - actAreaArr[i].Right) - DFT_MARGIN;
                 }
             }
-            let div = $('<div class="pageBreak"></div>');
+            // let div = $('<div class="pageBreak"></div>');
+            let div = $(`<div class="pageBreak" style="${paddingStr}"></div>`);
             div.append($(svgArr[i].join("")));
             $(div).find("svg").each(function(cIdx,elementSvg){
                 elementSvg.setAttribute('height', pageHeight - offsetHeight);

+ 3 - 2
web/building_saas/report/js/rpt_print.js

@@ -127,8 +127,9 @@ function buildCellSvg(cell, fonts, styles, controls, pageMergeBorder, rptMergeBo
     ;
     let HtoVStr = "";
     if (isHtoV) {
-        //HtoVStr = ` transform="translate(`+ pixelSize[1] + `,0) rotate(90)"`;
-        HtoVStr = ` transform="translate(`+ (actArea.Bottom - actArea.Top + 5) + `,0) rotate(90)"`;
+        // HtoVStr = ` transform="translate(`+ (actArea.Bottom - actArea.Top + 5) + `,0) rotate(90)"`;
+        //引用了padding后,top坐标不用考虑offset了
+        HtoVStr = ` transform="translate(${(actArea.Bottom - actArea.Top + 2)},0) rotate(90)"`;
     }
     if (style) {
         let leftBS = getActualBorderStyle(cell, styles, mergeBandStyle, (pageMergeBorder)?pageMergeBorder:rptMergeBorder[JV.PROP_AREA], JV.PROP_LEFT);