Bladeren bron

暂时屏蔽

TonyKang 4 jaren geleden
bovenliggende
commit
95ac86d5ff
2 gewijzigde bestanden met toevoegingen van 102 en 66 verwijderingen
  1. 1 1
      app/service/role_rpt_rel.js
  2. 101 65
      app/view/report/rpt_all_popup.ejs

+ 1 - 1
app/service/role_rpt_rel.js

@@ -69,7 +69,7 @@ module.exports = app => {
                 const columns = ['id', 'tender_id', 'rpt_id', 'sid', 'rel_content'];
                 const sqlParam = [columns, this.tableName];
                 rst = await this.db.query(sql, sqlParam);
-                console.log(rst);
+                // console.log(rst);
             }
             return rst;
         }

+ 101 - 65
app/view/report/rpt_all_popup.ejs

@@ -203,8 +203,8 @@
             <div class="modal-body" id="eSignatureBodyDiv">
             </div>
             <div class="modal-footer">
-                <button type="button" id="btn_cross_tender" class="btn btn-sm btn-link float-left" data-dismiss="modal" data-toggle="modal" data-target="#batch-eSignature" id="batch-setupProjSignature" onclick="rptSignatureHelper.resetESignature(zTreeOprObj.currentRptPageRst, 'batch-eSignatureBodyDiv'); buildTendersTree();">批量设置其他标段</button>
                 <!--
+                <button type="button" id="btn_cross_tender" class="btn btn-sm btn-link float-left" data-dismiss="modal" data-toggle="modal" data-target="#batch-eSignature" id="batch-setupProjSignature" onclick="rptSignatureHelper.resetESignature(zTreeOprObj.currentRptPageRst, 'batch-eSignatureBodyDiv'); buildTendersTree();">批量设置其他标段</button>
 
                 <button type="button" class="btn btn-sm btn-link float-left" data-toggle="modal" data-target="#batch-eSignature" id="hidden_show_batch_eSignature" style="display:none"></button>
                 <button type="button" class="btn btn-sm btn-link float-left" data-dismiss="modal" onclick="setTimeout(function(){$('#hidden_show_batch_eSignature').trigger('click');}, 50);">批量设置其他标段</button>
@@ -225,12 +225,14 @@
                 </button>
             </div>
             <div class="modal-body">
-                <div class="row">
-                    <div class="col-6">
-                        <table class="table table-hover table-bordered" id="batch_tenders_individual">
-                        </table>
+                <div class="modal-height-300">
+                    <div class="row">
+                        <div class="col-6">
+                            <table class="table table-hover table-bordered" id="batch_tenders_individual">
+                            </table>
+                        </div>
+                        <div class="col-6" id="batch-eSignatureBodyDiv"></div>
                     </div>
-                    <div class="col-6" id="batch-eSignatureBodyDiv"></div>
                 </div>
                 <div class="alert alert-warning">批量操作会覆盖已设置好的电子签名,请谨慎操作。</div>
             </div>
@@ -523,78 +525,102 @@
             _createItems(treeCache, 0);
         }
         //2. 建立treeNodes
+        let hasCat = false;
         for (const tender of tenders) {
             if (tender.category && tender.category.length > 0) {
-                for (const cat of tender.category) {
-
-                }
+                hasCat = true;
+                break;
             }
         }
         //3. 把标段挂上去
         let tmpCacheArr = []; //这个临时用来储存相应标段节点挂接信息
         let _putTender = function (catLv, tender, parentItems) {
-            if (catLv < tender.category.length && tender.lastStage !== undefined && tender.lastStage !== null) {
-                let isSorted = false;
-                for (let sCat of sortedCat) {
-                    if (sCat.id === tender.category[catLv].cid && sCat.level > 0) {
-                        isSorted = true;
-                        break;
+            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) {
+                            isSorted = true;
+                            break;
+                        }
                     }
-                }
-                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) {
-                                //递归循环
-                                _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
-                                }; //标段节点
-                                //
-                                tmpCacheArr.push([item, tdItem]);
+                    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) {
+                                    //递归循环
+                                    _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
+                                    }; //标段节点
+                                    //
+                                    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
+                    }; //标段节点
+                    //
+                    tmpCacheArr.push([null, tdItem]);
                 }
             }
         }
         for (const tender of tenders) {
             _putTender(0, tender, treeCache);
         }
