iotgateway/IoTGateway/Views/Home/Layout.cshtml
2021-12-12 14:55:48 +08:00

187 lines
8.3 KiB
Plaintext

@using Microsoft.AspNetCore.Builder
@using Microsoft.AspNetCore.Localization
@using Microsoft.Extensions.Options
@model WalkingTec.Mvvm.Core.BaseVM
@inject IOptionsMonitor<RequestLocalizationOptions> LocOptions
@{
var requestCulture = Context.Features.Get<IRequestCultureFeature>();
var cultureItems = LocOptions.CurrentValue.SupportedUICultures
.Select(c => new SelectListItem { Value = c.Name, Text = c.NativeName })
.ToList();
}
<div class="layui-layout layui-layout-admin">
<div class="layui-header">
<!-- 头部区域 Header-->
<ul class="layui-nav layui-layout-left">
<li class="layui-nav-item layadmin-flexible" lay-unselect>
<a href="javascript:;" layadmin-event="flexible" title="@Model.Localizer["Sys.HideShow"]">
<i class="layui-icon layui-icon-shrink-right" id="LAY_app_flexible"></i>
</a>
</li>
<li class="layui-nav-item" lay-unselect>
<a href="javascript:;" layadmin-event="refresh" title="@Model.Localizer["Sys.Refresh"]">
<i class="layui-icon layui-icon-refresh-3"></i>
</a>
</li>
</ul>
<ul class="layui-nav layui-layout-right" lay-filter="layadmin-layout-right">
<li class="layui-nav-item layui-hide-xs" lay-unselect>
<a href="javascript:;" layadmin-event="theme">
<i class="layui-icon layui-icon-theme"></i>
</a>
</li>
<li class="layui-nav-item layui-hide-xs" lay-unselect>
<a href="javascript:;" layadmin-event="fullscreen">
<i class="layui-icon layui-icon-screen-full"></i>
</a>
</li>
<li class="layui-nav-item" lay-unselect>
<a href="javascript:;">
<cite>@requestCulture.RequestCulture.UICulture.NativeName</cite>
</a>
<dl class="layui-nav-child">
@foreach (var item in cultureItems)
{
<dd>
<wt:linkbutton url="/_Framework/SetLanguage?culture=@item.Value" target=" ButtonTargetEnum.self" window-width="400" text="@item.Text" is-link="true" />
</dd>
}
</dl>
</li>
<li class="layui-nav-item" lay-unselect>
<a href="javascript:;">
@if (Model.LoginUserInfo?.PhotoId != null)
{
<img class="layui-nav-img" src="api/_file/getfile/@Model.LoginUserInfo.PhotoId" />
}
<cite>@Model.LoginUserInfo.Name</cite>
</a>
<dl class="layui-nav-child">
<dd>
<wt:linkbutton url="/Login/ChangePassword" window-width="400" text="@Model.Localizer["Login.ChangePassword"]" is-link="true" />
</dd>
<dd><a href="javascript:;" lay-href="/">@Model.Localizer["Sys.BackHome"]</a></dd>
@{
if (ViewData["debug"] is bool debug && debug)
{
<dd>
<wt:linkbutton url="~/_CodeGen/Index" target="ButtonTargetEnum.newwindow" is-link="true" text="@Model.Localizer["Sys.CodeGen"]"
window-title="@Model.Localizer["Sys.CodeGen"]" />
</dd>
<dd>
<wt:linkbutton url="~/swagger" target="ButtonTargetEnum.newwindow" is-link="true" text="@Model.Localizer["Sys.ApiDoc"]"
window-title="@Model.Localizer["Sys.ApiDoc"]" />
</dd>
}
}
</dl>
</li>
<li class="layui-nav-item"><a href="/Login/Logout">@Model.Localizer["Login.LogOut"]</a></li>
</ul>
</div>
<!-- 侧边菜单 menu-->
<div class="layui-side layui-side-menu">
<div class="layui-side-scroll">
<!-- <script type="text/html" template lay-url="./json/menu.js?v={{ layui.admin.v }}" -->
<script type="text/html" template lay-url="/_Framework/Menu?t=@DateTime.Now.Ticks"
lay-done="layui.element.render('nav', 'layadmin-system-side-menu');layui.event.call(this, layui.setter.MOD_NAME, 'hash({*})', layui.router());" id="TPL_layout">
<div class="layui-logo" lay-href="">
<span><img src="~/layuiadmin/style/res/logo.png" style="margin-right:5px" />{{ layui.setter.name || 'layuiAdmin' }}</span>
</div>
<ul class="layui-nav layui-nav-tree" lay-shrink="all" id="LAY-system-side-menu" lay-filter="layadmin-system-side-menu">
{{#
var path = layui.router().path
,pathURL = layui.admin.correctRouter(path.join('/'))
,dataName = layui.setter.response.dataName;
layui.each(d[dataName], function(index, item){
var hasChildren = typeof item.list === 'object' && item.list.length > 0
,url = (item.jump && typeof item.jump === 'string') ? item.jump : item.name;
}}
<li data-name="{{ item.name || '' }}" data-jump="{{ item.jump || '' }}" class="layui-nav-item ">
<a href="javascript:;" {{ hasChildren ? '' : 'lay-href="'+ url +'"' }} lay-tips="{{ item.title }}" lay-direction="2">
<i class="{{ item.icon }}"></i>
<cite>{{ item.title }}</cite>
</a>
{{# if(hasChildren){ }}
<dl class="layui-nav-child">
{{# layui.each(item.list, function(index2, item2){
var hasChildren2 = typeof item2.list == 'object' && item2.list.length > 0
,url2 = (item2.jump && typeof item2.jump === 'string')
? item2.jump
: [item.name, item2.name, ''].join('/');
}}
<dd data-name="{{ item2.name || '' }}" data-jump="{{ item2.jump || '' }}">
<a href="javascript:;" {{ hasChildren2 ? '' : 'lay-href="'+ url2 +'"' }}>
<i class="{{ item2.icon }}"></i>
<cite>{{ item2.title }}</cite>
</a>
{{# if(hasChildren2){ }}
<dl class="layui-nav-child">
{{# layui.each(item2.list, function(index3, item3){
var url3 = (item3.jump && typeof item3.jump === 'string')
? item3.jump
: [item.name, item2.name, item3.name].join('/')
}}
<dd data-name="{{ item3.name || '' }}" data-jump="{{ item3.jump || '' }}">
<a href="javascript:;" lay-href="{{ url3 }}" {{ item3.iframe ? 'lay-iframe="true"' : '' }}>
<i class="{{ item3.icon }}"></i>
<cite>{{ item3.title }}</cite>
</a>
</dd>
{{# }); }}
</dl>
{{# } }}
</dd>
{{# }); }}
</dl>
{{# } }}
</li>
{{# }); }}
</ul>
</script>
</div>
</div>
<!-- 页面标签 tags -->
<script type="text/html" template lay-done="layui.element.render('nav', 'layadmin-pagetabs-nav')">
{{# if(layui.setter.pageTabs){ }}
<div class="layadmin-pagetabs" id="LAY_app_tabs">
<div class="layui-icon layadmin-tabs-control layui-icon-prev" layadmin-event="leftPage"></div>
<div class="layui-icon layadmin-tabs-control layui-icon-next" layadmin-event="rightPage"></div>
<div class="layui-icon layadmin-tabs-control layui-icon-down">
<ul class="layui-nav layadmin-tabs-select" lay-filter="layadmin-pagetabs-nav">
<li class="layui-nav-item" lay-unselect>
<a href="javascript:;"></a>
<dl class="layui-nav-child layui-anim-fadein">
<dd layadmin-event="closeThisTabs"><a href="javascript:;">@Model.Localizer["Sys.CloseThisTag"]</a></dd>
<dd layadmin-event="closeOtherTabs"><a href="javascript:;">@Model.Localizer["Sys.CloseOtherTags"]</a></dd>
<dd layadmin-event="closeAllTabs"><a href="javascript:;">@Model.Localizer["Sys.CloseAllTags"]</a></dd>
</dl>
</li>
</ul>
</div>
<div class="layui-tab" lay-unauto lay-allowClose="true" lay-filter="layadmin-layout-tabs">
<ul class="layui-tab-title" id="LAY_app_tabsheader">
<li lay-id="/"><i class="layui-icon layui-icon-home"></i></li>
</ul>
</div>
</div>
{{# } }}
</script>
<!-- 主体内容 main content -->
<div class="layui-body" id="LAY_app_body">
<div class="layadmin-tabsbody-item layui-show"></div>
</div>
<!-- 辅助元素 support -->
<div class="layadmin-body-shade" layadmin-event="shade"></div>
</div>