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 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 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()) if (platformPermissions.Any())
{ {
<li class="nav-header">全部机构</li> <li class="nav-header">全部机构</li>
@foreach (var permission in platformPermissions) @foreach (var permission in platformPermissions)
{ {
if (permission.Number.StartsWith("Read-")) var name = permission.Category.Name;
{ <li class="nav-item">
var name = permission.Category.Name; <a href="@Url.Action("Index", permission.Category.Number, new { area = module.Number })" class="@GetLinkClass(permission.Category.Number)">
<li class="nav-item"> <i class="far fa-circle nav-icon"></i>
<a href="@Url.Action("Index", permission.Category.Number, new { area = module.Number })" class="@GetLinkClass(permission.Category.Number)"> <p>@(name.Length>2?name:$"{name}管理")</p>
<i class="far fa-circle nav-icon"></i> </a>
<p>@(name.Length>2?name:$"{name}管理")</p> </li>
</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()) if (organPermissions.Any())
{ {
<li class="nav-header">当前机构</li> <li class="nav-header">当前机构</li>
@foreach (var permission in organPermissions) @foreach (var permission in organPermissions)
{ {
var name = permission.Category.Name; var name = permission.Category.Name;
if (permission.Number.StartsWith("Read-")) var controller = $"Organ{permission.Category.Number}";
{ <li class="nav-item">
var controller = $"Organ{permission.Category.Number}"; <a href="@Url.Action("Index", controller, new { area = module.Number })" class="@GetLinkClass(controller)">
<li class="nav-item"> <i class="far fa-circle nav-icon"></i>
<a href="@Url.Action("Index", controller, new { area = module.Number })" class="@GetLinkClass(controller)"> <p>@(name.Length>2?name:$"{name}管理")</p>
<i class="far fa-circle nav-icon"></i> </a>
<p>@(name.Length>2?name:$"{name}管理")</p> </li>
</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"> @using System.Security.Claims
@*<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>*@ <ul class="nav nav-pills nav-sidebar flex-column nav-flat" data-widget="treeview" role="menu" data-accordion="nav-icon false">
@if (HasPermission("Read-Platform-IoTProductCategory")) <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>
{ @{
<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> var modules = this.Context.Request.HttpContext.Items["modules"] as List<AppModule>;
} if (modules != null)
@if (HasPermission("Read-Platform-IoTProduct")) {
{ var area = this.ViewContext.RouteData.Values["area"].ToString();
<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> var module = modules.FirstOrDefault(o => o.Number == area);
} if (module != null)
@if (HasPermission("Read-Platform-IoTApi")) {
{ var numbers = User.Claims.Where(o => o.Type == ClaimTypes.Role).Select(o => o.Value).ToList();
<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> 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 (HasPermission("Read-Platform-IoTParameter")) if (platformPermissions.Any())
{ {
<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> <li class="nav-header">全部机构</li>
} @foreach (var permission in platformPermissions)
@if (HasPermission("Read-Platform-IoTGateway")) {
{ var name = permission.Category.Name;
<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> <li class="nav-item">
} <a href="@Url.Action("Index", permission.Category.Number, new { area = module.Number })" class="@GetLinkClass(permission.Category.Number)">
@if (HasPermission("Read-Platform-IoTDevice")) <i class="far fa-circle nav-icon"></i>
{ <p>@(name.Length>2?name:$"{name}管理")</p>
<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> </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> var organPermissions = permissions.Where(o => !o.Hide && o.Type == PermissionType.Organ && o.Number.StartsWith("Read-"));
} if (organPermissions.Any())
@if (HasPermission("Read-Platform-IoTCommand")) {
{ <li class="nav-header">当前机构</li>
<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> @foreach (var permission in organPermissions)
} {
@if (HasPermission("Read-Platform-IoTScene")) var name = permission.Category.Name;
{ var controller = $"Organ{permission.Category.Number}";
<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> <li class="nav-item">
} <a href="@Url.Action("Index", controller, new { area = module.Number })" class="@GetLinkClass(controller)">
@if (HasPermission("Read-Platform-IoTSceneIoTCommand")) <i class="far fa-circle nav-icon"></i>
{ <p>@(name.Length>2?name:$"{name}管理")</p>
<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> </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>
} }
</ul> </ul>

@ -321,8 +321,12 @@ namespace Platform.Data
"Read-Platform-RolePermission", "Read-Platform-RolePermission",
"Read-Organ-Department", "Read-Organ-Department",
"Read-Organ-DepartmentUser", "Read-Organ-DepartmentUser",
"Read-Organ-OrganUserRole", "Read-Organ-OrganUserRole",
"Read-Organ-RolePermission", "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))) foreach (var item in db.Set<Permission>().Where(o => permissionHideList.Contains(o.Number)))
{ {

Loading…
Cancel
Save