87 lines
3.4 KiB
Plaintext
87 lines
3.4 KiB
Plaintext
@using EgwCoreLib.Lux.Data.DbModel.Sales
|
|
@using WebWindowComplex.Compo
|
|
|
|
@* <ul class="list-group mb-2 shadow">
|
|
<li class="list-group-item @currCss d-flex justify-content-between align-items-center">
|
|
<div class="px-0 fw-bold">@CurrPOR.OrderRowUID <button class="btn btn-info btn-sm" @onclick="ToggleDetail"><i class="fa-solid @CssDetail"></i></button></div>
|
|
<div class="px-0">
|
|
@if (balEnabled)
|
|
{
|
|
<button class="btn btn-sm btn-dark" @onclick="() => DoBalance(CurrPOR.OrderRowID)" title="Invia a Stima"><i class="fa-solid fa-angles-right"></i></button>
|
|
}
|
|
else
|
|
{
|
|
<button class="btn btn-sm btn-secondary disabled" title="Invia a Stima"><i class="fa-solid fa-angles-right"></i></button>
|
|
}
|
|
</div>
|
|
</li>
|
|
@if (ShowDetail)
|
|
{
|
|
<li class="list-group-item d-flex justify-content-between align-items-center small">
|
|
<div class="px-0" title="# pezzi totale"><i class="fa-solid fa-folder-tree"></i> @CurrPOR.ProdItemQtyTot Parts</div>
|
|
<div class="px-0" title="Tempo massimo stimato">Time <i class="fa-solid fa-clock"></i> @FormatEstTime(CurrPOR.ProdEstimTime)</div>
|
|
</li>
|
|
}
|
|
</ul> *@
|
|
|
|
<div class="card mb-1 shadow">
|
|
<div class="card-header py-1">
|
|
<div class="@currCss d-flex justify-content-between align-items-center">
|
|
<div class="px-0 fw-bold">@CurrPOR.OrderRowUID <button class="btn btn-info btn-sm" @onclick="ToggleDetail"><i class="fa-solid @CssDetail"></i></button></div>
|
|
<div class="px-0">
|
|
@if (balEnabled)
|
|
{
|
|
<button class="btn btn-sm btn-dark" @onclick="() => DoBalance(CurrPOR.OrderRowID)" title="Invia a Stima"><i class="fa-solid fa-angles-right"></i></button>
|
|
}
|
|
else
|
|
{
|
|
<button class="btn btn-sm btn-secondary disabled" title="Invia a Stima"><i class="fa-solid fa-angles-right"></i></button>
|
|
}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@if (ShowDetail)
|
|
{
|
|
<div class="card-body py-1">
|
|
<div class="list-group-item d-flex justify-content-between align-items-center small">
|
|
<div class="px-0" title="# pezzi totale"><i class="fa-solid fa-folder-tree"></i> @CurrPOR.ProdItemQtyTot Parts</div>
|
|
<div class="px-0" title="Tempo massimo stimato">Time <i class="fa-solid fa-clock"></i> @FormatEstTime(CurrPOR.ProdEstimTime)</div>
|
|
</div>
|
|
</div>
|
|
}
|
|
</div>
|
|
|
|
|
|
@code {
|
|
[Parameter]
|
|
public OrderRowModel CurrPOR { get; set; } = null!;
|
|
|
|
[Parameter]
|
|
public bool ShowDetail { get; set; } = false;
|
|
|
|
private string CssDetail => ShowDetail ? "fa-chevron-up" : "fa-chevron-down";
|
|
|
|
private void ToggleDetail()
|
|
{
|
|
ShowDetail = !ShowDetail;
|
|
}
|
|
|
|
protected string currCss => CurrPOR.OrderRowState == Enums.OrderStates.Estimated ? "active" : "list-group-item-primary";
|
|
protected bool balEnabled => CurrPOR.OrderRowState == Enums.OrderStates.Estimated;
|
|
|
|
[Parameter]
|
|
public EventCallback<int> EC_DoBalance { get; set; }
|
|
|
|
protected async Task DoBalance(int OrderRowID)
|
|
{
|
|
await EC_DoBalance.InvokeAsync(OrderRowID);
|
|
}
|
|
|
|
protected string FormatEstTime(decimal totSeconds)
|
|
{
|
|
var tSpan = TimeSpan.FromSeconds((double)totSeconds);
|
|
string answ = EgwCoreLib.Lux.Core.DateTimeUtils.FormatDateTime(tSpan);
|
|
return answ;
|
|
}
|
|
}
|