Browse Source

code sync

TonyKang 6 years ago
parent
commit
21aa8b2fb6

+ 13 - 10
modules/reports/rpt_component/jpc_cross_tab.js

@@ -123,16 +123,19 @@ JpcCrossTabSrv.prototype.createNew = function(){
                     for (let j = 1; j < dataSeq[i].length; j++) {
                         b1 = false;
                         for (let k = 0; k < rstFieldsIdx.length; k++) {
-                            if (typeof(rstFieldsIdx[k]) === 'object') {
-                                let map_data_field = JE.F(rstFieldsIdx[k][JV.PROP_ID], $CURRENT_RPT);
-                                if (map_data_field[JV.PROP_AD_HOC_DATA][dataSeq[i][j - 1]] !== map_data_field[JV.PROP_AD_HOC_DATA][dataSeq[i][j]]) {
-                                    b1 = true;
-                                    break;
-                                }
-                            } else {
-                                if (data_details[rstFieldsIdx[k]][dataSeq[i][j - 1]] !== data_details[rstFieldsIdx[k]][dataSeq[i][j]]) {
-                                    b1 = true;
-                                    break;
+                            if (fields[k].hasOwnProperty(JV.TAB_FIELD_PROP_SORT)) {
+                                //只有被选择了作为排序字段的才进入排序及优化
+                                if (typeof(rstFieldsIdx[k]) === 'object') {
+                                    let map_data_field = JE.F(rstFieldsIdx[k][JV.PROP_ID], $CURRENT_RPT);
+                                    if (map_data_field[JV.PROP_AD_HOC_DATA][dataSeq[i][j - 1]] !== map_data_field[JV.PROP_AD_HOC_DATA][dataSeq[i][j]]) {
+                                        b1 = true;
+                                        break;
+                                    }
+                                } else {
+                                    if (data_details[rstFieldsIdx[k]][dataSeq[i][j - 1]] !== data_details[rstFieldsIdx[k]][dataSeq[i][j]]) {
+                                        b1 = true;
+                                        break;
+                                    }
                                 }
                             }
                         }

+ 18 - 2
modules/reports/util/rpt_yanghu_data_util.js

@@ -1452,6 +1452,18 @@ function ext_getRatioDataPriceMapProperty(propKey) {
     return rst;
 }
 
+function ext_getAdHocGljProperty(adhocDataKey, propKey) {
+    let rst = [], parentObj = this;
+    let dtObj = parentObj["myOwnRawDataObj"];
+    if (propKey && dtObj) {
+        // for (let dItem of getActDataArr(dtObj)) {
+        //     let doc = (dItem._doc === null || dItem._doc === undefined)?dItem:dItem._doc;
+        //     pri_push_property(propKey, doc, rst);
+        // }
+    }
+    return rst;
+}
+
 function ext_getProperty(propKey) {
     let rst = [], parentObj = this;
     let dtObj = parentObj["myOwnRawDataObj"];
@@ -1798,12 +1810,16 @@ function ext_getPropertyByForeignId(foreignIdVal, adHocIdKey, propKey, dftValIfN
     return rst;
 }
 
-function getActDataArr(dtObj) {
+function getActDataArr(dtObj, adhocKey) {
     let rst = null;
     if (dtObj) {
         rst = dtObj.data;
         if (dtObj.moduleName === "projectGLJ") {
-            rst = dtObj.data.gljList;
+            if (adhocKey) {
+                rst = dtObj.data[adhocKey];
+            } else {
+                rst = dtObj.data.gljList;
+            }
         }
         if (dtObj.moduleName === "calc_program") {
             rst = dtObj.data.templates;