-        for (const pairItem of tmpCacheArr) {
-            pairItem[0].items.push(pairItem[1]);
+        if (hasCat) {
+            for (const pairItem of tmpCacheArr) {
+                pairItem[0].items.push(pairItem[1]);
+            }
         }
         //4. 剔除空items的项
-        let _removeEmptyItems = function (parentItem) {
-            let rst = false;
-            if (parentItem.items.length === 0) {
-                if (parentItem.isParent) {
-                    rst = true;
-                }
-            } else {
-                for (let idx = parentItem.items.length - 1; idx >= 0; idx--) {
-                    if (_removeEmptyItems(parentItem.items[idx])) {
-                        parentItem.items.splice(idx, 1);
+        if (hasCat) {
+            let _removeEmptyItems = function (parentItem) {
+                let rst = false;
+                if (parentItem.items.length === 0) {
+                    if (parentItem.isParent) {
+                        rst = true;
                     }
+                } else {
+                    for (let idx = parentItem.items.length - 1; idx >= 0; idx--) {
+                        if (_removeEmptyItems(parentItem.items[idx])) {
+                            parentItem.items.splice(idx, 1);
+                        }
+                    }
+                    rst = parentItem.items.length === 0;
                 }
-                rst = parentItem.items.length === 0;
+                return rst;
             }
-            return rst;
-        }
-        for (let idx = treeCache.length - 1; idx >= 0; idx--) {
-            if (_removeEmptyItems(treeCache[idx])) {
-                treeCache.splice(idx, 1);
+            for (let idx = treeCache.length - 1; idx >= 0; idx--) {
+                if (hasCat) {
+                    if (_removeEmptyItems(treeCache[idx])) {
+                        treeCache.splice(idx, 1);
+                    }
+                }
             }
         }
         //console.log(treeCache);
@@ -638,8 +664,15 @@
                 }
             }
         };
-        for (let idx = treeCache.length - 1; idx >= 0; idx--) {
-            _getTenderRelatedInfos(treeCache[idx], params.selectedTenders);
+        if (hasCat) {
+            for (let idx = treeCache.length - 1; idx >= 0; idx--) {
+                _getTenderRelatedInfos(treeCache[idx], params.selectedTenders);
+            }
+        } else {
+            for (let idx = tmpCacheArr.length - 1; idx >= 0; idx--) {
+                _getTenderRelatedInfos(tmpCacheArr[idx][1], params.selectedTenders);
+                treeCache.push(tmpCacheArr[idx][1]);
+            }
         }
         $.bootstrapLoading.start();
         CommonAjax.postXsrfEx("/tender/report_api/getMultiRoleRelationships", params, 30000, true, getCookie('csrfToken'),
@@ -673,13 +706,14 @@
     function _buildTenderTree(tbDomId, tendersArr) {
         let tbDom = $("#" + tbDomId);
         tbDom.empty();
-        //tbDom.append('<tr><th>类别</th><th>包含报表</th><th>显示</th></tr>');
-        tbDom.append('<thead><tr><th>名称</th><th width="50">计量期</th><th width="40">签名</th><th width="40">选择</th></tr></thead>');
-        tbDom.append('<tbody>');
+        let domStrs = [];
+        domStrs.push('<thead><tr><th>名称</th><th width="50">计量期</th><th width="40">签名</th><th width="40">选择</th></tr></thead>');
+        domStrs.push('<tbody>');
         const _createRow = function (rowItem, lv) {
             let tdClassStr = 'in-' + lv;
             if (rowItem.isParent) {
-                tbDom.append('<tr><td class="' + tdClassStr + '"><i class="fa fa-folder-o"></i>&nbsp;&nbsp;' + rowItem.name + '</td><td></td><td></td><td></td></tr>');
+                //tbDom.append('<tr><td class="' + tdClassStr + '"><i class="fa fa-folder-o"></i>&nbsp;&nbsp;' + rowItem.name + '</td><td></td><td></td><td></td></tr>');
+                domStrs.push('<tr><td class="' + tdClassStr + '"><i class="fa fa-folder-o"></i>&nbsp;&nbsp;' + rowItem.name + '</td><td></td><td></td><td></td></tr>');
             } else {
                 let hrefStr = '/tender/' + rowItem.tender_id;
                 //<a href="biaoduan-panel.html" target="_blank">WWUJ-1</a>
@@ -692,9 +726,9 @@
                 //let chgStr = 'changeCrossTender(this, SELECTED_TENDERS,' + rowItem.tender_id + ', ' + rowItem.last_stage_id + ', ' + rowItem.report_id + ')';
                 if (rowItem.signature !== undefined && rowItem.signature !== null && rowItem.signature !== '') {
                     let hintStr = '<i class="fa fa-exclamation-circle text-primary" data-container="body" data-toggle="tooltip" data-placement="bottom" data-original-title="' + rowItem.signature + '"></i>';
-                    tbDom.append('<tr><td class="' + tdClassStr + '"><a href="' + hrefStr + '" target="_blank">' + rowItem.name + '</a></td><td>' + lastStgStr + '</td><td>' + hintStr + '</td><td><input type="checkbox" onclick="changeCrossTender(this, SELECTED_TENDERS, ' + rowItem.tender_id + ', ' + rowItem.last_stage_id + ', ' + rowItem.report_id + ')' + '"></td></tr>');
+                    domStrs.push('<tr><td class="' + tdClassStr + '"><a href="' + hrefStr + '" target="_blank">' + rowItem.name + '</a></td><td>' + lastStgStr + '</td><td>' + hintStr + '</td><td><input type="checkbox" onclick="changeCrossTender(this, SELECTED_TENDERS, ' + rowItem.tender_id + ', ' + rowItem.last_stage_id + ', ' + rowItem.report_id + ')' + '"></td></tr>');
                 } else {
-                    tbDom.append('<tr><td class="' + tdClassStr + '"><a href="' + hrefStr + '" target="_blank">' + rowItem.name + '</a></td><td>' + lastStgStr + '</td><td></td><td><input type="checkbox" onclick="changeCrossTender(this, SELECTED_TENDERS, ' + rowItem.tender_id + ', ' + rowItem.last_stage_id + ', ' + rowItem.report_id + ')' + '"></td></tr>');
+                    domStrs.push('<tr><td class="' + tdClassStr + '"><a href="' + hrefStr + '" target="_blank">' + rowItem.name + '</a></td><td>' + lastStgStr + '</td><td></td><td><input type="checkbox" onclick="changeCrossTender(this, SELECTED_TENDERS, ' + rowItem.tender_id + ', ' + rowItem.last_stage_id + ', ' + rowItem.report_id + ')' + '"></td></tr>');
                 }
             }
             if (rowItem.items && rowItem.items.length > 0) {
@@ -707,7 +741,9 @@
         for (const tItem of tendersArr) {
             _createRow(tItem, grpLv);
         }
-        tbDom.append('</tbody>');
+        domStrs.push('</tbody>');
+        tbDom.append(domStrs.join(''));
+
     }
 
     function buildCustRptCommon(tbDomId, topTreeNode, checkingArr, isCommonStr) {