From eb82aabcef98c82768bc1805eb42e443c7988326 Mon Sep 17 00:00:00 2001 From: xiyunfei Date: Sat, 5 Aug 2023 19:41:39 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E7=A7=9F=E6=88=B7=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E8=AE=BE=E7=BD=AE=E7=95=8C=E9=9D=A2=E6=9D=83=E9=99=90?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Admin/Controllers/TenantUserController.cs | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/NewLife.CubeNC/Areas/Admin/Controllers/TenantUserController.cs b/NewLife.CubeNC/Areas/Admin/Controllers/TenantUserController.cs index de472520..b2b46022 100644 --- a/NewLife.CubeNC/Areas/Admin/Controllers/TenantUserController.cs +++ b/NewLife.CubeNC/Areas/Admin/Controllers/TenantUserController.cs @@ -14,6 +14,42 @@ static TenantUserController() LogOnChange = true; ListFields.RemoveField("ID", "Remark").RemoveField("CreateUserId", "CreateTime", "CreateIP", "UpdateUserId", "UpdateTime", "UpdateIP"); + + { + var df = AddFormFields.AddDataField("RoleIds", "RoleNames"); + df.DataSource = entity => Role.FindAllWithCache().OrderByDescending(e => e.Sort).ToDictionary(e => e.ID, e => e.Name); + AddFormFields.RemoveField("RoleNames"); + } + { + var df = EditFormFields.AddDataField("RoleIds", "RoleNames"); + df.DataSource = entity => Role.FindAllWithCache().OrderByDescending(e => e.Sort).ToDictionary(e => e.ID, e => e.Name); + EditFormFields.RemoveField("RoleNames"); + } + } + + public TenantUserController() + { + var TenantId = TenantContext.Current.TenantId; + var tenant = Tenant.FindById(TenantId); + var RoleIds = tenant?.RoleIds.SplitAsInt(","); + // 新增界面 + { + var df = AddFormFields.GetField("RoleIds"); + df.DataSource = entity => Role.FindAllWithCache().Where(e => TenantId == 0 ? true : RoleIds?.Contains(e.ID) ?? false).OrderByDescending(e => e.Sort).ToDictionary(e => e.ID, e => e.Name); + } + { + var df = AddFormFields.GetField("RoleId"); + df.DataSource = entity => Role.FindAllWithCache().Where(e => TenantId == 0 ? true : RoleIds?.Contains(e.ID) ?? false).OrderByDescending(e => e.Sort).ToDictionary(e => e.ID, e => e.Name); + } + // 编辑界面 + { + var df = EditFormFields.GetField("RoleIds"); + df.DataSource = entity => Role.FindAllWithCache().Where(e => TenantId == 0 ? true : RoleIds?.Contains(e.ID) ?? false).OrderByDescending(e => e.Sort).ToDictionary(e => e.ID, e => e.Name); + } + { + var df = EditFormFields.GetField("RoleId"); + df.DataSource = entity => Role.FindAllWithCache().Where(e => TenantId == 0 ? true : RoleIds?.Contains(e.ID) ?? false).OrderByDescending(e => e.Sort).ToDictionary(e => e.ID, e => e.Name); + } } /// 搜索数据集