fix(admin): reduce crm mudblazor interop
TaxBaik CI/CD / build-and-deploy (push) Successful in 4m14s

This commit is contained in:
2026-07-05 18:08:04 +09:00
parent 8b1127b270
commit 41b723e908
5 changed files with 79 additions and 48 deletions
@@ -98,16 +98,23 @@
</TitleContent>
<DialogContent>
<MudForm @ref="form">
<MudSelect T="int" @bind-Value="activityForm.ClientId" Label="고객" Required="true" Variant="Variant.Outlined" FullWidth="true" Class="mb-4">
<div class="mb-4">
<label class="mud-input-label mud-input-label-animated mud-input-label-outlined mb-1">고객</label>
<select class="mud-input mud-input-outlined mud-input-root mud-input-root-adorned-start"
style="width: 100%; min-height: 56px; padding: 16px 14px;"
value="@activityForm.ClientId"
@onchange="e => activityForm.ClientId = int.TryParse(e.Value?.ToString(), out var clientId) ? clientId : 0">
<option value="0">고객을 선택하세요.</option>
@foreach (var client in clients)
{
<MudSelectItem Value="@client.Id">@GetClientDisplayName(client)</MudSelectItem>
<option value="@client.Id">@GetClientDisplayName(client)</option>
}
</MudSelect>
</select>
</div>
<CommonCodeSelect @bind-Value="activityForm.ActivityType" Group="CONSULTING_ACTIVITY_TYPE" Label="활동 유형" Class="mb-4" Required="true" />
<MudDatePicker @bind-Date="activityForm.ActivityDate" Label="활동일" Variant="Variant.Outlined" FullWidth="true" Class="mb-4" Required="true" />
<MudTextField T="string" Label="활동일" Variant="Variant.Outlined" FullWidth="true" Class="mb-4" Required="true" Value="@(activityForm.ActivityDate?.ToString("yyyy-MM-dd HH:mm") ?? string.Empty)" />
<MudTextField T="string" @bind-Value="activityForm.Description" Label="설명" Variant="Variant.Outlined" FullWidth="true" Lines="3" Class="mb-4" Required="true" />
<MudDatePicker @bind-Date="activityForm.NextFollowupDate" Label="다음 팔로업일" Variant="Variant.Outlined" FullWidth="true" Class="mb-4" />
<MudTextField T="string" Label="다음 팔로업일" Variant="Variant.Outlined" FullWidth="true" Class="mb-4" Value="@(activityForm.NextFollowupDate?.ToString("yyyy-MM-dd") ?? string.Empty)" />
</MudForm>
</DialogContent>
<DialogActions>
@@ -117,15 +117,23 @@ else
}
</div>
<MudForm @ref="form">
<MudSelect T="int?" @bind-Value="contractForm.ClientId" Label="고객" Required="true" Variant="Variant.Outlined" FullWidth="@true" Class="mb-3" RequiredError="고객을 선택하세요." Disabled="@isEditMode">
<div class="mb-3">
<label class="mud-input-label mud-input-label-animated mud-input-label-outlined mb-1">고객</label>
<select class="mud-input mud-input-outlined mud-input-root mud-input-root-adorned-start"
style="width: 100%; min-height: 56px; padding: 16px 14px;"
value="@(contractForm.ClientId?.ToString() ?? string.Empty)"
disabled="@isEditMode"
@onchange="e => contractForm.ClientId = int.TryParse(e.Value?.ToString(), out var clientId) ? clientId : null">
<option value="">고객을 선택하세요.</option>
@foreach (var client in clients)
{
<MudSelectItem Value="@((int?)client.Id)">@GetClientDisplayName(client)</MudSelectItem>
<option value="@client.Id">@GetClientDisplayName(client)</option>
}
</MudSelect>
</select>
</div>
<MudTextField T="string" @bind-Value="contractForm.ContractNumber" Label="계약번호" Variant="Variant.Outlined" FullWidth="@true" Class="mb-3" Required="true" />
<CommonCodeSelect @bind-Value="contractForm.ServiceType" Group="CONTRACT_SERVICE_TYPE" Label="서비스 유형" Class="mb-3" Required="true" />
<MudDatePicker @bind-Date="contractForm.StartDate" Label="계약 시작일" Variant="Variant.Outlined" FullWidth="@true" Class="mb-3" Required="true" />
<MudTextField T="string" Label="계약 시작일" Variant="Variant.Outlined" FullWidth="@true" Class="mb-3" Required="true" Value="@(contractForm.StartDate?.ToString("yyyy-MM-dd") ?? string.Empty)" />
<MudNumericField T="decimal?" @bind-Value="contractForm.MonthlyFee" Label="월 수수료" Variant="Variant.Outlined" FullWidth="@true" Class="mb-4" />
<div class="d-flex justify-end gap-2">
@@ -94,17 +94,24 @@
</TitleContent>
<DialogContent>
<MudForm @ref="form">
<MudSelect T="int" @bind-Value="revenueForm.ClientId" Label="고객" Required="true" Variant="Variant.Outlined" FullWidth="true" Class="mb-4">
<div class="mb-4">
<label class="mud-input-label mud-input-label-animated mud-input-label-outlined mb-1">고객</label>
<select class="mud-input mud-input-outlined mud-input-root mud-input-root-adorned-start"
style="width: 100%; min-height: 56px; padding: 16px 14px;"
value="@revenueForm.ClientId"
@onchange="e => revenueForm.ClientId = int.TryParse(e.Value?.ToString(), out var clientId) ? clientId : 0">
<option value="0">고객을 선택하세요.</option>
@foreach (var client in clients)
{
<MudSelectItem Value="@client.Id">@GetClientDisplayName(client)</MudSelectItem>
<option value="@client.Id">@GetClientDisplayName(client)</option>
}
</MudSelect>
</select>
</div>
<MudTextField T="string" @bind-Value="revenueForm.InvoiceNumber" Label="청구번호" Variant="Variant.Outlined" FullWidth="true" Class="mb-4" Required="true" />
<MudDatePicker @bind-Date="revenueForm.InvoiceDate" Label="청구일" Variant="Variant.Outlined" FullWidth="true" Class="mb-4" Required="true" />
<MudTextField T="string" Label="청구일" Variant="Variant.Outlined" FullWidth="true" Class="mb-4" Required="true" Value="@(revenueForm.InvoiceDate?.ToString("yyyy-MM-dd") ?? string.Empty)" />
<MudNumericField T="decimal" @bind-Value="revenueForm.Amount" Label="청구액" Variant="Variant.Outlined" FullWidth="true" Class="mb-4" Required="true" />
<CommonCodeSelect @bind-Value="revenueForm.ServiceType" Group="REVENUE_SERVICE_TYPE" Label="서비스 유형" Class="mb-4" />
<MudDatePicker @bind-Date="revenueForm.DueDate" Label="납부예정일" Variant="Variant.Outlined" FullWidth="true" Class="mb-4" />
<MudTextField T="string" Label="납부예정일" Variant="Variant.Outlined" FullWidth="true" Class="mb-4" Value="@(revenueForm.DueDate?.ToString("yyyy-MM-dd") ?? string.Empty)" />
</MudForm>
</DialogContent>
<DialogActions>
@@ -1,4 +1,4 @@
@page "/tax-filing-schedules"
@page "/admin/tax-filing-schedules"
@rendermode @(new InteractiveWebAssemblyRenderMode(prerender: true))
@using TaxBaik.Web.Services.AdminClients
@using TaxBaik.Domain.Entities
@@ -129,22 +129,22 @@ else
}
</div>
<MudForm @ref="form">
<MudSelect T="int?"
@bind-Value="scheduleForm.ClientId"
Label="고객"
Required="true"
Variant="Variant.Outlined"
FullWidth="@true"
Class="mb-3"
RequiredError="고객을 선택하세요."
Disabled="@isEditMode">
<div class="mb-3">
<label class="mud-input-label mud-input-label-animated mud-input-label-outlined mb-1">고객</label>
<select class="mud-input mud-input-outlined mud-input-root mud-input-root-adorned-start"
style="width: 100%; min-height: 56px; padding: 16px 14px;"
value="@(scheduleForm.ClientId?.ToString() ?? string.Empty)"
disabled="@isEditMode"
@onchange="e => scheduleForm.ClientId = int.TryParse(e.Value?.ToString(), out var clientId) ? clientId : null">
<option value="">고객을 선택하세요.</option>
@foreach (var client in clients)
{
<MudSelectItem Value="@((int?)client.Id)">@GetClientDisplayName(client)</MudSelectItem>
<option value="@client.Id">@GetClientDisplayName(client)</option>
}
</MudSelect>
</select>
</div>
<CommonCodeSelect @bind-Value="scheduleForm.FilingType" Group="FILING_TYPE" Label="신고 유형" Class="mb-3" Required="true" />
<MudDatePicker @bind-Date="scheduleForm.DueDate" Label="마감일" Variant="Variant.Outlined" FullWidth="@true" Class="mb-3" Required="true" />
<MudTextField T="string" Label="마감일" Variant="Variant.Outlined" FullWidth="@true" Class="mb-3" Required="true" Value="@(scheduleForm.DueDate?.ToString("yyyy-MM-dd") ?? string.Empty)" />
<MudNumericField T="int" @bind-Value="scheduleForm.FilingYear" Label="신고연도" Variant="Variant.Outlined" FullWidth="@true" Class="mb-4" Required="true" />
<div class="d-flex justify-end gap-2">
@@ -1,4 +1,4 @@
@page "/tax-profiles"
@page "/admin/tax-profiles"
@rendermode @(new InteractiveWebAssemblyRenderMode(prerender: true))
@using TaxBaik.Web.Services.AdminClients
@using TaxBaik.WasmClient.Components.Admin.Shared
@@ -95,15 +95,23 @@ else
}
</div>
<MudForm @ref="form">
<MudSelect T="int?" @bind-Value="profileForm.ClientId" Label="고객" Required="true" Variant="Variant.Outlined" FullWidth="@true" Class="mb-3" RequiredError="고객을 선택하세요." Disabled="@isEditMode">
<div class="mb-3">
<label class="mud-input-label mud-input-label-animated mud-input-label-outlined mb-1">고객</label>
<select class="mud-input mud-input-outlined mud-input-root mud-input-root-adorned-start"
style="width: 100%; min-height: 56px; padding: 16px 14px;"
value="@(profileForm.ClientId?.ToString() ?? string.Empty)"
disabled="@isEditMode"
@onchange="e => profileForm.ClientId = int.TryParse(e.Value?.ToString(), out var clientId) ? clientId : null">
<option value="">고객을 선택하세요.</option>
@foreach (var client in clients)
{
<MudSelectItem Value="@((int?)client.Id)">@GetClientDisplayName(client)</MudSelectItem>
<option value="@client.Id">@GetClientDisplayName(client)</option>
}
</MudSelect>
</select>
</div>
<CommonCodeSelect @bind-Value="profileForm.BusinessType" Group="BUSINESS_TYPE" Label="사업 유형" Class="mb-3" Required="true" />
<CommonCodeSelect @bind-Value="profileForm.TaxRiskLevel" Group="TAX_RISK_LEVEL" Label="위험도" Class="mb-3" />
<MudDatePicker @bind-Date="profileForm.NextFilingDueDate" Label="다음 신고 예정일" Variant="Variant.Outlined" FullWidth="@true" Class="mb-3" />
<CommonCodeSelect @bind-Value="profileForm.TaxRiskLevel" Group="TAX_RISK_LEVEL" Label="위험도" Class="mb-3" Clearable="true" Placeholder="위험도를 선택하세요" />
<MudTextField T="string" Label="다음 신고 예정일" Variant="Variant.Outlined" FullWidth="@true" Class="mb-3" Value="@(profileForm.NextFilingDueDate?.ToString("yyyy-MM-dd") ?? string.Empty)" />
<MudTextField T="string" @bind-Value="profileForm.SpecialNotes" Label="특수 사항" Variant="Variant.Outlined" FullWidth="@true" Lines="3" Class="mb-4" />
<div class="d-flex justify-end gap-2">
@@ -306,4 +314,5 @@ else
public DateTime? NextFilingDueDate { get; set; }
public string? SpecialNotes { get; set; }
}
}