浏览代码

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

chenshilong 3 年之前
父节点
当前提交
5c93c75c48

+ 14 - 1
web/building_saas/report/js/jpc_output.js

@@ -24,6 +24,11 @@ let JpcCanvasOutput = {
         let me = this;
         let ctx = canvas.getContext("2d");
         let floatReg = /^(-?\d+)(\.\d+)?$/;
+        let strReplaceReg1 = new RegExp('\n\r', 'gm'),
+            strReplaceReg2 = new RegExp('\r\n', 'gm'),
+            strReplaceReg3 = new RegExp('\n', 'gm'),
+            strReplaceReg4 = new RegExp('\r', 'gm')
+        ;
 
         function private_setupAreaH(area, type, fontAngle, dftFontHeight, outputPoint) {
             let lType = type;
@@ -259,6 +264,13 @@ let JpcCanvasOutput = {
             }
             ctx.restore();
         }
+        function _preHandleSpliter(orgVal) {
+            let rst = orgVal;
+            if (rst !== null && rst !== '') {
+                rst = rst.replace(strReplaceReg1, '|').replace(strReplaceReg2, '|').replace(strReplaceReg3, '|').replace(strReplaceReg4, '|');
+            }
+            return rst;
+        }
         function _splitValues(cell, control, orgValues, ctx2D) {
             //根据control的 自动折行 及 缩放优先 这俩属性 来分解cell value
             if (control[JV.CONTROL_PROPS[JV.CONTROL_PROP_IDX_WRAP]] === 'T' && control[JV.CONTROL_PROPS[JV.CONTROL_PROP_IDX_SHRINK_FIRST]] !== 'T') {
@@ -281,7 +293,8 @@ let JpcCanvasOutput = {
         }
         function private_drawCellText(cell, fonts, controls) {
             if (cell[JV.PROP_VALUE] !== null && cell[JV.PROP_VALUE] !== undefined) {
-                let values = ("" + cell[JV.PROP_VALUE]).split('|');
+                // let values = ("" + cell[JV.PROP_VALUE]).split('|');
+                let values = _preHandleSpliter("" + cell[JV.PROP_VALUE]).split('|');
                 let font = null;
                 if (typeof cell[JV.PROP_FONT] === "string") {
                     font = fonts[cell[JV.PROP_FONT]];

+ 15 - 1
web/building_saas/report/js/rpt_jspdf.js

@@ -34,6 +34,11 @@ let JpcJsPDFHelper = {
         let me = this;
         let offsetX= 0;
         let offsetY= 0;
+        let strReplaceReg1 = new RegExp('\n\r', 'gm'),
+            strReplaceReg2 = new RegExp('\r\n', 'gm'),
+            strReplaceReg3 = new RegExp('\n', 'gm'),
+            strReplaceReg4 = new RegExp('\r', 'gm')
+        ;
         let newName = pdfName;
         let pageObj = pageData;
         let paperSizeIdx = JV.PAGES_SIZE_STR.indexOf(paperSize);
@@ -126,6 +131,14 @@ let JpcJsPDFHelper = {
             }
         }
 
+        function _preHandleSpliter(orgVal) {
+            let rst = orgVal;
+            if (rst !== null && rst !== '') {
+                rst = rst.replace(strReplaceReg1, '|').replace(strReplaceReg2, '|').replace(strReplaceReg3, '|').replace(strReplaceReg4, '|');
+            }
+            return rst;
+        }
+
         function _splitValues(cell, control, orgValues, doc) {
             //根据control的 自动折行 及 缩放优先 这俩属性 来分解cell value
             if (control[JV.CONTROL_PROPS[JV.CONTROL_PROP_IDX_WRAP]] === 'T' && control[JV.CONTROL_PROPS[JV.CONTROL_PROP_IDX_SHRINK_FIRST]] !== 'T') {
@@ -149,7 +162,8 @@ let JpcJsPDFHelper = {
 
         function private_drawCellText(doc, ctx, cell, fonts, controls) {
             if (cell[JV.PROP_VALUE] !== undefined && cell[JV.PROP_VALUE] !== null) {
-                let values = ("" + cell[JV.PROP_VALUE]).split('|');
+                // let values = ("" + cell[JV.PROP_VALUE]).split('|');
+                let values = _preHandleSpliter("" + cell[JV.PROP_VALUE]).split('|');
                 // let font = fonts[cell[JV.PROP_FONT]];
                 let font = null;
                 if (typeof cell[JV.PROP_FONT] === "string") {

+ 7 - 0
web/building_saas/report/js/rpt_main.js

@@ -142,6 +142,13 @@ let zTreeOprObj = {
                 }
             }
             zTreeHelper.createTreeDirectly(result, rpt_tpl_setting, "rptTplTree", me);
+            const nodes = me.treeObj.getNodes();
+            for (let node of nodes) {
+                me.treeObj.expandNode(node, false, true, false); //先全部收敛
+            }
+            for (let node of nodes) {
+                me.treeObj.expandNode(node, true, false, false); //展开顶节点
+            }
             me.refreshNodes();
         }, null, null);
     },

+ 16 - 1
web/building_saas/report/js/rpt_print.js

@@ -212,6 +212,20 @@ function _splitValues(cell, control, orgValues, ctx2D) {
     }
 }
 
+const strReplaceReg1 = new RegExp('\n\r', 'gm'),
+    strReplaceReg2 = new RegExp('\r\n', 'gm'),
+    strReplaceReg3 = new RegExp('\n', 'gm'),
+    strReplaceReg4 = new RegExp('\r', 'gm')
+;
+
+function _preHandleSpliter(orgVal) {
+    let rst = orgVal;
+    if (rst !== null && rst !== '') {
+        rst = rst.replace(strReplaceReg1, '|').replace(strReplaceReg2, '|').replace(strReplaceReg3, '|').replace(strReplaceReg4, '|');
+    }
+    return rst;
+}
+
 function buildText(destRst, cell, font, control, offsetX, offsetY, adjustY, canvas, isHtoV, HtoVStr) {
     let orgFontHeight = parseInt(font[JV.FONT_PROPS[JV.FONT_PROP_IDX_HEIGHT]]);
     let fontWeight = (font[JV.FONT_PROPS[JV.FONT_PROP_IDX_BOLD]] === 'T')?"bold":"normal";
@@ -230,7 +244,8 @@ function buildText(destRst, cell, font, control, offsetX, offsetY, adjustY, canv
     }
     let values = null;
     if (typeof value === "string") {
-        values = value.split("|");
+        // values = value.split("|");
+        values = _preHandleSpliter(value).split('|');
     } else {
         values = [value];
     }