Browse Source

加强代码强壮性-批量设置标段签名

TonyKang 4 years ago
parent
commit
85506ba1b3
1 changed files with 24 additions and 28 deletions
  1. 24 28
      app/view/report/rpt_all_popup.ejs

+ 24 - 28
app/view/report/rpt_all_popup.ejs

@@ -534,12 +534,27 @@
         }
         //3. 把标段挂上去
         let tmpCacheArr = []; //这个临时用来储存相应标段节点挂接信息
+        let _createTenderItem = function (tender) {
+            let rst = {
+                name: tender.name,
+                id : -1,
+                cid : -1,
+                tender_id: tender.id,
+                last_stage: tender.lastStage.order,
+                last_stage_id: tender.lastStage.id,
+                report_id: zTreeOprObj.currentNode.refId,
+                signature: '',
+                items: [],
+                isParent: false
+            }
+            return rst;
+        }
         let _putTender = function (catLv, tender, parentItems) {
             if (tender.lastStage !== undefined && tender.lastStage !== null) {
                 if (hasCat) {
                     let isSorted = false;
                     for (let sCat of sortedCat) {
-                        if (sCat.id === tender.category[catLv].cid && sCat.level > 0) {
+                        if (sCat.level <= tender.category.length && sCat.level > 0 && sCat.id === tender.category[catLv].cid) {
                             isSorted = true;
                             break;
                         }
@@ -547,49 +562,30 @@
                     if (isSorted) {
                         for (const item of parentItems) {
                             if (item.cid === tender.category[catLv].cid && item.id === tender.category[catLv].value) {
-                                if (item.items.length > 0) {
+                                if (item.items.length > 0 && tender.category.length > (catLv + 1)) {
                                     //递归循环
                                     _putTender(catLv + 1, tender, item.items);
                                 } else {
                                     //就是这个了
-                                    let tdItem = {
-                                        name: tender.name,
-                                        id : -1,
-                                        cid : -1,
-                                        tender_id: tender.id,
-                                        last_stage: tender.lastStage.order,
-                                        last_stage_id: tender.lastStage.id,
-                                        report_id: zTreeOprObj.currentNode.refId,
-                                        signature: '',
-                                        items: [],
-                                        isParent: false
-                                    }; //标段节点
-                                    //
+                                    let tdItem = _createTenderItem(tender); //标段节点
                                     tmpCacheArr.push([item, tdItem]);
                                 }
                             }
                         }
+                    } else {
+                        //超界了
+                        //let tdItem = _createTenderItem(tender); //标段节点
+                        //tmpCacheArr.push([item, tdItem]);
                     }
                 } else {
                     // 没有设置category
-                    let tdItem = {
-                        name: tender.name,
-                        id : -1,
-                        cid : -1,
-                        tender_id: tender.id,
-                        last_stage: tender.lastStage.order,
-                        last_stage_id: tender.lastStage.id,
-                        report_id: zTreeOprObj.currentNode.refId,
-                        signature: '',
-                        items: [],
-                        isParent: false
-                    }; //标段节点
-                    //
+                    let tdItem = _createTenderItem(tender); //标段节点
                     tmpCacheArr.push([null, tdItem]);
                 }
             }
         }
         for (const tender of tenders) {
+            //console.log('tender.name: ' + tender.name);
             _putTender(0, tender, treeCache);
         }
         if (hasCat) {