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}");
 | 
						|
    // }
 | 
						|
}
 |