浏览代码

code sync + 复制模板改正refId

TonyKang 6 年之前
父节点
当前提交
b5d2988d52
共有 2 个文件被更改,包括 21 次插入14 次删除
  1. 8 8
      modules/reports/rpt_component/jpc_flow_tab.js
  2. 13 6
      web/maintain/report/js/rpt_tpl_main.js

+ 8 - 8
modules/reports/rpt_component/jpc_flow_tab.js

@@ -724,9 +724,9 @@ JpcFlowTabSrv.prototype.createNew = function(){
                 // 2.2 Column tab
                 tabRstLst.push(me.outputColumn(rptTpl, dataObj, actualPage, segIdx, bands, unitFactor, pi));
                 // 2.3 Sum Seg
-                tabRstLst.push(me.outputSegSum(rptTpl, dataObj, actualPage, segIdx, bands, unitFactor, controls));
+                tabRstLst.push(me.outputSegSum(rptTpl, dataObj, actualPage, segIdx, bands, unitFactor, controls, $CURRENT_RPT));
                 // 2.4 Sum Page
-                tabRstLst.push(me.outputPageSum(rptTpl, dataObj, actualPage, segIdx, bands, unitFactor, controls));
+                tabRstLst.push(me.outputPageSum(rptTpl, dataObj, actualPage, segIdx, bands, unitFactor, controls, $CURRENT_RPT));
                 // 2.5 Group
                 // 2.6 Discrete
                 if (pi === 0) {
@@ -794,12 +794,12 @@ JpcFlowTabSrv.prototype.createNew = function(){
                 //normal content
                 let flexiblePrecisionRefObj = null, flexibleRefField = null, precision_ref_data = null;
                 for (let rowIdx = 0; rowIdx < contentValuesIdx.length; rowIdx++) {
-                    for (let i = 0; i < tab_fields.length; i++) {
-                        let tab_field = tab_fields[i];
+                    for (let fieldIdx = 0; fieldIdx < tab_fields.length; fieldIdx++) {
+                        let tab_field = tab_fields[fieldIdx];
                         let data_field = null,
                             map_data_field = JE.F(tab_field[JV.PROP_FIELD_ID], $CURRENT_RPT);
-                        if (me.disp_fields_idx[i] !== JV.BLANK_FIELD_INDEX) {
-                            data_field = data_details[me.disp_fields_idx[i]];
+                        if (me.disp_fields_idx[fieldIdx] !== JV.BLANK_FIELD_INDEX && (typeof me.disp_fields_idx[fieldIdx] !== 'object')) {
+                            data_field = data_details[me.disp_fields_idx[fieldIdx]];
                         } else {
                             if (map_data_field) {
                                 data_field = map_data_field[JV.PROP_AD_HOC_DATA];
@@ -845,7 +845,7 @@ JpcFlowTabSrv.prototype.createNew = function(){
                         for (let idx_ex = 0; idx_ex < tab_fields_ex.length; idx_ex++) {
                             let tab_fieldex = tab_fields_ex[idx_ex];
                             let data_fieldex = null, map_data_fieldex = JE.F(tab_fieldex[JV.PROP_FIELD_ID], $CURRENT_RPT);
-                            if (me.disp_fields_ex_idx[idx_ex] !== JV.BLANK_FIELD_INDEX) {
+                            if (me.disp_fields_ex_idx[idx_ex] !== JV.BLANK_FIELD_INDEX && (typeof me.disp_fields_idx[idx_ex] !== 'object')) {
                                 data_fieldex = data_details_ex[me.disp_fields_ex_idx[idx_ex]];
                             } else {
                                 if (map_data_fieldex) {
@@ -937,7 +937,7 @@ JpcFlowTabSrv.prototype.createNew = function(){
         }
         return rst;
     };
-    JpcFlowTabResult.outputSegSum = function (rptTpl, dataObj, page, segIdx, bands, unitFactor, controls) {
+    JpcFlowTabResult.outputSegSum = function (rptTpl, dataObj, page, segIdx, bands, unitFactor, controls, $CURRENT_RPT) {
         let me = this, rst = [];
         let FLOW_NODE_STR = me.isEx?JV.NODE_FLOW_INFO_EX:JV.NODE_FLOW_INFO;
         let tab = rptTpl[FLOW_NODE_STR][JV.NODE_FLOW_SEG_SUM];

+ 13 - 6
web/maintain/report/js/rpt_tpl_main.js

@@ -355,8 +355,8 @@ let zTreeOprObj = {
             me.getNewNodeID(1, function (newNodeID) {
                 let orgID = treeNodes[0].ID;
                 treeNodes[0].ID = newNodeID;
-                newTopNode = me.buildRootNodeDoc(targetTopNode);
                 if (confirm("是否引用相同的报表模板?")) {
+                    newTopNode = me.buildRootNodeDoc(targetTopNode);
                     me.updateTreeRootNode(newTopNode, false, function(goodRst){
                         canContinue = true;
                         if (treeNodes[0].rptTpl) {
@@ -365,12 +365,15 @@ let zTreeOprObj = {
                         me.currentNode = treeNodes[0];
                     }, function(badRst){
                         displayMessage("更新模板节点失败!", "red", 2000);
-                        console.log(badRst.toString());
+                        // console.log(badRst.toString());
+                        console.log(badRst);
                     });
                 } else {
                     treeNodes[0].refId = newNodeID;
+                    targetNode.refId = newNodeID;
+                    newTopNode = me.buildRootNodeDoc(targetTopNode);
                     me.copyReportTemplate(orgID, newNodeID, true, function(goodResult){
-                        me.updateTreeRootNode(newTopNode, false, function(goodRst){
+                        me.updateTreeRootNode(newTopNode, true, function(goodRst){
                             canContinue = true;
                             if (treeNodes[0].rptTpl) {
                                 treeNodes[0].rptTpl.ID = newNodeID;
@@ -378,15 +381,19 @@ let zTreeOprObj = {
                             me.currentNode = treeNodes[0];
                         }, function(badRst){
                             displayMessage("更新模板节点失败!", "red", 2000);
-                            console.log(badRst.toString());
+                            // console.log(badRst.toString());
+                            console.log(badRst);
                         });
                     }, function(badResult){
                         displayMessage("Copy请求失败!", "red", 2000);
-                        console.log(badResult.toString());
+                        // console.log(badResult.toString());
+                        console.log(badResult);
                     });
                 }
             });
-            if (canContinue) me.chkAndRreshRefTpl();
+            if (canContinue) {
+                me.chkAndRreshRefTpl();
+            }
         } else {
             newTopNode = me.buildRootNodeDoc(targetTopNode);
             me.updateTreeRootNode(newTopNode, false, function(rst){