浏览代码

一键展开和收起功能

laiguoran 5 年之前
父节点
当前提交
e2b2b09abf
共有 3 个文件被更改,包括 108 次插入21 次删除
  1. 36 7
      app/public/js/tender_list_info.js
  2. 36 7
      app/public/js/tender_list_manage.js
  3. 36 7
      app/public/js/tender_list_progress.js

+ 36 - 7
app/public/js/tender_list_info.js

@@ -470,28 +470,57 @@ $(document).ready(() => {
             const node = findTenderTreeNode(parseInt(cid), tenderTree);
             doTrStatus(returnItem, 'show');
         }
+    });
+
+    // 一键展开和收起
+    $('body').on('click', '.tree-toggle', function () {
+        const item = $(this).attr('data-item');
+        for (const tree of tenderTree) {
+            if (tree && tree.sort_id !== undefined) {
+                const cid = tree.sort_id;
+                const node = findTenderTreeNode(parseInt(cid), tenderTree);
+                console.log(node);
+                console.log(returnItem);
+                if (item === 'open') {
+                    $('.c-body tr td span[cid="' + cid + '"]').children('i').removeClass('fa-plus-square-o').addClass('fa-minus-square-o');
+                    $('.c-body tr td span[cid="' + cid + '"]').attr('title', '收起');
+                    doTrStatus(returnItem, 'show', 'all');
+                } else if (item === 'hide') {
+                    $('.c-body tr td span[cid="' + cid + '"]').children('i').removeClass('fa-minus-square-o').addClass('fa-plus-square-o');
+                    $('.c-body tr td span[cid="' + cid + '"]').attr('title', '展开');
+                    doTrStatus(returnItem, 'hide', 'all')
+                }
+            }
+        }
     })
 });
 
-function doTrStatus(node, status) {
+function doTrStatus(node, status, all = '') {
     if (status === 'show') {
         $('.c-body').find('tr[pid="'+ node.sort_id +'"]').show();
-        // $('.c-body').find('tr[pid="'+ node.sort_id +'"] .fold-switch').attr('title', '收起');
-        // $('.c-body').find('tr[pid="'+ node.sort_id +'"] .fold-switch i').removeClass('fa-plus-square-o').removeClass('fa-minus-square-o').addClass('fa-minus-square-o');
+        if (all === 'all') {
+            $('.c-body').find('tr[pid="'+ node.sort_id +'"] .fold-switch').attr('title', '收起');
+            $('.c-body').find('tr[pid="'+ node.sort_id +'"] .fold-switch i').removeClass('fa-plus-square-o').removeClass('fa-minus-square-o').addClass('fa-minus-square-o');
+        }
     } else {
         $('.c-body').find('tr[pid="'+ node.sort_id +'"]').hide();
-        // $('.c-body').find('tr[pid="'+ node.sort_id +'"] .fold-switch').attr('title', '展开');
-        // $('.c-body').find('tr[pid="'+ node.sort_id +'"] .fold-switch i').removeClass('fa-minus-square-o').removeClass('fa-plus-square-o').addClass('fa-plus-square-o');
-
+        if (all === 'all') {
+            $('.c-body').find('tr[pid="'+ node.sort_id +'"] .fold-switch').attr('title', '展开');
+            $('.c-body').find('tr[pid="'+ node.sort_id +'"] .fold-switch i').removeClass('fa-minus-square-o').removeClass('fa-plus-square-o').addClass('fa-plus-square-o');
+        }
     }
     // 判断是否还有一层
-    if (node.children) {
+    if (node.children && all === '') {
         for (const [index,c] of node.children.entries()) {
             const title = $('.c-body').find('tr[pid="'+ node.sort_id +'"] .fold-switch').eq(index).attr('title');
             if (title === '收起') {
                 doTrStatus(c, status);
             }
         }
+    } else if (node.children && all === 'all') {
+        for (const c of node.children) {
+            doTrStatus(c, status, 'all');
+        }
     }
 }
 let returnItem;

+ 36 - 7
app/public/js/tender_list_manage.js

@@ -532,28 +532,57 @@ $(document).ready(() => {
             const node = findTenderTreeNode(parseInt(cid), tenderTree);
             doTrStatus(returnItem, 'show');
         }
+    });
+
+    // 一键展开和收起
+    $('body').on('click', '.tree-toggle', function () {
+        const item = $(this).attr('data-item');
+        for (const tree of tenderTree) {
+            if (tree && tree.sort_id !== undefined) {
+                const cid = tree.sort_id;
+                const node = findTenderTreeNode(parseInt(cid), tenderTree);
+                console.log(node);
+                console.log(returnItem);
+                if (item === 'open') {
+                    $('.c-body tr td span[cid="' + cid + '"]').children('i').removeClass('fa-plus-square-o').addClass('fa-minus-square-o');
+                    $('.c-body tr td span[cid="' + cid + '"]').attr('title', '收起');
+                    doTrStatus(returnItem, 'show', 'all');
+                } else if (item === 'hide') {
+                    $('.c-body tr td span[cid="' + cid + '"]').children('i').removeClass('fa-minus-square-o').addClass('fa-plus-square-o');
+                    $('.c-body tr td span[cid="' + cid + '"]').attr('title', '展开');
+                    doTrStatus(returnItem, 'hide', 'all')
+                }
+            }
+        }
     })
 });
 
