Files
FA_WEB/OrdersManagement/Components/Pages/ScheduleOrder.razor

163 lines
8.4 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
@page "/ScheduleOrder/{ScheduleOrderId:int}"
@attribute [Authorize]
@using Microsoft.AspNetCore.Authorization
@using Syncfusion.Blazor.Grids
@using Syncfusion.Blazor.Lists
@inject ScheduleOrderService ScheduleOrderService
<div class="h-100 d-flex flex-column">
<h5>Zamówienie DELFOR nr @ScheduleOrderDto?.PONum</h5>
<SfListView Id="ScheduleOrderMiscs"
DataSource="@ScheduleOrderDto?.ScheduleOrderMiscs"
ShowHeader="false"
CssClass="e-list-template">
<ListViewFieldSettings TValue="ScheduleOrderMiscDto" Id="ScheduleOrderMiscListId"
Text="Text"></ListViewFieldSettings>
<ListViewTemplates Context="item" TValue="ScheduleOrderMiscDto">
<Template>
<span
class="e-list-content"><b>@item.Label:</b>@item.Value
</span>
</Template>
</ListViewTemplates>
</SfListView>
<br/>
<h5>Indeksy</h5>
<SfGrid AllowFiltering="true"
AllowPaging="true"
AllowSorting="true"
AllowSelection="true"
TValue="ScheduleOrderDetailDto"
DataSource="@_scheduleOrderDetails"
EnableAdaptiveUI="true">
<GridTemplates>
<DetailTemplate>
@{
IList<ScheduleOrderDetailMiscDto>? scheduleOrderDetailMiscs = (@context as ScheduleOrderDetailDto)?.ScheduleOrderDetailMiscs;
IList<ScheduleOrderDetailDetailDto>? scheduleOrderDetailDetails = (@context as ScheduleOrderDetailDto)?.ScheduleOrderDetailDetails;
<SfListView Id="ScheduleOrderDetailMiscs"
DataSource="@scheduleOrderDetailMiscs"
ShowHeader="false"
CssClass="e-list-template">
<ListViewFieldSettings TValue="ScheduleOrderDetailMiscDto" Id="ScheduleOrderDetailMiscListId"
Text="Text"></ListViewFieldSettings>
<ListViewTemplates Context="item" TValue="ScheduleOrderDetailMiscDto">
<Template>
<span
class="e-list-content"><b>@item.Label:</b>@item.Value
</span>
</Template>
</ListViewTemplates>
</SfListView>
<br/>
<h5>Harmonogramy</h5>
<SfGrid AllowFiltering="true"
AllowPaging="true"
AllowSorting="true"
AllowSelection="true"
TValue="ScheduleOrderDetailDetailDto"
DataSource="@scheduleOrderDetailDetails"
EnableAdaptiveUI="true"
AdaptiveUIMode="AdaptiveMode.Both">
<GridEvents TValue="ScheduleOrderDetailDetailDto" RowDataBound="OnRowDataBound"/>
<GridTemplates Context="detailDetail">
<DetailTemplate>
@{
IList<ScheduleOrderDetailDetailMiscDto>? scheduleOrderDetailDetailMiscs = (@detailDetail as ScheduleOrderDetailDetailDto)?.ScheduleOrderDetailDetailMiscs;
<SfListView Id="ScheduleOrderDetailDetailMiscs"
DataSource="@scheduleOrderDetailDetailMiscs"
ShowHeader="false"
CssClass="e-list-template">
<ListViewFieldSettings TValue="ScheduleOrderDetailDetailMiscDto"
Id="ScheduleOrderDetailDetailMiscListId"
Text="Text"></ListViewFieldSettings>
<ListViewTemplates Context="item" TValue="ScheduleOrderDetailDetailMiscDto">
<Template>
<span
class="e-list-content"><b>@item.Label:</b>@item.Value
</span>
</Template>
</ListViewTemplates>
</SfListView>
}
</DetailTemplate>
</GridTemplates>
<GridColumns>
<GridColumn Field=@nameof(ScheduleOrderDetailDetailDto.DateFrom) HeaderText="Data Od"
Width="100"></GridColumn>
<GridColumn Field=@nameof(ScheduleOrderDetailDetailDto.DateTo) HeaderText="Data Do"
Width="100"></GridColumn>
<GridColumn Field=@nameof(ScheduleOrderDetailDetailDto.Qty) TextAlign="TextAlign.Right"
HeaderText="Ilość Sztuk" Width="50"></GridColumn>
<GridColumn Field=@nameof(ScheduleOrderDetailDetailDto.QtyType) TextAlign="TextAlign.Right"
HeaderText="Typ Qty" Width="50"></GridColumn>
<GridColumn Field=@nameof(ScheduleOrderDetailDetailDto.QtyDesc) HeaderText="Opis Typu"
Width="100"></GridColumn>
</GridColumns>
<GridFilterSettings Type="FilterType.Excel"/>
<GridPageSettings PageSize="10"/>
<GridSelectionSettings Mode="SelectionMode.Row" Type="SelectionType.Single"/>
</SfGrid>
}
</DetailTemplate>
</GridTemplates>
<GridColumns>
<GridColumn Field=@nameof(ScheduleOrderDetailDto.OrderNumber) HeaderText="Numer Zamówienia"
Width="100"></GridColumn>
<GridColumn Field=@nameof(ScheduleOrderDetailDto.PurchaserName) HeaderText="Klient"
Width="100"></GridColumn>
<GridColumn Field=@nameof(ScheduleOrderDetailDto.RecipientName) HeaderText="Odbiorca"
Width="100"></GridColumn>
<GridColumn Field=@nameof(ScheduleOrderDetailDto.RecipientCode) HeaderText="Kod odbiorcy" Width="100"
AllowFiltering="true"></GridColumn>
<GridColumn Field=@nameof(ScheduleOrderDetailDto.Sh_productCode) HeaderText="Pozycja"
Width="100"></GridColumn>
<GridColumn Field=@nameof(ScheduleOrderDetailDto.Sc_productCode) HeaderText="Pozycja Klienta"
Width="100"></GridColumn>
</GridColumns>
<GridFilterSettings Type="FilterType.Excel"/>
<GridPageSettings PageSize="10"/>
<GridSelectionSettings Mode="SelectionMode.Row" Type="SelectionType.Single"/>
</SfGrid>
</div>
@code {
[Parameter] public int ScheduleOrderId { get; set; }
private IEnumerable<ScheduleOrderDetailDto>? _scheduleOrderDetails;
private ScheduleOrderDto? ScheduleOrderDto { get; set; }
protected override async Task OnInitializedAsync()
{
ScheduleOrderDto = await ScheduleOrderService.GetScheduleOrderAsync(ScheduleOrderId);
_scheduleOrderDetails = ScheduleOrderDto?.ScheduleOrderDetails;
if (ScheduleOrderDto is not null && _scheduleOrderDetails is not null)
{
foreach (ScheduleOrderDetailDto scheduleOrderDetailDto in _scheduleOrderDetails)
{
scheduleOrderDetailDto.OrderNumber = ScheduleOrderDto?.PONum;
scheduleOrderDetailDto.RecipientCode = ScheduleOrderDto?.RecipientCode;
scheduleOrderDetailDto.RecipientName = ScheduleOrderDto?.RecipientName;
scheduleOrderDetailDto.PurchaserName = ScheduleOrderDto?.PurchaserCode;
}
}
StateHasChanged();
}
private void OnRowDataBound(RowDataBoundEventArgs<ScheduleOrderDetailDetailDto> args)
{
if (args.Data.QtyType == "83" || args.Data.QtyType == "84")
{
args.Row.AddClass(["highlight-red"]);
}
}
}