* Changed ScheduleOrders and CustomerOrders from Blazor.Bootstrap to Syncfusion
This commit is contained in:
@@ -1,137 +1,125 @@
|
||||
@page "/ScheduleOrder/{ScheduleOrderId:int}"
|
||||
|
||||
@using Syncfusion.Blazor.Grids
|
||||
@using Syncfusion.Blazor.Lists
|
||||
@inject ScheduleOrderDetailsService ScheduleOrderDetailsService
|
||||
|
||||
<div class="row">
|
||||
<h3>Indeksy</h3>
|
||||
</div>
|
||||
<div class="row">
|
||||
<Grid @ref="_grid"
|
||||
TItem="ScheduleOrderDetailDto"
|
||||
Class="table table-hover table-bordered table-striped"
|
||||
DataProvider="ScheduleOrderDetailsDataProvider"
|
||||
AllowFiltering="true"
|
||||
Responsive="true"
|
||||
AllowPaging="true"
|
||||
PageSize="20"
|
||||
AllowSelection="true"
|
||||
AllowRowClick="true"
|
||||
SelectionMode="GridSelectionMode.Single"
|
||||
SelectedItemsChanged="SelectedItemChanged">
|
||||
<GridColumns>
|
||||
<GridColumn TItem="ScheduleOrderDetailDto" HeaderText="Pozycja"
|
||||
PropertyName="SalesChannelProductCode">
|
||||
@context.Sc_productCode
|
||||
</GridColumn>
|
||||
<GridColumn TItem="ScheduleOrderDetailDto" HeaderText="Pozycja Klienta"
|
||||
PropertyName="ShipperProductCode">
|
||||
@context.Sh_productCode
|
||||
</GridColumn>
|
||||
<GridColumn TItem="ScheduleOrderDetailDto" HeaderText="Cena" PropertyName="Price">
|
||||
@context.Price
|
||||
</GridColumn>
|
||||
</GridColumns>
|
||||
</Grid>
|
||||
</div>
|
||||
<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>
|
||||
<GridColumn Field=@nameof(ScheduleOrderDetailDto.Price) TextAlign="TextAlign.Right" HeaderText="Cena"
|
||||
Width="50"></GridColumn>
|
||||
</GridColumns>
|
||||
<GridFilterSettings Type="FilterType.Excel"/>
|
||||
<GridPageSettings PageSize="10"/>
|
||||
<GridSelectionSettings Mode="SelectionMode.Row" Type="SelectionType.Single"/>
|
||||
<GridEvents TValue="ScheduleOrderDetailDto" RowSelected="OnSelectedLineRow"></GridEvents>
|
||||
</SfGrid>
|
||||
@if (_isVisible)
|
||||
{
|
||||
<div class="row">
|
||||
<h2>Dodatkowe informacje</h2>
|
||||
</div>
|
||||
<div class="row">
|
||||
<SortableList TItem="ScheduleOrderDetailMiscDto" Data="_scheduleOrderDetailMiscs">
|
||||
<ItemTemplate>
|
||||
<u>@context.Label:</u> <b>@context.Value</b>
|
||||
</ItemTemplate>
|
||||
</SortableList>
|
||||
</div>
|
||||
<br/>
|
||||
<div class="row">
|
||||
<h3>Harmonogramy</h3>
|
||||
</div>
|
||||
<div class="row">
|
||||
<Grid @ref="_detailDetailsGrid"
|
||||
TItem="ScheduleOrderDetailDetailDto"
|
||||
Data="_scheduleOrderDetailsDetails"
|
||||
Class="table table-hover table-bordered table-striped"
|
||||
AllowFiltering="true"
|
||||
Responsive="true"
|
||||
AllowPaging="true"
|
||||
PageSize="20"
|
||||
AllowSelection="true"
|
||||
SelectionMode="GridSelectionMode.Single"
|
||||
SelectedItemsChanged="SelectedDetailDetailChanged">
|
||||
|
||||
<GridColumns>
|
||||
<GridColumn TItem="ScheduleOrderDetailDetailDto" HeaderText="Id" PropertyName="Id">
|
||||
@context.ID
|
||||
</GridColumn>
|
||||
<GridColumn TItem="ScheduleOrderDetailDetailDto" HeaderText="Data Od" PropertyName="DateFrom">
|
||||
@context.DateFrom.ToString("dd.MM.yyyy")
|
||||
</GridColumn>
|
||||
<GridColumn TItem="ScheduleOrderDetailDetailDto" HeaderText="Data Do" PropertyName="DateTo">
|
||||
@context.DateTo.ToString("dd.MM.yyyy")
|
||||
</GridColumn>
|
||||
<GridColumn TItem="ScheduleOrderDetailDetailDto" HeaderText="Ilość Sztuk" PropertyName="Qty">
|
||||
@context.Qty
|
||||
</GridColumn>
|
||||
<GridColumn TItem="ScheduleOrderDetailDetailDto" HeaderText="Typ Qty" PropertyName="QtyType">
|
||||
@context.QtyType
|
||||
</GridColumn>
|
||||
<GridColumn TItem="ScheduleOrderDetailDetailDto" HeaderText="Opis Typu" PropertyName="QtyDesc">
|
||||
@context.QtyDesc
|
||||
</GridColumn>
|
||||
</GridColumns>
|
||||
</Grid>
|
||||
</div>
|
||||
}
|
||||
@if (_isVisibleDetailDetail)
|
||||
{
|
||||
<div class="row">
|
||||
<h2>Dodatkowe informacje</h2>
|
||||
</div>
|
||||
<div class="row">
|
||||
<SortableList TItem="ScheduleOrderDetailDetailMiscDto" Data="_scheduleOrderDetailDetailMiscs">
|
||||
<ItemTemplate>
|
||||
<u>@context.Label:</u> <b>@context.Value</b>
|
||||
</ItemTemplate>
|
||||
</SortableList>
|
||||
</div>
|
||||
<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 bool _isVisibleDetailDetail;
|
||||
|
||||
Grid<ScheduleOrderDetailDto>? _grid;
|
||||
Grid<ScheduleOrderDetailDetailDto>? _detailDetailsGrid;
|
||||
private bool _isVisible;
|
||||
|
||||
private IEnumerable<ScheduleOrderDetailDto>? _scheduleOrderDetails;
|
||||
private IEnumerable<ScheduleOrderDetailDetailDto>? _scheduleOrderDetailsDetails;
|
||||
|
||||
private List<ScheduleOrderDetailMiscDto>? _scheduleOrderDetailMiscs;
|
||||
private List<ScheduleOrderDetailDetailMiscDto>? _scheduleOrderDetailDetailMiscs;
|
||||
|
||||
private async Task<GridDataProviderResult<ScheduleOrderDetailDto>> ScheduleOrderDetailsDataProvider(GridDataProviderRequest<ScheduleOrderDetailDto> request)
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
_scheduleOrderDetails = await ScheduleOrderDetailsService.GetScheduleOrderDetails(ScheduleOrderId) ?? new List<ScheduleOrderDetailDto>();
|
||||
StateHasChanged();
|
||||
|
||||
return await Task.FromResult(request.ApplyTo(_scheduleOrderDetails));
|
||||
}
|
||||
|
||||
private void SelectedItemChanged(HashSet<ScheduleOrderDetailDto> obj)
|
||||
private void OnSelectedLineRow<TValue>(RowSelectEventArgs<TValue> obj)
|
||||
{
|
||||
_isVisible = obj.Any();
|
||||
_scheduleOrderDetailMiscs = obj.FirstOrDefault()?.ScheduleOrderDetailMiscs.ToList();
|
||||
_scheduleOrderDetailsDetails = obj.FirstOrDefault()?.ScheduleOrderDetailDetails.ToList();
|
||||
}
|
||||
ScheduleOrderDetailDto? scheduleOrderDetail = obj.Data as ScheduleOrderDetailDto;
|
||||
|
||||
private void SelectedDetailDetailChanged(HashSet<ScheduleOrderDetailDetailDto> obj)
|
||||
{
|
||||
_isVisibleDetailDetail = obj.Any();
|
||||
_scheduleOrderDetailDetailMiscs = obj.FirstOrDefault()?.ScheduleOrderDetailDetailMiscs.ToList();
|
||||
_isVisible = scheduleOrderDetail != null;
|
||||
|
||||
if (scheduleOrderDetail == null) return;
|
||||
|
||||
_scheduleOrderDetailsDetails = scheduleOrderDetail.ScheduleOrderDetailDetails.ToList();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user