Former-commit-id: 2338396d4a23fbbfab95786e63ca9122664f3d0a Former-commit-id: ac1720bb788b39f0c595fc8a6b9c355669dcb1d61.0
parent
a3fca45e20
commit
a333ce7737
@ -1,83 +1,51 @@
|
||||
@using System.Security.Claims
|
||||
<ul class="nav nav-pills nav-sidebar flex-column nav-flat" data-widget="treeview" role="menu" data-accordion="nav-icon false">
|
||||
@*<li class="nav-item"><a class="@GetLinkClass("Home")" href="@Url.Action("Index","Home")"><i class="far fa-circle nav-icon"></i><p>首页</p></a></li>*@
|
||||
@*平台*@
|
||||
@if (User.Claims.Any(o => o.Value.Contains("-Platform-")))
|
||||
{
|
||||
<li class="nav-header">平台</li>
|
||||
}
|
||||
@if (HasPermission("Read-Platform-Setting"))
|
||||
{
|
||||
<li class="nav-item"><a class="@GetLinkClass("Setting")" href="@Url.Action("Index","Setting")"><i class="far fa-circle nav-icon"></i><p>配置管理</p></a></li>
|
||||
}@if (HasPermission("Read-Platform-Site"))
|
||||
{
|
||||
<li class="nav-item"><a class="@GetLinkClass("Site")" href="@Url.Action("Index","Site")"><i class="far fa-circle nav-icon"></i><p>应用管理</p></a></li>
|
||||
}
|
||||
@if (HasPermission("Read-Platform-Area"))
|
||||
{
|
||||
<li class="nav-item"><a class="@GetLinkClass("Area")" href="@Url.Action("Index","Area")"><i class="far fa-circle nav-icon"></i><span>区域管理</span></a></li>
|
||||
}
|
||||
@if (HasPermission("Read-Platform-User"))
|
||||
{
|
||||
<li class="nav-item"><a class="@GetLinkClass("User")" href="@Url.Action("Index","User")"><i class="far fa-circle nav-icon"></i><p>用户管理</p></a></li>
|
||||
}
|
||||
@if (HasPermission("Read-Platform-Organ"))
|
||||
{
|
||||
<li class="nav-item"><a class="@GetLinkClass("Organ")" href="@Url.Action("Index","Organ")"><i class="far fa-circle nav-icon"></i><span>机构管理</span></a></li>
|
||||
}
|
||||
@if (HasPermission("Read-Platform-OrganUser"))
|
||||
{
|
||||
<li class="nav-item"><a class="@GetLinkClass("OrganUser")" href="@Url.Action("Index","OrganUser")"><i class="far fa-circle nav-icon"></i><p>机构用户</p></a></li>
|
||||
}
|
||||
@if (HasPermission("Read-Platform-OrganRole"))
|
||||
{
|
||||
<li class="nav-item"><a class="@GetLinkClass("OrganRole")" href="@Url.Action("Index","OrganRole")"><i class="far fa-circle nav-icon"></i><p>角色管理</p></a></li>
|
||||
}
|
||||
@if (HasPermission("Read-Platform-PermissionCategory"))
|
||||
{
|
||||
<li class="nav-item"><a class="@GetLinkClass("PermissionCategory")" href="@Url.Action("Index","PermissionCategory")"><i class="far fa-circle nav-icon"></i><p>权限分类</p></a></li>
|
||||
}
|
||||
@if (HasPermission("Read-Platform-Permission"))
|
||||
{
|
||||
<li class="nav-item"><a class="@GetLinkClass("Permission")" href="@Url.Action("Index","Permission")"><i class="far fa-circle nav-icon"></i><p>权限管理</p></a></li>
|
||||
}
|
||||
@if (HasPermission("Read-Platform-Building"))
|
||||
{
|
||||
<li class="nav-item"><a class="@GetLinkClass("Building")" href="@Url.Action("Index","Building")"><i class="far fa-circle nav-icon"></i><span>建筑管理</span></a></li>
|
||||
}
|
||||
|
||||
@*机构*@
|
||||
@if (User.Claims.Any(o => o.Value.Contains("-Organ-")))
|
||||
{
|
||||
<li class="nav-header">机构</li>
|
||||
}
|
||||
@if (HasPermission("Read-Organ-Organ"))
|
||||
{
|
||||
<li class="nav-item"><a class="@GetLinkClass("OrganOrgan")" href="@Url.Action("Index","OrganOrgan")"><i class="far fa-circle nav-icon"></i><p>机构管理</p></a></li>
|
||||
}
|
||||
@if (HasPermission("Read-Organ-OrganUser"))
|
||||
{
|
||||
<li class="nav-item"><a class="@GetLinkClass("OrganOrganUser")" href="@Url.Action("Index","OrganOrganUser")"><i class="far fa-circle nav-icon"></i><p>机构用户</p></a></li>
|
||||
}
|
||||
@if (HasPermission("Read-Organ-OrganRole"))
|
||||
{
|
||||
<li class="nav-item"><a class="@GetLinkClass("OrganOrganRole")" href="@Url.Action("Index","OrganOrganRole")"><i class="far fa-circle nav-icon"></i><p>角色管理</p></a></li>
|
||||
}
|
||||
@if (HasPermission("Read-Organ-Permission"))
|
||||
{
|
||||
<li class="nav-item"><a class="@GetLinkClass("OrganPermission")" href="@Url.Action("Index","OrganPermission")"><i class="far fa-circle nav-icon"></i><p>权限管理</p></a></li>
|
||||
}
|
||||
@if (HasPermission("Read-Organ-Building"))
|
||||
{
|
||||
<li class="nav-item"><a class="@GetLinkClass("OrganBuilding")" href="@Url.Action("Index","OrganBuilding")"><i class="far fa-circle nav-icon"></i><span>建筑管理</span></a></li>
|
||||
}
|
||||
|
||||
@*个人*@
|
||||
@if (User.Claims.Any(o => o.Value.Contains("-User-")))
|
||||
{
|
||||
<li class="nav-header">用户</li>
|
||||
}
|
||||
@if (HasPermission("Read-User-OrganUser"))
|
||||
{
|
||||
<li class="nav-item"><a class="@GetLinkClass("UserOrganUser")" href="@Url.Action("Index","UserOrganUser")"><i class="far fa-circle nav-icon"></i><p>机构用户</p></a></li>
|
||||
}
|
||||
</ul>
|
||||
<li class="nav-item"><a class="@GetLinkClass("Home")" href="@Url.Action("Index","Home")"><i class="far fa-circle nav-icon"></i><p>首页</p></a></li>
|
||||
@{
|
||||
var modules = this.Context.Request.HttpContext.Items["modules"] as List<AppModule>;
|
||||
if (modules != null)
|
||||
{
|
||||
var area = this.ViewContext.RouteData.Values["area"].ToString();
|
||||
var module = modules.FirstOrDefault(o => o.Number == area);
|
||||
if (module != null)
|
||||
{
|
||||
var numbers = User.Claims.Where(o => o.Type == ClaimTypes.Role).Select(o => o.Value).ToList();
|
||||
var permissions = module.PermissionCategories.SelectMany(o => o.Permissions).Where(o => numbers.Contains(o.Number)).OrderBy(o => o.Category.Order);
|
||||
var platformPermissions = permissions.Where(o => o.Type == PermissionType.Platform);
|
||||
if (platformPermissions.Any())
|
||||
{
|
||||
<li class="nav-header">全部机构</li>
|
||||
@foreach (var permission in platformPermissions)
|
||||
{
|
||||
if (permission.Number.StartsWith("Read-"))
|
||||
{
|
||||
<li class="nav-item">
|
||||
<a href="@Url.Action("Index", permission.Category.Number, new { area = module.Number })" class="@GetLinkClass(permission.Category.Number)">
|
||||
<i class="far fa-circle nav-icon"></i>
|
||||
<p>@permission.Category.Name</p>
|
||||
</a>
|
||||
</li>
|
||||
}
|
||||
}
|
||||
}
|
||||
var organPermissions = permissions.Where(o => o.Type == PermissionType.Organ);
|
||||
if (organPermissions.Any())
|
||||
{
|
||||
<li class="nav-header">当前机构</li>
|
||||
@foreach (var permission in organPermissions)
|
||||
{
|
||||
if (permission.Number.StartsWith("Read-"))
|
||||
{
|
||||
<li class="nav-item">
|
||||
<a href="@Url.Action("Index", permission.Category.Number, new { area = module.Number })" class="@GetLinkClass(permission.Category.Number)">
|
||||
<i class="far fa-circle nav-icon"></i>
|
||||
<p>@permission.Category.Name</p>
|
||||
</a>
|
||||
</li>
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</ul>
|
||||
|
@ -1,27 +1,25 @@
|
||||
<ul class="navbar-nav">
|
||||
@using System.Security.Claims
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" data-widget="pushmenu" href="#"><i class="fas fa-bars"></i></a>
|
||||
</li>
|
||||
<li class="nav-item d-none d-sm-inline-block">
|
||||
<a href="@Url.Action("Index","Home",new { area=""})" class="@GetLinkClass(area:"")">首页</a>
|
||||
<a href="@Url.Action("Index", "Home", new { area = "" })" class="@GetLinkClass(area: "")">首页</a>
|
||||
</li>
|
||||
@if (HasPermission("Read-Platform-Setting"))
|
||||
{
|
||||
<li class="nav-item d-none d-sm-inline-block">
|
||||
<a href="@Url.Action("Index","Setting",new { area="Admin"})" class="@GetLinkClass(area:"Admin")">基础设置</a>
|
||||
</li>
|
||||
}
|
||||
<li class="nav-item d-none d-sm-inline-block">
|
||||
<a href="@Url.Action("Index","IoTProductCategory",new { area="IoTCenter"})" class="@GetLinkClass(area:"IoTCenter")">物联管控</a>
|
||||
</li>
|
||||
</ul>
|
||||
@{
|
||||
var modules = this.Context.Request.HttpContext.Items["AppModules"] as List<AppModule>;
|
||||
if (modules != null)
|
||||
{
|
||||
foreach (var item in modules.SelectMany(o => o.PermissionCategories).SelectMany(o => o.Permissions))
|
||||
@{
|
||||
var modules = this.Context.Request.HttpContext.Items["modules"] as List<AppModule>;
|
||||
if (modules != null)
|
||||
{
|
||||
<a href="@Url.Action(item.Number,item.Category.Number,new { area=item.Category.AppModule.Number})">@item.Category.AppModule.Name</a>
|
||||
var numbers = User.Claims.Where(o => o.Type == ClaimTypes.Role).Select(o => o.Value).ToList();
|
||||
foreach (var module in modules.Where(o=>o.PermissionCategories.SelectMany(o => o.Permissions).Any(o => numbers.Contains(o.Number))).OrderBy(o=>o.Order))
|
||||
{
|
||||
if (module.PermissionCategories.SelectMany(o => o.Permissions).Any(o => numbers.Contains(o.Number)))
|
||||
{
|
||||
<li class="nav-item d-none d-sm-inline-block">
|
||||
<a href="@Url.Action("Index", "Home", new { area = module.Number })" class="@GetLinkClass(area: module.Number)">@module.Name</a>
|
||||
</li>
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</ul>
|
||||
|
Loading…
Reference in new issue