Browse Source

code sync

TonyKang 7 năm trước cách đây
mục cha
commit
e413319b92

+ 14 - 10
modules/reports/rpt_component/jpc_flow_tab.js

@@ -124,6 +124,7 @@ JpcFlowTabSrv.prototype.createNew = function(){
         me.dispValueIdxLst = [];
         me.page_seg_map = [];
         me.disp_fields_idx = [];
+        me.disp_fields_ex_idx = [];
         me.seg_sum_fields_idx = [];
         me.seg_sum_tab_fields = [];
         me.page_sum_fields_idx = [];
@@ -373,6 +374,9 @@ JpcFlowTabSrv.prototype.createNew = function(){
         me.paging_option = option||JV.PAGING_OPTION_NORMAL;
         let CURRENT_FLOW_INFO = (me.isEx)?JV.NODE_FLOW_INFO_EX:JV.NODE_FLOW_INFO;
         JpcFieldHelper.findAndPutDataFieldIdx(rptTpl, rptTpl[CURRENT_FLOW_INFO][JV.NODE_FLOW_CONTENT][JV.PROP_FLOW_FIELDS], null, me.disp_fields_idx, me.isEx);
+        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);
+        }
         if (me.paging_option === JV.PAGING_OPTION_INFINITY) {
             rst = me.segments.length;
             let pageStatus = [true, true, false, true, true, true, false, false];
@@ -768,20 +772,20 @@ JpcFlowTabSrv.prototype.createNew = function(){
                         }
                     }
                     if (contentValuesIdx[rowIdx][0] === JV.TYPE_FOLLOW_MODE) {
-                        for (let i = 0; i < tab_fields_ex.length; i++) {
-                            let tab_field = tab_fields_ex[i];
-                            let data_field = null;
-                            if (me.disp_fields_idx[i] !== JV.BLANK_FIELD_INDEX) {
-                                data_field = data_details_ex[me.disp_fields_idx[i]];
+                        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;
+                            if (me.disp_fields_ex_idx[idx_ex] !== JV.BLANK_FIELD_INDEX) {
+                                data_fieldex = data_details_ex[me.disp_fields_ex_idx[idx_ex]];
                             } else {
-                                data_field = JE.F(tab_field[JV.PROP_FIELD_ID], $CURRENT_RPT);
-                                if (data_field) {
-                                    data_field = data_field[JV.PROP_AD_HOC_DATA];
+                                data_fieldex = JE.F(tab_fieldex[JV.PROP_FIELD_ID], $CURRENT_RPT);
+                                if (data_fieldex) {
+                                    data_fieldex = data_fieldex[JV.PROP_AD_HOC_DATA];
                                 }
                             }
-                            if (!(tab_field[JV.PROP_HIDDEN])) {
+                            if (!(tab_fieldex[JV.PROP_HIDDEN])) {
                                 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));
+                                    rst.push(me.outputTabField(band, tab_fieldex, data_fieldex, contentValuesIdx[rowIdx][2], -1, contentValuesIdx.length, rowIdx, 1, 0, unitFactor, true, controls, multiColIdx));
                                 }
                             }
                         }

+ 4 - 2
modules/reports/util/rpt_construct_data_util.js

@@ -1006,8 +1006,10 @@ function ext_getPropertyByForeignId(foreignIdVal, adHocIdKey, propKey, dftValIfN
         if (foreignIdVal instanceof Array) {
             for (let idVal of foreignIdVal) {
                 isFound = false;
-                for (let i = 0; i < dtObj.data.length; i++) {
-                    let item = (dtObj.data[i]._doc)?dtObj.data[i]._doc:dtObj.data[i];
+                let dataArr = dtObj.data;
+                if (dtObj.moduleName === "projectGLJ") dataArr = dtObj.data.gljList;
+                for (let i = 0; i < dataArr.length; i++) {
+                    let item = (dataArr[i]._doc)?dataArr[i]._doc:dataArr[i];
                     if (item[IdKey] === idVal) {
                         let splitPKey = propKey.split(".");
                         if (splitPKey.length > 1) {