569 lines
16 KiB
JavaScript
569 lines
16 KiB
JavaScript
/**
|
||
|
||
@Name:layuiAdmin 用户管理 管理员管理 角色管理
|
||
@Author:star1029
|
||
@Site:http://www.layui.com/admin/
|
||
@License:LPPL
|
||
|
||
*/
|
||
|
||
|
||
layui.define(['table', 'form'], function(exports){
|
||
var $ = layui.$
|
||
,table = layui.table
|
||
,form = layui.form;
|
||
|
||
//用户管理
|
||
table.render({
|
||
elem: '#LAY-user-manage'
|
||
,url: userList //模拟接口
|
||
,cols: [[
|
||
{type: 'checkbox'}
|
||
,{field: 'id', width: 60, title: 'ID', sort: true}
|
||
,{field: 'username', title: '用户名', minWidth: 80}
|
||
,{field: 'nick', title: '昵称',Width: 80}
|
||
,{field: 'avatar', title: '头像', width: 60, templet: '#imgTpl'}
|
||
//,{field: 'phone', title: '手机',width: 80}
|
||
,{field: 'email', title: '邮箱', minWidth: 120}
|
||
,{field: 'sex', width: 60, title: '性别',templet: '#sex'}
|
||
,{field: 'ip', title: '登录IP', width: 100}
|
||
,{field: 'city', title: '城市', width: 80}
|
||
,{field: 'logintime', title: '最后登录',width: 150, sort: true}
|
||
,{field: 'jointime', title: '注册时间',width: 110, sort: true}
|
||
,{field: 'check', title: '状态', templet: '#buttonCheck', width: 95, align: 'center'}
|
||
,{field: 'auth', title: '超级管理员', templet: '#buttonAuth', width: 80, align: 'center'}
|
||
,{title: '操作', width: 100, align:'center', toolbar: '#table-useradmin-webuser'}
|
||
]]
|
||
,page: true
|
||
,limit: 30
|
||
,height: 'full-220'
|
||
,text: '对不起,加载出现异常!'
|
||
});
|
||
|
||
//监听工具条
|
||
table.on('tool(LAY-user-manage)', function(obj){
|
||
var data = obj.data;
|
||
if(obj.event === 'del'){
|
||
layer.prompt({
|
||
formType: 1
|
||
,title: '敏感操作,请验证口令'
|
||
}, function(value, index){
|
||
layer.close(index);
|
||
|
||
layer.confirm('真的删除行么', function(index){
|
||
//obj.del();
|
||
$.ajax({
|
||
type:'post',
|
||
url:userDelete,
|
||
data:{id:data.id},
|
||
dataType:'json',
|
||
success:function(data){
|
||
if(data.code == 0){
|
||
layer.msg(data.msg,{icon:6,time:2000});
|
||
} else {
|
||
layer.open({title:'删除失败',content:data.msg,icon:5,adim:6})
|
||
}
|
||
}
|
||
});
|
||
|
||
table.reload('LAY-user-manage');
|
||
layer.close(index);
|
||
});
|
||
});
|
||
} else if(obj.event === 'edit'){
|
||
var tr = $(obj.tr);
|
||
|
||
layer.open({
|
||
type: 2
|
||
,title: '编辑用户'
|
||
,content: userEdit +'?id='+ data.id
|
||
,maxmin: true
|
||
,area: ['500px', '450px']
|
||
,btn: ['确定', '取消']
|
||
,yes: function(index, layero){
|
||
|
||
var iframeWindow = window['layui-layer-iframe'+ index]
|
||
,submitID = 'LAY-user-front-submit'
|
||
,submit = layero.find('iframe').contents().find('#'+ submitID);
|
||
|
||
//监听提交
|
||
iframeWindow.layui.form.on('submit('+ submitID +')', function(data){
|
||
var field = data.field; //获取提交的字段
|
||
|
||
//提交 Ajax 成功后,静态更新表格中的数据
|
||
$.ajax({
|
||
type:"post",
|
||
url:userEdit,
|
||
data:{"id":field.id,"name":field.username,"phone":field.phone,"email":field.email,"user_img":field.avatar,"sex":field.sex},
|
||
daType:"json",
|
||
success:function (res){
|
||
if(data.code == 0){
|
||
layer.msg(data.msg,{icon:6,time:2000});
|
||
} else {
|
||
layer.open({title:'修改失败',content:data.msg,icon:5,adim:6})
|
||
}
|
||
}
|
||
});
|
||
table.reload('LAY-user-manage'); //数据刷新
|
||
layer.close(index); //关闭弹层
|
||
});
|
||
|
||
submit.trigger('click');
|
||
}
|
||
,success: function(layero, index){
|
||
|
||
}
|
||
});
|
||
}
|
||
});
|
||
|
||
//管理员管理
|
||
table.render({
|
||
elem: '#LAY-user-back-manage'
|
||
,url: adminIndex //模拟接口
|
||
,cols: [[
|
||
{type: 'checkbox'}
|
||
,{field: 'id', width: 60, title: 'ID', sort: true}
|
||
,{field: 'loginname', title: '登录名', width: 100}
|
||
,{field: 'telphone', title: '手机', width: 120}
|
||
,{field: 'email', title: '邮箱', minWidth: 150}
|
||
,{field: 'check', title:'审核状态', templet: '#buttonTpl', width: 100, align: 'center'}
|
||
,{field: 'ip', title: 'IP', width: 100}
|
||
,{field: 'logintime', title: '最后登陆', width: 150}
|
||
,{title: '操作', width: 150, align: 'center', toolbar: '#table-useradmin-admin'}
|
||
]]
|
||
,text: '对不起,加载出现异常!'
|
||
});
|
||
|
||
//监听工具条
|
||
table.on('tool(LAY-user-back-manage)', function(obj){
|
||
var data = obj.data;
|
||
if(obj.event === 'del'){
|
||
layer.prompt({
|
||
formType: 1
|
||
,title: '敏感操作,请验证口令'
|
||
}, function(value, index){
|
||
layer.close(index);
|
||
layer.confirm('确定删除此管理员?', function(index){
|
||
//obj.del();
|
||
$.ajax({
|
||
type:'post',
|
||
url:adminDelete,
|
||
data:{id:data.id},
|
||
dataType:'json',
|
||
success:function(data){
|
||
if(data.code == 0){
|
||
layer.msg(data.msg,{
|
||
icon:6,
|
||
time:2000
|
||
},function(){
|
||
location.reload();
|
||
});
|
||
} else {
|
||
layer.open({
|
||
title:'删除失败',
|
||
content:data.msg,
|
||
icon:5,
|
||
adim:6
|
||
})
|
||
}
|
||
}
|
||
});
|
||
|
||
layer.close(index);
|
||
});
|
||
});
|
||
}else if(obj.event === 'edit'){
|
||
var tr = $(obj.tr);
|
||
|
||
layer.open({
|
||
type: 2
|
||
,title: '编辑管理员'
|
||
,content: adminEdit +'?id='+ data.id
|
||
,area: ['420px', '420px']
|
||
,btn: ['确定', '取消']
|
||
,yes: function(index, layero){
|
||
var iframeWindow = window['layui-layer-iframe'+ index]
|
||
,submitID = 'LAY-user-back-submit'
|
||
,submit = layero.find('iframe').contents().find('#'+ submitID);
|
||
|
||
//监听提交
|
||
iframeWindow.layui.form.on('submit('+ submitID +')', function(data){
|
||
var field = data.field; //获取提交的字段
|
||
|
||
//提交 Ajax 成功后,静态更新表格中的数据
|
||
$.ajax({
|
||
type:"post",
|
||
url:adminEdit,
|
||
data:{"id":field.id,"password":field.password,"mobile":field.mobile,"email":field.email},
|
||
daType:"json",
|
||
success:function (res){
|
||
if (res.code == 0) {
|
||
layer.msg(res.msg,{
|
||
icon:6,
|
||
time:2000
|
||
});
|
||
} else {
|
||
layer.open({
|
||
tiele:'修改失败',
|
||
content:res.msg,
|
||
icon:5,
|
||
anim:6
|
||
});
|
||
}
|
||
}
|
||
});
|
||
|
||
table.reload('LAY-user-back-manage'); //数据刷新
|
||
layer.close(index); //关闭弹层
|
||
});
|
||
|
||
submit.trigger('click');
|
||
}
|
||
,success: function(layero, index){
|
||
|
||
}
|
||
})
|
||
}
|
||
|
||
});
|
||
|
||
//角色管理
|
||
table.render({
|
||
elem: '#LAY-user-back-role'
|
||
,url: authGroupList //role接口
|
||
,cols: [[
|
||
{field: 'id', width: 60, title: 'ID', sort: true}
|
||
,{field: 'rolename', title: '角色名', width: 120}
|
||
,{field: 'limits', title: '拥有权限', minWidth: 150}
|
||
,{field: 'descr', title: '具体描述', width: 120}
|
||
,{field: 'check', title: '角色审核', toolbar: '#buttonCheck', width: 95}
|
||
,{title: '操作', width: 150, align: 'center', toolbar: '#table-useradmin-admin'}
|
||
]]
|
||
,text: '对不起,加载出现异常!'
|
||
});
|
||
|
||
//监听工具条
|
||
table.on('tool(LAY-user-back-role)', function(obj){
|
||
var data = obj.data;
|
||
|
||
if(obj.event === 'del'){
|
||
layer.confirm('确定删除此角色?', function(index){
|
||
//obj.del();
|
||
$.ajax({
|
||
type:'post',
|
||
url:authGroupRoledel,
|
||
data:{id:data.id},
|
||
dataType:'json',
|
||
success:function(data){
|
||
if(data.code == 0){
|
||
layer.msg(data.msg,{
|
||
icon:6,
|
||
time:2000
|
||
},function(){
|
||
location.reload();
|
||
});
|
||
} else {
|
||
layer.open({
|
||
title:'删除失败',
|
||
content:data.msg,
|
||
icon:5,
|
||
adim:6
|
||
})
|
||
}
|
||
}
|
||
});
|
||
layer.close(index);
|
||
});
|
||
}else if(obj.event === 'edit'){
|
||
var tr = $(obj.tr);
|
||
|
||
layer.open({
|
||
type: 2
|
||
,title: '编辑角色'
|
||
,content: authGroupRoleEdit +'?id='+ data.id
|
||
,area: ['500px', '480px']
|
||
,btn: ['确定', '取消']
|
||
,yes: function(index, layero){
|
||
var iframeWindow = window['layui-layer-iframe'+ index]
|
||
,submit = layero.find('iframe').contents().find("#LAY-user-role-submit");
|
||
|
||
//监听提交
|
||
iframeWindow.layui.form.on('submit(LAY-user-role-submit)', function(data){
|
||
var field = data.field; //获取提交的字段
|
||
|
||
var mId = "";
|
||
var e =iframeWindow.$(":checkbox");
|
||
e.each(function () {
|
||
if($(this).next().hasClass("layui-form-checked")){
|
||
mId+=$(this).val()+",";
|
||
};
|
||
})
|
||
mId = mId.substring(0,mId.length-1);
|
||
rules = mId;
|
||
|
||
// var arr = new Array(); //获取提交的字段
|
||
// $(iframeWindow.document).find('input[name=rules]:checked').each(function(){
|
||
// arr.push($(this).val());
|
||
// });
|
||
// console.log(arr);
|
||
// var rules = arr.join(',');//将数组元素连接起来以构建一个字符串
|
||
|
||
|
||
//提交 Ajax 成功后,静态更新表格中的数据
|
||
$.ajax({
|
||
type:"post",
|
||
url:authGroupRoleEdit,
|
||
data:{"id":field.id,"rules":rules,"title":field.title,"descr":field.descr},
|
||
daType:"json",
|
||
success:function (res){
|
||
if (res.code == 0) {
|
||
layer.msg(res.msg,{
|
||
icon:6,
|
||
time:2000
|
||
});
|
||
} else {
|
||
layer.open({
|
||
tiele:'修改失败',
|
||
content:res.msg,
|
||
icon:5,
|
||
anim:6
|
||
});
|
||
}
|
||
}
|
||
});
|
||
|
||
table.reload('LAY-user-back-role'); //数据刷新
|
||
layer.close(index); //关闭弹层
|
||
});
|
||
|
||
submit.trigger('click');
|
||
}
|
||
,success: function(layero, index){
|
||
|
||
}
|
||
})
|
||
}
|
||
});
|
||
|
||
|
||
//用户组管理
|
||
table.render({
|
||
elem: '#LAY-user-back-group'
|
||
,url: authAccessIndex //用户组access接口
|
||
,cols: [[
|
||
{field: 'id', width: 60, title: 'ID', sort: true}
|
||
,{field: 'username', title: '管理员'}
|
||
,{field: 'title', title: '权限'}
|
||
,{field: 'check', title: '状态', toolbar: '#buttonCheck', width: 95}
|
||
,{title: '操作', width: 150, align: 'center', toolbar: '#table-useradmin-admin'}
|
||
]]
|
||
,text: '对不起,加载出现异常!'
|
||
});
|
||
|
||
//监听工具条
|
||
table.on('tool(LAY-user-back-group)', function(obj){
|
||
var data = obj.data;
|
||
|
||
if(obj.event === 'del'){
|
||
layer.confirm('确定删除此角色?', function(index){
|
||
//obj.del();
|
||
$.ajax({
|
||
type:'post',
|
||
url:authAccessDelete,
|
||
data:{id:data.id},
|
||
dataType:'json',
|
||
success:function(data){
|
||
if(data.code == 0){
|
||
layer.msg(data.msg,{
|
||
icon:6,
|
||
time:2000
|
||
});
|
||
} else {
|
||
layer.open({
|
||
title:'删除失败',
|
||
content:data.msg,
|
||
icon:5,
|
||
adim:6
|
||
})
|
||
}
|
||
}
|
||
});
|
||
table.reload('LAY-user-back-group'); //数据重载
|
||
layer.close(index);
|
||
});
|
||
}else if(obj.event === 'edit'){
|
||
var tr = $(obj.tr);
|
||
|
||
layer.open({
|
||
type: 2
|
||
,title: '编辑用户权限'
|
||
,content: authAccessEdit +'?id='+ data.id
|
||
,area: ['450px', '420px']
|
||
,btn: ['确定', '取消']
|
||
,yes: function(index, layero){
|
||
var iframeWindow = window['layui-layer-iframe'+ index]
|
||
,submit = layero.find('iframe').contents().find("#LAY-admin-group-submit");
|
||
|
||
//监听提交
|
||
iframeWindow.layui.form.on('submit(LAY-admin-group-submit)', function(data){
|
||
var field = data.field; //获取提交的字段
|
||
//提交 Ajax 成功后,静态更新表格中的数据
|
||
$.ajax({
|
||
type:"post",
|
||
url:authAccessEdit,
|
||
data:field,
|
||
daType:"json",
|
||
success:function (res){
|
||
if (res.code == 0) {
|
||
layer.msg(res.msg,{
|
||
icon:6,
|
||
time:2000
|
||
});
|
||
} else {
|
||
layer.open({
|
||
tiele:'修改失败',
|
||
content:res.msg,
|
||
icon:5,
|
||
anim:6
|
||
});
|
||
}
|
||
}
|
||
});
|
||
|
||
table.reload('LAY-user-back-group'); //数据刷新
|
||
layer.close(index); //关闭弹层
|
||
});
|
||
|
||
submit.trigger('click');
|
||
}
|
||
,success: function(layero, index){
|
||
|
||
}
|
||
})
|
||
}
|
||
});
|
||
|
||
//权限管理
|
||
table.render({
|
||
elem: '#LAY-user-auth-rule'
|
||
,url: authRuleIndex //权限接口
|
||
,cols: [[
|
||
{type: 'checkbox', fixed: 'left'}
|
||
,{field: 'id', width: 50, title: 'ID', align: 'center'}
|
||
,{field: 'sort', title: '排序',width: 60 , align: 'center',edit: 'text'}
|
||
,{field: 'title', title: '权限名', templet: '#rules-title'}
|
||
,{field: 'name', title: '权限地址', minWidth: 150}
|
||
,{field: 'icon', title: '图标'}
|
||
,{field: 'status', title:'权限状态', templet: '#buttonAuth', minWidth: 80, align: 'center'}
|
||
,{field: 'level', title: '层级',width: 60, align: 'center'}
|
||
,{field: 'ishidden', title: '菜单',templet: '#menu', width: 60}
|
||
,{title: '操作', width: 150, align: 'center', fixed: 'right', toolbar: '#table-authrule-edit'}
|
||
]]
|
||
,text: '对不起,加载出现异常!'
|
||
});
|
||
|
||
//监听工具条
|
||
table.on('tool(LAY-user-auth-rule)', function(obj){
|
||
var data = obj.data;
|
||
if(obj.event === 'del'){
|
||
layer.prompt({
|
||
formType: 1
|
||
,title: '敏感操作,请验证口令'
|
||
}, function(value, index){
|
||
layer.close(index);
|
||
layer.confirm('确定删除此权限?', function(index){
|
||
//obj.del();
|
||
//console.log(data.id);
|
||
$.ajax({
|
||
type:'post',
|
||
url:authRuleDelete,
|
||
data:{id:data.id},
|
||
dataType:'json',
|
||
success:function(data){
|
||
if(data.code == 0){
|
||
layer.msg(data.msg,{
|
||
icon:6,
|
||
time:2000
|
||
},function(){
|
||
location.reload();
|
||
});
|
||
} else {
|
||
layer.open({
|
||
title:'删除失败',
|
||
content:data.msg,
|
||
icon:5,
|
||
adim:6
|
||
})
|
||
}
|
||
}
|
||
});
|
||
layer.close(index);
|
||
});
|
||
});
|
||
}else if(obj.event === 'edit'){
|
||
var tr = $(obj.tr);
|
||
|
||
layer.open({
|
||
type: 2
|
||
,title: '编辑权限'
|
||
,content: authRuleEdit +'?id='+ data.id
|
||
,area: ['420px', '420px']
|
||
,btn: ['确定', '取消']
|
||
,yes: function(index, layero){
|
||
var iframeWindow = window['layui-layer-iframe'+ index]
|
||
,submitID = 'LAY-user-rule-submit'
|
||
,submit = layero.find('iframe').contents().find('#'+ submitID);
|
||
|
||
//监听提交
|
||
iframeWindow.layui.form.on('submit('+ submitID +')', function(data){
|
||
var field = data.field; //获取提交的字段
|
||
|
||
if (field.ishidden == 'on'){
|
||
field.ishidden = 0;
|
||
} else {
|
||
field.ishidden = 1;
|
||
}
|
||
|
||
//提交 Ajax 成功后,静态更新表格中的数据
|
||
$.ajax({
|
||
type:"post",
|
||
url:authRuleEdit,
|
||
data:{"id":field.id,"pid":field.pid,"title":field.title,"name":field.name,"icon":field.icon,"sort":field.sort,"ishidden":field.ishidden},
|
||
daType:"json",
|
||
success:function (res){
|
||
if (res.code == 0) {
|
||
layer.msg(res.msg,{
|
||
icon:6,
|
||
time:2000
|
||
}, function(){
|
||
location.reload();
|
||
});
|
||
} else {
|
||
layer.open({
|
||
tiele:'修改失败',
|
||
content:res.msg,
|
||
icon:5,
|
||
anim:6
|
||
});
|
||
}
|
||
}
|
||
});
|
||
|
||
//table.reload('LAY-user-auth-rule'); //数据刷新
|
||
layer.close(index); //关闭弹层
|
||
});
|
||
|
||
submit.trigger('click');
|
||
}
|
||
,success: function(layero, index){
|
||
|
||
}
|
||
});
|
||
}
|
||
|
||
});
|
||
|
||
|
||
exports('useradmin', {})
|
||
}); |