/**
* Created by Administrator on 2017/5/20.
* @name: vip-admin 后台模板 菜单navJS
* @author: 随丶
*/
layui.define(['layer', 'element'], function (exports) {
// 操作对象
var layer = layui.layer,
element = layui.element,
$ = layui.jquery;
// 封装方法
var mod = {
// 添加 HTMl
addHtml: function (addr, obj, treeStatus, data) {
// 请求数据
$.get(addr, data, function (res) {
var view = "";
if (res.data) {
$(res.data).each(function (k, v) {
v.subset && treeStatus ? view += '
' : view += '';
if (v.subset) {
view += '' + v.icon + '' + v.text + '';
$(v.subset).each(function (ko, vo) {
view += '- ';
if (vo.target) {
// console.log(vo.href+vo.target);
switch (vo.target) {
case 2:
view += '';
break;
case 1:
view += '';
break;
case -1:
view += '';
default:
view += '';
break;
}
} else {
view += '';
}
view += '' + vo.icon + '' + vo.text + '
';
});
view += '';
} else {
if (v.target) {
switch (v.target) {
case 2:
view += '';
break;
case 1:
view += '';
break;
case -1:
view += '';
default:
view += '';
break;
}
} else {
view += '';
}
view += '' + v.icon + '' + v.text + '';
}
view += '
';
});
} else {
layer.msg('接受的菜单数据不符合规范,无法解析');
}
try {
var isappend = $(document).find(".layui-nav[lay-filter=" + obj + "]").attr('layui-element-append');
} catch (ex) {
var isappend = null;
}
// console.log('aaa'+isappend);
// 添加到 HTML
if (isappend == '1') {
$(document).find(".layui-nav[lay-filter=" + obj + "]").append(view);
} else if (isappend == '2') {
$(document).find(".layui-nav[lay-filter=" + obj + "]").prepend(view);
} else {
$(document).find(".layui-nav[lay-filter=" + obj + "]").html(view);
}
// 更新渲染
element.init();
}, 'json');
}
// 左侧主体菜单 [请求地址,过滤ID,是否展开,携带参数]
,
main: function (addr, obj, treeStatus, data) {
// 添加HTML
this.addHtml(addr, obj, treeStatus, data);
}
// 顶部左侧菜单 [请求地址,过滤ID,是否展开,携带参数]
,
top_left: function (addr, obj, treeStatus, data) {
// 添加HTML
this.addHtml(addr, obj, treeStatus, data);
},
quick: function (addr, obj, treeStatus, data) {
// 添加HTML
this.addHtml(addr, obj, treeStatus, data);
}
/*// 顶部右侧菜单
,top_right: function(){
}*/
};
// 输出
exports('vip_nav', mod);
});