95 lines
2.3 KiB
Plaintext
95 lines
2.3 KiB
Plaintext
@inherits LayoutComponentBase
|
|
@* @page "/manage/setting" *@
|
|
|
|
@layout MainLayout
|
|
|
|
<div class="app-container">
|
|
<div class="sidebar">
|
|
<RadzenPanelMenu>
|
|
@foreach (var menuItem in menuItems)
|
|
{
|
|
@if (menuItem.Children.Any())
|
|
{
|
|
<RadzenPanelMenuItem Text="@menuItem.Name" Icon="@menuItem.Icon">
|
|
@foreach (var child in menuItem.Children)
|
|
{
|
|
<RadzenPanelMenuItem Text="@child.Name" Icon="@child.Icon" />
|
|
}
|
|
</RadzenPanelMenuItem>
|
|
}
|
|
else
|
|
{
|
|
<RadzenPanelMenuItem Text="@menuItem.Name" Icon="@menuItem.Icon" Path="@menuItem.Path" />
|
|
}
|
|
}
|
|
</RadzenPanelMenu>
|
|
</div>
|
|
<!-- 右侧内容区域 -->
|
|
<div class="main">
|
|
<div class="content">
|
|
@Body
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<style>
|
|
.app-container {
|
|
display: flex;
|
|
height: 100vh;
|
|
}
|
|
|
|
.sidebar {
|
|
width: 250px;
|
|
background-color: #f8f9fa;
|
|
border-right: 1px solid #dee2e6;
|
|
height: 100vh;
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
|
|
.sidebar-header {
|
|
padding: 1rem;
|
|
border-bottom: 1px solid #dee2e6;
|
|
}
|
|
|
|
.main {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
height: 100vh;
|
|
overflow: auto;
|
|
}
|
|
|
|
.top-row {
|
|
height: 60px;
|
|
border-bottom: 1px solid #dee2e6;
|
|
display: flex;
|
|
align-items: center;
|
|
padding: 0 1rem;
|
|
}
|
|
|
|
.content {
|
|
flex: 1;
|
|
padding: 1rem;
|
|
overflow-y: auto;
|
|
}
|
|
</style>
|
|
|
|
@inject NavigationManager Navigation
|
|
@inject ISettingManuDao settingManuDao;
|
|
@code {
|
|
RadzenPanelMenu panelMenu;
|
|
List<SettingManu> menuItems = new();
|
|
|
|
protected override async Task OnInitializedAsync()
|
|
{
|
|
menuItems = await settingManuDao.GetMenuItemsAsync();
|
|
}
|
|
// async void jump2Page(string path)
|
|
// {
|
|
// Navigation.NavigateTo(path);
|
|
// //可以在这里添加其他逻辑,例如记录导航历史或更新状态
|
|
// Console.WriteLine($"Navigating to: {path}");
|
|
// }
|
|
}
|