|
@@ -416,12 +416,12 @@ function filterData(sourceData, handleCfg, prjData) {
|
|
|
}
|
|
|
return rst;
|
|
|
};
|
|
|
- let compareObj = {};
|
|
|
- for (let item of tempRstArr) {
|
|
|
+ let private_filter_compare = function (item, filterCfg) {
|
|
|
+ let compareObj = {};
|
|
|
let compRst = true;
|
|
|
let curComparePrjData = null;
|
|
|
let startIdx = 0;
|
|
|
- for (let cfg of handleCfg[JV.PROP_FILTER_KEYS]) {
|
|
|
+ for (let cfg of filterCfg[JV.PROP_FILTER_KEYS]) {
|
|
|
if (cfg[JV.PROP_FILTER_COMPARE_VAL]) {
|
|
|
//比较key值
|
|
|
let keys = cfg.key.split(".");
|
|
@@ -472,10 +472,27 @@ function filterData(sourceData, handleCfg, prjData) {
|
|
|
}
|
|
|
startIdx++;
|
|
|
}
|
|
|
- if (compRst) {
|
|
|
+ return compRst;
|
|
|
+ };
|
|
|
+ for (let item of tempRstArr) {
|
|
|
+ if (private_filter_compare(item, handleCfg)) {
|
|
|
rstArr.push(item);
|
|
|
}
|
|
|
}
|
|
|
+ if (handleCfg[JV.PROP_OTHER_SUB_FILTER] && handleCfg[JV.PROP_OTHER_SUB_FILTER].length > 0) {
|
|
|
+ let newRstArr = [];
|
|
|
+ for (let dtlItem of rstArr) {
|
|
|
+ let cmpRst = false;
|
|
|
+ for (let dtlCfg of handleCfg[JV.PROP_OTHER_SUB_FILTER]) {
|
|
|
+ cmpRst = private_filter_compare(dtlItem, dtlCfg);
|
|
|
+ if (cmpRst) {
|
|
|
+ newRstArr.push(dtlItem);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ rstArr = newRstArr;
|
|
|
+ }
|
|
|
delete sourceData.data;
|
|
|
sourceData.data = rstArr;
|
|
|
// fsUtil.writeObjToFile(sourceData.data, "D:/GitHome/ConstructionCost/tmp/filteredRst.js");
|