67 lines
2.1 KiB
C#
67 lines
2.1 KiB
C#
using Microsoft.AspNetCore.Mvc;
|
||
using XCode.Membership;
|
||
using NewLife;
|
||
using NewLife.Cube;
|
||
using NewLife.Cube.Extensions;
|
||
using NewLife.Cube.ViewModels;
|
||
using NewLife.Log;
|
||
using NewLife.Web;
|
||
using XCode.Membership;
|
||
using static XCode.Membership.Role;
|
||
|
||
namespace Membership.Web.Areas.Admin.Controllers;
|
||
|
||
/// <summary>角色。业务场景中的岗位,功能权限的集合。不管是用户还是租户,都以角色来管理权限</summary>
|
||
[Menu(0, true, Icon = "fa-table")]
|
||
[AdminArea]
|
||
public class Role : EntityController<Role>
|
||
{
|
||
static Role()
|
||
{
|
||
//LogOnChange = true;
|
||
|
||
//ListFields.RemoveField("Id", "Creator");
|
||
ListFields.RemoveCreateField().RemoveRemarkField();
|
||
|
||
//{
|
||
// var df = ListFields.GetField("Code") as ListField;
|
||
// df.Url = "?code={Code}";
|
||
// df.Target = "_blank";
|
||
//}
|
||
//{
|
||
// var df = ListFields.AddListField("devices", null, "Onlines");
|
||
// df.DisplayName = "查看设备";
|
||
// df.Url = "Device?groupId={Id}";
|
||
// df.DataVisible = e => (e as Role).Devices > 0;
|
||
// df.Target = "_frame";
|
||
//}
|
||
//{
|
||
// var df = ListFields.GetField("Kind") as ListField;
|
||
// df.GetValue = e => ((Int32)(e as Role).Kind).ToString("X4");
|
||
//}
|
||
//ListFields.TraceUrl("TraceId");
|
||
}
|
||
|
||
//private readonly ITracer _tracer;
|
||
|
||
//public Role(ITracer tracer)
|
||
//{
|
||
// _tracer = tracer;
|
||
//}
|
||
|
||
/// <summary>高级搜索。列表页查询、导出Excel、导出Json、分享页等使用</summary>
|
||
/// <param name="p">分页器。包含分页排序参数,以及Http请求参数</param>
|
||
/// <returns></returns>
|
||
protected override IEnumerable<Role> Search(Pager p)
|
||
{
|
||
var name = p["name"];
|
||
var tenantId = p["tenantId"].ToInt(-1);
|
||
var isSystem = p["isSystem"]?.ToBoolean();
|
||
var enable = p["enable"]?.ToBoolean();
|
||
|
||
var start = p["dtStart"].ToDateTime();
|
||
var end = p["dtEnd"].ToDateTime();
|
||
|
||
return Role.Search(name, tenantId, isSystem, enable, start, end, p["Q"], p);
|
||
}
|
||
} |