浏览代码

Merge branch 'master' of http://smartcost.f3322.net:3000/SmartCost/ConstructionCost

Chenshilong 7 年之前
父节点
当前提交
39c9f86d53
共有 2 个文件被更改,包括 13 次插入14 次删除
  1. 2 1
      modules/reports/util/rpt_construct_data_util.js
  2. 11 13
      modules/reports/util/rpt_pdf_util.js

+ 2 - 1
modules/reports/util/rpt_construct_data_util.js

@@ -259,7 +259,8 @@ function summaryData(sourceData, handleCfg, prjData){
         } else {
             for (let sumKey of handleCfg[JV.PROP_SUM_SUM_KEYS]) {
                 if (dtl[sumKey]) {
-                    sumObj[grpKey][sumKey] += dtl[sumKey];
+                    // sumObj[grpKey][sumKey] += dtl[sumKey];
+                    sumObj[grpKey][sumKey] = parseFloat(sumObj[grpKey][sumKey]) + parseFloat(dtl[sumKey]);
                 }
             }
         }

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

@@ -184,7 +184,7 @@ function export_pdf_file (pageData, paperSize, fName, callback) {
         }
 
         function private_drawUnderline() {
-            //A. 暂不支持角度; B. 坐标已经translate
+            //A. 暂不支持角度; B. PDF输出时,坐标没有translate
             let ctx = doc;
             //1. 计算下划线的相关坐标
             let width = ctx.widthOfString(val);
@@ -192,22 +192,20 @@ function export_pdf_file (pageData, paperSize, fName, callback) {
             let startX = area[JV.IDX_LEFT], startY = area[JV.IDX_TOP], endX = area[JV.IDX_RIGHT], endY = area[JV.IDX_BOTTOM];
             // let startX = 0, startY = 0, endX = width, endY = startY;
             if (control.Horizon === "left") {
-                // 无变化;
+                startX = Math.round(area[JV.IDX_LEFT] + JV.OUTPUT_OFFSET[JV.IDX_LEFT]);
             } else if (control.Horizon === "right") {
-                startX = Math.round(startX - width);
+                startX = Math.round(area[JV.IDX_RIGHT] - width - JV.OUTPUT_OFFSET[JV.IDX_RIGHT]);
             } else {
-                startX = Math.round(startX - width / 2);
+                startX = Math.round( area[JV.IDX_LEFT] + (area[JV.IDX_RIGHT] - area[JV.IDX_LEFT] - width) / 2);
             }
             endX = Math.round(startX + width);
 
             if (control.Vertical === "top") {
-                startY += JV.OUTPUT_OFFSET[JV.IDX_TOP] + JV.OUTPUT_OFFSET[JV.IDX_BOTTOM];
+                startY = Math.round(area[JV.IDX_TOP] + JV.OUTPUT_OFFSET[JV.IDX_TOP] + JV.OUTPUT_OFFSET[JV.IDX_BOTTOM] + height);
             } else if (control.Vertical === "bottom") {
-                // startY = Math.round(startY);
-                startY += JV.OUTPUT_OFFSET[JV.IDX_TOP] + JV.OUTPUT_OFFSET[JV.IDX_BOTTOM];
+                startY = Math.round(area[JV.IDX_BOTTOM] + JV.OUTPUT_OFFSET[JV.IDX_BOTTOM]);
             } else {
-                startY = Math.round(height / 2) - JV.OUTPUT_OFFSET[JV.IDX_TOP] - JV.OUTPUT_OFFSET[JV.IDX_BOTTOM];
-                // startY += JV.OUTPUT_OFFSET[JV.IDX_TOP] + JV.OUTPUT_OFFSET[JV.IDX_BOTTOM];
+                startY = Math.round( area[JV.IDX_TOP] + (area[JV.IDX_BOTTOM] - area[JV.IDX_TOP] + height) / 2) + JV.OUTPUT_OFFSET[JV.IDX_TOP] + JV.OUTPUT_OFFSET[JV.IDX_BOTTOM];
             }
             endY = Math.round(startY);
             //2. 画线
@@ -226,13 +224,13 @@ function export_pdf_file (pageData, paperSize, fName, callback) {
 
         let rotateOptions;
         if (font[JV.FONT_PROPS[5]] === 'T' && parseInt(font.FontAngle) === 0) {
-            // private_drawUnderline();
+            private_drawUnderline();
         }
         if (parseInt(font.FontAngle) !== 0) {
             if (control){
-                rotateOptions=private_setupAreaRotateOption(area,w,control.Vertical,dftFontHeight, output);
-            }else {
-                rotateOptions=private_setupAreaRotateOption(area,w,"bottom",dftFontHeight, output);
+                rotateOptions = private_setupAreaRotateOption(area,w,control.Vertical,dftFontHeight, output);
+            } else {
+                rotateOptions = private_setupAreaRotateOption(area,w,"bottom",dftFontHeight, output);
             }
             doc.rotate(font.FontAngle,rotateOptions);
         }