|
@@ -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++) {
|