调整UI布局,消息模版新增语言字段
This commit is contained in:
@@ -1,90 +1,103 @@
|
||||
@page "/system/role/permission/{RoleId:long}"
|
||||
@page "/{locale}/system/role/permission/{RoleId:long}"
|
||||
@attribute [Authorize]
|
||||
@inject ILogger<RoleList> Logger
|
||||
|
||||
<PageTitle>权限设置</PageTitle>
|
||||
<Spin Spinning="loading">
|
||||
<Title Level="4">编辑角色权限</Title>
|
||||
<Card>
|
||||
<Form @ref="editForm" Model="model" LabelColSpan="2" WrapperColSpan="22" Class="search-form" OnFinish="OnFormFinishAsync">
|
||||
<FormItem Label="角色">
|
||||
为角色 <Text>@role?.Name</Text> 设置权限
|
||||
</FormItem>
|
||||
<FormItem Label="权限">
|
||||
<div class="ant-form-item-control-input-content">
|
||||
@if (!PermissionGroups.Any())
|
||||
{
|
||||
<div>
|
||||
<p>暂无权限可设置</p>
|
||||
</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
@foreach (var group in PermissionGroups)
|
||||
{
|
||||
<GridRow Style="padding-top:10px;">
|
||||
<GridCol Span="24">
|
||||
<label class="ant-checkbox-wrapper">
|
||||
<span class="ant-checkbox @((@group.PermissionItems.Count(p => p.IsSelected) > 0 && @group.PermissionItems.Count(p => p.IsSelected) < @group.PermissionItems.Count) ? "ant-checkbox-indeterminate" : "")">
|
||||
<input class="ant-checkbox-input" type="checkbox"
|
||||
@onchange="(e) => ToggleAllPermissions(group, (bool)e.Value!)"
|
||||
checked="@group.PermissionItems.All(p => p.IsSelected)" />
|
||||
<span class="ant-checkbox-inner"></span>
|
||||
|
||||
</span>
|
||||
<span>
|
||||
<span class="form-check-label fw-bold">
|
||||
@group.CategoryName
|
||||
</span>
|
||||
<small class="text-muted ms-2">
|
||||
(@group.PermissionItems.Count(p => p.IsSelected)/@group.PermissionItems.Count)
|
||||
</small>
|
||||
</span>
|
||||
</label>
|
||||
</GridCol>
|
||||
</GridRow>
|
||||
<GridRow Style="margin-left:20px;margin-right:20px;">
|
||||
@foreach (var permission in group.PermissionItems)
|
||||
<PageContainer Title="权限角色设置">
|
||||
<Breadcrumb>
|
||||
<Breadcrumb>
|
||||
<BreadcrumbItem Href="/">管理后台</BreadcrumbItem>
|
||||
<BreadcrumbItem Href="/admin/list">系统功能</BreadcrumbItem>
|
||||
<BreadcrumbItem>权限编辑</BreadcrumbItem>
|
||||
</Breadcrumb>
|
||||
</Breadcrumb>
|
||||
<ChildContent>
|
||||
<Spin Spinning="loading">
|
||||
<Card>
|
||||
<Form @ref="editForm" Model="model" LabelColSpan="2" WrapperColSpan="22" Class="search-form" OnFinish="OnFormFinishAsync">
|
||||
<FormItem Label="角色">
|
||||
为角色 <Text>@role?.Name</Text> 设置权限
|
||||
</FormItem>
|
||||
<FormItem Label="权限">
|
||||
<div class="ant-form-item-control-input-content">
|
||||
@if (!PermissionGroups.Any())
|
||||
{
|
||||
<div>
|
||||
<p>暂无权限可设置</p>
|
||||
</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
@foreach (var group in PermissionGroups)
|
||||
{
|
||||
<GridCol Span="6">
|
||||
<label class="ant-checkbox-wrapper">
|
||||
<span class="ant-checkbox">
|
||||
<input class="ant-checkbox-input" type="checkbox"
|
||||
@bind="permission.IsSelected"
|
||||
id="perm_@permission.Name" />
|
||||
<span class="ant-checkbox-inner"></span>
|
||||
<GridRow Style="padding-top:10px;">
|
||||
<GridCol Span="24">
|
||||
<label class="ant-checkbox-wrapper">
|
||||
<span class="ant-checkbox @((@group.PermissionItems.Count(p => p.IsSelected) > 0 && @group.PermissionItems.Count(p => p.IsSelected) < @group.PermissionItems.Count) ? "ant-checkbox-indeterminate" : "")">
|
||||
<input class="ant-checkbox-input" type="checkbox"
|
||||
@onchange="(e) => ToggleAllPermissions(group, (bool)e.Value!)"
|
||||
checked="@group.PermissionItems.All(p => p.IsSelected)" />
|
||||
<span class="ant-checkbox-inner"></span>
|
||||
|
||||
</span>
|
||||
<span class="form-check-label" for="perm_@permission.Name">
|
||||
@permission.Description
|
||||
<small class="text-muted d-block">@permission.Name</small>
|
||||
</span>
|
||||
</label>
|
||||
</GridCol>
|
||||
</span>
|
||||
<span>
|
||||
<span class="form-check-label fw-bold">
|
||||
@group.CategoryName
|
||||
</span>
|
||||
<small class="text-muted ms-2">
|
||||
(@group.PermissionItems.Count(p => p.IsSelected)/@group.PermissionItems.Count)
|
||||
</small>
|
||||
</span>
|
||||
</label>
|
||||
</GridCol>
|
||||
</GridRow>
|
||||
<GridRow Style="margin-left:20px;margin-right:20px;">
|
||||
@foreach (var permission in group.PermissionItems)
|
||||
{
|
||||
<GridCol Span="6">
|
||||
<label class="ant-checkbox-wrapper">
|
||||
<span class="ant-checkbox">
|
||||
<input class="ant-checkbox-input" type="checkbox"
|
||||
@bind="permission.IsSelected"
|
||||
id="perm_@permission.Name" />
|
||||
<span class="ant-checkbox-inner"></span>
|
||||
|
||||
</span>
|
||||
<span class="form-check-label" for="perm_@permission.Name">
|
||||
@permission.Description
|
||||
<small class="text-muted d-block">@permission.Name</small>
|
||||
</span>
|
||||
</label>
|
||||
</GridCol>
|
||||
}
|
||||
</GridRow>
|
||||
}
|
||||
</GridRow>
|
||||
}
|
||||
}
|
||||
</div>
|
||||
</FormItem>
|
||||
<FormItem WrapperCol="new ColLayoutParam { Span = 24, Offset = 2 }">
|
||||
<Button Type="@ButtonType.Primary" HtmlType="submit" Loading="@isSaving">
|
||||
@if (isSaving)
|
||||
{
|
||||
<span>保存中...</span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span>保存权限设置</span>
|
||||
}
|
||||
}
|
||||
</div>
|
||||
</FormItem>
|
||||
<FormItem WrapperCol="new ColLayoutParam { Span = 24, Offset = 2 }">
|
||||
<Button Type="@ButtonType.Primary" HtmlType="submit" Loading="@isSaving">
|
||||
@if (isSaving)
|
||||
{
|
||||
<span>保存中...</span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span>保存权限设置</span>
|
||||
}
|
||||
|
||||
</Button>
|
||||
</FormItem>
|
||||
</Form>
|
||||
</Button>
|
||||
</FormItem>
|
||||
</Form>
|
||||
|
||||
</Card>
|
||||
</Spin>
|
||||
</Card>
|
||||
</Spin>
|
||||
</ChildContent>
|
||||
</PageContainer>
|
||||
@code {
|
||||
[Parameter]
|
||||
public string Locale { get; set; } = string.Empty;
|
||||
|
||||
[Parameter]
|
||||
public long RoleId { get; set; }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user