Browse Source

report tuning

TonyKang 7 years ago
parent
commit
f89e71c61a

BIN
web/building_saas/img/NextPageSimple.cur


BIN
web/building_saas/img/PreviousPageSimple.cur


BIN
web/building_saas/img/baobiao.png


+ 7 - 3
web/building_saas/report/js/jpc_output.js

@@ -262,9 +262,7 @@ let JpcCanvasOutput = {
     },
     drawPageBorder: function(rptTpl, canvas, resolution) {
         let me = this;
-        let size = rptTpl[JV.NODE_PAGE_INFO][JV.NODE_PAGE_SIZE].slice(0);
-        size[0] = Math.round(resolution[0] * size[0]);
-        size[1] = Math.round(resolution[0] * size[1]);
+        let size = me.getReportSizeInPixel(rptTpl, resolution);
 
         let ctx = canvas.getContext("2d");
         ctx.save();
@@ -282,5 +280,11 @@ let JpcCanvasOutput = {
         ctx.fillStyle="black";
         ctx.fillRect(size[0] + me.offsetX,10 + me.offsetY,10,size[1]);
         ctx.fillRect(10 + me.offsetX,size[1] + me.offsetY,size[0],10);
+    },
+    getReportSizeInPixel: function(rptTpl, resolution) {
+        let rst = rptTpl[JV.NODE_PAGE_INFO][JV.NODE_PAGE_SIZE].slice(0);
+        rst[0] = Math.round(resolution[0] * rst[0]);
+        rst[1] = Math.round(resolution[0] * rst[1]);
+        return rst;
     }
 };

+ 29 - 11
web/building_saas/report/js/rpt_main.js

@@ -67,7 +67,7 @@ let zTreeOprObj = {
         let canvas = document.getElementById("rptCanvas");
         if (treeNode.nodeType === TPL_TYPE_TEMPLATE && treeNode.refId > 0) {
             let params = {};
-            let pageSize = "A4";
+            let pageSize = rptHeaderObj.getCurrentPageSize();
             params.user_id = userID;
             params.pageSize = pageSize;
             params.rpt_tpl_id = treeNode.refId;
@@ -78,12 +78,12 @@ let zTreeOprObj = {
                         me.currentRptPageRst = pageRst;
                         me.maxPages = pageRst.items.length;
                         me.currentPage = 1;
-                        if (pageSize === "A4") {
-                            canvas.width = 1200;
-                            canvas.height = 1200;
-                        } else if (pageSize === "A3") {
-                            canvas.width = 1880;
-                            canvas.height = 1880;
+                        let size = JpcCanvasOutput.getReportSizeInPixel(me.currentRptPageRst, getScreenDPI());
+                        canvas.width = size[0] + 20;
+                        if (size[1] > size[0]) {
+                            canvas.height = size[1] + 100;
+                        } else {
+                            canvas.height = size[1] + 50;
                         }
                         me.showPage(0, canvas);
                     }
@@ -107,10 +107,12 @@ let canvasOprObj = {
         let x = event.offsetX - JpcCanvasOutput.offsetX,
             canvas = event.originalTarget
         ;
-        if (x < 300) {
-            canvas.style.cursor = "e-resize";
-        } else if ((canvas.width - x) < 300) {
-            canvas.style.cursor = "w-resize";
+        if (x < 200) {
+            // canvas.style.cursor = "e-resize";
+            canvas.style.cursor = "url(/web/building_saas/img/PreviousPageSimple.cur), auto";
+        } else if ((canvas.width - x) < 200) {
+            // canvas.style.cursor = "w-resize";
+            canvas.style.cursor = "url(/web/building_saas/img/NextPageSimple.cur), auto";
         } else {
             canvas.style.cursor = "";
         }
@@ -126,3 +128,19 @@ let canvasOprObj = {
         }
     }
 };
+
+let rptHeaderObj = {
+    getCurrentPageSize: function() {
+        let rst = "A4";
+        //
+        return rst;
+    },
+    getCurrentOrientation: function() {
+        let rst = "横向";
+        //
+        return rst;
+    },
+    getExcel: function() {
+        //目前只支持当前打开报表
+    }
+};