mirror of
https://gitee.com/dotnetchina/OpenAuth.Net.git
synced 2025-07-15 23:13:40 +08:00
1、全面实现按登录用户动态加载按钮;
2、优化模块授权代码; 3、优化内部功能加载模块的权限控制,比如:拥有模块授权功能的用户给别人授权时,只能访问到自己拥有的模块;
This commit is contained in:
parent
35ef1a6e8b
commit
975632c81e
@ -50,9 +50,21 @@ namespace OpenAuth.App
|
|||||||
u =>
|
u =>
|
||||||
(u.FirstId == user.Id && u.Key == "UserModule") ||
|
(u.FirstId == user.Id && u.Key == "UserModule") ||
|
||||||
(u.Key == "RoleModule" && userRoleIds.Contains(u.FirstId))).Select(u =>u.SecondId).ToList();
|
(u.Key == "RoleModule" && userRoleIds.Contains(u.FirstId))).Select(u =>u.SecondId).ToList();
|
||||||
|
//用户角色与自己分配到的菜单ID
|
||||||
|
var elementIds =
|
||||||
|
_relevanceRepository.Find(
|
||||||
|
u =>
|
||||||
|
(u.FirstId == user.Id && u.Key == "UserElement") ||
|
||||||
|
(u.Key == "RoleElement" && userRoleIds.Contains(u.FirstId))).Select(u => u.SecondId).ToList();
|
||||||
//得出最终用户拥有的模块
|
//得出最终用户拥有的模块
|
||||||
loginVM.Modules = _moduleRepository.Find(u => moduleIds.Contains(u.Id)).MapToList<ModuleView>();
|
loginVM.Modules = _moduleRepository.Find(u => moduleIds.Contains(u.Id)).MapToList<ModuleView>();
|
||||||
|
|
||||||
|
//模块菜单权限
|
||||||
|
foreach (var module in loginVM.Modules)
|
||||||
|
{
|
||||||
|
module.Elements = _moduleElementRepository.Find(u => u.ModuleId == module.Id && elementIds.Contains( u.Id)).ToList();
|
||||||
|
}
|
||||||
|
|
||||||
return loginVM;
|
return loginVM;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -106,5 +106,17 @@ namespace OpenAuth.App
|
|||||||
{
|
{
|
||||||
_repository.Delete(u =>u.Id ==id);
|
_repository.Delete(u =>u.Id ==id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void AssignForRole(int roleId, int[] menuIds)
|
||||||
|
{
|
||||||
|
_relevanceRepository.DeleteBy("RoleElement", roleId);
|
||||||
|
_relevanceRepository.AddRelevance("RoleElement", menuIds.ToLookup(u => roleId));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void AssignForUser(int userId, int[] ids)
|
||||||
|
{
|
||||||
|
_relevanceRepository.DeleteBy("UserElement", userId);
|
||||||
|
_relevanceRepository.AddRelevance("UserElement", ids.ToLookup(u => userId));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -107,14 +107,26 @@ namespace OpenAuth.App
|
|||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 加载特定用户的模块
|
/// 加载特定用户的模块
|
||||||
|
/// TODO:这里会加载用户及用户角色的所有模块,“为用户分配模块”功能会给人一种混乱的感觉,但可以接受
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="userId">The user unique identifier.</param>
|
/// <param name="userId">The user unique identifier.</param>
|
||||||
public List<Module> LoadForUser(int userId)
|
public List<Module> LoadForUser(int userId)
|
||||||
{
|
{
|
||||||
|
//用户角色
|
||||||
|
var userRoleIds =
|
||||||
|
_relevanceRepository.Find(u => u.FirstId == userId && u.Key == "UserRole").Select(u => u.SecondId).ToList();
|
||||||
|
|
||||||
|
//用户角色与自己分配到的模块ID
|
||||||
var moduleIds =
|
var moduleIds =
|
||||||
_relevanceRepository.Find(u => u.FirstId == userId && u.Key == "UserModule")
|
_relevanceRepository.Find(
|
||||||
.Select(u => u.SecondId)
|
u =>
|
||||||
.ToList();
|
(u.FirstId == userId && u.Key == "UserModule") ||
|
||||||
|
(u.Key == "RoleModule" && userRoleIds.Contains(u.FirstId))).Select(u => u.SecondId).ToList();
|
||||||
|
|
||||||
|
//var moduleIds =
|
||||||
|
// _relevanceRepository.Find(u => u.FirstId == userId && u.Key == "UserModule")
|
||||||
|
// .Select(u => u.SecondId)
|
||||||
|
// .ToList();
|
||||||
if (!moduleIds.Any()) return new List<Module>();
|
if (!moduleIds.Any()) return new List<Module>();
|
||||||
return _repository.Find(u => moduleIds.Contains(u.Id)).ToList();
|
return _repository.Find(u => moduleIds.Contains(u.Id)).ToList();
|
||||||
}
|
}
|
||||||
|
@ -32,14 +32,11 @@ namespace OpenAuth.Mvc.Controllers
|
|||||||
filterContext.Result = new RedirectResult("/Login/Index");
|
filterContext.Result = new RedirectResult("/Login/Index");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
var controllername = Request.RequestContext.RouteData.Values["controller"].ToString().ToLower();
|
||||||
|
|
||||||
string url = Request.Url.LocalPath;
|
if (controllername != "home") //主页控制器无需权限控制
|
||||||
if (url != "/"
|
|
||||||
&& !url.Contains("Main")
|
|
||||||
&& !url.Contains("Error")
|
|
||||||
&& !url.Contains("Git"))
|
|
||||||
{
|
{
|
||||||
var module = loginUser.Modules.FirstOrDefault(u => url.Contains(u.Url));
|
var module = loginUser.Modules.FirstOrDefault(u => u.Url.ToLower().Contains(controllername));
|
||||||
if (module == null)
|
if (module == null)
|
||||||
{
|
{
|
||||||
filterContext.Result = new RedirectResult("/Login/Index");
|
filterContext.Result = new RedirectResult("/Login/Index");
|
||||||
@ -47,9 +44,10 @@ namespace OpenAuth.Mvc.Controllers
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ViewBag.Module = module;
|
ViewBag.Module = module; //为View显示服务,主要是为了显示按钮
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
base.OnActionExecuting(filterContext);
|
base.OnActionExecuting(filterContext);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -15,6 +15,7 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Data.Entity.Validation;
|
using System.Data.Entity.Validation;
|
||||||
|
using System.Linq;
|
||||||
using System.Web.Mvc;
|
using System.Web.Mvc;
|
||||||
using Infrastructure;
|
using Infrastructure;
|
||||||
using OpenAuth.App;
|
using OpenAuth.App;
|
||||||
@ -78,11 +79,55 @@ namespace OpenAuth.Mvc.Controllers
|
|||||||
ViewBag.RoleId = roleId;
|
ViewBag.RoleId = roleId;
|
||||||
return View();
|
return View();
|
||||||
}
|
}
|
||||||
|
[HttpPost]
|
||||||
|
public string AssignForRole(int roleId, string menuIds)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var ids = menuIds.Split(',').Select(id => int.Parse(id)).ToArray();
|
||||||
|
_app.AssignForRole(roleId, ids);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
_bjuiResponse.statusCode = "300";
|
||||||
|
_bjuiResponse.message = e.Message;
|
||||||
|
}
|
||||||
|
return JsonHelper.Instance.Serialize(_bjuiResponse);
|
||||||
|
}
|
||||||
|
|
||||||
public string Load(int roleId, int orgId)
|
public string LoadForRole(int roleId, int orgId)
|
||||||
{
|
{
|
||||||
return JsonHelper.Instance.Serialize(_app.LoadWithAccess("RoleElement", roleId, orgId));
|
return JsonHelper.Instance.Serialize(_app.LoadWithAccess("RoleElement", roleId, orgId));
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
#region 为用户分配菜单
|
||||||
|
|
||||||
|
public ActionResult AssignForUser(int userId)
|
||||||
|
{
|
||||||
|
ViewBag.UserId = userId;
|
||||||
|
return View();
|
||||||
|
}
|
||||||
|
[HttpPost]
|
||||||
|
public string AssignForUser(int userId, string menuIds)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var ids = menuIds.Split(',').Select(id => int.Parse(id)).ToArray();
|
||||||
|
_app.AssignForUser(userId, ids);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
_bjuiResponse.statusCode = "300";
|
||||||
|
_bjuiResponse.message = e.Message;
|
||||||
|
}
|
||||||
|
return JsonHelper.Instance.Serialize(_bjuiResponse);
|
||||||
|
}
|
||||||
|
|
||||||
|
public string LoadForUser(int userId, int orgId)
|
||||||
|
{
|
||||||
|
return JsonHelper.Instance.Serialize(_app.LoadWithAccess("UserElement", userId, orgId));
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -4,6 +4,8 @@ using OpenAuth.Domain;
|
|||||||
using System;
|
using System;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Web.Mvc;
|
using System.Web.Mvc;
|
||||||
|
using Infrastructure.Helper;
|
||||||
|
using OpenAuth.App.ViewModel;
|
||||||
|
|
||||||
namespace OpenAuth.Mvc.Controllers
|
namespace OpenAuth.Mvc.Controllers
|
||||||
{
|
{
|
||||||
@ -50,7 +52,7 @@ namespace OpenAuth.Mvc.Controllers
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public string LoadForTree()
|
public string LoadForTree()
|
||||||
{
|
{
|
||||||
var orgs = _app.LoadForTree();
|
var orgs = SessionHelper.GetSessionUser<LoginUserVM>().Modules;
|
||||||
//添加根节点
|
//添加根节点
|
||||||
orgs.Add(new Module
|
orgs.Add(new Module
|
||||||
{
|
{
|
||||||
@ -70,7 +72,7 @@ namespace OpenAuth.Mvc.Controllers
|
|||||||
{
|
{
|
||||||
Id = 0,
|
Id = 0,
|
||||||
ParentId = -1,
|
ParentId = -1,
|
||||||
Name = "已为用户分配的模块",
|
Name = "用户可访问模块(包括角色所拥有的)",
|
||||||
CascadeId = "0"
|
CascadeId = "0"
|
||||||
});
|
});
|
||||||
return JsonHelper.Instance.Serialize(orgs);
|
return JsonHelper.Instance.Serialize(orgs);
|
||||||
|
@ -624,6 +624,7 @@
|
|||||||
<Content Include="Views\ModuleManager\LookupMultiForUser.cshtml" />
|
<Content Include="Views\ModuleManager\LookupMultiForUser.cshtml" />
|
||||||
<Content Include="Views\ModuleManager\LookupMultiForRole.cshtml" />
|
<Content Include="Views\ModuleManager\LookupMultiForRole.cshtml" />
|
||||||
<None Include="Views\Home\MenuHeader.cshtml" />
|
<None Include="Views\Home\MenuHeader.cshtml" />
|
||||||
|
<Content Include="Views\ModuleElementManager\AssignForUser.cshtml" />
|
||||||
<None Include="Views\ModuleElementManager\Index.cshtml" />
|
<None Include="Views\ModuleElementManager\Index.cshtml" />
|
||||||
<Content Include="Views\ModuleElementManager\AssignForRole.cshtml" />
|
<Content Include="Views\ModuleElementManager\AssignForRole.cshtml" />
|
||||||
<None Include="Views\OrgManager\AddOrg.cshtml" />
|
<None Include="Views\OrgManager\AddOrg.cshtml" />
|
||||||
|
@ -28,9 +28,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
//获取勾选的值
|
function getDatagridRow(gridid) {
|
||||||
//column:为从0开始的列标识
|
|
||||||
function getSelected(gridid, column) {
|
|
||||||
var selected = $(gridid).data('selectedTrs');
|
var selected = $(gridid).data('selectedTrs');
|
||||||
if (selected == null || selected.length == 0) {
|
if (selected == null || selected.length == 0) {
|
||||||
$(this).alertmsg('warn', '至少选择一个对象', {
|
$(this).alertmsg('warn', '至少选择一个对象', {
|
||||||
@ -39,6 +37,14 @@
|
|||||||
});
|
});
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
return selected;
|
||||||
|
}
|
||||||
|
//获取勾选的值
|
||||||
|
//column:为从0开始的列标识
|
||||||
|
function getSelected(gridid, column) {
|
||||||
|
|
||||||
|
var selected = getDatagridRow(gridid);
|
||||||
|
if (selected == null) return null;
|
||||||
|
|
||||||
//todo:下面这段只能chrome有效
|
//todo:下面这段只能chrome有效
|
||||||
var records = new Array();
|
var records = new Array();
|
||||||
@ -48,4 +54,17 @@
|
|||||||
|
|
||||||
return records[0];
|
return records[0];
|
||||||
}
|
}
|
||||||
|
//返回选择的多条记录,用逗号隔开
|
||||||
|
function getSelectedMany(gridid, column) {
|
||||||
|
var selected = getDatagridRow(gridid);
|
||||||
|
if (selected == null) return null;
|
||||||
|
|
||||||
|
//todo:下面这段只能chrome有效
|
||||||
|
var results = '';
|
||||||
|
selected.each(function () {
|
||||||
|
results += ',' + this.children[column].innerText;
|
||||||
|
});
|
||||||
|
results = results.substr(1); //去掉第一个逗号
|
||||||
|
return results;
|
||||||
|
}
|
||||||
</script>
|
</script>
|
@ -9,10 +9,10 @@
|
|||||||
<input style="display: none" id="roleId" value="@ViewBag.RoleId" />
|
<input style="display: none" id="roleId" value="@ViewBag.RoleId" />
|
||||||
<div class="pull-right">
|
<div class="pull-right">
|
||||||
<div class="alert alert-info search-inline">
|
<div class="alert alert-info search-inline">
|
||||||
<i class="fa fa-info-circle"></i> 可多选统一授权
|
<i class="fa fa-info-circle"></i> 点击行为单选,点击复选框可多选统一授权
|
||||||
</div>
|
</div>
|
||||||
<button type="button" class="btn-green" data-num="1" data-icon="plus" data-toggle="assign">
|
<button type="button" class="btn-green" data-num="1" data-icon="plus" onclick="assign()">
|
||||||
授权选中
|
授权选中项目
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -70,7 +70,7 @@
|
|||||||
width: 80
|
width: 80
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
dataUrl: 'ModuleElementManager/Load?orgId=' + selectedId +'&roleId='+$('#roleId').val(),
|
dataUrl: 'ModuleElementManager/LoadForRole?orgId=' + selectedId +'&roleId='+$('#roleId').val(),
|
||||||
fullGrid: true,
|
fullGrid: true,
|
||||||
showLinenumber: true,
|
showLinenumber: true,
|
||||||
showCheckboxcol: true,
|
showCheckboxcol: true,
|
||||||
@ -102,7 +102,9 @@
|
|||||||
},
|
},
|
||||||
callback: { onClick: zTreeOnClick }
|
callback: { onClick: zTreeOnClick }
|
||||||
};
|
};
|
||||||
$.getJSON('ModuleManager/LoadForTree', function (json) {
|
$.getJSON('ModuleManager/LoadForRole',
|
||||||
|
{ roleId: $('#roleId').val() },
|
||||||
|
function (json) {
|
||||||
var zTreeObj = $.fn.zTree.init($('#@_treeId'), setting, json);
|
var zTreeObj = $.fn.zTree.init($('#@_treeId'), setting, json);
|
||||||
zTreeObj.expandAll(true);
|
zTreeObj.expandAll(true);
|
||||||
});
|
});
|
||||||
@ -110,18 +112,17 @@
|
|||||||
|
|
||||||
//授权选中的
|
//授权选中的
|
||||||
function assign() {
|
function assign() {
|
||||||
var selected = getSelected(gridid, 2);
|
var selected = getSelectedMany(gridid, 2);
|
||||||
if (selected == null) return;
|
if (selected == null) return;
|
||||||
|
|
||||||
$(this).dialog({
|
$.post("ModuleElementManager/AssignForRole",
|
||||||
id: 'assign',
|
{
|
||||||
url: '/ModuleManager/Add?id=' + selected,
|
roleId:$('#roleId').val(),
|
||||||
title: '编辑',
|
menuIds: selected
|
||||||
onClose: function () {
|
},
|
||||||
refreshGrid();
|
function (data) {
|
||||||
}
|
refreshGrid();
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function refreshGrid() {
|
function refreshGrid() {
|
||||||
|
@ -19,7 +19,6 @@
|
|||||||
|
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
var gridid = '#@_gridId';
|
|
||||||
var selectedId = 0;
|
var selectedId = 0;
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
initZtree();
|
initZtree();
|
||||||
@ -31,7 +30,7 @@
|
|||||||
$('#@_treeDetail').empty()
|
$('#@_treeDetail').empty()
|
||||||
.append('<table id="@_gridId" class="table table-bordered table-hover table-striped table-top"></table>');
|
.append('<table id="@_gridId" class="table table-bordered table-hover table-striped table-top"></table>');
|
||||||
|
|
||||||
$(gridid).datagrid({
|
$('#@_gridId').datagrid({
|
||||||
showToolbar: false,
|
showToolbar: false,
|
||||||
filterThead: false,
|
filterThead: false,
|
||||||
columns: [
|
columns: [
|
||||||
@ -129,7 +128,7 @@
|
|||||||
|
|
||||||
//删除
|
//删除
|
||||||
function del() {
|
function del() {
|
||||||
var selected = getSelected(gridid,2);
|
var selected = getSelected('#@_gridId',2);
|
||||||
if (selected == null) return;
|
if (selected == null) return;
|
||||||
|
|
||||||
$.get('ModuleManager/Delete?Id=' + selected, function (data) {
|
$.get('ModuleManager/Delete?Id=' + selected, function (data) {
|
||||||
@ -143,7 +142,7 @@
|
|||||||
|
|
||||||
//自定义的编辑按钮
|
//自定义的编辑按钮
|
||||||
function editModule() {
|
function editModule() {
|
||||||
var selected = getSelected(gridid,2);
|
var selected = getSelected('#@_gridId',2);
|
||||||
if (selected == null) return;
|
if (selected == null) return;
|
||||||
|
|
||||||
$(this).dialog({
|
$(this).dialog({
|
||||||
@ -159,13 +158,13 @@
|
|||||||
|
|
||||||
//为模块分配按钮
|
//为模块分配按钮
|
||||||
function assignButton() {
|
function assignButton() {
|
||||||
var selected = getSelected(gridid,2);
|
var selected = getSelected('#@_gridId',2);
|
||||||
if (selected == null) return;
|
if (selected == null) return;
|
||||||
|
|
||||||
$(this).dialog({
|
$(this).dialog({
|
||||||
id: 'editDialog',
|
id: 'editDialog',
|
||||||
width: 1000,
|
width: 1000,
|
||||||
height: 700,
|
height: 500,
|
||||||
mask:true,
|
mask:true,
|
||||||
url: '/ModuleElementManager/Index?id=' + selected,
|
url: '/ModuleElementManager/Index?id=' + selected,
|
||||||
title: '为模块分配按钮'
|
title: '为模块分配按钮'
|
||||||
|
@ -18,7 +18,6 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
var gridid = '#@_gridId';
|
|
||||||
var selectedId = 0;
|
var selectedId = 0;
|
||||||
var grid;
|
var grid;
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
|
@ -19,7 +19,6 @@
|
|||||||
|
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
var gridid = '#@_gridId';
|
|
||||||
var selectedId = 0;
|
var selectedId = 0;
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
initZtree();
|
initZtree();
|
||||||
@ -31,7 +30,7 @@
|
|||||||
$('#@_treeDetail').empty()
|
$('#@_treeDetail').empty()
|
||||||
.append('<table id="@_gridId" class="table table-bordered table-hover table-striped table-top"></table>');
|
.append('<table id="@_gridId" class="table table-bordered table-hover table-striped table-top"></table>');
|
||||||
|
|
||||||
$(gridid).datagrid({
|
$('#@_gridId').datagrid({
|
||||||
showToolbar:false,
|
showToolbar:false,
|
||||||
filterThead: false,
|
filterThead: false,
|
||||||
columns: [
|
columns: [
|
||||||
@ -122,7 +121,7 @@
|
|||||||
|
|
||||||
//删除
|
//删除
|
||||||
function del() {
|
function del() {
|
||||||
var selected = getSelected(gridid, 2);
|
var selected = getSelected('#@_gridId', 2);
|
||||||
if (selected == null) return;
|
if (selected == null) return;
|
||||||
|
|
||||||
$.getJSON('RoleManager/Delete?Id=' + selected, function (data) {
|
$.getJSON('RoleManager/Delete?Id=' + selected, function (data) {
|
||||||
@ -136,7 +135,7 @@
|
|||||||
|
|
||||||
//自定义的编辑按钮
|
//自定义的编辑按钮
|
||||||
function editRole() {
|
function editRole() {
|
||||||
var selected = getSelected(gridid,2);
|
var selected = getSelected('#@_gridId',2);
|
||||||
if (selected == null) return;
|
if (selected == null) return;
|
||||||
|
|
||||||
$(this).dialog({
|
$(this).dialog({
|
||||||
@ -157,7 +156,7 @@
|
|||||||
//角色模块授权按钮
|
//角色模块授权按钮
|
||||||
function openModuleAccess(obj) {
|
function openModuleAccess(obj) {
|
||||||
|
|
||||||
var selected = getSelected(gridid,2);
|
var selected = getSelected('#@_gridId',2);
|
||||||
if (selected == null) return;
|
if (selected == null) return;
|
||||||
|
|
||||||
$(obj).dialog({
|
$(obj).dialog({
|
||||||
@ -172,7 +171,7 @@
|
|||||||
|
|
||||||
//为角色分配菜单
|
//为角色分配菜单
|
||||||
function openAssignElement(obj) {
|
function openAssignElement(obj) {
|
||||||
var selected = getSelected(gridid, 2);
|
var selected = getSelected('#@_gridId', 2);
|
||||||
if (selected == null) return;
|
if (selected == null) return;
|
||||||
|
|
||||||
$(obj).dialog({
|
$(obj).dialog({
|
||||||
|
@ -20,7 +20,6 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
var gridid = '#@_gridId';
|
|
||||||
var selectedId = 0;
|
var selectedId = 0;
|
||||||
var grid;
|
var grid;
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
@ -33,7 +32,7 @@
|
|||||||
$('#@_treeDetail').empty()
|
$('#@_treeDetail').empty()
|
||||||
.append('<table id="@_gridId" class="table table-bordered table-hover table-striped table-top"></table>');
|
.append('<table id="@_gridId" class="table table-bordered table-hover table-striped table-top"></table>');
|
||||||
|
|
||||||
grid = $(gridid).datagrid({
|
$('#@_gridId').datagrid({
|
||||||
showToolbar: false,
|
showToolbar: false,
|
||||||
filterThead: false,
|
filterThead: false,
|
||||||
columns: [
|
columns: [
|
||||||
@ -126,7 +125,7 @@
|
|||||||
|
|
||||||
//删除
|
//删除
|
||||||
function del() {
|
function del() {
|
||||||
var selected = getSelected(gridid,2);
|
var selected = getSelected('#@_gridId', 2);
|
||||||
if (selected == null) return;
|
if (selected == null) return;
|
||||||
|
|
||||||
$.getJSON('UserManager/Delete?Id=' + selected, function (data) {
|
$.getJSON('UserManager/Delete?Id=' + selected, function (data) {
|
||||||
@ -140,7 +139,7 @@
|
|||||||
|
|
||||||
//自定义的编辑按钮
|
//自定义的编辑按钮
|
||||||
function editOrg() {
|
function editOrg() {
|
||||||
var selected = getSelected(gridid,2);
|
var selected = getSelected('#@_gridId', 2);
|
||||||
if (selected == null) return;
|
if (selected == null) return;
|
||||||
|
|
||||||
$(this).dialog({
|
$(this).dialog({
|
||||||
@ -161,7 +160,7 @@
|
|||||||
//用户模块授权按钮
|
//用户模块授权按钮
|
||||||
function openModuleAccess(obj) {
|
function openModuleAccess(obj) {
|
||||||
|
|
||||||
var selected = getSelected(gridid,2);
|
var selected = getSelected('#@_gridId', 2);
|
||||||
if (selected == null) return;
|
if (selected == null) return;
|
||||||
|
|
||||||
$(obj).dialog({
|
$(obj).dialog({
|
||||||
@ -176,7 +175,7 @@
|
|||||||
|
|
||||||
//用户角色授权
|
//用户角色授权
|
||||||
function openRoleAccess(obj) {
|
function openRoleAccess(obj) {
|
||||||
var selected = getSelected(gridid,2);
|
var selected = getSelected('#@_gridId', 2);
|
||||||
if (selected == null) return;
|
if (selected == null) return;
|
||||||
|
|
||||||
$(obj).dialog({
|
$(obj).dialog({
|
||||||
@ -188,5 +187,19 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//为角色分配菜单
|
||||||
|
function openAssignElement(obj) {
|
||||||
|
var selected = getSelected('#@_gridId', 2);
|
||||||
|
if (selected == null) return;
|
||||||
|
|
||||||
|
$(obj).dialog({
|
||||||
|
id: 'assignElement',
|
||||||
|
url: '/ModuleElementManager/AssignForUser?userId=' + selected,
|
||||||
|
title: '为用户分配菜单',
|
||||||
|
width: 700,
|
||||||
|
height: 380
|
||||||
|
});
|
||||||
|
}
|
||||||
//@@ sourceURL=userManagerIndex.js
|
//@@ sourceURL=userManagerIndex.js
|
||||||
</script>
|
</script>
|
BIN
建表&初始化数据.sql
BIN
建表&初始化数据.sql
Binary file not shown.
Loading…
Reference in New Issue
Block a user