$(function() {
|
var catalogRes=[];
|
$.ajax({
|
type: 'get',
|
contentType: "application/json",
|
url: LanCatalogBaseURL + "api/catalog/getList/0",
|
success: function (data) {
|
|
catalogRes=data;
|
|
|
var appid = getAppId()!=null?getAppId():null;
|
$("#jqGrid").jqGrid({
|
url: restServerBaseURL + 'sys/role/list',
|
datatype: "json",
|
colModel: [
|
{ label: 'roleId', name: 'roleId',align:"center", index: 'ROLEID', width: 50, key: true, hidden: true },
|
{ label: '对应的用户数', name: 'totalOfUsers',align:"center", index: 'TOTALOFUSERS', width: 80, hidden:true},
|
{ label: '角色名称', name: 'roleName',align:"center", index: 'ROLENAME', width: 80 },
|
{ label: '所属系统', name: 'systemName',align:"center", index: '', width: 80 },
|
{ label: '权限', name: 'powers', index: '',align:"center", width: 120 },
|
{ label: '资源权限', name: 'respowers', index: '',align:"center", width: 120,formatter: function(value, grid, rows, state) {
|
var respowers=rows.respowers!=null?rows.respowers.split(","):[];
|
|
var html="";
|
if(respowers==[]){
|
return html;
|
}
|
if(catalogRes != undefined && catalogRes.length > 0) {
|
for (var i = 0; i < catalogRes.length; i++) {
|
var index=respowers.indexOf( ""+catalogRes[i].catlogid+"");
|
if(index!=-1){html+=catalogRes[i].title+","; }
|
|
}
|
}else{
|
$.ajax({
|
type: 'get',
|
contentType: "application/json",
|
url: LanCatalogBaseURL + "api/catalog/getList/0",
|
success: function (data) {
|
|
catalogRes=data;
|
|
},
|
error: function (data) {
|
debugger;
|
alert("未知错误");
|
}
|
})
|
}
|
|
|
return html;
|
}},
|
{ label: '群组设置',sortable:false, name: '',align:"center", index: '', width: 40,
|
formatter: function(value, grid, rows, state) {
|
var totalOfUsers = rows.totalOfUsers;
|
var html = '';
|
if(totalOfUsers == null) totalOfUsers = 0;
|
if(hasPermission('sys:role:edit')) {
|
html += '<span type="button" style="padding:2px;margin-left: 5px;" class="btn btn-purple" onclick=relationOfRoleGroup("' + rows.roleId + '")><i class="fa fa-check-square-o"></i> ' + totalOfUsers + '组</span>';
|
}
|
return html;
|
}
|
},
|
{ label: '操作',sortable:false,align:"center", width: 50,align:'center',
|
formatter: function(value, grid, rows, state) {
|
var roleId = rows.roleId;
|
var html = '';
|
if(hasPermission('sys:role:edit')) {
|
html += '<input type="button" style="padding:3px 6px;margin-left: 5px;" class="btn btn-warning" onclick="vm.update(\'' + roleId + '\')" value="编辑">';
|
html += '<input type="button" style="padding:3px 6px;margin-left: 5px;" class="btn btn-danger" onclick="vm.del(\'' + roleId + '\')" value="删除">';
|
}
|
return html;
|
}
|
}
|
],
|
postData:{'appId':appid},
|
viewrecords: true,
|
height: "auto",
|
rowNum: 10,
|
//rowList: [10, 30, 50],
|
rownumbers: true,
|
rownumWidth: 50,
|
autowidth: true,
|
multiselect: false,
|
pager: "#jqGridPager",
|
jsonReader: {
|
root: "page.list",
|
page: "page.currPage",
|
total: "page.totalPage",
|
records: "page.totalCount"
|
},
|
prmNames: {
|
page: "page",
|
rows: "limit",
|
order: "order"
|
},
|
gridComplete: function() {
|
//隐藏grid底部滚动条
|
$("#jqGrid").closest(".ui-jqgrid-bdiv").css({ "overflow-x": "hidden" });
|
// $("#jqGrid").jqGrid('setGridWidth', $("#rapp").width()-0.1);
|
},
|
onSortCol:function(index,colindex,sortorder){
|
jQuery("#jqGrid").jqGrid('setGridParam',{
|
page:$(".ui-pg-input").val()
|
});
|
}
|
});
|
$("#jqGrid").jqGrid('setLabel','rn','序号',{'text-align':'center'},'');
|
initSysNames(); //初始化系统名
|
},
|
error: function (data) {
|
debugger;
|
alert("未知错误");
|
}
|
});
|
});
|
|
|
|
var vm = new Vue({
|
el: '#rapp',
|
data: {
|
showList: true,
|
title: null,
|
role: {}
|
},
|
methods: {
|
query: function() {
|
vm.role.roleName = $("#roleName").val();
|
vm.role.appId = $("#systemNames").val();
|
vm.reload();
|
},
|
add: function() {
|
window.open("role_edit.html", "_blank");
|
},
|
update: function(roleId) {
|
window.open("role_edit.html?roleId=" + roleId, "_blank");
|
},
|
saveOrUpdate: function() {
|
var url = vm.role.roleId == null ? "sys/role/save" : "sys/role/update";
|
$.ajax({
|
type: "POST",
|
url: restServerBaseURL + url,
|
contentType: "application/json",
|
data: JSON.stringify(vm.role),
|
success: function(r) {
|
if(r.code === 0) {
|
alert('操作成功', function() {
|
vm.reload();
|
});
|
} else {
|
alert(r.msg);
|
}
|
}
|
});
|
},
|
del: function(roleId) {
|
if(roleId == null) {
|
return;
|
}
|
|
confirm('确定要删除选中的记录?', function() {
|
$.ajax({
|
type: "POST",
|
url: restServerBaseURL + "sys/role/delete",
|
contentType: "application/json",
|
data: "[\"" + roleId + "\"]",
|
success: function(r) {
|
if(r.code == 0) {
|
alert('操作成功', function() {
|
vm.reload();
|
});
|
} else {
|
alert(r.msg);
|
}
|
}
|
});
|
});
|
},
|
getInfo: function(roleId) {
|
$.get(restServerBaseURL + "sys/role/info/" + roleId, function(r) {
|
vm.role = r.role;
|
});
|
},
|
reload: function() {
|
vm.showList = true;
|
var page = $("#jqGrid").jqGrid('getGridParam', 'page');
|
//点击查询时,当前页设置为第一页
|
$("#jqGrid").jqGrid('setGridParam', {
|
postData:{'roleName':vm.role.roleName ,'appId':vm.role.appId},page: 1
|
}).trigger("reloadGrid");
|
},
|
refresh: function() {
|
vm.showList = true;
|
window.location.reload();
|
}
|
}
|
});
|
|
function relationOfRoleGroup(roleId,roleName) {
|
window.open("rolegroup.html?roleid=" + roleId, 'true', 'height=710, width=1200, top=150,left=220');
|
}
|
|
|
function initSysNames(){
|
$.ajax({
|
type: "GET",
|
url: restServerBaseURL + "sys/systeminfo/queryListAll",
|
contentType: "application/json",
|
success: function(msg) {
|
var data = msg.systemList;
|
$("#systemNames").append("<option value=''>--请选择--</option>");
|
var appid = '';
|
if (getAppId()!=null) {
|
appid = getAppId();
|
}
|
for(var i= 0;i<data.length;i++){
|
if(appid == data[i].appid) {
|
$("#systemNames").append("<option value=" + data[i].appid + " selected = 'true'>" + data[i].appfullname + "</option>");
|
}
|
else {
|
$("#systemNames").append("<option value=" + data[i].appid + ">" + data[i].appfullname + "</option>");
|
}
|
}
|
}
|
});
|
}
|