Files
taxbaik/src/TaxBaik.Web.Client/Components/Admin/Pages/Companies/CompanyCreate.razor
T
kjh2064 7002d50a4e
TaxBaik CI/CD / build-and-deploy (push) Successful in 5m22s
Fix admin routing and Playwright smoke checks
2026-07-04 23:07:16 +09:00

53 lines
1.7 KiB
Plaintext

@page "/admin/companies/create"
@rendermode @(new InteractiveWebAssemblyRenderMode(prerender: true))
@attribute [Authorize]
@using TaxBaik.WasmClient.Components.Admin.Forms
@inject IApiClient ApiClient
@inject NavigationManager Navigation
@inject ISnackbar Snackbar
<PageTitle>고객사 등록</PageTitle>
<section class="admin-page-hero">
<div>
<MudText Typo="Typo.caption" Class="admin-eyebrow">Settings</MudText>
<MudText Typo="Typo.h4" Class="admin-page-title">새 고객사 등록</MudText>
<MudText Typo="Typo.body2" Class="admin-page-subtitle">새로운 고객사를 추가합니다.</MudText>
</div>
<MudButton Variant="Variant.Outlined" StartIcon="@Icons.Material.Filled.Close" @onclick="GoBack">취소</MudButton>
</section>
<MudPaper Class="pa-4 mt-4" Elevation="1">
<CompanyForm ButtonText="등록" OnSubmit="HandleCreate" OnCancel="GoBack" />
</MudPaper>
@code {
private void GoBack()
{
Navigation.NavigateTo("/taxbaik/admin/companies");
}
private async Task HandleCreate(CompanyForm.CompanyFormModel model)
{
try
{
await ApiClient.PostAsync<object>("company", new
{
companyCode = model.CompanyCode,
companyName = model.CompanyName,
contactPerson = model.ContactPerson,
phone = model.Phone,
email = model.Email,
memo = model.Memo
});
Snackbar.Add("고객사가 등록되었습니다.", Severity.Success);
Navigation.NavigateTo("/taxbaik/admin/companies");
}
catch (Exception ex)
{
Snackbar.Add($"등록 실패: {ex.Message}", Severity.Error);
}
}
}