浏览代码

tree sort tuning

TonyKang 7 年之前
父节点
当前提交
a2e473fa5a
共有 3 个文件被更改,包括 12 次插入9 次删除
  1. 1 0
      .gitignore
  2. 10 8
      public/web/treeDataHelper.js
  3. 1 1
      test/unit/reports/test_tpl_09_1.js

+ 1 - 0
.gitignore

@@ -4,5 +4,6 @@ dist/
 .idea/
 tmp/*.xlsx
 tmp/*.pdf
+tmp/*.jsp
 test/unit/logs
 *.log

+ 10 - 8
public/web/treeDataHelper.js

@@ -7,14 +7,14 @@ let tree_Data_Helper = {
     buildTreeNodeDirectly: function(data) {
         let topArr = [], rst = [], tmpNodes = {}, prefix = "id_";
         let private_getTopNode = function (idArr) {
-            let rst = null;
+            let tmpNodeRst = null;
             for (let i = 0; i < idArr.length; i++) {
-                if (tmpNodes[prefix + idArr[i]][ADHOC_PRE_ID] === EMPTY_ID_VAL) {
-                    rst = tmpNodes[prefix + idArr[i]];
+                if (parseInt(tmpNodes[prefix + idArr[i]][ADHOC_PRE_ID]) === EMPTY_ID_VAL) {
+                    tmpNodeRst = tmpNodes[prefix + idArr[i]];
                     break;
                 }
             }
-            return rst;
+            return tmpNodeRst;
         };
         let private_buildNodeData = function(parentItem, idArr) {
             let iter = [], nextNode = private_getTopNode(idArr);
@@ -37,15 +37,17 @@ let tree_Data_Helper = {
             data[i][ADHOC_PRE_ID] = EMPTY_ID_VAL;
             data[i][SUB_ID] = [];
             data[i][CHILDREN_NODE] = [];
-            if (data[i][P_ID] === EMPTY_ID_VAL) {
+            if (parseInt(data[i][P_ID]) === EMPTY_ID_VAL) {
                 topArr.push(data[i][NODE_ID]);
             }
         }
         for (let i = 0; i < data.length; i++) {
-            if (data[i][NEXT_ID] !== EMPTY_ID_VAL) {
-                tmpNodes[prefix + data[i][NEXT_ID]][ADHOC_PRE_ID] = data[i][NODE_ID];
+            if (parseInt(data[i][NEXT_ID]) !== EMPTY_ID_VAL) {
+                if (tmpNodes[prefix + data[i][NEXT_ID]] !== undefined){
+                    tmpNodes[prefix + data[i][NEXT_ID]][ADHOC_PRE_ID] = data[i][NODE_ID];
+                }
             }
-            if (data[i][P_ID] !== EMPTY_ID_VAL) {
+            if (parseInt(data[i][P_ID]) !== EMPTY_ID_VAL) {
                 tmpNodes[prefix + data[i][P_ID]][SUB_ID].push(data[i][NODE_ID]);
             }
         }

+ 1 - 1
test/unit/reports/test_tpl_09_1.js

@@ -136,7 +136,7 @@ test('测试 - 测试模板啦: ', function (t) {
                     let maxPages = printCom.totalPages;
                     let pageRst = printCom.outputAsSimpleJSONPageArray(rptTpl, tplData, 1, maxPages, defProperties);
                     if (pageRst) {
-                        // fsUtil.wirteObjToFile(pageRst, "D:/GitHome/ConstructionCost/tmp/testBuiltPageResult.js");
+                        // fsUtil.writeObjToFile(pageRst, "D:/GitHome/ConstructionCost/tmp/testBuiltPageResult.jsp");
                     } else {
                         console.log("oh! no pages were created!");
                     }