添加页面
This commit is contained in:
@@ -27,6 +27,7 @@
|
|||||||
<PackageReference Include="Microsoft.Extensions.Http" Version="10.0.1" />
|
<PackageReference Include="Microsoft.Extensions.Http" Version="10.0.1" />
|
||||||
<PackageReference Include="Microsoft.Extensions.Localization" Version="10.0.1" />
|
<PackageReference Include="Microsoft.Extensions.Localization" Version="10.0.1" />
|
||||||
<PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="8.15.0" />
|
<PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="8.15.0" />
|
||||||
|
<PackageReference Include="TinyMCE.Blazor" Version="2.2.1" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
24
Atomx.Admin/Atomx.Admin.Client/Pages/Contents/BlogEdit.razor
Normal file
24
Atomx.Admin/Atomx.Admin.Client/Pages/Contents/BlogEdit.razor
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
@page "/content/blog/create"
|
||||||
|
@page "/content/blog/edit/{id:long}"
|
||||||
|
@page "/{locale}/content/blog/create"
|
||||||
|
@page "/{locale}/content/blog/edit/{id:long}"
|
||||||
|
|
||||||
|
<PageContainer Title="@(Id > 0 ? "编辑博客文章" : "新增博客文章")">
|
||||||
|
<Breadcrumb>
|
||||||
|
<Breadcrumb>
|
||||||
|
<BreadcrumbItem Href="/">管理后台</BreadcrumbItem>
|
||||||
|
<BreadcrumbItem Href="/content/page/list">内容管理</BreadcrumbItem>
|
||||||
|
<BreadcrumbItem>博客文章</BreadcrumbItem>
|
||||||
|
</Breadcrumb>
|
||||||
|
</Breadcrumb>
|
||||||
|
<ChildContent>
|
||||||
|
<h3>Tools</h3>
|
||||||
|
</ChildContent>
|
||||||
|
</PageContainer>
|
||||||
|
|
||||||
|
@code {
|
||||||
|
[Parameter]
|
||||||
|
public string Locale { get; set; } = string.Empty;
|
||||||
|
[Parameter]
|
||||||
|
public long? Id { get; set; }
|
||||||
|
}
|
||||||
20
Atomx.Admin/Atomx.Admin.Client/Pages/Contents/BlogList.razor
Normal file
20
Atomx.Admin/Atomx.Admin.Client/Pages/Contents/BlogList.razor
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
@page "/content/blog/list"
|
||||||
|
@page "/{locale}/content/blog/list"
|
||||||
|
|
||||||
|
<PageContainer Title="博客文章">
|
||||||
|
<Breadcrumb>
|
||||||
|
<Breadcrumb>
|
||||||
|
<BreadcrumbItem Href="/">管理后台</BreadcrumbItem>
|
||||||
|
<BreadcrumbItem Href="/content/page/list">内容管理</BreadcrumbItem>
|
||||||
|
<BreadcrumbItem>博客文章</BreadcrumbItem>
|
||||||
|
</Breadcrumb>
|
||||||
|
</Breadcrumb>
|
||||||
|
<ChildContent>
|
||||||
|
<h3>Tools</h3>
|
||||||
|
</ChildContent>
|
||||||
|
</PageContainer>
|
||||||
|
|
||||||
|
@code {
|
||||||
|
[Parameter]
|
||||||
|
public string Locale { get; set; } = string.Empty;
|
||||||
|
}
|
||||||
@@ -1,5 +1,24 @@
|
|||||||
<h3>PageEdit</h3>
|
@page "/content/page/create"
|
||||||
|
@page "/content/page/edit/{id:long}"
|
||||||
|
@page "/{locale}/content/page/create"
|
||||||
|
@page "/{locale}/content/page/edit/{id:long}"
|
||||||
|
|
||||||
|
<PageContainer Title="@(Id > 0 ? "编辑主题页面" : "新增主题页面")">
|
||||||
|
<Breadcrumb>
|
||||||
|
<Breadcrumb>
|
||||||
|
<BreadcrumbItem Href="/">管理后台</BreadcrumbItem>
|
||||||
|
<BreadcrumbItem Href="/content/page/list">内容管理</BreadcrumbItem>
|
||||||
|
<BreadcrumbItem>主题页面</BreadcrumbItem>
|
||||||
|
</Breadcrumb>
|
||||||
|
</Breadcrumb>
|
||||||
|
<ChildContent>
|
||||||
|
<h3>Tools</h3>
|
||||||
|
</ChildContent>
|
||||||
|
</PageContainer>
|
||||||
|
|
||||||
@code {
|
@code {
|
||||||
|
[Parameter]
|
||||||
|
public string Locale { get; set; } = string.Empty;
|
||||||
|
[Parameter]
|
||||||
|
public long? Id { get; set; }
|
||||||
}
|
}
|
||||||
@@ -1,8 +1,20 @@
|
|||||||
@page "/content/page/list"
|
@page "/content/page/list"
|
||||||
|
@page "/{locale}/content/page/list"
|
||||||
|
|
||||||
|
<PageContainer Title="主题页面">
|
||||||
<h3>PageList</h3>
|
<Breadcrumb>
|
||||||
|
<Breadcrumb>
|
||||||
|
<BreadcrumbItem Href="/">管理后台</BreadcrumbItem>
|
||||||
|
<BreadcrumbItem Href="/content/page/list">内容管理</BreadcrumbItem>
|
||||||
|
<BreadcrumbItem>主题页面</BreadcrumbItem>
|
||||||
|
</Breadcrumb>
|
||||||
|
</Breadcrumb>
|
||||||
|
<ChildContent>
|
||||||
|
<h3>Tools</h3>
|
||||||
|
</ChildContent>
|
||||||
|
</PageContainer>
|
||||||
|
|
||||||
@code {
|
@code {
|
||||||
|
[Parameter]
|
||||||
|
public string Locale { get; set; } = string.Empty;
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
@page "/deposit/list"
|
||||||
|
@page "/{locale}/deposit/list"
|
||||||
|
|
||||||
|
<PageContainer Title="储值订单">
|
||||||
|
<Breadcrumb>
|
||||||
|
<Breadcrumb>
|
||||||
|
<BreadcrumbItem Href="/">管理后台</BreadcrumbItem>
|
||||||
|
<BreadcrumbItem Href="/content/page/list">内容管理</BreadcrumbItem>
|
||||||
|
<BreadcrumbItem>储值订单</BreadcrumbItem>
|
||||||
|
</Breadcrumb>
|
||||||
|
</Breadcrumb>
|
||||||
|
<ChildContent>
|
||||||
|
<h3>Tools</h3>
|
||||||
|
</ChildContent>
|
||||||
|
</PageContainer>
|
||||||
|
|
||||||
|
@code {
|
||||||
|
[Parameter]
|
||||||
|
public string Locale { get; set; } = string.Empty;
|
||||||
|
}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
@page "/deposit/detail/{id:long}"
|
||||||
|
@page "/{locale}/deposit/detail/{id:long}"
|
||||||
|
|
||||||
|
<PageContainer Title="@($"订单{Id}详情")">
|
||||||
|
<Breadcrumb>
|
||||||
|
<Breadcrumb>
|
||||||
|
<BreadcrumbItem Href="/">管理后台</BreadcrumbItem>
|
||||||
|
<BreadcrumbItem Href="/content/page/list">内容管理</BreadcrumbItem>
|
||||||
|
<BreadcrumbItem>主题页面</BreadcrumbItem>
|
||||||
|
</Breadcrumb>
|
||||||
|
</Breadcrumb>
|
||||||
|
<ChildContent>
|
||||||
|
<h3>Tools</h3>
|
||||||
|
</ChildContent>
|
||||||
|
</PageContainer>
|
||||||
|
|
||||||
|
@code {
|
||||||
|
[Parameter]
|
||||||
|
public string Locale { get; set; } = string.Empty;
|
||||||
|
[Parameter]
|
||||||
|
public long? Id { get; set; }
|
||||||
|
}
|
||||||
@@ -1,5 +1,20 @@
|
|||||||
<h3>OrderList</h3>
|
@page "/order/list"
|
||||||
|
@page "/{locale}/order/list"
|
||||||
|
|
||||||
|
<PageContainer Title="购物订单">
|
||||||
|
<Breadcrumb>
|
||||||
|
<Breadcrumb>
|
||||||
|
<BreadcrumbItem Href="/">管理后台</BreadcrumbItem>
|
||||||
|
<BreadcrumbItem Href="/content/page/list">内容管理</BreadcrumbItem>
|
||||||
|
<BreadcrumbItem>购物订单</BreadcrumbItem>
|
||||||
|
</Breadcrumb>
|
||||||
|
</Breadcrumb>
|
||||||
|
<ChildContent>
|
||||||
|
<h3>Tools</h3>
|
||||||
|
</ChildContent>
|
||||||
|
</PageContainer>
|
||||||
|
|
||||||
@code {
|
@code {
|
||||||
|
[Parameter]
|
||||||
|
public string Locale { get; set; } = string.Empty;
|
||||||
}
|
}
|
||||||
@@ -1,18 +1,25 @@
|
|||||||
@page "/product/category/edit"
|
@page "/product/category/edit"
|
||||||
@page "/product/category/edit/{Id:long?}"
|
@page "/product/category/edit/{Id:long?}"
|
||||||
|
|
||||||
|
@page "/{locale}/product/category/edit"
|
||||||
|
@page "/{locale}/product/category/edit/{Id:long?}"
|
||||||
|
|
||||||
@inject ILogger<CategoryEdit> Logger
|
@inject ILogger<CategoryEdit> Logger
|
||||||
@attribute [Authorize]
|
@attribute [Authorize]
|
||||||
|
|
||||||
<PageTitle>分类编辑</PageTitle>
|
<PageContainer Title="编辑产品分类">
|
||||||
<Title Level="4">分类信息</Title>
|
<Breadcrumb>
|
||||||
|
<Breadcrumb>
|
||||||
<Spin Spinning="pageLoading">
|
<BreadcrumbItem Href="/">管理后台</BreadcrumbItem>
|
||||||
<Card Title="" Class="hideborder"
|
<BreadcrumbItem Href="/product/list">系统功能</BreadcrumbItem>
|
||||||
Style="margin-top: 24px;"
|
<BreadcrumbItem>分类管理</BreadcrumbItem>
|
||||||
BodyStyle="padding: 0 32px 40px 32px">
|
</Breadcrumb>
|
||||||
<Form @ref="editform" Model="@model" LabelColSpan="5" WrapperColSpan="19" OnFinish="OnFormFinishAsync">
|
</Breadcrumb>
|
||||||
@* @if (languages.Count > 1 && Id > 0)
|
<ChildContent>
|
||||||
|
<Spin Spinning="pageLoading">
|
||||||
|
<Card Title="分类信息">
|
||||||
|
<Form @ref="editform" Model="@model" LabelColSpan="5" WrapperColSpan="19" OnFinish="OnFormFinishAsync">
|
||||||
|
@* @if (languages.Count > 1 && Id > 0)
|
||||||
{
|
{
|
||||||
<Tabs ActiveKey="@context.Language" OnTabClick="OnLanguageTabChange">
|
<Tabs ActiveKey="@context.Language" OnTabClick="OnLanguageTabChange">
|
||||||
<TabPane Key="0">
|
<TabPane Key="0">
|
||||||
@@ -59,28 +66,33 @@
|
|||||||
}
|
}
|
||||||
</Button> <Button Size="@ButtonSize.Large" Type="@ButtonType.Text" Icon="@formModel.Image"></Button>
|
</Button> <Button Size="@ButtonSize.Large" Type="@ButtonType.Text" Icon="@formModel.Image"></Button>
|
||||||
</FormItem> *@
|
</FormItem> *@
|
||||||
<FormItem Label="Meta描述">
|
<FormItem Label="Meta描述">
|
||||||
<Input @bind-Value="@context.MetaDescription" Placeholder="Meta描述" />
|
<Input @bind-Value="@context.MetaDescription" Placeholder="Meta描述" />
|
||||||
</FormItem>
|
</FormItem>
|
||||||
<FormItem Label="Meta关键词">
|
<FormItem Label="Meta关键词">
|
||||||
<Input @bind-Value="@context.MetaKeywords" Placeholder="Meta关键词" />
|
<Input @bind-Value="@context.MetaKeywords" Placeholder="Meta关键词" />
|
||||||
</FormItem>
|
</FormItem>
|
||||||
<FormItem Label="显示排序">
|
<FormItem Label="显示排序">
|
||||||
<Input @bind-Value="@context.DisplayOrder" Placeholder="显示排序" />
|
<Input @bind-Value="@context.DisplayOrder" Placeholder="显示排序" />
|
||||||
</FormItem>
|
</FormItem>
|
||||||
<FormItem Label="状态">
|
<FormItem Label="状态">
|
||||||
<Checkbox @bind-Checked="@context.Enabled">启用</Checkbox>
|
<Checkbox @bind-Checked="@context.Enabled">启用</Checkbox>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
<FormItem WrapperCol="new ColLayoutParam { Span = 24, Offset = 5 }">
|
<FormItem WrapperCol="new ColLayoutParam { Span = 24, Offset = 5 }">
|
||||||
<Button Type="@ButtonType.Primary" HtmlType="submit">
|
<Button Type="@ButtonType.Primary" HtmlType="submit">
|
||||||
提交保存
|
提交保存
|
||||||
</Button>
|
</Button>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
</Form>
|
</Form>
|
||||||
</Card>
|
</Card>
|
||||||
</Spin>
|
</Spin>
|
||||||
|
</ChildContent>
|
||||||
|
</PageContainer>
|
||||||
|
|
||||||
@code {
|
@code {
|
||||||
|
[Parameter]
|
||||||
|
public string Locale { get; set; } = string.Empty;
|
||||||
|
|
||||||
[SupplyParameterFromQuery]
|
[SupplyParameterFromQuery]
|
||||||
int? Lang { get; set; }
|
int? Lang { get; set; }
|
||||||
|
|
||||||
|
|||||||
@@ -1,141 +1,153 @@
|
|||||||
@page "/category/list"
|
@page "/category/list"
|
||||||
|
@page "/{locale}/category/list"
|
||||||
|
|
||||||
@inject ILogger<CategoryList> Logger
|
@inject ILogger<CategoryList> Logger
|
||||||
@attribute [Authorize]
|
@attribute [Authorize]
|
||||||
|
|
||||||
<PageTitle>分类管理</PageTitle>
|
<PageContainer Title="产品分类管理">
|
||||||
<Title Level="4">菜单管理</Title>
|
<Breadcrumb>
|
||||||
<Card>
|
<Breadcrumb>
|
||||||
<Form @ref="searchForm" Model="search" Layout="FormLayout.Inline" Class="search-form" OnFinish="OnSearchFinish">
|
<BreadcrumbItem Href="/">管理后台</BreadcrumbItem>
|
||||||
<Row Justify="RowJustify.Start" Gutter="16">
|
<BreadcrumbItem Href="/product/list">系统功能</BreadcrumbItem>
|
||||||
<Col>
|
<BreadcrumbItem>分类管理</BreadcrumbItem>
|
||||||
<FormItem Label="名称">
|
</Breadcrumb>
|
||||||
<Input @bind-Value="search.Name" Placeholder="名称" AllowClear />
|
</Breadcrumb>
|
||||||
</FormItem>
|
<ChildContent>
|
||||||
</Col>
|
<Card>
|
||||||
|
<Form @ref="searchForm" Model="search" Layout="FormLayout.Inline" Class="search-form" OnFinish="OnSearchFinish">
|
||||||
|
<Row Justify="RowJustify.Start" Gutter="16">
|
||||||
|
<Col>
|
||||||
|
<FormItem Label="名称">
|
||||||
|
<Input @bind-Value="search.Name" Placeholder="名称" AllowClear />
|
||||||
|
</FormItem>
|
||||||
|
</Col>
|
||||||
|
|
||||||
<Col>
|
<Col>
|
||||||
<div class="ant-form-item" style="width:200px;display:flex;">
|
<div class="ant-form-item" style="width:200px;display:flex;">
|
||||||
<Button Type="ButtonType.Primary" HtmlType="submit">查询</Button>
|
<Button Type="ButtonType.Primary" HtmlType="submit">查询</Button>
|
||||||
<Button Style="margin: 0 8px;" OnClick="OnSearchReset">重置</Button>
|
<Button Style="margin: 0 8px;" OnClick="OnSearchReset">重置</Button>
|
||||||
</div>
|
</div>
|
||||||
</Col>
|
</Col>
|
||||||
</Row>
|
</Row>
|
||||||
</Form>
|
</Form>
|
||||||
</Card>
|
</Card>
|
||||||
<Card Class="mt-3">
|
<br/>
|
||||||
<Table DataSource="categories" PageSize="100" HidePagination="true" Resizable>
|
<Card Class="mt-3">
|
||||||
<TitleTemplate>
|
<Table DataSource="categories" PageSize="100" HidePagination="true" Resizable>
|
||||||
<Flex Justify="FlexJustify.SpaceBetween">
|
<TitleTemplate>
|
||||||
菜单列表
|
<Flex Justify="FlexJustify.SpaceBetween">
|
||||||
<div>
|
菜单列表
|
||||||
<Button Class="me-3" OnClick="OnCreateClick" Type="ButtonType.Primary">新增</Button>
|
<div>
|
||||||
</div>
|
<Button Class="me-3" OnClick="OnCreateClick" Type="ButtonType.Primary">新增</Button>
|
||||||
|
</div>
|
||||||
|
|
||||||
</Flex>
|
</Flex>
|
||||||
</TitleTemplate>
|
</TitleTemplate>
|
||||||
<ColumnDefinitions>
|
<ColumnDefinitions>
|
||||||
<PropertyColumn Property="c=>c.Name" Title="名称">
|
<PropertyColumn Property="c => c.Name" Title="名称">
|
||||||
<AntDesign.Text>@GetName(context)</AntDesign.Text>
|
<AntDesign.Text>@GetName(context)</AntDesign.Text>
|
||||||
</PropertyColumn>
|
</PropertyColumn>
|
||||||
<PropertyColumn Property="c=>c.Slug" Title="缩略名" Width="80px" Align="ColumnAlign.Center">
|
<PropertyColumn Property="c => c.Slug" Title="缩略名" Width="80px" Align="ColumnAlign.Center">
|
||||||
|
|
||||||
</PropertyColumn>
|
</PropertyColumn>
|
||||||
<PropertyColumn Property="c=>c.DisplayOrder" Title="排序" Width="100px" />
|
<PropertyColumn Property="c => c.DisplayOrder" Title="排序" Width="100px" />
|
||||||
<PropertyColumn Property="c=>c.Enabled" Title="状态" Width="80px" Align="ColumnAlign.Center">
|
<PropertyColumn Property="c => c.Enabled" Title="状态" Width="80px" Align="ColumnAlign.Center">
|
||||||
@if (context.Enabled)
|
@if (context.Enabled)
|
||||||
{
|
{
|
||||||
<AntDesign.Text Type="TextElementType.Success"><Icon Type="check" Theme=" IconThemeType.Outline" Width="1.3em" Height="1.3em" /></AntDesign.Text>
|
<AntDesign.Text Type="TextElementType.Success"><Icon Type="check" Theme=" IconThemeType.Outline" Width="1.3em" Height="1.3em" /></AntDesign.Text>
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
<Icon Type="close" Theme="IconThemeType.Outline" Width="1.3em" Height="1.3em" />
|
<Icon Type="close" Theme="IconThemeType.Outline" Width="1.3em" Height="1.3em" />
|
||||||
}
|
}
|
||||||
</PropertyColumn>
|
</PropertyColumn>
|
||||||
<PropertyColumn Property="c=>c.CreateTime" Title="时间" Width="190px" />
|
<PropertyColumn Property="c => c.CreateTime" Title="时间" Width="190px" />
|
||||||
<ActionColumn Title="操作" Align="ColumnAlign.Right" Width="160px">
|
<ActionColumn Title="操作" Align="ColumnAlign.Right" Width="160px">
|
||||||
<Space>
|
<Space>
|
||||||
@if (context.IsLast)
|
@if (context.IsLast)
|
||||||
{
|
{
|
||||||
<SpaceItem>
|
<SpaceItem>
|
||||||
<a Href="@($"/attribute/list?categoryid={context.Id}")">属性</a>
|
<a Href="@($"/attribute/list?categoryid={context.Id}")">属性</a>
|
||||||
|
|
||||||
</SpaceItem>
|
</SpaceItem>
|
||||||
<SpaceItem>
|
<SpaceItem>
|
||||||
<a Href="@($"/specification/list?categoryid={context.Id}")">规格</a>
|
<a Href="@($"/specification/list?categoryid={context.Id}")">规格</a>
|
||||||
|
|
||||||
</SpaceItem>
|
</SpaceItem>
|
||||||
}
|
}
|
||||||
|
|
||||||
<SpaceItem>
|
<SpaceItem>
|
||||||
<Dropdown Trigger="@(new Trigger[] { Trigger.Click })">
|
<Dropdown Trigger="@(new Trigger[] { Trigger.Click })">
|
||||||
<Overlay>
|
<Overlay>
|
||||||
<Menu>
|
<Menu>
|
||||||
|
|
||||||
<MenuItem>
|
<MenuItem>
|
||||||
<a @onclick="(e)=>OnEditClick(context)"> <Icon Type="@IconType.Outline.Edit" /> 编辑</a>
|
<a @onclick="(e) => OnEditClick(context)"> <Icon Type="@IconType.Outline.Edit" /> 编辑</a>
|
||||||
</MenuItem>
|
</MenuItem>
|
||||||
<MenuDivider />
|
<MenuDivider />
|
||||||
<MenuItem>
|
<MenuItem>
|
||||||
<Popconfirm Placement="@Placement.Left" Title="@("删除这条数据无法恢复,您确定要删除吗?")"
|
<Popconfirm Placement="@Placement.Left" Title="@("删除这条数据无法恢复,您确定要删除吗?")"
|
||||||
OnConfirm="@(e=>HandleDeleteConfirmAsync(e,context.Id))"
|
OnConfirm="@(e=>HandleDeleteConfirmAsync(e,context.Id))"
|
||||||
OkText="确定"
|
OkText="确定"
|
||||||
CancelText="取消">
|
CancelText="取消">
|
||||||
<a> <Icon Type="@IconType.Outline.Delete" /> 删除</a>
|
<a> <Icon Type="@IconType.Outline.Delete" /> 删除</a>
|
||||||
</Popconfirm>
|
</Popconfirm>
|
||||||
</MenuItem>
|
</MenuItem>
|
||||||
</Menu>
|
</Menu>
|
||||||
</Overlay>
|
</Overlay>
|
||||||
<ChildContent>
|
<ChildContent>
|
||||||
<a class="ant-dropdown-link" @onclick:preventDefault>
|
<a class="ant-dropdown-link" @onclick:preventDefault>
|
||||||
<Icon Type="@IconType.Outline.Menu" />
|
<Icon Type="@IconType.Outline.Menu" />
|
||||||
</a>
|
</a>
|
||||||
</ChildContent>
|
</ChildContent>
|
||||||
</Dropdown>
|
</Dropdown>
|
||||||
</SpaceItem>
|
</SpaceItem>
|
||||||
</Space>
|
</Space>
|
||||||
</ActionColumn>
|
</ActionColumn>
|
||||||
</ColumnDefinitions>
|
</ColumnDefinitions>
|
||||||
</Table>
|
</Table>
|
||||||
</Card>
|
</Card>
|
||||||
|
|
||||||
<Drawer Closable="true" Width="520" Visible="drawerVisible" Title='("设置菜单")' OnClose="_=>CloseDrawer()">
|
<Drawer Closable="true" Width="520" Visible="drawerVisible" Title='("设置菜单")' OnClose="_ => CloseDrawer()">
|
||||||
<Form LabelColSpan="5" @ref="@editform" Model="@model" OnFinish="OnFormFinish">
|
<Form LabelColSpan="5" @ref="@editform" Model="@model" OnFinish="OnFormFinish">
|
||||||
<FluentValidationValidator />
|
<FluentValidationValidator />
|
||||||
<FormItem Label="名称">
|
<FormItem Label="名称">
|
||||||
<Input @bind-Value="model.Name" For="(()=>model.Name)" />
|
<Input @bind-Value="model.Name" For="(()=>model.Name)" />
|
||||||
</FormItem>
|
</FormItem>
|
||||||
<FormItem Label="缩略名">
|
<FormItem Label="缩略名">
|
||||||
<Input @bind-Value="model.Slug" For="(()=>model.Slug)" />
|
<Input @bind-Value="model.Slug" For="(()=>model.Slug)" />
|
||||||
</FormItem>
|
</FormItem>
|
||||||
<FormItem Label="上级分类">
|
<FormItem Label="上级分类">
|
||||||
<Select @bind-Value="@model.ParentId" TItemValue="long" TItem="string" Placeholder="请选择上级分类">
|
<Select @bind-Value="@model.ParentId" TItemValue="long" TItem="string" Placeholder="请选择上级分类">
|
||||||
<SelectOptions>
|
<SelectOptions>
|
||||||
<SelectOption Value="0L" Label="无" />
|
<SelectOption Value="0L" Label="无" />
|
||||||
@foreach (var item in categories)
|
@foreach (var item in categories)
|
||||||
{
|
{
|
||||||
<SelectOption Value="@item.Id" Label="@GetName(item)" />
|
<SelectOption Value="@item.Id" Label="@GetName(item)" />
|
||||||
}
|
}
|
||||||
|
|
||||||
</SelectOptions>
|
</SelectOptions>
|
||||||
</Select>
|
</Select>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
<FormItem Label="排序">
|
<FormItem Label="排序">
|
||||||
<Input @bind-Value="model.DisplayOrder" For="(()=>model.DisplayOrder)" />
|
<Input @bind-Value="model.DisplayOrder" For="(()=>model.DisplayOrder)" />
|
||||||
</FormItem>
|
</FormItem>
|
||||||
<FormItem Label="状态">
|
<FormItem Label="状态">
|
||||||
<Checkbox @bind-Value="model.Enabled" For="(()=>model.Enabled)">启用</Checkbox>
|
<Checkbox @bind-Value="model.Enabled" For="(()=>model.Enabled)">启用</Checkbox>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
<FormItem WrapperColOffset="4">
|
<FormItem WrapperColOffset="4">
|
||||||
<Button Type="ButtonType.Primary" HtmlType="submit" Style="width: 100%;">保存</Button>
|
<Button Type="ButtonType.Primary" HtmlType="submit" Style="width: 100%;">保存</Button>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
</Form>
|
</Form>
|
||||||
</Drawer>
|
</Drawer>
|
||||||
|
</ChildContent>
|
||||||
|
</PageContainer>
|
||||||
|
|
||||||
@code {
|
@code {
|
||||||
|
|
||||||
|
[Parameter]
|
||||||
|
public string Locale { get; set; } = string.Empty;
|
||||||
|
|
||||||
[SupplyParameterFromQuery]
|
[SupplyParameterFromQuery]
|
||||||
int? Page { get; set; }
|
int? Page { get; set; }
|
||||||
|
|||||||
@@ -4,12 +4,12 @@
|
|||||||
@attribute [Authorize]
|
@attribute [Authorize]
|
||||||
|
|
||||||
|
|
||||||
<PageContainer Title="管理员帐号">
|
<PageContainer Title="管理员管理">
|
||||||
<Breadcrumb>
|
<Breadcrumb>
|
||||||
<Breadcrumb>
|
<Breadcrumb>
|
||||||
<BreadcrumbItem Href="/">管理后台</BreadcrumbItem>
|
<BreadcrumbItem Href="/">管理后台</BreadcrumbItem>
|
||||||
<BreadcrumbItem Href="/admin/list">系统功能</BreadcrumbItem>
|
<BreadcrumbItem Href="/admin/list">系统功能</BreadcrumbItem>
|
||||||
<BreadcrumbItem>版本管理</BreadcrumbItem>
|
<BreadcrumbItem>管理员管理</BreadcrumbItem>
|
||||||
</Breadcrumb>
|
</Breadcrumb>
|
||||||
</Breadcrumb>
|
</Breadcrumb>
|
||||||
<ChildContent>
|
<ChildContent>
|
||||||
|
|||||||
@@ -23,11 +23,12 @@
|
|||||||
</Flex>
|
</Flex>
|
||||||
</TitleTemplate>
|
</TitleTemplate>
|
||||||
<ColumnDefinitions>
|
<ColumnDefinitions>
|
||||||
<PropertyColumn Property="c => c.Name" Title="语言名称">
|
<PropertyColumn Property="c => c.Title" Title="语言名称">
|
||||||
</PropertyColumn>
|
|
||||||
<PropertyColumn Property="c => c.Title" Title="语言标题">
|
|
||||||
|
|
||||||
</PropertyColumn>
|
</PropertyColumn>
|
||||||
|
<PropertyColumn Property="c => c.Name" Title="语言本地化">
|
||||||
|
</PropertyColumn>
|
||||||
|
|
||||||
<PropertyColumn Property="c => c.Culture" Title="语言文化" Width="100px" />
|
<PropertyColumn Property="c => c.Culture" Title="语言文化" Width="100px" />
|
||||||
<PropertyColumn Property="c => c.Enabled" Title="状态" Width="80px" Align="ColumnAlign.Center">
|
<PropertyColumn Property="c => c.Enabled" Title="状态" Width="80px" Align="ColumnAlign.Center">
|
||||||
@if (context.Enabled)
|
@if (context.Enabled)
|
||||||
@@ -83,10 +84,10 @@
|
|||||||
<Form LabelColSpan="5" @ref="@editform" Model="@model" OnFinish="OnFormFinish">
|
<Form LabelColSpan="5" @ref="@editform" Model="@model" OnFinish="OnFormFinish">
|
||||||
<FluentValidationValidator />
|
<FluentValidationValidator />
|
||||||
<FormItem Label="语言标题">
|
<FormItem Label="语言标题">
|
||||||
<Input @bind-Value="model.Title" For="(()=>model.Title)" Placeholder="语言标题" />
|
<Input @bind-Value="model.Title" For="(()=>model.Title)" Placeholder="语言名称" />
|
||||||
</FormItem>
|
</FormItem>
|
||||||
<FormItem Label="语言名称">
|
<FormItem Label="语言名称">
|
||||||
<Input @bind-Value="model.Name" For="(()=>model.Name)" Placeholder="语言名称" />
|
<Input @bind-Value="model.Name" For="(()=>model.Name)" Placeholder="语言本地化" />
|
||||||
</FormItem>
|
</FormItem>
|
||||||
<FormItem Label="语言文化">
|
<FormItem Label="语言文化">
|
||||||
<SimpleSelect @bind-Value="model.Culture" For="(()=>model.Culture)" Placeholder="语言文化">
|
<SimpleSelect @bind-Value="model.Culture" For="(()=>model.Culture)" Placeholder="语言文化">
|
||||||
|
|||||||
@@ -1,5 +1,20 @@
|
|||||||
<h3>UserList</h3>
|
@page "/user/list"
|
||||||
|
@page "/{locale}/user/list"
|
||||||
|
|
||||||
|
<PageContainer Title="用户列表">
|
||||||
|
<Breadcrumb>
|
||||||
|
<Breadcrumb>
|
||||||
|
<BreadcrumbItem Href="/">管理后台</BreadcrumbItem>
|
||||||
|
<BreadcrumbItem Href="/content/page/list">内容管理</BreadcrumbItem>
|
||||||
|
<BreadcrumbItem>用户列表</BreadcrumbItem>
|
||||||
|
</Breadcrumb>
|
||||||
|
</Breadcrumb>
|
||||||
|
<ChildContent>
|
||||||
|
<h3>Tools</h3>
|
||||||
|
</ChildContent>
|
||||||
|
</PageContainer>
|
||||||
|
|
||||||
@code {
|
@code {
|
||||||
|
[Parameter]
|
||||||
|
public string Locale { get; set; } = string.Empty;
|
||||||
}
|
}
|
||||||
@@ -17,19 +17,19 @@ namespace Atomx.Common.Entities
|
|||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 语言名称
|
/// 语言本地化
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Column(TypeName = "varchar(50)")]
|
[Column(TypeName = "varchar(50)")]
|
||||||
public string Name { get; set; } = string.Empty;
|
public string Name { get; set; } = string.Empty;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 语言标题
|
/// 语言名称
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Column(TypeName = "varchar(50)")]
|
[Column(TypeName = "varchar(50)")]
|
||||||
public string Title { get; set; } = string.Empty;
|
public string Title { get; set; } = string.Empty;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 语言名称
|
/// 语言文化
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Column(TypeName = "varchar(25)")]
|
[Column(TypeName = "varchar(25)")]
|
||||||
public string Culture { get; set; } = string.Empty;
|
public string Culture { get; set; } = string.Empty;
|
||||||
|
|||||||
Reference in New Issue
Block a user