Browse Source

copy报表模板改进(ID同步)+code sync

TonyKang 7 years ago
parent
commit
1c513b6577

+ 11 - 3
modules/reports/rpt_component/jpc_flow_tab.js

@@ -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);
                     }

+ 8 - 8
web/maintain/report/js/rpt_tpl_main.js

@@ -331,18 +331,18 @@ let zTreeOprObj = {
         } else {
             newTopNode = me.buildRootNodeDoc(targetTopNode);
             me.updateTreeRootNode(newTopNode, false, function(rst){
-                if (!(rst)) {
-                    displayMessage("移动请求失败!", "red", 1000);
-                } else {
-                    canContinue = true;
-                }
+                canContinue = true;
+            }, function(badResult){
+                displayMessage("移动请求失败!", "red", 1000);
+                canContinue = false;
             });
             if (canContinue && !isCopy && me.moveSrcTopNode) {
                 let newSrcTopNode = me.buildRootNodeDoc(me.moveSrcTopNode);
                 me.updateTreeRootNode(newSrcTopNode, true, function(rst){
-                    if (!(rst)) {
-                        displayMessage("移动请求失败!", "red", 1000);
-                    }
+                    // canContinue = true;
+                }, function(badResult){
+                    displayMessage("移动请求失败!", "red", 1000);
+                    canContinue = true;
                 });
             }
             me.moveSrcTopNode = null;