js 递归权限菜单

4 篇文章 0 订阅
  $.ajax({
               url: "/api/Common/GetMenu",
               type: "GET",
               data: { id: user.UserID },
               success: function (res) { 
                   //动态显示权限菜单
                   var data = res.Result.list;
                   data=JSON.parse(data)
                
                   var arr=data[""];
                   var html = [];
                   var tree = sonsTree(arr, 0);
                   var temp = [];
                   for (var i = 0; i < tree.length; i++) {
                       var item = tree[i], u = "";
                      
                       if (item['lev'] == 0) {
//拼接HTML
                           temp.push( '<li class="admin-parent"><a class="am-cf" data-am-collapse="{target: "#collapse-nav"}"><span class="am-icon-file"></span> ' + item.aname + ' <span class="am-icon-angle-right am-fr am-margin-right"></span></a>');
                       }
                       else {
                          // console.log(arr)
                           temp.push('<ul class="am-list am-collapse admin-sidebar-sub am-in">')
                           temp.push('<li><a href="../' + item.con + '/' + item.act + '" class="am-cf"><span class="am-icon-align-justify"></span> ' + item.aname + '</a></li>')
                           temp.push('</ul>')
                       }
                       if (i + 1 == tree.length) {
                           temp.push("</li>")
                       }
                   }
                   $("#nav_meun").empty().append(temp.join(''));
                 
               }
           })
           
           //根据最后一个找到整个家族
           function familyTree(arr, pid) {
               var temp = [];
               var forFn = function (arr, pid) {
                   for (var i = 0; i < arr.length; i++) {
                       var item = arr[i];
                       if (item.accid == pid) {
                           temp.push(item);

                           forFn(arr, item.parent_id);
                       }
                   }
               };
               forFn(arr, pid);
               return temp;
           }
           function sonsTree(arr, accid) {
               var temp = [], lev = 0;
               var forFn = function (arr, accid, lev) {
                   for (var i = 0; i < arr.length; i++) {
                       var item = arr[i];
                       if (item.fid == accid) {
                           item.lev = lev;
                           temp.push(item);
                           forFn(arr, item.accid, lev + 1);
                       }
                   }
               };
               forFn(arr, accid, lev);
               return temp;
           }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值