Browse Source

code sync(可视化 - 表栏能处理指标)

TonyKang 5 years ago
parent
commit
c2ffc52e82
1 changed files with 14 additions and 4 deletions
  1. 14 4
      web/maintain/report/js/rpt_tpl_vis_jumbo.js

+ 14 - 4
web/maintain/report/js/rpt_tpl_vis_jumbo.js

@@ -811,6 +811,7 @@ let visualJumbo = {
     applyBack_Flow: function (rptTpl, sheet, xPos, yPos) {
     applyBack_Flow: function (rptTpl, sheet, xPos, yPos) {
         let me = this;
         let me = this;
         let startRow = -1, handledBands = [];
         let startRow = -1, handledBands = [];
+        let discreteNodesArr = [];
         //先清除所有相关text/field节点,然后再重新生成
         //先清除所有相关text/field节点,然后再重新生成
         me.private_clear_flow_txt_fld_nodes();
         me.private_clear_flow_txt_fld_nodes();
         let textFldArr = [], colWidthArr = [], rowHeightArr = [];
         let textFldArr = [], colWidthArr = [], rowHeightArr = [];
@@ -820,9 +821,19 @@ let visualJumbo = {
         me.private_setup_bandHeight(columnBand[JV.PROP_NAME], columnBand, sheet);
         me.private_setup_bandHeight(columnBand[JV.PROP_NAME], columnBand, sheet);
         startRow = me.collectSheetTxtFldByArea(sheet, me.bandMappingObj[columnBand[JV.PROP_NAME]][JV.PROP_COLOR] , textFldArr, colWidthArr, rowHeightArr);
         startRow = me.collectSheetTxtFldByArea(sheet, me.bandMappingObj[columnBand[JV.PROP_NAME]][JV.PROP_COLOR] , textFldArr, colWidthArr, rowHeightArr);
         let columnNodes = [];
         let columnNodes = [];
-        for (let text of textFldArr) {
-            let node = me.createTxtNode(text, sheet, startRow, colWidthArr, rowHeightArr);
-            columnNodes.push(node);
+        let columnDisFieldArr = null;
+        for (let txtFld of textFldArr) {
+            if (txtFld.isField) {
+                if (columnDisFieldArr === null) {
+                    columnDisFieldArr = {Name: "子项", BandName: columnBand[JV.PROP_NAME], items: [[],[]], isParent: true};
+                    discreteNodesArr.push(columnDisFieldArr);
+                }
+                let fldNode = me.private_create_field_param_node(sheet, txtFld, startRow, colWidthArr, rowHeightArr, rptTpl);
+                columnDisFieldArr.items[0].push(fldNode);
+            } else {
+                let node = me.createTxtNode(txtFld, sheet, startRow, colWidthArr, rowHeightArr);
+                columnNodes.push(node);
+            }
         }
         }
 
 
         let cotentBand = visualCommonOprObj.getBandEx(rptTpl[JV.NODE_FLOW_INFO][JV.NODE_FLOW_CONTENT][JV.PROP_BAND_NAME], rptTpl);
         let cotentBand = visualCommonOprObj.getBandEx(rptTpl[JV.NODE_FLOW_INFO][JV.NODE_FLOW_CONTENT][JV.PROP_BAND_NAME], rptTpl);
@@ -857,7 +868,6 @@ let visualJumbo = {
             me.private_build_txt_fld_nodes(segTotalBand, sheet, rptTpl, segSummaryNodes);
             me.private_build_txt_fld_nodes(segTotalBand, sheet, rptTpl, segSummaryNodes);
         }
         }
         //3. 其他就归类到离散去了
         //3. 其他就归类到离散去了
-        let discreteNodesArr = [];
         if (me.bandMappingObj && me.bandMappingObj.items && me.bandMappingObj.items.length > 0) {
         if (me.bandMappingObj && me.bandMappingObj.items && me.bandMappingObj.items.length > 0) {
             for (let sBandMap of me.bandMappingObj.items) {
             for (let sBandMap of me.bandMappingObj.items) {
                 if (handledBands.indexOf(sBandMap[JV.PROP_BAND_NAME]) < 0 && sBandMap[JV.PROP_COLOR] !== 'White') {
                 if (handledBands.indexOf(sBandMap[JV.PROP_BAND_NAME]) < 0 && sBandMap[JV.PROP_COLOR] !== 'White') {