|
@@ -51,7 +51,8 @@ JpcFlowTabSrv.prototype.createNew = function(){
|
|
|
let private_inner_add_grp_rec = function(vi) {
|
|
|
let hasFullGrp = true, couldBreak = false;
|
|
|
for (let i = 0; i < grp_lines; i++) {
|
|
|
- if ( ((vi + insertedGrpAmt * grp_lines) + i + 1) >= (maxRecPerPage - preAmt)) {
|
|
|
+ // if ( ((vi + insertedGrpAmt * grp_lines) + i + 1) >= (maxRecPerPage - preAmt)) {
|
|
|
+ if ( (vIdx.length + i ) >= maxRecPerPage) {
|
|
|
for (let j = i; j < grp_lines; j++) {
|
|
|
grpPageInfo[JV.PROP_PRE_ADD_GRP_REC_INFO].push(j);
|
|
|
}
|
|
@@ -105,7 +106,12 @@ JpcFlowTabSrv.prototype.createNew = function(){
|
|
|
if (private_inner_add_grp_rec(vi)) break;
|
|
|
if (couldBreak) break;
|
|
|
} else {
|
|
|
- if (private_normal_add_rec(vi)) break;
|
|
|
+ //备注: 在有group的情况下,如果grpPageInfo[JV.PROP_SEG_GRP_IDX] 范围大于 grpSequenceInfo.length,则表示已经到最后了,不要再加空白数据了
|
|
|
+ if (grpPageInfo[JV.PROP_SEG_GRP_IDX] < grpSequenceInfo.length) {
|
|
|
+ if (private_normal_add_rec(vi)) break;
|
|
|
+ } else {
|
|
|
+ break;
|
|
|
+ }
|
|
|
}
|
|
|
} else {
|
|
|
if (private_normal_add_rec(vi)) break;
|
|
@@ -428,7 +434,9 @@ JpcFlowTabSrv.prototype.createNew = function(){
|
|
|
private_chk_handle_rec_amt(dv, false);
|
|
|
}
|
|
|
//再处理下半部分
|
|
|
- private_addPageValue(me.dispValueIdxLst, followTabEx.segments[segIdx], null, counterRowRecEx, maxRowRec - mixSplitPoint, me.page_seg_map, segIdx, pageIdx, null, true, null, 0);
|
|
|
+ let restRecAmt = maxRowRec - me.dispValueIdxLst[me.dispValueIdxLst.length - 1].length; //备注:在一些极端条件下,mixSplitPoint这个分割点不合适处理下半部分数据,以实际生成的value-index数量为准
|
|
|
+ // private_addPageValue(me.dispValueIdxLst, followTabEx.segments[segIdx], null, counterRowRecEx, maxRowRec - mixSplitPoint, me.page_seg_map, segIdx, pageIdx, null, true, null, 0);
|
|
|
+ private_addPageValue(me.dispValueIdxLst, followTabEx.segments[segIdx], null, counterRowRecEx, restRecAmt, me.page_seg_map, segIdx, pageIdx, null, true, null, 0);
|
|
|
for (let dv of me.dispValueIdxLst[me.dispValueIdxLst.length - 1]) {
|
|
|
private_chk_handle_rec_amt(dv, true);
|
|
|
}
|