修复用户分配角色的BUG

This commit is contained in:
yubaolee
2016-04-13 14:56:34 +08:00
parent 0786ea0420
commit 587726951b
11 changed files with 443 additions and 336 deletions

View File

@@ -0,0 +1,44 @@
// ***********************************************************************
// Assembly : OpenAuth.Mvc
// Author : yubaolee
// Created : 04-12-2016
//
// Last Modified By : yubaolee
// Last Modified On : 04-12-2016
// ***********************************************************************
// <copyright file="grid.js" company="www.cnblogs.com/yubaolee">
// 版权所有(C) 2015
// </copyright>
// <summary>grid基类</summary>
// ***********************************************************************
function Grid() {
this.maingrid = undefined;
this.selectObjs = function () {
var selectedDatas = this.maingrid.data('selectedDatas');
if (selectedDatas == undefined || selectedDatas.length == 0) {
$(this).alertmsg('warn', '至少选择一个对象');
return null;
}
return selectedDatas;
};
}
//选择单行对象
Grid.prototype.getSelectedObj = function () {
var selectedDatas = this.selectObjs();
return selectedDatas == null ? null : selectedDatas[0];
};
//选择多行对象
Grid.prototype.getSelectedMany = function () {
return this.selectObjs();
};
//返回选择多行的属性JSON默认选择id属性如果选择其他属性可重写
Grid.prototype.getSelectedProperties = function (propName) {
var selected = this.selectObjs();
if (selected == null) return null;
var ids = selected.map(function (elem) { return elem[propName]; }).join(",");
ids = '[' + ids + ']'; //拼成一个JSON
return ids;
};

View File

@@ -0,0 +1,100 @@
$(document).ready(function () {
$.CurrentDialog.find("#btnAccess").on("click", function () {
var ids = userRolesList.getSelectedProperties('Id');
if (ids == null) return;
$.post('/RoleManager/AccessRoles', {
userId: $('#userId').val(),
ids: ids
}, function (json) {
userRolesList.reload();
});
});
$.CurrentDialog.find("#btnDelAccess").on("click", function () {
var ids = userRolesList.getSelectedProperties('Id');
if (ids == null) return;
$.post('/RoleManager/DelAccessRoles', {
userId: $('#userId').val(),
ids: ids
}, function (json) {
userRolesList.reload();
});
});
});
//grid列表模块
function UserRolesList() {
var selectedId = 0; //选中的ID
this.maingrid = $.CurrentDialog.find('#maingrid').datagrid({
showToolbar: false,
filterThead: false,
target: $(this),
columns: [
{
name: 'Id',
label: '角色ID',
hide: true
},
{
name: 'Name',
label: '角色名称',
width: 100
},
{
name: 'OrgName',
label: '所属组织',
width: 100
},
{
name: 'IsBelongUser',
label: '是否已经授权',
type: 'select',
align: 'center',
items: [{ 'false': '未授权', 'true': '已授权' }],
width: 100
}
],
dataUrl: '/RoleManager/LoadForOrgAndUser?orgId=' + selectedId + '&userId=' + $('#userId').val(),
fullGrid: true,
showLinenumber: true,
showCheckboxcol: true,
paging: true,
filterMult: false,
showTfoot: false,
height: 'auto'
});
this.reload = function (id) {
if (id != undefined) selectedId = id;
this.maingrid.datagrid('reload', { dataUrl: '/RoleManager/LoadForOrgAndUser?orgId=' + selectedId + '&userId=' + $('#userId').val() });
}
};
UserRolesList.prototype = new Grid();
var userRolesList = new UserRolesList();
var ztree = function () {
var setting = {
view: { selectedMulti: false },
data: {
key: {
name: 'Name',
title: 'Name'
},
simpleData: {
enable: true,
idKey: 'Id',
pIdKey: 'ParentId',
rootPId: 'null'
}
},
callback: { onClick: zTreeOnClick }
};
$.getJSON('/OrgManager/LoadOrg', function (json) {
var zTreeObj = $.fn.zTree.init($.CurrentDialog.find("#tree"), setting, json);
zTreeObj.expandAll(true);
});
}();
function zTreeOnClick(event, treeId, treeNode) {
userRolesList.reload(treeNode.Id);
}
//@@ sourceURL=RoleLookup.js

View File

