EasyAdmin
原效果
修改后效果:
文件位置\public\static\plugs\lay-module\layuimini\miniMenu.js
/**
* 渲染一级菜单
*/
compileMenu: function(menu,isSub){
var menuHtml = '<li {{#if( d.menu){ }} data-menu="{{d.menu}}" {{#}}} class="layui-nav-item menu-li {{d.childOpenClass}} {{d.className}}" {{#if( d.id){ }} id="{{d.id}}" {{#}}}> <a {{#if( d.href){ }} layuimini-href="{{d.href}}" {{#}}} {{#if( d.target){ }} target="{{d.target}}" {{#}}} href="javascript:;">{{#if( d.icon){ }} <i class="{{d.icon}}"></i> {{#}}} <span class="layui-left-nav">{{d.title}}</span></a>{{# if(d.acount!=null&&d.acount>0){}} <span class="layui-badge">{{d.acount}}</span> {{#}}} {{# if(d.children){}} {{d.children}} {{#}}} </li>' ;
if(isSub){
menuHtml = '<dd class="menu-dd {{d.childOpenClass}} {{ d.className }}"> <a href="javascript:;" {{#if( d.menu){ }} data-menu="{{d.menu}}" {{#}}} {{#if( d.id){ }} id="{{d.id}}" {{#}}} {{#if(( !d.child || !d.child.length ) && d.href){ }} layuimini-href="{{d.href}}" {{#}}} {{#if( d.target){ }} target="{{d.target}}" {{#}}}> {{#if( d.icon){ }} <i class="{{d.icon}}"></i> {{#}}} <span class="layui-left-nav"> {{d.title}}</span></a>{{# if(d.acount!=null&&d.acount>0){}} <span class="layui-badge">{{d.acount}}</span> {{#}}} {{# if(d.children){}} {{d.children}} {{#}}}</dd>'
}
return laytpl(menuHtml).render(menu);
},
compileMenuContainer :function(menu,isSub){
var wrapperHtml = '<ul class="layui-nav layui-nav-tree layui-left-nav-tree {{d.className}}" id="{{d.id}}">{{d.children}}</ul>' ;
if(isSub){
wrapperHtml = '<dl class="layui-nav-child ">{{d.children}}</dl>' ;
}
if(!menu.children){
return "";
}
return laytpl(wrapperHtml).render(menu);
},
each:function(list,callback){
var _list = [];
for(var i = 0 ,length = list.length ; i<length ;i++ ){
_list[i] = callback(i,list[i]) ;
}
return _list ;
},
renderChildrenMenu:function(menuList,options){
var me = this ;
menuList = menuList || [] ;
var html = this.each(menuList,function (idx,menu) {
if(menu.child && menu.child.length){
menu.children = me.renderChildrenMenu(menu.child,{ childOpenClass: options.childOpenClass || '' });
}
menu.className = "" ;
menu.childOpenClass = options.childOpenClass || ''
return me.compileMenu(menu,true)
}).join("");
return me.compileMenuContainer({ children:html },true)
},
renderLeftMenu :function(leftMenus,options){
options = options || {};
var me = this ;
var acount=null;
var leftMenusHtml = me.each(leftMenus || [],function (idx,leftMenu) { // 左侧菜单遍历
if (typeof(leftMenu.child) != "undefined"){//我添加的
for (var i=0;i<leftMenu.child.length;i++) {
if (leftMenu.child[i].count==1&&leftMenu.child[i].href!=""){
$.ajaxSettings.async = false;
$.getJSON(leftMenu.child[i].href+"&getcount=1", function (data) {
if (data.status== "ok") {
//console.log(data.count);
leftMenu.child[i].acount=data.count;
}
});
}
}
}
// console.log(leftMenu.child);
var children = me.renderChildrenMenu(leftMenu.child, { childOpenClass:options.childOpenClass });
acount=null;
if (leftMenu.count==1&&leftMenu.href!=""){
$.ajaxSettings.async = false;
$.getJSON(leftMenu.href+"&getcount=1", function (data) {
if (data.status== "ok") {
acount=data.count;
}
});
}
var leftMenuHtml = me.compileMenu({
href:leftMenu.href,
target:leftMenu.target,
childOpenClass:options.childOpenClass,
icon:leftMenu.icon,
title:leftMenu.title,
acount:acount,//我添加的
children:children,
className: '',
});
return leftMenuHtml ;
}).join("");
leftMenusHtml = me.compileMenuContainer({ id:options.parentMenuId,className:options.leftMenuCheckDefault,children:leftMenusHtml }) ;
return leftMenusHtml ;
},