136 lines
5.7 KiB
Plaintext
136 lines
5.7 KiB
Plaintext
@page "/ScheduleOrder/{ScheduleOrderId:int}"
|
||
|
||
@using Syncfusion.Blazor.Grids
|
||
@using Syncfusion.Blazor.Lists
|
||
@inject ScheduleOrderDetailsService ScheduleOrderDetailsService
|
||
|
||
<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;
|
||
|
||
<SfListView Id="List"
|
||
DataSource="@scheduleOrderDetailMiscs"
|
||
ShowHeader="false"
|
||
CssClass="e-list-template">
|
||
<ListViewFieldSettings TValue="ScheduleOrderDetailMiscDto" Id="Id"
|
||
Text="Text"></ListViewFieldSettings>
|
||
<ListViewTemplates Context="item" TValue="ScheduleOrderDetailMiscDto">
|
||
<Template>
|
||
<span
|
||
class="e-list-content"><b>@item.Label</b> @item.Value
|
||
</span>
|
||
</Template>
|
||
</ListViewTemplates>
|
||
</SfListView>
|
||
}
|
||
</DetailTemplate>
|
||
</GridTemplates>
|
||
<GridColumns>
|
||
<GridColumn Field=@nameof(ScheduleOrderDetailDto.Sc_productCode) HeaderText="Pozycja" Width="100"></GridColumn>
|
||
<GridColumn Field=@nameof(ScheduleOrderDetailDto.Sh_productCode) HeaderText="Pozycja Klienta"
|
||
Width="100"></GridColumn>
|
||
</GridColumns>
|
||
<GridFilterSettings Type="FilterType.Excel"/>
|
||
<GridPageSettings PageSize="10"/>
|
||
<GridSelectionSettings Mode="SelectionMode.Row" Type="SelectionType.Single"/>
|
||
<GridEvents TValue="ScheduleOrderDetailDto" RowSelected="OnSelectedLineRow" DetailsExpanding="OnDetailsExpanding"></GridEvents>
|
||
</SfGrid>
|
||
@if (_isVisible)
|
||
{
|
||
<br/>
|
||
<h5>Harmonogramy</h5>
|
||
<SfGrid AllowFiltering="true"
|
||
AllowPaging="true"
|
||
AllowSorting="true"
|
||
AllowSelection="true"
|
||
TValue="ScheduleOrderDetailDetailDto"
|
||
DataSource="@_scheduleOrderDetailsDetails"
|
||
EnableAdaptiveUI="true">
|
||
<GridTemplates>
|
||
<DetailTemplate>
|
||
@{
|
||
IList<ScheduleOrderDetailDetailMiscDto>? scheduleOrderDetailDetailMiscs = (@context as ScheduleOrderDetailDetailDto)?.ScheduleOrderDetailDetailMiscs;
|
||
|
||
<SfListView Id="List"
|
||
DataSource="@scheduleOrderDetailDetailMiscs"
|
||
ShowHeader="false"
|
||
CssClass="e-list-template">
|
||
<ListViewFieldSettings TValue="ScheduleOrderDetailDetailMiscDto" Id="Id"
|
||
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>
|
||
}
|
||
|
||
@code {
|
||
[Parameter] public int ScheduleOrderId { get; set; }
|
||
|
||
private bool _isVisible;
|
||
|
||
private IEnumerable<ScheduleOrderDetailDto>? _scheduleOrderDetails;
|
||
private IEnumerable<ScheduleOrderDetailDetailDto>? _scheduleOrderDetailsDetails;
|
||
|
||
protected override async Task OnInitializedAsync()
|
||
{
|
||
_scheduleOrderDetails = await ScheduleOrderDetailsService.GetScheduleOrderDetails(ScheduleOrderId) ?? new List<ScheduleOrderDetailDto>();
|
||
StateHasChanged();
|
||
}
|
||
|
||
private void OnSelectedLineRow(RowSelectEventArgs<ScheduleOrderDetailDto> obj)
|
||
{
|
||
ScheduleOrderDetailDto? scheduleOrderDetail = obj.Data;
|
||
|
||
SelectOrderDetail(scheduleOrderDetail);
|
||
}
|
||
|
||
private void SelectOrderDetail(ScheduleOrderDetailDto? scheduleOrderDetail)
|
||
{
|
||
_isVisible = scheduleOrderDetail != null;
|
||
|
||
if (scheduleOrderDetail == null) return;
|
||
|
||
_scheduleOrderDetailsDetails = scheduleOrderDetail.ScheduleOrderDetailDetails.ToList();
|
||
}
|
||
|
||
private void OnDetailsExpanding(DetailsExpandingEventArgs<ScheduleOrderDetailDto> obj)
|
||
{
|
||
ScheduleOrderDetailDto? scheduleOrderDetail = obj.Data;
|
||
|
||
SelectOrderDetail(scheduleOrderDetail);
|
||
}
|
||
|
||
}
|