|
@@ -163,10 +163,12 @@ JpcFlowTabSrv.prototype.createNew = function(){
|
|
|
JpcFlowTabResult.sorting = function(rptTpl, dataObj, dataSeq) {
|
|
|
let me = this;
|
|
|
let FLOW_NODE_STR = me.isEx?JV.NODE_FLOW_INFO_EX:JV.NODE_FLOW_INFO;
|
|
|
- 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);
|
|
|
- JpcFieldHelper.findAndPutDataFieldIdx(rptTpl, rptTpl[FLOW_NODE_STR][JV.NODE_FLOW_PAGE_SUM][JV.PROP_SUM_FIELDS], me.page_sum_tab_fields, me.page_sum_fields_idx, me.isEx);
|
|
|
- JpcFieldHelper.findAndPutDataFieldIdx(rptTpl, rptTpl[FLOW_NODE_STR][JV.NODE_FLOW_GROUP][JV.PROP_GROUP_FIELDS], me.group_fields, null, me.isEx);
|
|
|
- JpcFieldHelper.findAndPutDataFieldIdx(rptTpl, rptTpl[FLOW_NODE_STR][JV.NODE_FLOW_GROUP][JV.PROP_SUM_FIELDS], me.group_sum_fields, null, me.isEx);
|
|
|
+ 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);
|
|
|
+ if (rptTpl[FLOW_NODE_STR][JV.NODE_FLOW_PAGE_SUM]) JpcFieldHelper.findAndPutDataFieldIdx(rptTpl, rptTpl[FLOW_NODE_STR][JV.NODE_FLOW_PAGE_SUM][JV.PROP_SUM_FIELDS], me.page_sum_tab_fields, me.page_sum_fields_idx, me.isEx);
|
|
|
+ if (rptTpl[FLOW_NODE_STR][JV.NODE_FLOW_GROUP]) {
|
|
|
+ JpcFieldHelper.findAndPutDataFieldIdx(rptTpl, rptTpl[FLOW_NODE_STR][JV.NODE_FLOW_GROUP][JV.PROP_GROUP_FIELDS], me.group_fields, null, me.isEx);
|
|
|
+ JpcFieldHelper.findAndPutDataFieldIdx(rptTpl, rptTpl[FLOW_NODE_STR][JV.NODE_FLOW_GROUP][JV.PROP_SUM_FIELDS], me.group_sum_fields, null, me.isEx);
|
|
|
+ }
|
|
|
JpcFieldHelper.findAutoHeightFieldIdx(rptTpl, rptTpl[FLOW_NODE_STR][JV.NODE_FLOW_CONTENT][JV.PROP_FLOW_FIELDS], me.auto_height_fields_idx, me.isEx);
|
|
|
for (let si = 0; si < dataSeq.length; si++) {
|
|
|
me.segments.push(dataSeq[si].slice(0));
|
|
@@ -795,7 +797,6 @@ JpcFlowTabSrv.prototype.createNew = function(){
|
|
|
if (contentValuesIdx[rowIdx][0] !== JV.TYPE_FOLLOW_MODE && contentValuesIdx[rowIdx][1] === JV.DISPLAY_VAL_TYPE_NORMAL) {
|
|
|
rst.push(me.outputTabField(band, tab_field, data_field, contentValuesIdx[rowIdx][2], -1, contentValuesIdx.length, rowIdx, 1, 0, unitFactor, true, controls, multiColIdx));
|
|
|
} else if (contentValuesIdx[rowIdx][1] === JV.DISPLAY_VAL_TYPE_AUTO_HEIGHT) {
|
|
|
- //vIdx.push([followMode, JV.DISPLAY_VAL_TYPE_AUTO_HEIGHT, sortedSequence[startRecIdx + vi]], subValIdx, ttlValAmt);
|
|
|
if (contentValuesIdx[rowIdx][4] === 1) {
|
|
|
//等效于普通输出
|
|
|
rst.push(me.outputTabField(band, tab_field, data_field, contentValuesIdx[rowIdx][2], -1, contentValuesIdx.length, rowIdx, 1, 0, unitFactor, true, controls, multiColIdx));
|
|
@@ -871,12 +872,9 @@ JpcFlowTabSrv.prototype.createNew = function(){
|
|
|
}
|
|
|
}
|
|
|
let eliminateCells = combineAutoHeightCells(prepareObj, page, controls);
|
|
|
- // console.log("rst.length: " + rst.length);
|
|
|
- // console.log("eliminateCells.length: " + eliminateCells.length);
|
|
|
for (let idIdx = eliminateCells.length - 1; idIdx >= 0; idIdx--) {
|
|
|
rst.splice(eliminateCells[idIdx], 1);
|
|
|
}
|
|
|
- console.log("rst.length: " + rst.length);
|
|
|
return rst;
|
|
|
};
|
|
|
JpcFlowTabResult.outputColumn = function (rptTpl, dataObj, page, segIdx, bands, unitFactor, multiColIdx) {
|
|
@@ -1026,10 +1024,11 @@ JpcFlowTabSrv.prototype.createNew = function(){
|
|
|
};
|
|
|
|
|
|
function push_cell(pageCellObj, cell, cellIdx) {
|
|
|
- if (!pageCellObj[cell[JV.PROP_AREA][JV.PROP_LEFT] + '_' + cell[JV.PROP_AREA][JV.PROP_RIGHT]]) {
|
|
|
- pageCellObj[cell[JV.PROP_AREA][JV.PROP_LEFT] + '_' + cell[JV.PROP_AREA][JV.PROP_RIGHT]] = [];
|
|
|
+ let key = cell[JV.PROP_AREA][JV.PROP_LEFT] + '_' + cell[JV.PROP_AREA][JV.PROP_RIGHT];
|
|
|
+ if (!pageCellObj[key]) {
|
|
|
+ pageCellObj[key] = [];
|
|
|
}
|
|
|
- let cellArr = pageCellObj[cell[JV.PROP_AREA][JV.PROP_LEFT] + '_' + cell[JV.PROP_AREA][JV.PROP_RIGHT]];
|
|
|
+ let cellArr = pageCellObj[key];
|
|
|
cellArr.push({"cellIdx": cellIdx, "cell": cell});
|
|
|
}
|
|
|
|
|
@@ -1052,12 +1051,14 @@ function setupControl(mergeCell, controls) {
|
|
|
"ShowZero": orgCtrl.ShowZero,
|
|
|
"Horizon": orgCtrl.Horizon,
|
|
|
"Vertical": "top",
|
|
|
- "Wrap": "T"
|
|
|
+ "Wrap": "T",
|
|
|
+ "VerticalForExcel": "justify"
|
|
|
};
|
|
|
} else {
|
|
|
mergeCell[JV.PROP_CONTROL].Shrink = "T";
|
|
|
mergeCell[JV.PROP_CONTROL].Vertical = "top";
|
|
|
mergeCell[JV.PROP_CONTROL].Wrap = "T";
|
|
|
+ mergeCell[JV.PROP_CONTROL].VerticalForExcel = "justify";
|
|
|
orgCtrl = mergeCell[JV.PROP_CONTROL];
|
|
|
}
|
|
|
return orgCtrl;
|
|
@@ -1067,6 +1068,7 @@ function combineAutoHeightCells(prepareObj, page, controls) {
|
|
|
let rst = [];
|
|
|
if (prepareObj.cellsArr) {
|
|
|
//merge cells' value and area
|
|
|
+ //备注: 系统逻辑已经把Cell的顺序放好,无需再做排序。
|
|
|
for (let mergeKey in prepareObj.pageCellObj) {
|
|
|
if (prepareObj.pageCellObj[mergeKey].length > 1) {
|
|
|
let firstMergeCell = prepareObj.pageCellObj[mergeKey][0].cell;
|
|
@@ -1084,11 +1086,13 @@ function combineAutoHeightCells(prepareObj, page, controls) {
|
|
|
if (i === prepareObj.pageCellObj[mergeKey].length - 1 && validValueAmt === 0) {
|
|
|
firstMergeCell[JV.PROP_CONTROL].Shrink = orgCtrl.Shrink;
|
|
|
firstMergeCell[JV.PROP_CONTROL].Wrap = "F";
|
|
|
+ firstMergeCell[JV.PROP_CONTROL].VerticalForExcel = null;
|
|
|
}
|
|
|
} else {
|
|
|
if (validValueAmt === 0) {
|
|
|
firstMergeCell[JV.PROP_CONTROL].Shrink = orgCtrl.Shrink;
|
|
|
firstMergeCell[JV.PROP_CONTROL].Wrap = "F";
|
|
|
+ firstMergeCell[JV.PROP_CONTROL].VerticalForExcel = null;
|
|
|
}
|
|
|
firstMergeCell = prepareObj.pageCellObj[mergeKey][i].cell;
|
|
|
firstMergeCell[JV.PROP_STYLE] = firstMergeCell[JV.PROP_STYLE].slice(0, firstMergeCell[JV.PROP_STYLE].indexOf("_AutoHeightMerge"));
|