Browse Source

增加对清单标记的处理

TonyKang 7 years ago
parent
commit
1346865c2d

+ 3 - 0
modules/reports/rpt_component/helper/jpc_helper_discrete.js

@@ -71,6 +71,9 @@ let JpcDiscreteHelper = {
                     for (let j = 0; j < discreteArray[i][JV.PROP_DISCRETE_FIELDS].length; j++) {
                         let df = discreteArray[i][JV.PROP_DISCRETE_FIELDS][j];
                         let value = "";
+                        if (df[JV.PROP_DFT_VALUE]) {
+                            value = df[JV.PROP_DFT_VALUE];
+                        }
                         let item = JpcCommonOutputHelper.createCommonOutputWithoutDecorate(df, value, null);
                         //position
                         item[JV.PROP_AREA] = JpcAreaHelper.outputArea(df[JV.PROP_AREA], band, unitFactor, 1, 0, 1, 0, 1, 0, false, false);

+ 34 - 0
modules/reports/util/rpt_construct_data_util.js

@@ -803,6 +803,7 @@ function setupFunc(obj, prop, ownRawObj) {
     obj[prop].getProperty = ext_getPropety;
     obj[prop].getFee = ext_getFee;
     obj[prop].getPropertyByForeignId = ext_getPropertyByForeignId;
+    obj[prop].getArrayValues = ext_getArrayValues;
     obj[prop].getArrayItemByKey = ext_getArrayItemByKey;
     obj[prop].getPropertyByFlag = ext_getPropertyByFlag;
     obj[prop].getBlank = ext_getBlank;
@@ -1055,6 +1056,39 @@ function ext_getFeeRate(fee_Ids){
     return rst;
 }
 
+function ext_getArrayValues(itemKey) {
+    let rst = [], parentObj = this;
+    let dtObj = parentObj["myOwnRawDataObj"];
+    let keysArr = itemKey.split(".");
+    for (let dataItem of dtObj.data) {
+        let itemArr = [];
+        if (keysArr.length <= 2) {
+            if (dataItem[keysArr[0]] instanceof Array) {
+                if (keysArr.length === 2) {
+                    for (let item of dataItem[keysArr[0]]) {
+                        itemArr.push(item[keysArr[1]]);
+                    }
+                } else {
+                    itemArr = itemArr.concat(dataItem[keysArr[0]]);
+                }
+            } else {
+                if (keysArr.length === 2) {
+                    let subProperty = dataItem[keysArr[0]][keysArr[1]];
+                    if (subProperty instanceof Array) {
+                        itemArr = itemArr.concat(subProperty);
+                    } else {
+                        itemArr.push(subProperty);
+                    }
+                } else {
+                    itemArr.push(dataItem[keysArr[0]]);
+                }
+            }
+        }
+        rst.push(itemArr);
+    }
+    return rst;
+}
+
 function ext_getArrayItemByKey(arrayKey, itemKey, itemKeyValue, itemRstKey){
     let rst = [], parentObj = this;
     let dtObj = parentObj["myOwnRawDataObj"];