166 lines
7.8 KiB
Plaintext
166 lines
7.8 KiB
Plaintext
@page "/MeasuringOut"
|
|
@using AyCode.Utils.Extensions
|
|
@using FruitBank.Common
|
|
@using FruitBank.Common.Dtos
|
|
@using FruitBank.Common.Entities
|
|
@using FruitBank.Common.SignalRs
|
|
@using FruitBankHybrid.Shared.Components
|
|
@using FruitBankHybrid.Shared.Services
|
|
@using Nop.Core.Domain.Orders
|
|
<h3>Kimenő mérés</h3>
|
|
|
|
|
|
<div style="margin-top: 50px;">
|
|
<DxFormLayout CaptionPosition="CaptionPosition.Vertical" CssClass="w-100">
|
|
<DxFormLayoutItem Caption="Átvétel dátuma" ColSpanMd="2"
|
|
CaptionCssClass="@(SelectedOrder != null && _measuringDates.Where(x => MeasuringService.DaysEqual(x.DateTime, SelectedOrder.DateOfReceiptOrCreated)).All(x => x.IsMeasured) ? "text-success" : "")">
|
|
<DxDateEdit CssClass="cw-320"
|
|
DisplayFormat="m"
|
|
Format="m"
|
|
Context="ctxOrderDate"
|
|
Date="@(SelectedOrder?.DateOfReceiptOrCreated.Date ?? DateTime.Now.Date)"
|
|
CustomDisabledDate="@OnCustomDisabledMeasuringDate"
|
|
DateChanged="@((DateTime newValue) => OnMeasuringDateChanged(newValue))"
|
|
InputId="deDisabledDates">
|
|
<DayCellTemplate>
|
|
@{
|
|
var cssClass = GetMeasuringDateCssClassNames(ctxOrderDate);
|
|
if (!cssClass.IsNullOrWhiteSpace())
|
|
{
|
|
<a class="@GetMeasuringDateCssClassNames(ctxOrderDate)">@ctxOrderDate.Day.ToString()</a>
|
|
}
|
|
else
|
|
{
|
|
<a>@ctxOrderDate.Day.ToString()</a>
|
|
}
|
|
}
|
|
|
|
</DayCellTemplate>
|
|
</DxDateEdit>
|
|
</DxFormLayoutItem>
|
|
|
|
<DxFormLayoutItem Caption="Átvétel időpontja:" ColSpanMd="3" CaptionCssClass="@(SelectedOrder?.IsMeasured == true ? "text-success" : "")">
|
|
<DxComboBox Data="@SelectedDayOrders"
|
|
@bind-Value="@SelectedOrder"
|
|
Text="Válasszon időpontot..."
|
|
ValueFieldName="@nameof(OrderDto.Id)"
|
|
TextFieldName="@nameof(OrderDto.TimeOfReceiptText)"
|
|
CssClass="cw-480"
|
|
Context="ctxOrder"
|
|
DropDownBodyCssClass="dd-body-class"
|
|
SelectedDataItemChanged="@((SelectedDataItemChangedEventArgs<OrderDto> args) => OnSelectedOrderChanged(args))"
|
|
InputId="cbOrders">
|
|
<ItemDisplayTemplate>
|
|
<span class="@(ctxOrder.DataItem.IsMeasured ? "text-success" : "")">@ctxOrder.DisplayText</span>
|
|
</ItemDisplayTemplate>
|
|
</DxComboBox>
|
|
</DxFormLayoutItem>
|
|
|
|
<DxFormLayoutItem ColSpanMd="1"></DxFormLayoutItem>
|
|
@if (SelectedOrder != null && LoggedInModel.IsLoggedIn && LoggedInModel.CustomerRoles.Any(x => x.SystemName.ToLowerInvariant() == "measuringrevisor"))
|
|
{
|
|
var isCompleteOrder = SelectedOrder.OrderStatus == OrderStatus.Complete;
|
|
|
|
<DxFormLayoutItem Caption="Revizor:" ColSpanMd="3" CaptionCssClass="@(isCompleteOrder ? "text-success" : "")">
|
|
<DxButton Text="@(isCompleteOrder ? "Jóváhagyva" : "Mérés jóváhagyása")" Enabled="@(!isCompleteOrder && SelectedOrder.IsMeasured)" CssClass="w-100"
|
|
Click="() => OnMeasuringAuditorClick()"/>
|
|
</DxFormLayoutItem>
|
|
}
|
|
</DxFormLayout>
|
|
|
|
<div style="margin-top: 50px;">
|
|
<DxAccordion Data="@SelectedOrder?.OrderItemDtos"
|
|
ExpandMode="AccordionExpandMode.SingleOrNone"
|
|
ExpandCollapseAction="AccordionExpandCollapseAction.ExpandButtonClick"
|
|
AnimationType="LayoutAnimationType.Slide">
|
|
<DataMappings>
|
|
<DxAccordionDataMapping Text="ProductName"></DxAccordionDataMapping>
|
|
@* <DxAccordionDataMapping Text="OrderItemId" Level="1"></DxAccordionDataMapping> *@
|
|
</DataMappings>
|
|
<ItemHeaderTextTemplate>
|
|
@{
|
|
if (context.Level == 0)
|
|
{
|
|
var cssClass = "text-danger";
|
|
|
|
var selectedOrderItemDto = (OrderItemDto)(context.DataItem);
|
|
var trayQuantity = selectedOrderItemDto.TrayQuantity; //selectedOrderItemDto.OrderItemPallets.Where(x => x.IsMeasured).Sum(x => x.TrayQuantity);
|
|
|
|
var isValid = selectedOrderItemDto.IsValidMeasuringValues();
|
|
var isValidAndMeasured = isValid && selectedOrderItemDto.IsMeasuredAndValid();// && selectedOrderItemDto.;
|
|
|
|
if (isValidAndMeasured) cssClass = "text-success";
|
|
else if (isValid) cssClass = string.Empty;
|
|
|
|
<h5 class="@cssClass">@($"{selectedOrderItemDto.ProductName} - {trayQuantity}/{selectedOrderItemDto.Quantity} rekesz, {(selectedOrderItemDto.IsMeasurable ? "net súly: " + selectedOrderItemDto.NetWeight + "kg." : "nem mérendő!")}")</h5>
|
|
}
|
|
}
|
|
</ItemHeaderTextTemplate>
|
|
<ItemContentTemplate>
|
|
@{
|
|
if (context.Level == 0)
|
|
{
|
|
//var orderItemPallet = ((OrderItemPallet)(context.DataItem));
|
|
//text = ((OrderItemPallet)(context.DataItem)).OrderItemId.ToString() + " dfgdfsg";
|
|
//var selectedOrderItemDto = SelectedOrder!.OrderItemDtos.First(x => x.Id == orderItemPallet.OrderItemId);
|
|
var selectedOrderItemDto = (OrderItemDto)(context.DataItem);
|
|
<DxFormLayout Context="ctxFormLayout" Data="@selectedOrderItemDto" CaptionPosition="CaptionPosition.Vertical" CssClass="w-100">
|
|
<DxFormLayoutItem Context="ctxFormLayoutItem" ColSpanMd="12">
|
|
@for (var index = 0; index < (selectedOrderItemDto?.OrderItemPallets?.Count ?? 0); index++)
|
|
{
|
|
var localI = index + 1;
|
|
var currentOrderItemPallet = selectedOrderItemDto!.OrderItemPallets![index];
|
|
|
|
<PalletItemComponent IsMeasurable="@selectedOrderItemDto.IsMeasurable"
|
|
MeasuringIndex="@localI"
|
|
PalletItem="@currentOrderItemPallet"
|
|
ProductId="@selectedOrderItemDto.ProductId"
|
|
AddOrUpdateSignalRTag="SignalRTags.AddOrUpdateMeasuredOrderItemPallet"
|
|
OnPalletItemSaved="pallet => OnOrderItemPalletSaved(pallet, selectedOrderItemDto)"
|
|
OnPalletItemValueChanged="pallet => OnOrderItemPalletValueChanged(pallet, selectedOrderItemDto)">
|
|
</PalletItemComponent>
|
|
}
|
|
</DxFormLayoutItem>
|
|
|
|
<DxFormLayoutItem Context="ctxFromLayoutNewPallet" ColSpanMd="2" BeginRow="true">
|
|
<DxButton Text="Új mérés" Click="() => AddNewPalletItemClick(selectedOrderItemDto)" CssClass="w-100"
|
|
Enabled="@(selectedOrderItemDto.OrderItemPallets[^1].Id > 0)" />
|
|
</DxFormLayoutItem>
|
|
<DxFormLayoutItem Context="ctxFromLayoutNewPallet" ColSpanMd="2">
|
|
<DxButton Text="Utolsó mérés törlése" Click="() => LastPalletItemDeleteClick(selectedOrderItemDto)" CssClass="w-100"
|
|
Enabled="@(selectedOrderItemDto.OrderItemPallets.Count > 1 && selectedOrderItemDto.OrderItemPallets[^1].Id <= 0)" />
|
|
</DxFormLayoutItem>
|
|
<DxFormLayoutItem Context="ctxFromLayoutNewPallet" ColSpanMd="6" />
|
|
|
|
<DxFormLayoutItem Context="vfdfgfd" ColSpanMd="12" BeginRow="true">
|
|
<DxFormLayout CssClass="w-100" Context="dfcadsc">
|
|
<DxFormLayoutItem Context="dfcadsc2" ColSpanMd="1" BeginRow="false"><strong>TOTAL:</strong></DxFormLayoutItem>
|
|
<DxFormLayoutItem Context="dfcadsc2" ColSpanMd="2" BeginRow="false" />
|
|
<DxFormLayoutItem Context="dfcadsc2" ColSpanMd="2" BeginRow="false" />
|
|
<DxFormLayoutItem Context="dfcadsc2" ColSpanMd="1" BeginRow="false" />
|
|
<DxFormLayoutItem Context="dfcadsc2" ColSpanMd="2" BeginRow="false"><strong>@(selectedOrderItemDto.TrayQuantity) db</strong></DxFormLayoutItem>
|
|
<DxFormLayoutItem Context="dfcadsc2" ColSpanMd="2" BeginRow="false"><strong>@(selectedOrderItemDto.GrossWeight) kg</strong></DxFormLayoutItem>
|
|
<DxFormLayoutItem Context="dfcadsc2" ColSpanMd="1" BeginRow="false"><strong>@(selectedOrderItemDto.NetWeight) kg</strong></DxFormLayoutItem>
|
|
<DxFormLayoutItem Context="dfcadsc2" ColSpanMd="1" BeginRow="false" />
|
|
</DxFormLayout>
|
|
</DxFormLayoutItem>
|
|
|
|
@if (!_errorText.IsNullOrWhiteSpace())
|
|
{
|
|
<DxFormLayoutItem Context="ctxFromLayoutItemError" ColSpanMd="12" BeginRow="true">
|
|
<text>HIBA! @_errorText</text>
|
|
</DxFormLayoutItem>
|
|
//_errorText = string.Empty;
|
|
}
|
|
</DxFormLayout>
|
|
<div style="margin-bottom: 20px;"></div>
|
|
}
|
|
}
|
|
</ItemContentTemplate>
|
|
</DxAccordion>
|
|
</div>
|
|
</div>
|
|
|
|
@code {
|
|
|
|
} |