75 lines
2.5 KiB
C#
75 lines
2.5 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.User;
|
||
|
||
namespace Membership.Web.Areas.Admin.Controllers;
|
||
|
||
/// <summary>用户。用户帐号信息,以身份验证为中心,拥有多种角色,可加入多个租户</summary>
|
||
[Menu(0, true, Icon = "fa-table")]
|
||
[AdminArea]
|
||
public class User : EntityController<User>
|
||
{
|
||
static User()
|
||
{
|
||
//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 User).Devices > 0;
|
||
// df.Target = "_frame";
|
||
//}
|
||
//{
|
||
// var df = ListFields.GetField("Kind") as ListField;
|
||
// df.GetValue = e => ((Int32)(e as User).Kind).ToString("X4");
|
||
//}
|
||
//ListFields.TraceUrl("TraceId");
|
||
}
|
||
|
||
//private readonly ITracer _tracer;
|
||
|
||
//public User(ITracer tracer)
|
||
//{
|
||
// _tracer = tracer;
|
||
//}
|
||
|
||
/// <summary>高级搜索。列表页查询、导出Excel、导出Json、分享页等使用</summary>
|
||
/// <param name="p">分页器。包含分页排序参数,以及Http请求参数</param>
|
||
/// <returns></returns>
|
||
protected override IEnumerable<User> Search(Pager p)
|
||
{
|
||
var name = p["name"];
|
||
var mail = p["mail"];
|
||
var mobile = p["mobile"];
|
||
var code = p["code"];
|
||
var roleId = p["roleId"].ToInt(-1);
|
||
var departmentId = p["departmentId"].ToInt(-1);
|
||
var sex = (XCode.Membership.SexKinds)p["sex"].ToInt(-1);
|
||
var mailVerified = p["mailVerified"]?.ToBoolean();
|
||
var mobileVerified = p["mobileVerified"]?.ToBoolean();
|
||
var areaId = p["areaId"].ToInt(-1);
|
||
var online = p["online"]?.ToBoolean();
|
||
var enable = p["enable"]?.ToBoolean();
|
||
|
||
var start = p["dtStart"].ToDateTime();
|
||
var end = p["dtEnd"].ToDateTime();
|
||
|
||
return User.Search(name, mail, mobile, code, roleId, departmentId, sex, mailVerified, mobileVerified, areaId, online, enable, start, end, p["Q"], p);
|
||
}
|
||
} |