Former-commit-id: d6b3309683b12cdbd396fe32da16c60abc5f812b
Former-commit-id: 4e8e322b45047d67719ec26eadbcdf6453ead676
1.0
wanggang 5 years ago
parent c1a81b216c
commit bfa1eacb27

@ -11,41 +11,35 @@
{
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.Hide && o.Type == PermissionType.Platform);
var platformPermissions = permissions.Where(o => !o.Hide && o.Type == PermissionType.Platform && o.Number.StartsWith("Read-"));
if (platformPermissions.Any())
{
<li class="nav-header">全部机构</li>
@foreach (var permission in platformPermissions)
{
if (permission.Number.StartsWith("Read-"))
{
var name = permission.Category.Name;
<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>@(name.Length>2?name:$"{name}管理")</p>
</a>
</li>
}
var name = permission.Category.Name;
<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>@(name.Length>2?name:$"{name}管理")</p>
</a>
</li>
}
}
var organPermissions = permissions.Where(o => !o.Hide && o.Type == PermissionType.Organ);
var organPermissions = permissions.Where(o => !o.Hide && o.Type == PermissionType.Organ && o.Number.StartsWith("Read-"));
if (organPermissions.Any())
{
<li class="nav-header">当前机构</li>
@foreach (var permission in organPermissions)
{
var name = permission.Category.Name;
if (permission.Number.StartsWith("Read-"))
{
var controller = $"Organ{permission.Category.Number}";
<li class="nav-item">
<a href="@Url.Action("Index", controller, new { area = module.Number })" class="@GetLinkClass(controller)">
<i class="far fa-circle nav-icon"></i>
<p>@(name.Length>2?name:$"{name}管理")</p>
</a>
</li>
}
var controller = $"Organ{permission.Category.Number}";
<li class="nav-item">
<a href="@Url.Action("Index", controller, new { area = module.Number })" class="@GetLinkClass(controller)">
<i class="far fa-circle nav-icon"></i>
<p>@(name.Length>2?name:$"{name}管理")</p>
</a>
</li>
}
}
}

@ -1,55 +1,48 @@
<ul class="nav nav-pills nav-sidebar flex-column" 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 (HasPermission("Read-Platform-IoTProductCategory"))
{
<li class="nav-item"><a class="@GetLinkClass("IoTProductCategory")" href="@Url.Action("Index","IoTProductCategory")"><i class="far fa-circle nav-icon"></i><span>产品分类</span></a></li>
}
@if (HasPermission("Read-Platform-IoTProduct"))
{
<li class="nav-item"><a class="@GetLinkClass("IoTProduct")" href="@Url.Action("Index","IoTProduct")"><i class="far fa-circle nav-icon"></i><span>产品管理</span></a></li>
}
@if (HasPermission("Read-Platform-IoTApi"))
{
<li class="nav-item"><a class="@GetLinkClass("IoTApi")" href="@Url.Action("Index","IoTApi")"><i class="far fa-circle nav-icon"></i><span>接口管理</span></a></li>
}
@if (HasPermission("Read-Platform-IoTParameter"))
{
<li class="nav-item"><a class="@GetLinkClass("IoTParameter")" href="@Url.Action("Index","IoTParameter")"><i class="far fa-circle nav-icon"></i><span>参数管理</span></a></li>
}
@if (HasPermission("Read-Platform-IoTGateway"))
{
<li class="nav-item"><a class="@GetLinkClass("IoTGateway")" href="@Url.Action("Index","IoTGateway")"><i class="far fa-circle nav-icon"></i><span>网关管理</span></a></li>
}
@if (HasPermission("Read-Platform-IoTDevice"))
{
<li class="nav-item"><a class="@GetLinkClass("IoTDevice")" href="@Url.Action("Index","IoTDevice")"><i class="far fa-circle nav-icon"></i><span>设备管理</span></a></li>
}
@if (HasPermission("Read-Platform-IoTData"))
{
<li class="nav-item"><a class="@GetLinkClass("IoTData")" href="@Url.Action("Index","IoTData")"><i class="far fa-circle nav-icon"></i><span>数据管理</span></a></li>
}
@if (HasPermission("Read-Platform-IoTCommand"))
{
<li class="nav-item"><a class="@GetLinkClass("IoTCommand")" href="@Url.Action("Index","IoTCommand")"><i class="far fa-circle nav-icon"></i><span>命令管理</span></a></li>
}
@if (HasPermission("Read-Platform-IoTScene"))
{
<li class="nav-item"><a class="@GetLinkClass("IoTScene")" href="@Url.Action("Index","IoTScene")"><i class="far fa-circle nav-icon"></i><span>场景管理</span></a></li>
}
@if (HasPermission("Read-Platform-IoTSceneIoTCommand"))
{
<li class="nav-item"><a class="@GetLinkClass("IoTSceneIoTCommand")" href="@Url.Action("Index","IoTSceneIoTCommand")"><i class="far fa-circle nav-icon"></i><span>场景命令</span></a></li>
}
@if (HasPermission("Read-Platform-IoTTimer"))
{
<li class="nav-item"><a class="@GetLinkClass("IoTTimer")" href="@Url.Action("Index","IoTTimer")"><i class="far fa-circle nav-icon"></i><span>定时触发</span></a></li>
}
@if (HasPermission("Read-Platform-IoTTigger"))
{
<li class="nav-item"><a class="@GetLinkClass("IoTTigger")" href="@Url.Action("Index","IoTTigger")"><i class="far fa-circle nav-icon"></i><span>联动触发</span></a></li>
}
@if (HasPermission("Read-Platform-LiveRecord"))
{
<li class="nav-item"><a class="@GetLinkClass("LiveRecord")" href="@Url.Action("Index","LiveRecord")"><i class="far fa-circle nav-icon"></i><span>录像回放</span></a></li>
@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>
@{
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.Hide && o.Type == PermissionType.Platform && o.Number.StartsWith("Read-"));
if (platformPermissions.Any())
{
<li class="nav-header">全部机构</li>
@foreach (var permission in platformPermissions)
{
var name = permission.Category.Name;
<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>@(name.Length>2?name:$"{name}管理")</p>
</a>
</li>
}
}
var organPermissions = permissions.Where(o => !o.Hide && o.Type == PermissionType.Organ && o.Number.StartsWith("Read-"));
if (organPermissions.Any())
{
<li class="nav-header">当前机构</li>
@foreach (var permission in organPermissions)
{
var name = permission.Category.Name;
var controller = $"Organ{permission.Category.Number}";
<li class="nav-item">
<a href="@Url.Action("Index", controller, new { area = module.Number })" class="@GetLinkClass(controller)">
<i class="far fa-circle nav-icon"></i>
<p>@(name.Length>2?name:$"{name}管理")</p>
</a>
</li>
}
}
}
}
}
</ul>

@ -321,8 +321,12 @@ namespace Platform.Data
"Read-Platform-RolePermission",
"Read-Organ-Department",
"Read-Organ-DepartmentUser",
"Read-Organ-OrganUserRole",
"Read-Organ-OrganUserRole",
"Read-Organ-RolePermission",
"Read-Organ-IoTScene",
"Read-Organ-IoTSceneIoTCommand",
"Read-Organ-IoTTimer",
"Read-Organ-IoTTigger",
};
foreach (var item in db.Set<Permission>().Where(o => permissionHideList.Contains(o.Number)))
{

Loading…
Cancel
Save