|  | @@ -160,7 +160,7 @@ JpcFlowTabSrv.prototype.createNew = function(){
 | 
	
		
			
				|  |  |          me.multiCols = 1;
 | 
	
		
			
				|  |  |          me.pagesAmt = 0;
 | 
	
		
			
				|  |  |      };
 | 
	
		
			
				|  |  | -    JpcFlowTabResult.sorting = function(rptTpl, dataObj, dataSeq) {
 | 
	
		
			
				|  |  | +    JpcFlowTabResult.sorting = function(rptTpl, dataObj, dataSeq, $CURRENT_RPT) {
 | 
	
		
			
				|  |  |          let me = this;
 | 
	
		
			
				|  |  |          let FLOW_NODE_STR = me.isEx?JV.NODE_FLOW_INFO_EX:JV.NODE_FLOW_INFO;
 | 
	
		
			
				|  |  |          if (rptTpl[FLOW_NODE_STR][JV.NODE_FLOW_SEG_SUM]) JpcFieldHelper.findAndPutDataFieldIdx(rptTpl, rptTpl[FLOW_NODE_STR][JV.NODE_FLOW_SEG_SUM][JV.PROP_SUM_FIELDS], me.seg_sum_tab_fields, me.seg_sum_fields_idx, me.isEx);
 | 
	
	
		
			
				|  | @@ -174,11 +174,24 @@ JpcFlowTabSrv.prototype.createNew = function(){
 | 
	
		
			
				|  |  |              me.segments.push(dataSeq[si].slice(0));
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          //pre-sum the data(for seg sum display)
 | 
	
		
			
				|  |  | +        //考虑到实际会有离散指标的汇总,这些离散指标数据是通过计算式后得来的,这种情况下,不适宜在sorting阶段进行汇总统计,现挪到preSetupPages阶段处理
 | 
	
		
			
				|  |  | +    };
 | 
	
		
			
				|  |  | +    JpcFlowTabResult.sumSeg = function (dataObj, $CURRENT_RPT) {
 | 
	
		
			
				|  |  | +        let me = this;
 | 
	
		
			
				|  |  |          let data_details = me.isEx?dataObj[JV.DATA_DETAIL_DATA_EX]:dataObj[JV.DATA_DETAIL_DATA],
 | 
	
		
			
				|  |  |              data_fields = [];
 | 
	
		
			
				|  |  |          for (let i = 0; i < me.seg_sum_fields_idx.length; i++) {
 | 
	
		
			
				|  |  | -            let data_field = data_details[me.seg_sum_fields_idx[i]];
 | 
	
		
			
				|  |  | -            data_fields.push(data_field);
 | 
	
		
			
				|  |  | +            if (typeof(me.seg_sum_fields_idx[i])=="object") {
 | 
	
		
			
				|  |  | +                let exField = JE.F(me.seg_sum_fields_idx[i][JV.PROP_ID], $CURRENT_RPT);
 | 
	
		
			
				|  |  | +                if (exField) {
 | 
	
		
			
				|  |  | +                    data_fields.push(exField["data_field"]);
 | 
	
		
			
				|  |  | +                } else {
 | 
	
		
			
				|  |  | +                    data_fields.push(null);
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            } else {
 | 
	
		
			
				|  |  | +                let data_field = data_details[me.seg_sum_fields_idx[i]];
 | 
	
		
			
				|  |  | +                data_fields.push(data_field);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          for (let i = 0; i < me.segments.length; i++) { //seg level
 | 
	
		
			
				|  |  |              if (me.segments[i].length > 0) {
 | 
	
	
		
			
				|  | @@ -192,7 +205,6 @@ JpcFlowTabSrv.prototype.createNew = function(){
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |                  me.segSumValLst.push(rowGrandTotal);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |      };
 | 
	
		
			
				|  |  |      JpcFlowTabResult.sumUpGrp = function ($CURRENT_RPT, dataObj, segIdx, preGrpIdx, nexGrpIdx) {
 | 
	
	
		
			
				|  | @@ -395,6 +407,7 @@ JpcFlowTabSrv.prototype.createNew = function(){
 | 
	
		
			
				|  |  |          if (followTabEx) {
 | 
	
		
			
				|  |  |              JpcFieldHelper.findAndPutDataFieldIdx(rptTpl, rptTpl[JV.NODE_FLOW_INFO_EX][JV.NODE_FLOW_CONTENT][JV.PROP_FLOW_FIELDS], null, me.disp_fields_ex_idx, true);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | +        me.sumSeg(dataObj, $CURRENT_RPT); //考虑到实际会有离散指标的汇总,这些离散指标数据是通过计算式后得来的,这种情况下,不适宜在sorting阶段进行汇总统计,现统一挪到这里处理
 | 
	
		
			
				|  |  |          if (me.paging_option === JV.PAGING_OPTION_INFINITY) {
 | 
	
		
			
				|  |  |              rst = me.segments.length;
 | 
	
		
			
				|  |  |              let pageStatus = [true, true, false, true, true, true, false, false];
 | 
	
	
		
			
				|  | @@ -759,8 +772,17 @@ JpcFlowTabSrv.prototype.createNew = function(){
 | 
	
		
			
				|  |  |                  let contentValuesIdx = me.dispValueIdxLst[page - 1];
 | 
	
		
			
				|  |  |                  let page_sum_data_fields = [];
 | 
	
		
			
				|  |  |                  for (let i = 0; i < me.page_sum_fields_idx.length; i++) {
 | 
	
		
			
				|  |  | -                    let data_field = data_details[me.page_sum_fields_idx[i]];
 | 
	
		
			
				|  |  | -                    page_sum_data_fields.push(data_field);
 | 
	
		
			
				|  |  | +                    if (typeof(me.page_sum_fields_idx[i])=="object") {
 | 
	
		
			
				|  |  | +                        let exField = JE.F(me.page_sum_fields_idx[i][JV.PROP_ID], $CURRENT_RPT);
 | 
	
		
			
				|  |  | +                        if (exField) {
 | 
	
		
			
				|  |  | +                            page_sum_data_fields.push(exField["data_field"]);
 | 
	
		
			
				|  |  | +                        } else {
 | 
	
		
			
				|  |  | +                            page_sum_data_fields.push(null);
 | 
	
		
			
				|  |  | +                        }
 | 
	
		
			
				|  |  | +                    } else {
 | 
	
		
			
				|  |  | +                        let data_field = data_details[me.page_sum_fields_idx[i]];
 | 
	
		
			
				|  |  | +                        page_sum_data_fields.push(data_field);
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |                  let rowGrandTotal = [];
 | 
	
		
			
				|  |  |                  for (let di = 0; di < page_sum_data_fields.length; di++) {
 |