|
@@ -619,8 +619,23 @@ function sortData(sourceData, sortCfg, prjData) {
|
|
|
switch (sortType) {
|
|
|
case "tree":
|
|
|
rst = treeUtil.buildTreeNodeDirectly(tempRstArr);
|
|
|
+ let newTopArr = [];
|
|
|
+ if (sortCfg[JV.PROP_FILTER_TOP_BILLS_NODES] && sortCfg[JV.PROP_FILTER_TOP_BILLS_NODES].length > 0) {
|
|
|
+ for (let topItem of rst) {
|
|
|
+ if (topItem.flags && topItem.flags.length > 0) {
|
|
|
+ for (let flagItem of topItem.flags) {
|
|
|
+ if (sortCfg[JV.PROP_FILTER_TOP_BILLS_NODES].indexOf(flagItem.flag) >= 0) {
|
|
|
+ newTopArr.push(topItem);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ newTopArr = rst;
|
|
|
+ }
|
|
|
let destArr = [];
|
|
|
- treeUtil.getFlatArray(rst, destArr);
|
|
|
+ treeUtil.getFlatArray(newTopArr, destArr);
|
|
|
delete sourceData.data;
|
|
|
sourceData.data = destArr;
|
|
|
// fsUtil.writeObjToFile(sourceData.data, "D:/GitHome/ConstructionCost/tmp/sortedAndFlattedRst.js");
|