diff --git a/Atomx.Admin/Atomx.Admin.Client/Models/AppVersionModel.cs b/Atomx.Admin/Atomx.Admin.Client/Models/AppVersionModel.cs index 2f04c01..1663e24 100644 --- a/Atomx.Admin/Atomx.Admin.Client/Models/AppVersionModel.cs +++ b/Atomx.Admin/Atomx.Admin.Client/Models/AppVersionModel.cs @@ -1,15 +1,10 @@ -using System.ComponentModel.DataAnnotations.Schema; -using System.ComponentModel.DataAnnotations; - -namespace Atomx.Admin.Client.Models +namespace Atomx.Admin.Client.Models { public class AppVersionModel { /// /// 数据ID /// - [DatabaseGenerated(DatabaseGeneratedOption.None)] - [Key] public long Id { get; set; } /// @@ -20,43 +15,36 @@ namespace Atomx.Admin.Client.Models /// /// 应用名称KEY /// - [Column(TypeName = "varchar(64)")] public string AppName { get; set; } = string.Empty; /// /// 版本标题 /// - [Column(TypeName = "varchar(64)")] public string Title { get; set; } = string.Empty; /// /// 版本 /// - [Column(TypeName = "varchar(64)")] public string Version { get; set; } = string.Empty; /// /// 主版本号(major)无法向下兼容时,需要递增 /// - [Column(TypeName = "varchar(64)")] public int VersionX { get; set; } /// /// 次版本号(minor)新增新的特性时,需要递增 /// - [Column(TypeName = "varchar(64)")] public int VersionY { get; set; } /// /// 修订版本号(patch)修复问题时,需要递增 /// - [Column(TypeName = "varchar(64)")] public int VersionZ { get; set; } /// /// 版本日期 /// - [Column(TypeName = "varchar(64)")] public int VersionDate { get; set; } /// @@ -67,7 +55,6 @@ namespace Atomx.Admin.Client.Models /// /// 更新内容说明 /// - [Column(TypeName = "text")] public string Content { get; set; } = string.Empty; /// diff --git a/Atomx.Admin/Atomx.Admin.Client/Models/AppVersionSearch.cs b/Atomx.Admin/Atomx.Admin.Client/Models/AppVersionSearch.cs index 9744577..32856a2 100644 --- a/Atomx.Admin/Atomx.Admin.Client/Models/AppVersionSearch.cs +++ b/Atomx.Admin/Atomx.Admin.Client/Models/AppVersionSearch.cs @@ -10,7 +10,7 @@ /// /// 状态 /// - public string Status { get; set; } = string.Empty; + public string? Status { get; set; } = string.Empty; /// /// 开始时间 diff --git a/Atomx.Admin/Atomx.Admin.Client/Models/CurrencyModel.cs b/Atomx.Admin/Atomx.Admin.Client/Models/CurrencyModel.cs index b6af7a4..5cd64fd 100644 --- a/Atomx.Admin/Atomx.Admin.Client/Models/CurrencyModel.cs +++ b/Atomx.Admin/Atomx.Admin.Client/Models/CurrencyModel.cs @@ -52,5 +52,10 @@ /// 是否编辑 /// public bool IsEdit { get; set; } + + /// + /// 是否主货币 + /// + public bool PrimaryCurrency { get; set; } } } diff --git a/Atomx.Admin/Atomx.Admin.Client/Models/CurrencySearchModel.cs b/Atomx.Admin/Atomx.Admin.Client/Models/CurrencySearchModel.cs new file mode 100644 index 0000000..6bf2803 --- /dev/null +++ b/Atomx.Admin/Atomx.Admin.Client/Models/CurrencySearchModel.cs @@ -0,0 +1,20 @@ +namespace Atomx.Admin.Client.Models +{ + public class CurrencySearchModel:BaseSearch + { + /// + /// 用户名 + /// + public string Name { get; set; } = string.Empty; + + /// + /// 状态 + /// + public string Status { get; set; } = string.Empty; + + /// + /// 开始时间 + /// + public DateTime?[] RangeTime { get; set; } = new DateTime?[] { null, null }; + } +} diff --git a/Atomx.Admin/Atomx.Admin.Client/Pages/Settings/CurrencyList.razor b/Atomx.Admin/Atomx.Admin.Client/Pages/Settings/CurrencyList.razor index c962082..e8c50a0 100644 --- a/Atomx.Admin/Atomx.Admin.Client/Pages/Settings/CurrencyList.razor +++ b/Atomx.Admin/Atomx.Admin.Client/Pages/Settings/CurrencyList.razor @@ -3,20 +3,257 @@ @inject ILogger Logger @attribute [Authorize] - +货币管理 + - 管理后台 - 系统功能 + Home + 系统配置 货币管理 -

Tools

+ + +
+ + + + + + + @if (searchExpand) + { + + + + + + + + + + + + + + + + + + } + + + + +
+
+ + +
+ +
+
+ + + + + + + + @if (context.PrimaryCurrency) + { + + } + else + { + + } + + + @if (context.Enabled) + { + 已激活 + } + else + { + 未激活 + } + + + + + + 编辑 + + @* + + 删除 + + *@ + + +
+
+ + + +
+
+
@code { [Parameter] public string Locale { get; set; } = string.Empty; -} + + [SupplyParameterFromQuery] + int? Page { get; set; } + + [SupplyParameterFromQuery(Name = "size")] + int? PageSize { get; set; } + + bool pageLoading = false; + bool searchExpand = false; + + Form searchForm = new(); + CurrencySearchModel search = new(); + + PagingList PagingList = new() { Size = 20 }; + + + protected override async Task OnInitializedAsync() + { + await base.OnInitializedAsync(); + } + + protected override async Task OnParametersSetAsync() + { + loadQueryString(); + await LoadListAsync(); + await base.OnParametersSetAsync(); + } + + void loadQueryString() + { + var uri = new Uri(Navigation.Uri); + var query = uri.Query; + search.Name = query.GetQueryString("Name"); + search.Status = query.GetQueryString("Status"); + + var data = query.GetQueryString("RangeTime"); + if (!string.IsNullOrEmpty(data)) + { + var rangetime = data.Split("-"); + if (rangetime != null && rangetime.Length > 0) + { + searchExpand = true; + search.RangeTime[0] = rangetime[0].NumberToDateTime(); + search.RangeTime[1] = rangetime[1].NumberToDateTime(); + StateHasChanged(); + } + } + + } + + async Task LoadListAsync() + { + try + { + pageLoading = true; + var url = "/api/currency/search"; + var apiResult = await HttpService.GetPagingList(url, search, Page.GetValueOrDefault(1), PageSize.GetValueOrDefault(20)); + if (apiResult.Success) + { + if (apiResult.Data != null) + { + PagingList = apiResult.Data; + } + } + else if (apiResult.Code == 403) + { + ModalService.Error(new ConfirmOptions() { Title = "权限不足", Content = apiResult.Message }); + } + + StateHasChanged(); + } + finally + { + pageLoading = false; + } + } + + void OnSearchReset() + { + search = new CurrencySearchModel(); + searchForm?.Reset(); + } + + private void OnSearch(int page) + { + var queryString = search.BuildQueryString(); + if (string.IsNullOrEmpty(queryString)) + { + if (page > 1) + { + Navigation.NavigateTo($"/currency/list?page={page}"); + } + else + { + Navigation.NavigateTo($"/currency/list"); + } + } + else + { + if (page > 1) + { + Navigation.NavigateTo($"/currency/list?page={page}&{queryString}"); + } + else + { + Navigation.NavigateTo($"/currency/list?{queryString}"); + } + } + } + + void OnSearchFinish() + { + Page = Page.GetValueOrDefault(1) - 1; + + OnSearch(Page.Value); + } + + private void OnPageChanged(PaginationEventArgs args) + { + OnSearch(args.Page); + } + + void HandleAddNew() + { + Navigation.NavigateTo($"/currency/edit"); + } + + + void HandleEdit(CurrencyModel model) + { + Navigation.NavigateTo($"/currency/edit/{model.Id}"); + } + + } \ No newline at end of file diff --git a/Atomx.Admin/Atomx.Admin.Client/Pages/SiteApps/AppVersionEdit.razor b/Atomx.Admin/Atomx.Admin.Client/Pages/SiteApps/AppVersionEdit.razor new file mode 100644 index 0000000..5fecb5a --- /dev/null +++ b/Atomx.Admin/Atomx.Admin.Client/Pages/SiteApps/AppVersionEdit.razor @@ -0,0 +1,152 @@ +@page "/system/app/version/create" +@page "/system/app/version/edit/{id:long}" +@page "/{locale}/system/app/version/create" +@page "/{locale}/system/app/version/edit/{id:long}" + +@inject ILogger Logger +@attribute [Authorize] + + + + + 管理后台 + 系统功能 + 版本管理 + + + + + + +
+ + + + + + + + + + + + + + + + + + + + +