Kaynağa Gözat

Merge branch '1.0.0_online' of http://192.168.1.41:3000/SmartCost/ConstructionCost into 1.0.0_online

zhongzewei 6 yıl önce
ebeveyn
işleme
14f2b719ae

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

@@ -150,15 +150,27 @@ function export_pdf_file (pageData, paperSize, fName, callback) {
                     restTopH = restH;
                     restTopH = restH;
                 }
                 }
             }
             }
+            let spaceIdxArr = [];
             for (let i = 0; i < values.length; i++) {
             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_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_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_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') {
                 if (values[i] === null || values[i] === undefined || values[i] === 'null') {
                     values[i] = "";
                     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);
                 private_drawText(values[i], area, font, control);
+                spaceIdxArr = [];
             }
             }
         }
         }
     }
     }

+ 4 - 4
modules/users/models/log_model.js

@@ -62,9 +62,8 @@ class LogModel extends BaseModel {
         let ip = request.connection.remoteAddress;
         let ip = request.connection.remoteAddress;
         ip = ip.split(':');
         ip = ip.split(':');
         ip = ip[3] === undefined ? '' : ip[3];
         ip = ip[3] === undefined ? '' : ip[3];
-
         // let ipInfo = '127.0.0.1';//await this.getIpInfoFromApi(ip);
         // let ipInfo = '127.0.0.1';//await this.getIpInfoFromApi(ip);
-       // let ipInfo = await this.getIpInfoFromApi(ip);
+        let ipInfo = await this.getIpInfoFromApi(ip);
 
 
         let userAgentObject = new UAParser(request.headers['user-agent']);
         let userAgentObject = new UAParser(request.headers['user-agent']);
         let osInfo = userAgentObject.getOS();
         let osInfo = userAgentObject.getOS();
@@ -74,7 +73,7 @@ class LogModel extends BaseModel {
             os: osInfo.name + ' ' + osInfo.version + ' ' + cpuInfo.architecture,
             os: osInfo.name + ' ' + osInfo.version + ' ' + cpuInfo.architecture,
             browser: browserInfo.name + ' ' + browserInfo.version,
             browser: browserInfo.name + ' ' + browserInfo.version,
             ip: ip,
             ip: ip,
-            ip_info:"" //ipInfo
+            ip_info:ipInfo
         };
         };
 
 
         return this.addLog(userId, LogType.LOGIN_LOG, message);
         return this.addLog(userId, LogType.LOGIN_LOG, message);
@@ -121,7 +120,8 @@ class LogModel extends BaseModel {
         }
         }
         let getData = {
         let getData = {
             url: 'http://ip.taobao.com/service/getIpInfo.php?ip=' + ip,
             url: 'http://ip.taobao.com/service/getIpInfo.php?ip=' + ip,
-            encoding: 'utf8'
+            encoding: 'utf8',
+            timeout:2000
         };
         };
         return new Promise(function (resolve, reject) {
         return new Promise(function (resolve, reject) {
             try {
             try {

+ 30 - 0
test/unit/reports/rpt_cfg.js

@@ -252,6 +252,36 @@ module.exports = {
             ]
             ]
         },
         },
         {
         {
+            "ID" : "Label_Topline",
+            "CfgDispName" : "边框头线",
+            "border_style" : [
+                {
+                    "Position" : "Left",
+                    "LineWeight" : "0",
+                    "DashStyle" : "SOLID",
+                    "Color" : "BLACK"
+                },
+                {
+                    "Position" : "Right",
+                    "LineWeight" : "0",
+                    "DashStyle" : "SOLID",
+                    "Color" : "BLACK"
+                },
+                {
+                    "Position" : "Top",
+                    "LineWeight" : "1",
+                    "DashStyle" : "SOLID",
+                    "Color" : "BLACK"
+                },
+                {
+                    "Position" : "Bottom",
+                    "LineWeight" : "0",
+                    "DashStyle" : "SOLID",
+                    "Color" : "BLACK"
+                }
+            ]
+        },
+        {
             "ID" : "BORDER_ALL_AROUND",
             "ID" : "BORDER_ALL_AROUND",
             "CfgDispName" : "报表边框",
             "CfgDispName" : "报表边框",
             "border_style" : [
             "border_style" : [

+ 2 - 1
web/building_saas/main/html/main.html

@@ -2188,8 +2188,9 @@
 
 
         <!-- JS. -->
         <!-- JS. -->
     <script src="/lib/js-base64/base64.min.js"></script>
     <script src="/lib/js-base64/base64.min.js"></script>
-    <script src = "/lib/spreadjs/sheets/gc.spread.sheets.all.11.1.2.min.js"></script>
+    <script src="/lib/spreadjs/sheets/gc.spread.sheets.all.11.1.2.min.js"></script>
     <script src="/lib/spreadjs/sheets/interop/gc.spread.excelio.11.1.2.min.js"></script>
     <script src="/lib/spreadjs/sheets/interop/gc.spread.excelio.11.1.2.min.js"></script>
+
     <script>GC.Spread.Sheets.LicenseKey =  '<%- LicenseKey %>';</script>
     <script>GC.Spread.Sheets.LicenseKey =  '<%- LicenseKey %>';</script>
     <script type="text/javascript" src="/lib/jquery-ui/jquery-ui-datepickerCN.js"></script>
     <script type="text/javascript" src="/lib/jquery-ui/jquery-ui-datepickerCN.js"></script>
     <script type="text/javascript" src="/lib/jquery-contextmenu/jquery.contextMenu.js"></script>
     <script type="text/javascript" src="/lib/jquery-contextmenu/jquery.contextMenu.js"></script>