瀏覽代碼

code sync

TonyKang 5 年之前
父節點
當前提交
de3142e165
共有 2 個文件被更改,包括 31 次插入5 次删除
  1. 13 1
      modules/reports/util/rpt_pdf_util.js
  2. 18 4
      web/maintain/report/js/rpt_tpl_cfg_helper.js

+ 13 - 1
modules/reports/util/rpt_pdf_util.js

@@ -150,15 +150,27 @@ function export_pdf_file (pageData, paperSize, fName, callback) {
                     restTopH = restH;
                 }
             }
+            let spaceIdxArr = [];
             for (let i = 0; i < values.length; i++) {
                 // area[JV.IDX_TOP] = cell[JV.PROP_AREA][JV.PROP_TOP] + i * (height / values.length) + offsetY;
                 // area[JV.IDX_BOTTOM] = cell[JV.PROP_AREA][JV.PROP_TOP] + (i + 1) * (height / values.length) + offsetY;
                 area[JV.IDX_TOP] = cell[JV.PROP_AREA][JV.PROP_TOP] + i * (ah / values.length) + offsetY + restTopH;
-                area[JV.IDX_BOTTOM] = cell[JV.PROP_AREA][JV.PROP_TOP] + (i + 1) * (ah / values.length) + offsetY + restTopH;
+                area[JV.IDX_BOTTOM] = cell[JV.PROP_AREA][JV.PROP_TOP] + (i + 1) * (ah / values.length) + offsetY + restBottomH;
                 if (values[i] === null || values[i] === undefined || values[i] === 'null') {
                     values[i] = "";
                 }
+                // 因pdfkit输出空格只有一半宽度,需要额外加空格补上 -----------------------------
+                if (typeof(values[i]) === "string") {
+                    for (let j = 0; j < values[i].length; j++) {
+                        if (values[i][j] === ' ') spaceIdxArr.push(j);
+                    }
+                }
+                for (let j = spaceIdxArr.length - 1; j >= 0; j--) {
+                    values[i] = values[i].slice(0, spaceIdxArr[j]) + ' ' + values[i].slice(spaceIdxArr[j]);
+                }
+                // -----------------------------
                 private_drawText(values[i], area, font, control);
+                spaceIdxArr = [];
             }
         }
     }

+ 18 - 4
web/maintain/report/js/rpt_tpl_cfg_helper.js

@@ -328,10 +328,24 @@ let rpt_tpl_cfg_helper = {
             let border = me.reportCfg.styles[idx];
             dataInfoMapTreeOprObj.currentNode[JV.PROP_STYLE] = borderAttr;
 
-            $("#eleBorderLeft").get(0).value = border[JV.PROP_BORDER_STYLE][JV.IDX_LEFT][JV.PROP_LINE_WEIGHT];
-            $("#eleBorderRight").get(0).value = border[JV.PROP_BORDER_STYLE][JV.IDX_RIGHT][JV.PROP_LINE_WEIGHT];
-            $("#eleBorderTop").get(0).value = border[JV.PROP_BORDER_STYLE][JV.IDX_TOP][JV.PROP_LINE_WEIGHT];
-            $("#eleBorderBottom").get(0).value = border[JV.PROP_BORDER_STYLE][JV.IDX_BOTTOM][JV.PROP_LINE_WEIGHT];
+            for (let borderLine of border[JV.PROP_BORDER_STYLE]) {
+                switch (borderLine[JV.PROP_POSITION]) {
+                    case JV.PROP_LEFT:
+                        $("#eleBorderLeft").get(0).value = borderLine[JV.PROP_LINE_WEIGHT];
+                        break;
+                    case JV.PROP_RIGHT:
+                        $("#eleBorderRight").get(0).value = borderLine[JV.PROP_LINE_WEIGHT];
+                        break;
+                    case JV.PROP_TOP:
+                        $("#eleBorderTop").get(0).value = borderLine[JV.PROP_LINE_WEIGHT];
+                        break;
+                    case JV.PROP_BOTTOM:
+                        $("#eleBorderBottom").get(0).value = borderLine[JV.PROP_LINE_WEIGHT];
+                        break;
+                    default:
+                        break;
+                }
+            }
         }
     },
     controlChange: function(dom) {