This commit is contained in:
yubao 2017-12-16 23:29:38 +08:00
parent 277676cbba
commit a904438b94
5 changed files with 116 additions and 52 deletions

View File

@ -36,6 +36,18 @@ namespace OpenAuth.App
return UnitWork.Find<Module>(u => moduleIds.Contains(u.Id)).OrderBy(u => u.SortNo);
}
/// <summary>
/// 根据某用户ID获取可访问某模块的菜单项
/// </summary>
/// <param name="moduleId"></param>
/// <param name="userId"></param>
/// <returns></returns>
public IEnumerable<ModuleElement> LoadMenusForUser(string moduleId, string userId)
{
var elementIds = RevelanceManagerApp.Get(Define.USERELEMENT, true, userId);
return UnitWork.Find<ModuleElement>(u => elementIds.Contains(u.Id) && u.ModuleId == moduleId);
}
/// <summary>
/// 加载特定角色的模块
/// </summary>
@ -47,6 +59,13 @@ namespace OpenAuth.App
return UnitWork.Find<Module>(u => moduleIds.Contains(u.Id)).OrderBy(u => u.SortNo);
}
public IEnumerable<ModuleElement> LoadMenusForRole(string moduleId, string roleId)
{
var elementIds = RevelanceManagerApp.Get(Define.ROLEELEMENT, true, roleId);
return UnitWork.Find<ModuleElement>(u => elementIds.Contains(u.Id) && u.ModuleId == moduleId);
}
#endregion /
@ -67,7 +86,5 @@ namespace OpenAuth.App
}
#endregion
}
}

View File

@ -36,8 +36,17 @@ namespace OpenAuth.Mvc.Controllers
/// <returns>System.String.</returns>
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);
}
/// <summary>
/// 根据某用户ID获取可访问某模块的菜单项
/// </summary>
/// <returns></returns>
public string LoadMenusForUser(string moduleId, string firstId)
{
var menus = App.LoadMenusForUser(moduleId, firstId);
return JsonHelper.Instance.Serialize(menus);
}
/// <summary>
@ -47,8 +56,18 @@ namespace OpenAuth.Mvc.Controllers
/// <returns>System.String.</returns>
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);
}
/// <summary>
/// 根据某角色ID获取可访问某模块的菜单项
/// </summary>
/// <returns></returns>
public string LoadMenusForRole(string moduleId, string firstId)
{
var menus = App.LoadMenusForRole(moduleId, firstId);
return JsonHelper.Instance.Serialize(menus);
}
#region

View File

@ -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);
}
}
}

View File

@ -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);

View File

@ -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);
}
)