处理国家多语言数据

This commit is contained in:
yxw
2025-12-25 18:43:30 +08:00
parent f7bb6bb2dc
commit 46794708ff
14 changed files with 240 additions and 35 deletions

View File

@@ -10,7 +10,7 @@
<Breadcrumb>
<Breadcrumb>
<BreadcrumbItem Href="/">管理后台</BreadcrumbItem>
<BreadcrumbItem Href="/admin/list">系统配置</BreadcrumbItem>
<BreadcrumbItem Href="/settings">系统配置</BreadcrumbItem>
<BreadcrumbItem Href="/country/list">国家管理</BreadcrumbItem>
</Breadcrumb>
</Breadcrumb>
@@ -19,7 +19,7 @@
<Spin Spinning="pageLoading">
<Card Title="国家信息">
<Form @ref="editform" Model="@model" LabelColSpan="5" WrapperColSpan="14" OnFinish="OnFormFinishAsync">
@if (Id > 0 && languageList.Any())
@if (Id > 0 && languageList.Count() > 0)
{
<Tabs ActiveKey="@context.LanguageId" OnTabClick="OnLanguageTabChange">
<TabPane Key="0">
@@ -82,7 +82,7 @@
CountryModel model { get; set; } = new();
Form<CountryModel> editform = null!;
Country Country = new();
CountryLocalizedModel country = new();
List<KeyValue> languageList = new();
@@ -96,6 +96,7 @@
protected override void OnParametersSet()
{
_ = LoadLanguage();
if (Id > 0)
{
LoadData();
@@ -110,28 +111,30 @@
if (apiResult.Success)
{
languageList = apiResult.Data ?? new List<KeyValue>();
StateHasChanged();
}
}
async void LoadData()
{
pageLoading = true;
var url = $"/api/currency/{Id}";
var apiResult = await HttpService.Get<ApiResult<Currency>>(url);
var url = $"/api/country/detail?id={Id}";
var apiResult = await HttpService.Get<ApiResult<CountryLocalizedModel>>(url);
if (apiResult.Success)
{
if (apiResult.Data == null)
{
Navigation.NavigateTo($"/currency/create");
Navigation.NavigateTo($"/country/create");
}
else
{
country = apiResult.Data;
model = apiResult.Data.Adapt<CountryModel>();
}
}
else
{
Navigation.NavigateTo($"/currency/create");
Navigation.NavigateTo($"/country/create");
}
pageLoading = false;
@@ -143,16 +146,14 @@
if (editform.Validate())
{
saving = true;
var url = $"api/currency/save";
var url = $"api/country/save";
var result = new ApiResult<string>();
result = await HttpService.Post<ApiResult<string>>(url, model);
if (result.Code == (int)ResultCode.Success)
if (result.Success)
{
saving = false;
await ModalService.InfoAsync(new ConfirmOptions() { Title = "提示", Content = "数据提交成功!" });
Navigation.NavigateTo($"/currency/list");
Navigation.NavigateTo($"/country/list");
}
else
{
@@ -167,7 +168,7 @@
if (key != "0")
{
model.LanguageId = key;
var data = model.Localized.Where(p => p.LanguageId == key.ToInt()).ToList();
var data = country.Locales.Where(p => p.LanguageId == key.ToInt()).ToList();
if (data.Any())
{
var name = nameof(model.Name);
@@ -181,10 +182,8 @@
}
else
{
// model = Mapper.Map<CountryModel>(model);
// model.LanguageId = key;
// model.IsEdit = true;
model = country.Adapt<CountryModel>();
model.LanguageId = key;
}
}

View File

@@ -8,8 +8,8 @@
<PageContainer Title="国家管理">
<Breadcrumb>
<Breadcrumb>
<BreadcrumbItem>Home</BreadcrumbItem>
<BreadcrumbItem>系统配置</BreadcrumbItem>
<BreadcrumbItem Href="/">管理后台</BreadcrumbItem>
<BreadcrumbItem Href="/settings">系统配置</BreadcrumbItem>
<BreadcrumbItem>国家管理</BreadcrumbItem>
</Breadcrumb>
</Breadcrumb>
@@ -22,6 +22,8 @@
<FormItem Label="名称">
<Input @bind-Value="search.Name" Placeholder="名称" AllowClear />
</FormItem>
</Col>
<Col>
<div class="ant-form-item">
<Button Type="ButtonType.Primary" HtmlType="submit">查询</Button>
<Button Style="margin: 0 8px;" OnClick="OnSearchReset">重置</Button>
@@ -30,7 +32,8 @@
</Row>
</Form>
</Card>
<Card Title="" Class="hideborder">
<br />
<Card Title="国家列表" Class="hideborder">
<Extra>
<div class="extraContent">
<Button Type="ButtonType.Primary" HtmlType="submit" OnClick="HandleAddNew">新增国家</Button>
@@ -121,10 +124,10 @@
async Task LoadListAsync()
{
pageLoading = true;
try
{
pageLoading = true;
var url = "/api/country/search";
var url = "/api/country/searh";
var apiResult = await HttpService.GetPagingList<Country>(url, search, Page.GetValueOrDefault(1), PageSize.GetValueOrDefault(20));
if (apiResult.Success)
{

View File

@@ -7,8 +7,8 @@
<PageContainer Title="货币管理">
<Breadcrumb>
<Breadcrumb>
<BreadcrumbItem>Home</BreadcrumbItem>
<BreadcrumbItem>系统配置</BreadcrumbItem>
<BreadcrumbItem Href="/">管理后台</BreadcrumbItem>
<BreadcrumbItem Href="/settings">系统配置</BreadcrumbItem>
<BreadcrumbItem>货币管理</BreadcrumbItem>
</Breadcrumb>
</Breadcrumb>

View File

@@ -8,8 +8,8 @@
<PageContainer Title="州省管理">
<Breadcrumb>
<Breadcrumb>
<BreadcrumbItem>Home</BreadcrumbItem>
<BreadcrumbItem>系统配置</BreadcrumbItem>
<BreadcrumbItem Href="/">管理后台</BreadcrumbItem>
<BreadcrumbItem Href="/settings">系统配置</BreadcrumbItem>
<BreadcrumbItem>州省管理</BreadcrumbItem>
</Breadcrumb>
</Breadcrumb>