|
|
/**
|
* 角色管理
|
*/
|
var pageCurr;
|
$(function() {
|
layui.use(['form' ,'table'], function(){
|
var table = layui.table
|
,form = layui.form;
|
|
tableIns=table.render({
|
elem: '#roleList'
|
,url:context+'/sysRole/getList'
|
,method: 'get' //默认:get请求
|
,cellMinWidth: 80
|
,page: true,
|
request: {
|
pageName: 'page' //页码的参数名称,默认:page
|
,limitName: 'rows' //每页数据量的参数名,默认:limit
|
},
|
parseData: function (res) {
|
// 可进行数据操作
|
return {
|
"count": res.data.total,
|
"msg":res.msg,
|
"data":res.data.rows,
|
"code": res.status //code值为200表示成功
|
}
|
},
|
// response:{
|
// statusName: 'status' //数据状态的字段名称,默认:code
|
// ,statusCode: 200 //成功的状态码,默认:0
|
// ,countName: 'count' //数据总数的字段名称,默认:count
|
// ,dataName: 'data' //数据列表的字段名称,默认:data
|
// },
|
cols: [[
|
{type:'numbers'}
|
,{field:'id', title:'ID', width:80, unresize:true, sort:true}
|
,{field:'bsCode', title:'编号', width:120}
|
,{field:'bsName', title:'名称', width:120}
|
,{field:'descpt', title: '描述', minWidth:120}
|
,{field:'modifiedTime', title: '更新时间', width:150}
|
,{field:'createdTime', title: '添加时间', width:150}
|
,{fixed:'right', title:'操作', width:200, align:'center', toolbar:'#optBar'}
|
]]
|
,done: function(res, curr, count){
|
//如果是异步请求数据方式,res即为你接口返回的信息。
|
//如果是直接赋值的方式,res即为:{data: [], count: 99} data为当前页数据、count为数据总长度
|
//console.log(res);
|
//得到当前页码
|
//console.log(curr);
|
//得到数据总量
|
//console.log(count);
|
pageCurr=curr;
|
}
|
});
|
|
//监听工具条
|
table.on('tool(roleTable)', function(obj){
|
var data = obj.data;
|
if(obj.event === 'del'){
|
//删除
|
delRole(data,data.id,data.bsCode);
|
} else if(obj.event === 'edit'){
|
//编辑
|
getRole(data,data.id);
|
} else if(obj.event === 'setPerm'){
|
//设置权限
|
getPerm(data,data.id);
|
}
|
});
|
//监听提交
|
form.on('submit(addSubmit)', function(data){
|
if(data.field.id==null || data.field.id==""){
|
//新增角色
|
addSubmit(data);
|
}else{
|
editSubmit(data);
|
}
|
return false;
|
});
|
form.on('submit(permSubmit)', function(data){
|
//设置权限
|
permSubmit(data);
|
return false;
|
});
|
});
|
//搜索框
|
layui.use(['form','laydate'], function(){
|
var form = layui.form ,layer = layui.layer
|
,laydate = layui.laydate;
|
//日期
|
laydate.render({
|
elem: '#createdTimeStart'
|
});
|
laydate.render({
|
elem: '#createdTimeEnd'
|
});
|
|
//监听搜索框
|
form.on('submit(searchSubmit)', function(data){
|
//重新加载table
|
load(data);
|
return false;
|
});
|
});
|
});
|
|
//新增编辑弹出框
|
function openRole(id,title){
|
if(id==null || id==""){
|
$("#id").val("");
|
}
|
layer.open({
|
type:1,
|
title: title,
|
fixed:false,
|
resize :false,
|
shadeClose: true,
|
area: ['550px'],
|
content:$('#setRole'),
|
end:function(){
|
cleanRole();
|
}
|
});
|
}
|
|
//设置权限弹出框
|
function openPerm(id,title){
|
if(id==null || id==""){
|
$("#roleId").val("");
|
}
|
layer.open({
|
type:1,
|
title: title,
|
fixed:false,
|
resize :false,
|
shadeClose: true,
|
area: ['550px'],
|
content:$('#setPerm'),
|
end:function(){
|
// cleanRole();
|
}
|
});
|
}
|
|
//添加角色
|
function addRole(){
|
//清空弹出框数据
|
cleanRole();
|
//打开弹出框
|
openRole(null,"添加角色");
|
}
|
//新增角色提交
|
function addSubmit(obj) {
|
$.ajax({
|
type: "POST",
|
data: $("#roleForm").serialize(),
|
url: context+"/sysRole/add",
|
success: function (data) {
|
if (data.result) {
|
layer.alert("操作成功",function(){
|
layer.closeAll();
|
cleanRole();
|
//加载页面
|
loadAll();
|
});
|
} else {
|
layer.alert(data.msg,function(){
|
layer.closeAll();
|
});
|
}
|
},
|
error: function () {
|
layer.alert("操作请求错误,请您稍后再试",function(){
|
layer.closeAll();
|
});
|
}
|
});
|
}
|
|
//编辑角色
|
function getRole(obj,id){
|
$.ajax({
|
type: "GET",
|
data: { "id":id },
|
url: context+"/sysRole/getRole",
|
success: function (data) {
|
if (data.result) {
|
$("#id").val(data.data.id==null?'':data.data.id);
|
$("#bsCode").val(data.data.bsCode==null?'':data.data.bsCode);
|
$("#bsName").val(data.data.bsName==null?'':data.data.bsName);
|
$("#descpt").val(data.data.descpt==null?'':data.data.descpt);
|
openRole(id,"编辑角色")
|
} else {
|
layer.alert(data.msg,function(){
|
});
|
}
|
},
|
error: function () {
|
layer.alert("操作请求错误,请您稍后再试",function(){
|
});
|
}
|
});
|
}
|
//编辑角色提交
|
function editSubmit(obj) {
|
$.ajax({
|
type: "POST",
|
data: $("#roleForm").serialize(),
|
url: context+"/sysRole/edit",
|
success: function (data) {
|
if (data.result) {
|
layer.alert("操作成功",function(){
|
layer.closeAll();
|
cleanRole();
|
//加载页面
|
loadAll();
|
});
|
} else {
|
layer.alert(data.msg,function(){
|
layer.closeAll();
|
});
|
}
|
},
|
error: function () {
|
layer.alert("操作请求错误,请您稍后再试",function(){
|
layer.closeAll();
|
});
|
}
|
});
|
}
|
|
//删除角色
|
function delRole(obj,id,name) {
|
if(id!=null){
|
layer.confirm('您确定要删除'+name+'角色吗?', {
|
btn: ['确认','返回'] //按钮
|
}, function(){
|
$.post(context+"/sysRole/delete",{"id":id},function(data){
|
if(isLogin(data)){
|
if(data.result==true){
|
//回调弹框
|
layer.alert("删除成功!",function(){
|
layer.closeAll();
|
//加载load方法
|
loadAll();
|
});
|
}else{
|
layer.alert(data,function(){
|
layer.closeAll();
|
});
|
}
|
}
|
});
|
}, function(){
|
layer.closeAll();
|
});
|
}
|
}
|
|
//设置权限
|
function getPerm(obj,id){
|
$.ajax({
|
type: "POST",
|
data: { "id":id },
|
url: context+"/sysRole/getRolePerm",
|
success: function (data) {
|
if (data.result) {
|
$("#roleId").val(id);
|
// zTree 的参数配置
|
var setting = {
|
check: {
|
enable: true,
|
chkStyle: "checkbox",
|
chkboxType:{ "Y":"ps", "N":"ps"}
|
},
|
data: {
|
simpleData: {
|
enable: true,
|
idKey: "id",
|
pIdKey: "pId",
|
rootPId: null
|
}
|
}
|
};
|
$.fn.zTree.init($("#treeDemo"), setting, data.data);
|
openPerm(id,"设置权限");
|
} else {
|
layer.alert(data.msg,function(){
|
});
|
}
|
},
|
error: function () {
|
layer.alert("操作请求错误,请您稍后再试",function(){
|
});
|
}
|
});
|
}
|
|
//设置权限提交
|
function permSubmit(obj) {
|
//获取选中的权限
|
var treeObj = $.fn.zTree.getZTreeObj("treeDemo");
|
var nodes = treeObj.getCheckedNodes(true);
|
//选中的复选框ID
|
var nodeIds =new Array();
|
for (var i = 0; i < nodes.length; i++) {
|
nodeIds.push(nodes[i].id);
|
}
|
//将权限ID转换成以“,”隔开的字符串数组
|
var permIds = nodeIds.join(",");
|
var roleId = $("#roleId").val();
|
|
$.ajax({
|
type: "POST",
|
data: { "roleId":roleId, "permIds":permIds },
|
url: context+"/sysRole/doRolePerm",
|
success: function (data) {
|
if (data.result) {
|
layer.alert("操作成功",function(){
|
layer.closeAll();
|
});
|
} else {
|
layer.alert(data.msg,function(){
|
layer.closeAll();
|
});
|
}
|
},
|
error: function () {
|
layer.alert("操作请求错误,请您稍后再试",function(){
|
layer.closeAll();
|
});
|
}
|
});
|
}
|
|
//重新加载表格(搜索)
|
function load(obj){
|
//重新加载table
|
tableIns.reload({
|
where: {
|
bsCode:obj.field.codeSearch, bsName:obj.field.nameSearch,
|
createdTimeStart:obj.field.createdTimeStart, createdTimeEnd:obj.field.createdTimeEnd
|
}
|
, page: {
|
curr: pageCurr //从当前页码开始
|
}
|
});
|
}
|
|
//重新加载表格(全部)
|
function loadAll(){
|
//重新加载table
|
tableIns.reload({
|
page: {
|
curr: pageCurr //从当前页码开始
|
}
|
});
|
}
|
|
//清空新增表单数据
|
function cleanRole(){
|
$("#id").val("");
|
$("#bsCode").val("");
|
$("#bsName").val("");
|
$("#descpt").val("");
|
}
|