CN.CAICT.IDIS.Client.Web/Components/Pages/OneClickRegistration.razor

53 lines
1.9 KiB
Plaintext

@page "/OneClickRegistration"
@using IDIS.Client.Web.Data
@using IDIS.Models
@using IDIS.Services
@using Cysharp.Threading.Tasks
@inject IDIS_TemplateService templateService
@inject OneClickRegister register
@inject IDialogService dialogService
<MudText Typo="Typo.h3" GutterBottom="true">一键注册</MudText>
<MudText>选择需要的项目,对生产过程中产生的标识进行<b>一键注册</b></MudText>
<MudText>在生产过程中,更新对应的标识即可</MudText>
<MudGrid>
<MudItem xs="3">
<MudStack>
<MudAlert>快速注册</MudAlert>
<MudStack Row="true" Class="align-center">
<MudTextField @bind-Value="registerName" T="string" Label="输入名称"/>
<MudSelect @bind-Value="registerTemplate" T="string" Label="选择模板" AnchorOrigin="Origin.BottomCenter">
@foreach (var (name,template) in registerTemplates)
{
<MudSelectItem Value="template.Name"/>
}
</MudSelect>
</MudStack>
<MudButton OnClick="Register" Variant="Variant.Filled" Color="Color.Success">一键注册</MudButton>
</MudStack>
</MudItem>
</MudGrid>
@code {
private Dictionary<string,OneClickRegisterData> registerTemplates { get; set; }= new();
private string registerTemplate { get; set; }
private string registerName { get; set; }
protected override async Task OnAfterRenderAsync(bool firstRender)
{
if (!firstRender) return;
await Rebuild();
await InvokeAsync(StateHasChanged);
}
private async UniTask Rebuild()
{
registerTemplates = await register.GetAllTemplate();
}
private async void Register()
{
await register.Register(registerTemplate,registerName);
dialogService.ShowMessageBox("注册成功", "注册成功").AndForget();
await InvokeAsync(StateHasChanged);
}
}