@@ -0,0 +1,241 @@
// ***********************************************************************
// Assembly : OpenAuth.Mvc
// Author : yubaolee
// Created : 04-12-2016
//
// Last Modified By : yubaolee
// Last Modified On : 04-12-2016
// ***********************************************************************
// <copyright file="usermanager.js" company="www.cnblogs.com/yubaolee">
// 版权所有(C) 2015
// </copyright>
// <summary>用户管理前端模块</summary>
// ***********************************************************************
$(function () {
});
//ztree模块
var ztree = function () {
var setting = {
view: { selectedMulti: false },
data: {
key: {
name: 'Name',
title: 'Name'
},
simpleData: {
enable: true,
idKey: 'Id',
pIdKey: 'ParentId',
rootPId: 'null'
}
},
callback: {
onClick: function (event, treeId, treeNode) {
grid.reload(treeNode.Id);
}
}
};
$.getJSON('/OrgManager/LoadOrg', function (json) {
var zTreeObj = $.fn.zTree.init($('#maintree'), setting, json);
zTreeObj.expandAll(true);
});
}();
//grid列表模块
var grid = function () {
var selectedId = 0; //选中的ID
var maingrid = $('#maingrid', '#detail').datagrid({
showToolbar: false,
filterThead: false,
target: $(this),
columns: [
{
name: 'Id',
label: 'Id',
attrs: { readonly: 'readonly' },
hide: true
},
{
name: 'Account',
label: '用户账号',
width: 142,
attrs: { readonly: 'readonly' }
},
{
name: 'Name',
label: '姓名/昵称',
width: 226
},
{
name: 'Organizations',
label: '所属机构',
width: 150
},
{
name: 'Status',
label: '状态',
type: 'select',
align: 'center',
width: 80,
items: [{ '0': '正常' }, { '1': '禁用' }]
},
{
name: 'Sex',
label: '性别',
type: 'select',
align: 'center',
width: 80,
items: [{ '0': '男' }, { '1': '女' }]
},
{
name: 'CreateTime',
label: '登记日期',
type: 'date',
width: 180,
pattern: 'yyyy-MM-dd HH:mm:ss'
}
],
dataUrl: '/UserManager/Load?orgId=' + selectedId,
fullGrid: true,
showLinenumber: true,
showCheckboxcol: true,
paging: true,
filterMult: false,
showTfoot: false,
height: 'auto'
});
return {
reload: function (id) {
if (id != undefined) selectedId = id;
maingrid.datagrid('reload', { dataUrl: '/UserManager/Load?orgId=' + selectedId });
},
getSelectedObj: function () { //选择单行
var selectedDatas = maingrid.data('selectedDatas');
if (selectedDatas == undefined || selectedDatas.length == 0) {
$(this).alertmsg('warn', '至少选择一个对象', {
displayMode: 'slide',
title: '重要提示'
});
return null;
}
return selectedDatas[0];
},
getSelectedMany: function () { //选择多行
return maingrid.data('selectedDatas');
},
};
}();
//删除
function delUser() {
var selected = grid.getSelectedObj();
if (selected == null) return;
$.getJSON('/UserManager/Delete?Id=' + selected.Id, function (data) {
if (data.statusCode == "200")
grid.reload();
else {
$(this).alertmsg('warn', data.message);
}
});
}
//自定义的编辑按钮
function editUser() {
var selected = grid.getSelectedObj();
if (selected == null) return;
$(this).dialog({
id: 'editDialog',
url: '/UserManager/Add?id=' + selected.Id,
title: '编辑',
onClose: function () {
grid.reload();
}
});
}
function refreshUserGrid() {
grid.reload();
}
//用户模块授权按钮
function openUserModuleAccess(obj) {
var selected = grid.getSelectedObj();
if (selected == null) return;
$(obj).dialog({
id: 'accessUserModule',
url: '/ModuleManager/LookupMultiForUser',
title: '为用户分配模块',
data: {
userId: selected.Id
}
});
}
//用户可见组织授权按钮
function openUserOrgAccess(obj) {
var selected = grid.getSelectedObj();
if (selected == null) return;
$(obj).dialog({
id: 'accessUserOrg',
url: '/OrgManager/LookupMultiForUser',
title: '为用户分配可见部门',
data: {
userId: selected.Id
}
});
}
//用户角色授权
function openUserRoleAccess(obj) {
var selected = grid.getSelectedObj();
if (selected == null) return;
$(obj).dialog({
id: 'accessUserRole',
url: '/RoleManager/LookupMulti',
title: '为用户分配角色',
width: 600,
height: 380,
data: {
userId: selected.Id
}
});
}
//为用户分配资源
function openUserReourceAccess(obj) {
var selected = grid.getSelectedObj();
if (selected == null) return;
$(obj).dialog({
id: 'accessUserRole',
url: '/ResourceManager/LookupMultiForUser',
title: '为用户分配资源',
width: 600,
height: 380,
data: {
userId: selected.Id
}
});
}
//分配菜单
function openAssignUserElement(obj) {
var selected = grid.getSelectedObj();
if (selected == null) return;
$(obj).dialog({
id: 'assignElement',
url: '/ModuleElementManager/AssignForUser?userId=' + selected.Id,
title: '为用户分配菜单',
width: 700,
height: 380
});
}