Files
lux/Lux.UI/Components/Compo/Common/EditBom.razor
T
2026-03-24 16:34:48 +01:00

160 lines
7.2 KiB
Plaintext

@if (isLoading)
{
<LoadingData></LoadingData>
}
else
{
@if (MassEdit)
{
<div class="row">
<div class="col-md-2">
<div class="form-floating">
<input type="text" class="form-control form-control-lg text-end" @bind="@defUM">
<label class="small bg-opacity-50">UM</label>
</div>
</div>
<div class="col-md-2">
<div class="form-floating">
<InputDouble CssClass="form-control form-control-lg text-end" Decimals="2" @bind-Value="@totCost"></InputDouble>
<label class="small bg-opacity-50">Tot. Cost</label>
</div>
</div>
<div class="col-md-2">
<div class="form-floating">
<InputPercent CssClass="form-control form-control-lg text-end" ForceInvariantParsing="true" Decimals="1" @bind-Value="@defMargin"></InputPercent>
<label class="small bg-opacity-50">Margin</label>
</div>
</div>
<div class="col-md-2">
<div class="form-floating">
<input type="number" class="form-control form-control-lg text-end" @bind="@defQtyMax">
<label class="small bg-opacity-50">Qty Max</label>
</div>
</div>
<div class="col-md-2">
<div class="form-floating">
<input type="number" class="form-control form-control-lg text-end" @bind="@defRound">
<label class="small bg-opacity-50">Round</label>
</div>
</div>
<div class="col-md-2">
@if (showMassEditSave)
{
<button class="btn btn-lg btn-success w-100" @onclick="ForceItemPrice">Save <i class="fa-solid fa-cloud-arrow-up"></i></button>
}
else
{
<button class="btn btn-lg btn-secondary w-100" disabled>Save <i class="fa-solid fa-cloud-arrow-up"></i></button>
}
</div>
</div>
}
<table class="table table-sm table-striped">
<thead>
<tr class="table-dark">
<td>
@if (MassEdit)
{
<div class="form-check form-switch">
<input class="form-check-input" type="checkbox" role="switch" title="Seleziona/Deseleziona tutti" @bind="SelAll">
</div>
}
</td>
<td class="text-center"><i class="fa-solid fa-repeat"></i></td>
<td>Class</td>
<td>Descrizione</td>
@* <td>Cod</td> *@
@if (ShowVolume)
{
<td class="text-end">Vol</td>
}
<td class="text-end"># Item</td>
<td class="text-end">Mat. Qty</td>
<td class="text-end">UnitPrice</td>
<td class="text-end">Importo</td>
</tr>
</thead>
<tbody>
@foreach (var item in bomPaged)
{
@if (EditRecord != null && item.numRow == EditRecord.numRow)
{
<tr class="table-info">
<td>@(item.numRow)</td>
<td colspan="3">
<div class="input-group">
<button class="btn btn-sm btn-warning" title="Effettua Cambio" @onclick="() => DoCancel()"><i class="fa-solid fa-ban"></i></button>
<select @bind="@EditRecord.ItemID" class="form-select">
@foreach (var itemAlt in ListItemAlt)
{
<option value="@itemAlt.ItemID">@itemAlt.Description | @($"{itemAlt.Cost:C2}")</option>
}
</select>
<button class="btn btn-sm btn-success" title="Effettua Cambio" @onclick="() => DoSave()"><i class="fa-solid fa-check"></i></button>
</div>
</td>
@if (ShowVolume)
{
<td class="text-end">@($"{item.Volume:N3}")</td>
}
<td class="text-end">@($"{item.ItemQty:N0}")</td>
<td class="text-end">@($"{item.Qty:N3}")</td>
<td class="text-end">@($"{item.PriceEff:C2}")</td>
<td class="text-end">@($"{item.TotalCost:C2}")</td>
</tr>
}
else
{
<tr>
<td>
@(item.numRow)
@if (MassEdit)
{
<input class="form-check-input" type="checkbox" role="switch" title="Seleziona per Mass Update" @bind="item.isSelected">
}
</td>
<td class="text-center">
@if (item.Price == 0)
{
<button class="btn btn-sm btn-primary" title="Effettua Cambio" @onclick="() => DoEdit(item)"><i class="fa-solid fa-arrow-right-arrow-left"></i></button>
}
</td>
<td>@item.ClassCode</td>
<td>@item.ItemCode</td>
@* <td>@item.Value.DescriptionCode</td> *@
@if (ShowVolume)
{
<td class="text-end">@($"{item.Volume:N3}")</td>
}
<td class="text-end">@($"{item.ItemQty:N0}")</td>
<td class="text-end">@($"{item.Qty:N3}")</td>
<td class="text-end">@($"{item.PriceEff:C2}")</td>
<td class="text-end">@($"{item.TotalCost:C2}")</td>
</tr>
}
}
</tbody>
<tfoot>
@{
int numCol = ShowVolume ? 9 : 8;
<tr class="table-primary">
<td colspan="4" class="text-start"><b>@BomList.Count</b> materiali</td>
@if (ShowVolume)
{
<td class="text-end">@($"{VolTotale:N3}")</td>
}
<td class="text-end">@($"{TotItemQty:N0}")</td>
<td class="text-end">@($"{QtyTotale:N3}")</td>
<td class="text-end">tot:</td>
<td class="text-end fw-bold">@($"{ImportoTotale:C2}")</td>
</tr>
<tr>
<td colspan="@numCol">
<EgwCoreLib.Razor.DataPager currPage="@currPage" PageSize="@numRecord" totalCount="@totalCount" numPageChanged="SavePage" numRecordChanged="SaveNumRec"></EgwCoreLib.Razor.DataPager>
</td>
</tr>
}
</tfoot>
</table>
}