فهرست منبع

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

chenshilong 5 سال پیش
والد
کامیت
187add4d90

+ 6 - 2
modules/reports/rpt_component/jpc_cross_tab.js

@@ -235,8 +235,12 @@ JpcCrossTabSrv.prototype.createNew = function(){
                     for (let di = 0; di < data_fields.length; di++) {
                         rowGrandTotal.push(0.0);
                         for (let k = 0; k < me.sortedRowSequence[i][j].length; k++) {
-                            //3. start to sum
-                            rowGrandTotal[di] = rowGrandTotal[di] + 1.0 * JpcFieldHelper.getValue(data_fields[di], me.sortedRowSequence[i][j][k]);
+                            // 3. start to sum
+                            let vTtl = parseFloat(JpcFieldHelper.getValue(data_fields[di], me.sortedRowSequence[i][j][k]));
+                            if (isNaN(vTtl)) {
+                                vTtl = 0;
+                            }
+                            rowGrandTotal[di] = rowGrandTotal[di] + vTtl;
                         }
                     }
                     me.col_sum_fields_value_total[i].push(rowGrandTotal);

+ 31 - 5
public/common_util.js

@@ -96,12 +96,38 @@ function deleteEmptyObject(arr) {
     // 通过F11打开全屏后,没有办法通过代码退出全屏,只能通过F11退出:
     // https://stackoverflow.com/questions/51114885/combining-requestfullscreen-and-f11; https://stackoverflow.com/questions/43392583/fullscreen-api-not-working-if-triggered-with-f11/44368592#44368592;
     function handleFullscreen() {
-        const isFullscreen = window.innerHeight === window.screen.height;
-        if (isFullscreen) {
-            const p = document.exitFullscreen();
-            p.catch(() => alert('按F11即可退出全屏模式'));
+        if (isFullscreen()) {
+            const p = exitFullscreen();
+            if (Object.prototype.toString.call(p) === '[object Promise]') {
+                p.catch(() => alert('按F11即可退出全屏模式'));
+            }
         } else {
-            document.documentElement.requestFullscreen();
+            fullscreen(document.documentElement);
+        }
+    }
+    function isFullscreen() {
+        return window.innerHeight === window.screen.height;
+    }
+    function fullscreen(ele) {
+        if (ele.requestFullscreen) {
+            ele.requestFullscreen();
+        } else if (ele.mozRequestFullscreen) {
+            ele.mozRequestFullScreen();
+        } else if (ele.webkitRequestFullscreen) {
+            ele.webkitRequestFullscreen();
+        } else if (ele.msRequestFullscreen) {
+            ele.msRequestFullscreen();
+        }
+    }
+    function exitFullscreen() {
+        if(document.exitFullscreen) {
+            return document.exitFullscreen();
+        } else if(document.mozCancelFullscreen) {
+            return document.mozCancelFullscreen();
+        } else if(document.webkitExitFullscreen) {
+            return document.webkitExitFullscreen();
+        } else if(document.msExitFullscreen) {
+            return document.msExitFullscreen();
         }
     }
 

+ 5 - 2
public/web/syntax-detection.js

@@ -151,8 +151,11 @@ function checkSyntax() {
         }
 
         // DOM
-        if (typeof document.documentElement.requestFullscreen !== 'function') {
-            throw new TypeError('document.documentElement.requestFullscreen is not a function');
+        if (typeof document.documentElement.requestFullscreen !== 'function' && 
+            typeof document.documentElement.mozRequestFullscreen !== 'function' &&
+            typeof document.documentElement.webkitRequestFullscreen !== 'function' &&
+            typeof document.documentElement.msRequestFullscreen !== 'function') {
+            throw new TypeError('fullscreen is not a function');
         }
 
     } catch (err) {

+ 2 - 2
test/unit/reports/test_rpt_test_template.js

@@ -56,7 +56,7 @@ let demoPrjId = - 1;
 // let demoRptId = 551; //表05
 // let demoRptId = 1104; //内蒙2017 表09
 
-let demoRptId = 1143;
+let demoRptId = 1162;
 
 let pagesize = "A4";
 
@@ -72,7 +72,7 @@ let userId_me = "5b6a60b1c4ba33000dd417c0"; //我的
 // demoPrjId = 2260; //QA:
 // demoPrjId = 5029; //
 // demoPrjId = 5029; //项目名称过长
-demoPrjId = 22936; //
+demoPrjId = 23964; //
 // demoPrjId = 4107; //UAT:
 //*/
 let userId_Dft = userId_Leng;