layui.use([ 'laypage', 'layer', 'table', 'element','form','treetable'], function(){
var laypage = layui.laypage //分页
,$ = layui.jquery
,layer = layui.layer //弹层
,table = layui.table //表格
,treetable = layui.treetable //treetable表格
,element = layui.element //元素操作
,form = layui.form;
//第一个实例
if($('#menulist').attr('lay-filter') == 'menulist'){
var renderTable = function (wheres = {}) {
layer.load(2);
treetable.render({
treeColIndex:2,
treeSpid:0,
treeIdName: 'id',
treePidName: 'pid',
treeDefaultClose: true,
treeLinkage: false,
elem: '#menulist',
url: '/menu/indexfrom',
page: false,
where:wheres,
id:'tablerReload'
, cols: [[ //表头
{type: 'numbers', title: '序号'}
, {field: 'id', title: 'ID', width: 80, sort: true, align: 'center'}
, {field: 'name', title: '菜单名称', align: 'center'}
, {field: 'url', title: '地址', width: 300, align: 'center'}
, {field: 'icon', title: '图标', width: 120, align: 'center'}
//,{field: 'sort', title: '排序', width:100,align:'center'}
, {field: 'sort', title: '排序', width: 80, edit: 'text', align: 'center', sort: true, templet: "#sortBox"}
, {field: 'level', title: '菜单级别', width: 120, align: 'center'}
, {
field: 'status', title: '审核', align: 'center', width: 100,templet:function(d){
// console.log(d)
switch (d.status){
case '2':
return ''
break;
case '1':
return ''
break;
}
}
}
, {fixed: 'right', title: '操作', width: 165, align: 'center', toolbar: '#operate'}
]],
done: function () {
layer.closeAll('loading');
}
});
};
renderTable();
}
// table.render({
// elem: '#menulist'
// ,url: '/menu/indexfrom' //数据接口
// ,where:{token:csrfToken}
// ,method:'post'
// ,id:'tablerReload'
// ,page: true //开启分页
// ,text:'数据加载中'
// ,cols: [[ //表头
// {type:'numbers',title:'序号'}
// ,{field: 'id', title: 'ID', width:80, sort: true, align:'center'}
// ,{field: 'name', title: '菜单名称', align:'center'}
// ,{field: 'url', title: '地址', width:300,align:'center'}
// ,{field: 'icon', title: '图标', width:120,align:'center'}
// ,{field: 'sort', title: '排序', width:100,align:'center'}
// ,{field: 'level', title: '菜单级别', width:120,align:'center'}
// ,{field: 'status', title: '状态', width:80,align:'center',templet:function(d){
// // console.log(d)
// switch (d.status){
// case '2':
// return ''
// break;
// case '1':
// return ''
// break;
// }
// }}
// ,{fixed: 'right',title:'操作', width: 165, align:'center', toolbar: '#operate'}
//
// ]]
// });
// table.reload('tablerReload'); //重新加载
//列表操作
table.on('tool(menulist)', function(obj){
var layEvent = obj.event,
data = obj.data;
if(layEvent === 'edit'){
layer.open({
type: 2,
title: '添加菜单',
closeBtn: 1, //不显示关闭按钮
// shade: [0],
area: ['600px', '500px'],
anim: 2,
content: ['/menu/edit?id='+data.id, 'yes'], //iframe的url,no代表不显示滚动条
});
} else if(layEvent === 'del') {
$.post('/menu/delmenu',{'id':data.id},function (data) {
if(data.code == 200)
{
layer.msg(data.msg);
table.reload('menulist');
} else if(data.code == 300 ) {
layer.msg(data.msg);
}
})
}
});
var $ = layui.$, active = {
addData: function(){ //获取选中数据
layer.open({
type: 2,
title: '添加菜单',
closeBtn: 1, //不显示关闭按钮
// shade: [0],
area: ['600px', '500px'],
anim: 2,
content: ['/menu/create.html', 'no'] //iframe的url,no代表不显示滚动条
// end: function(){ //此处用于演示
// layer.open({
// type: 2,
// title: '很多时候,我们想最大化看,比如像这个页面。',
// shadeClose: true,
// shade: false,
// maxmin: true, //开启最大化最小化按钮
// area: ['893px', '600px'],
// content: '//fly.layui.com/'
// });
// }
});
// var checkStatus = table.checkStatus('idTest')
// ,data = checkStatus.data;
// layer.alert(JSON.stringify(data));
}
};
//监听指定开关
form.on('switch(switchTest)', function(data){
var status_id = $(data.elem).val();
var status_res = $(data.elem).attr('res');
layer.confirm('您确定要修改当前状态吗?',{btn:['确认','取消']},function(index){
editMenuStatus(status_id,status_res)
table.reload('tablerReload');
layer.close(index)
},function(index){
table.reload('tablerReload');
layer.close(index)
})
return false;
});
$('.demoTable .layui-btn').on('click', function(){
var type = $(this).data('type');
active[type] ? active[type].call(this) : '';
});
form.on('submit(editMenu)', function(data){
$.post('/menu/editfrom',{'data':data.field},function (data) {
if(data.code == 200)
{
layer.msg('修改成功');
setTimeout(function () {
var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);
parent.layui.table.reload('menulist');
},1000)
} else if(data.code == 300 ) {
layer.msg('修改失败');
}
})
return false;
});
form.on('submit(addmenu)', function(data){
$.post('/menu/createfrom',{'data':data.field},function (data) {
if(data.code == 200)
{
layer.msg('修改成功');
parent.layui.table.reload('menulist');
TableClose();
} else if(data.code == 300 ) {
layer.msg('修改失败');
}
})
return false;
});
//修改菜单状态
function editMenuStatus(id,res){
$.post("/menu/menustatus",{menuid: id,res:res},function(res){
if(res.code == 200 ){
layer.msg('修改成功');
renderTable();
}else{
layer.msg('网络延时');
}
},'json')
}
//排序
table.on('edit(menulist)', function(obj){
var data = obj.data;
$.post('/menu/menusortedit',{id:data.id,sort:data.sort},function (data) {
if(data.code == 200)
{
layer.msg(data.msg);
} else if(data.code == 300 ) {
layer.msg(data.msg);
}
})
})
});