-function doTrStatus(node, status) {
+function doTrStatus(node, status, all = '') {
     if (status === 'show') {
         $('.c-body').find('tr[pid="'+ node.sort_id +'"]').show();
-        // $('.c-body').find('tr[pid="'+ node.sort_id +'"] .fold-switch').attr('title', '收起');
-        // $('.c-body').find('tr[pid="'+ node.sort_id +'"] .fold-switch i').removeClass('fa-plus-square-o').removeClass('fa-minus-square-o').addClass('fa-minus-square-o');
+        if (all === 'all') {
+            $('.c-body').find('tr[pid="'+ node.sort_id +'"] .fold-switch').attr('title', '收起');
+            $('.c-body').find('tr[pid="'+ node.sort_id +'"] .fold-switch i').removeClass('fa-plus-square-o').removeClass('fa-minus-square-o').addClass('fa-minus-square-o');
+        }
     } else {
         $('.c-body').find('tr[pid="'+ node.sort_id +'"]').hide();
-        // $('.c-body').find('tr[pid="'+ node.sort_id +'"] .fold-switch').attr('title', '展开');
-        // $('.c-body').find('tr[pid="'+ node.sort_id +'"] .fold-switch i').removeClass('fa-minus-square-o').removeClass('fa-plus-square-o').addClass('fa-plus-square-o');
-
+        if (all === 'all') {
+            $('.c-body').find('tr[pid="'+ node.sort_id +'"] .fold-switch').attr('title', '展开');
+            $('.c-body').find('tr[pid="'+ node.sort_id +'"] .fold-switch i').removeClass('fa-minus-square-o').removeClass('fa-plus-square-o').addClass('fa-plus-square-o');
+        }
     }
     // 判断是否还有一层
-    if (node.children) {
+    if (node.children && all === '') {
         for (const [index,c] of node.children.entries()) {
             const title = $('.c-body').find('tr[pid="'+ node.sort_id +'"] .fold-switch').eq(index).attr('title');
             if (title === '收起') {
                 doTrStatus(c, status);
             }
         }
+    } else if (node.children && all === 'all') {
+        for (const c of node.children) {
+            doTrStatus(c, status, 'all');
+        }
     }
 }
 let returnItem;

+ 36 - 7
app/public/js/tender_list_progress.js

@@ -446,28 +446,57 @@ $(document).ready(() => {
             const node = findTenderTreeNode(parseInt(cid), tenderTree);
             doTrStatus(returnItem, 'show');
         }
+    });
+
+    // 一键展开和收起
+    $('body').on('click', '.tree-toggle', function () {
+        const item = $(this).attr('data-item');
+        for (const tree of tenderTree) {
+            if (tree && tree.sort_id !== undefined) {
+                const cid = tree.sort_id;
+                const node = findTenderTreeNode(parseInt(cid), tenderTree);
+                console.log(node);
+                console.log(returnItem);
+                if (item === 'open') {
+                    $('.c-body tr td span[cid="' + cid + '"]').children('i').removeClass('fa-plus-square-o').addClass('fa-minus-square-o');
+                    $('.c-body tr td span[cid="' + cid + '"]').attr('title', '收起');
+                    doTrStatus(returnItem, 'show', 'all');
+                } else if (item === 'hide') {
+                    $('.c-body tr td span[cid="' + cid + '"]').children('i').removeClass('fa-minus-square-o').addClass('fa-plus-square-o');
+                    $('.c-body tr td span[cid="' + cid + '"]').attr('title', '展开');
+                    doTrStatus(returnItem, 'hide', 'all')
+                }
+            }
+        }
     })
 });
 
-function doTrStatus(node, status) {
+function doTrStatus(node, status, all = '') {
     if (status === 'show') {
         $('.c-body').find('tr[pid="'+ node.sort_id +'"]').show();
-        // $('.c-body').find('tr[pid="'+ node.sort_id +'"] .fold-switch').attr('title', '收起');
-        // $('.c-body').find('tr[pid="'+ node.sort_id +'"] .fold-switch i').removeClass('fa-plus-square-o').removeClass('fa-minus-square-o').addClass('fa-minus-square-o');
+        if (all === 'all') {
+            $('.c-body').find('tr[pid="'+ node.sort_id +'"] .fold-switch').attr('title', '收起');
+            $('.c-body').find('tr[pid="'+ node.sort_id +'"] .fold-switch i').removeClass('fa-plus-square-o').removeClass('fa-minus-square-o').addClass('fa-minus-square-o');
+        }
     } else {
         $('.c-body').find('tr[pid="'+ node.sort_id +'"]').hide();
-        // $('.c-body').find('tr[pid="'+ node.sort_id +'"] .fold-switch').attr('title', '展开');
-        // $('.c-body').find('tr[pid="'+ node.sort_id +'"] .fold-switch i').removeClass('fa-minus-square-o').removeClass('fa-plus-square-o').addClass('fa-plus-square-o');
-
+        if (all === 'all') {
+            $('.c-body').find('tr[pid="'+ node.sort_id +'"] .fold-switch').attr('title', '展开');
+            $('.c-body').find('tr[pid="'+ node.sort_id +'"] .fold-switch i').removeClass('fa-minus-square-o').removeClass('fa-plus-square-o').addClass('fa-plus-square-o');
+        }
     }
     // 判断是否还有一层
-    if (node.children) {
+    if (node.children && all === '') {
         for (const [index,c] of node.children.entries()) {
             const title = $('.c-body').find('tr[pid="'+ node.sort_id +'"] .fold-switch').eq(index).attr('title');
             if (title === '收起') {
                 doTrStatus(c, status);
             }
         }
+    } else if (node.children && all === 'all') {
+        for (const c of node.children) {
+            doTrStatus(c, status, 'all');
+        }
     }
 }
 let returnItem;