mh_custom/wtmProject.Shared/Pages/BillingCreate.razor

92 lines
4.9 KiB
Plaintext
Raw Permalink Normal View History

2024-05-16 17:30:33 +08:00
@page "/BillingCreate/Create"
@using wtmProject.ViewModel._Admin.WTM_BILLING_LISTVMs;
@using wtmProject.ViewModel._Admin.WTM_CONTRACTVMs;
@inherits BasePage
<ValidateForm @ref="vform" Model="@Model" OnValidSubmit="@Submit">
<Row ItemsPerRow="ItemsPerRow.Three" RowType="RowType.Normal">
<Select @bind-Value="@Model.Entity.ContractId" Items="@AllWTM_CONTRACTs" OnSelectedItemChanged="OnCascadeBindSelectClick" ShowSearch=true PlaceHolder="@WtmBlazor.Localizer["Sys.PleaseSelect"]" />
<Select @bind-Value="@Model.Entity.CustomId" Items="@AllWTM_CUSTOMs" IsDisabled="true" PlaceHolder="@WtmBlazor.Localizer["Sys.PleaseSelect"]" />
<Select @bind-Value="@Model.Entity.VisitObjectId" Items="@AllWTM_CUSTOM_PERSONs" IsDisabled="true" PlaceHolder="@WtmBlazor.Localizer["Sys.PleaseSelect"]" />
<BootstrapInputNumber @bind-Value="@Model.Entity.ContractAmount" IsDisabled="true" />
<BootstrapInput @bind-Value="@Model.Entity.ContractCode" IsDisabled="true" />
<Select @bind-Value="@Model.Entity.ProjectId" Items="@AllWTM_PROJECTs" IsDisabled="true" PlaceHolder="@WtmBlazor.Localizer["Sys.PleaseSelect"]" />
<Select @bind-Value="@Model.Entity.ContractCycle" IsDisabled="true" PlaceHolder="@WtmBlazor.Localizer["Sys.PleaseSelect"]" />
<Select @bind-Value="@Model.Entity.ProjectManageId" IsDisabled="true" Items="@AllFrameworkUsers" PlaceHolder="@WtmBlazor.Localizer["Sys.PleaseSelect"]" />
<Select @bind-Value="@Model.Entity.MarkManageId" IsDisabled="true" Items="@AllFrameworkUsers" PlaceHolder="@WtmBlazor.Localizer["Sys.PleaseSelect"]" />
<Select @bind-Value="@Model.Entity.BillingCycle" PlaceHolder="@WtmBlazor.Localizer["Sys.PleaseSelect"]" />
<BootstrapInputNumber @bind-Value="@Model.Entity.BillingAmount" />
<DateTimePicker @bind-Value="@Model.Entity.BillingDate" />
<WTUploadFile @bind-Value="@Model.Entity.BillingFiles" />
@* <Select @bind-Value="@Model.Entity.ReceivedStatus" PlaceHolder="@WtmBlazor.Localizer["Sys.PleaseSelect"]"/>
<DateTimePicker @bind-Value="@Model.Entity.ReceivedDate" />
<Select @bind-Value="@Model.Entity.CheckStatus" PlaceHolder="@WtmBlazor.Localizer["Sys.PleaseSelect"]"/>*@
</Row>
<div class="modal-footer table-modal-footer">
@* <Button Color="Color.Secondary" Icon="fa fa-close" Text="@WtmBlazor.Localizer["Sys.Close"]" OnClick="OnClose" />*@
<Button Color="Color.Primary" ButtonType="ButtonType.Submit" Icon="fa fa-save" Text="@WtmBlazor.Localizer["Sys.Save"]" IsAsync="true" />
</div>
</ValidateForm>
@code {
private WTM_BILLING_LISTVM Model = new WTM_BILLING_LISTVM();
private ValidateForm vform { get; set; }
private List<SelectedItem> AllWTM_CONTRACTs = new List<SelectedItem>();
private List<SelectedItem> AllWTM_CUSTOMs = new List<SelectedItem>();
private List<SelectedItem> AllWTM_CUSTOM_PERSONs = new List<SelectedItem>();
private List<SelectedItem> AllWTM_PROJECTs = new List<SelectedItem>();
private List<SelectedItem> AllFrameworkUsers = new List<SelectedItem>();
protected override async Task OnInitializedAsync()
{
AllWTM_CONTRACTs = await WtmBlazor.Api.CallItemsApi("/api/WTM_BILLING_LIST/GetWTM_CONTRACTs", placeholder: WtmBlazor.Localizer["Sys.PleaseSelect"]);
AllWTM_CUSTOMs = await WtmBlazor.Api.CallItemsApi("/api/WTM_BILLING_LIST/GetWTM_CUSTOMs", placeholder: WtmBlazor.Localizer["Sys.PleaseSelect"]);
AllWTM_CUSTOM_PERSONs = await WtmBlazor.Api.CallItemsApi("/api/WTM_BILLING_LIST/GetWTM_CUSTOM_PERSONs", placeholder: WtmBlazor.Localizer["Sys.PleaseSelect"]);
AllWTM_PROJECTs = await WtmBlazor.Api.CallItemsApi("/api/WTM_BILLING_LIST/GetWTM_PROJECTs", placeholder: WtmBlazor.Localizer["Sys.PleaseSelect"]);
AllFrameworkUsers = await WtmBlazor.Api.CallItemsApi("/api/WTM_BILLING_LIST/GetFrameworkUsers", placeholder: WtmBlazor.Localizer["Sys.PleaseSelect"]);
await base.OnInitializedAsync();
}
private async Task Submit(EditContext context)
{
await PostsForm(vform, "/api/WTM_BILLING_LIST/add", (s) => "Sys.OprationSuccess");
}
public void OnClose()
{
CloseDialog();
}
/// <summary>
/// 级联绑定
/// </summary>
/// <param name="item"></param>
private async Task OnCascadeBindSelectClick(SelectedItem item)
{
var rv = await WtmBlazor.Api.CallAPI<WTM_CONTRACTVM>($"/api/WTM_CONTRACT/{item.Value}");
Model.Entity.CustomId = rv.Data.Entity.CustomId;
Model.Entity.VisitObjectId = rv.Data.Entity.VisitObjectId;
Model.Entity.ContractAmount = rv.Data.Entity.ContractAmount;
Model.Entity.ProjectId = rv.Data.Entity.ProjectId;
Model.Entity.ContractCycle = rv.Data.Entity.ContractCycle;
Model.Entity.ProjectManageId = rv.Data.Entity.ProjectManageId;
Model.Entity.MarkManageId = rv.Data.Entity.MarkManageId;
Model.Entity.ContractCode = rv.Data.Entity.ContractCode;
StateHasChanged();
}
}