You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

38 lines
1.3 KiB

<template>
<ul class="navbar-nav" v-if="store.state.layout">
<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="/" class="getLinkClass()">首页</a>
</li>
@{
var modules = this.Context.Request.HttpContext.Items["modules"] as List
<AppModule>
;
if (modules != null)
{
var numbers = User.Claims.Where(o => o.Type == parameters.RoleClaimType).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>
</template>
<script>
export default {
method: {
getLinkClass: function (area) {
}
}
}
</script>