diff --git a/OpenAuth.App/ModuleManagerApp.cs b/OpenAuth.App/ModuleManagerApp.cs index b0142a07..0d1f7015 100644 --- a/OpenAuth.App/ModuleManagerApp.cs +++ b/OpenAuth.App/ModuleManagerApp.cs @@ -36,6 +36,18 @@ namespace OpenAuth.App return UnitWork.Find(u => moduleIds.Contains(u.Id)).OrderBy(u => u.SortNo); } + /// + /// 根据某用户ID获取可访问某模块的菜单项 + /// + /// + /// + /// + public IEnumerable LoadMenusForUser(string moduleId, string userId) + { + var elementIds = RevelanceManagerApp.Get(Define.USERELEMENT, true, userId); + return UnitWork.Find(u => elementIds.Contains(u.Id) && u.ModuleId == moduleId); + } + /// /// 加载特定角色的模块 /// @@ -47,6 +59,13 @@ namespace OpenAuth.App return UnitWork.Find(u => moduleIds.Contains(u.Id)).OrderBy(u => u.SortNo); } + public IEnumerable LoadMenusForRole(string moduleId, string roleId) + { + var elementIds = RevelanceManagerApp.Get(Define.ROLEELEMENT, true, roleId); + return UnitWork.Find(u => elementIds.Contains(u.Id) && u.ModuleId == moduleId); + + } + #endregion 用户/角色分配模块 @@ -67,7 +86,5 @@ namespace OpenAuth.App } #endregion - - } } \ No newline at end of file diff --git a/OpenAuth.Mvc/Controllers/ModuleManagerController.cs b/OpenAuth.Mvc/Controllers/ModuleManagerController.cs index 015f5e30..b9635b2d 100644 --- a/OpenAuth.Mvc/Controllers/ModuleManagerController.cs +++ b/OpenAuth.Mvc/Controllers/ModuleManagerController.cs @@ -36,8 +36,17 @@ namespace OpenAuth.Mvc.Controllers /// System.String. public string LoadForUser(string firstId) { - var orgs = App.LoadForUser(firstId); - return JsonHelper.Instance.Serialize(orgs); + var modules = App.LoadForUser(firstId); + return JsonHelper.Instance.Serialize(modules); + } + /// + /// 根据某用户ID获取可访问某模块的菜单项 + /// + /// + public string LoadMenusForUser(string moduleId, string firstId) + { + var menus = App.LoadMenusForUser(moduleId, firstId); + return JsonHelper.Instance.Serialize(menus); } /// @@ -47,8 +56,18 @@ namespace OpenAuth.Mvc.Controllers /// System.String. public string LoadForRole(string firstId) { - var orgs = App.LoadForRole(firstId); - return JsonHelper.Instance.Serialize(orgs); + var modules = App.LoadForRole(firstId); + return JsonHelper.Instance.Serialize(modules); + } + + /// + /// 根据某角色ID获取可访问某模块的菜单项 + /// + /// + public string LoadMenusForRole(string moduleId, string firstId) + { + var menus = App.LoadMenusForRole(moduleId, firstId); + return JsonHelper.Instance.Serialize(menus); } #region 添加编辑模块 diff --git a/OpenAuth.Mvc/Controllers/RelevanceManagerController.cs b/OpenAuth.Mvc/Controllers/RelevanceManagerController.cs index 4cc7c08c..8c64037b 100644 --- a/OpenAuth.Mvc/Controllers/RelevanceManagerController.cs +++ b/OpenAuth.Mvc/Controllers/RelevanceManagerController.cs @@ -1,41 +1,41 @@ -using System; -using System.Web.Mvc; -using Infrastructure; -using OpenAuth.App; - -namespace OpenAuth.Mvc.Controllers -{ - public class RelevanceManagerController : BaseController - { - public RevelanceManagerApp App { get; set; } - - [HttpPost] - public string Assign(string type, string firstId, string[] secIds) - { - try - { - App.Assign(type, firstId, secIds); - } - catch (Exception ex) - { - Result.Code = 500; - Result.Message = ex.Message; - } - return JsonHelper.Instance.Serialize(Result); - } - [HttpPost] - public string UnAssign(string type, string firstId, string[] secIds) - { - try - { - App.UnAssign(type, firstId, secIds); - } - catch (Exception ex) - { - Result.Code = 500; - Result.Message = ex.Message; - } - return JsonHelper.Instance.Serialize(Result); - } - } +using System; +using System.Web.Mvc; +using Infrastructure; +using OpenAuth.App; + +namespace OpenAuth.Mvc.Controllers +{ + public class RelevanceManagerController : BaseController + { + public RevelanceManagerApp App { get; set; } + + [HttpPost] + public string Assign(string type, string firstId, string[] secIds) + { + try + { + App.Assign(type, firstId, secIds); + } + catch (Exception ex) + { + Result.Code = 500; + Result.Message = ex.Message; + } + return JsonHelper.Instance.Serialize(Result); + } + [HttpPost] + public string UnAssign(string type, string firstId, string[] secIds) + { + try + { + App.UnAssign(type, firstId, secIds); + } + catch (Exception ex) + { + Result.Code = 500; + Result.Message = ex.Message; + } + return JsonHelper.Instance.Serialize(Result); + } + } } \ No newline at end of file diff --git a/OpenAuth.Mvc/js/assign.js b/OpenAuth.Mvc/js/assign.js index fe2888c7..0b50b1dd 100644 --- a/OpenAuth.Mvc/js/assign.js +++ b/OpenAuth.Mvc/js/assign.js @@ -33,11 +33,26 @@ layui.config({ , "json"); }); - //todo:如果该用户已经分配菜单了,则设置相应的状态 - + //如果该用户已经分配菜单了,则设置相应的状态 + var url = "/ModuleManager/LoadMenusForUser"; + if (type.indexOf("Role") != -1) { + url = "/ModuleManager/LoadMenusForRole"; + } + $.getJSON(url, + { + firstId: id + , moduleId: options.moduleId + } + , function (data) { + $.each(data, + function (i) { + var that = this; + //todo:怎么给lay table设置选中啊???? + }); + }); } - //左边树状机构列表 + //左边树状模块列表 var ztree = function () { var url = '/UserSession/QueryModuleList'; var zTreeObj; @@ -82,7 +97,20 @@ layui.config({ $.getJSON(url, function (json) { zTreeObj = $.fn.zTree.init($("#tree"), setting); zTreeObj.addNodes(null, json); - //todo:如果该用户已经分配模块了,则设置相应的状态 + //如果该用户已经分配模块了,则设置相应的状态 + var url = "/ModuleManager/LoadForUser"; + if (type.indexOf("Role") != -1) { + url = "/ModuleManager/LoadForRole"; + } + $.getJSON(url, { firstId: id } + , function (data) { + $.each(data, + function(i) { + var that = this; + var node = zTreeObj.getNodeByParam("Id", that.Id, null); + zTreeObj.checkNode(node, true, false); + }); + }); menuList({ moduleId: json[0].Id }); zTreeObj.expandAll(true); diff --git a/OpenAuth.Mvc/js/main.js b/OpenAuth.Mvc/js/main.js index 2d015551..dda74505 100644 --- a/OpenAuth.Mvc/js/main.js +++ b/OpenAuth.Mvc/js/main.js @@ -33,9 +33,9 @@ layui.config({ ) //用户数 - $.get("/json/usersList.json", + $.getJSON("/UserManager/Load?limit=1&page=1", function(data){ - $(".userAll span").text(data.length); + $(".userAll span").text(data.count); } )