305 lines
14 KiB
Plaintext
305 lines
14 KiB
Plaintext
@inherits BaseComp
|
|
|
|
<div class="card shadow">
|
|
<div class="card-header bg-info bg-opacity-50 bg-gradient">
|
|
<div class="d-flex justify-content-between mb-2">
|
|
<div class="px-1 fs-3">
|
|
<b>@Traduci("risorsa_simulazCosti")</b>
|
|
</div>
|
|
<div class="px-1">
|
|
@if (isEditing)
|
|
{
|
|
<button class="btn btn-warning" @onclick="DoCancel">@Traduci("annulla") <i class="fa-solid fa-ban"></i></button>
|
|
}
|
|
else
|
|
{
|
|
<button class="btn btn-primary" @onclick="DoEdit">@Traduci("modifica") <i class="fa-solid fa-pencil"></i></button>
|
|
}
|
|
</div>
|
|
</div>
|
|
<div class="d-flex justify-content-between">
|
|
<div class="px-1">
|
|
<div class="input-group">
|
|
<span class="input-group-text" title="@CurrRecord.DriverNav.Descript">@Traduci("risorsa_driver")</span>
|
|
<input placeholder="Qty Driver" @bind="@DriverQty" class="form-control form-control-sm text-end w-auto" type="number" step="0.001" style="width:5rem;" />
|
|
<span class="input-group-text" title="@CurrRecord.DriverNav.Descript"><b>@CurrRecord.DriverNav.Name</b> (@CurrRecord.DriverNav.Unit)</span>
|
|
</div>
|
|
<small class="small text-secondary" title="Prezzo">@CurrRecord.DriverNav.Descript</small>
|
|
</div>
|
|
<div class="px-1 fs-3">
|
|
<div class="fw-bold" title="@Traduci("risorsa_prezzo")">
|
|
@($"{PriceCalc:C2}")
|
|
</div>
|
|
<div class="small text-secondary" title="@Traduci("risorsa_prezzo")">(@($"{CostCalc:C2}"))</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="card-body p-1">
|
|
<ul class="list-group">
|
|
<li class="list-group-item d-flex justify-content-between">
|
|
<div>
|
|
<div>@Traduci("cod")</div>
|
|
<small class="small text-secondary">
|
|
Codifica per ordine/gruppo
|
|
</small>
|
|
</div>
|
|
<div class="text-end">
|
|
<div class="fs-3">
|
|
@if (!isEditing)
|
|
{
|
|
<b>@CurrRecord.CodResource</b>
|
|
}
|
|
else
|
|
{
|
|
<div class="input-group">
|
|
<input class="form-control form-control-lg text-end w-auto" @bind="@CurrRecord.CodResource" type="text" />
|
|
<span class="input-group-text">#</span>
|
|
</div>
|
|
}
|
|
</div>
|
|
</div>
|
|
</li>
|
|
<li class="list-group-item d-flex justify-content-between">
|
|
<div>
|
|
<div>@Traduci("nome")</div>
|
|
<small class="small text-secondary">
|
|
Denominazione Risorsa
|
|
</small>
|
|
</div>
|
|
<div class="text-end">
|
|
<div class="fs-3">
|
|
@if (!isEditing)
|
|
{
|
|
<b>@CurrRecord.Name</b>
|
|
}
|
|
else
|
|
{
|
|
<div class="input-group">
|
|
<input class="form-control form-control-lg text-end w-auto" @bind="@CurrRecord.Name" type="text" />
|
|
<span class="input-group-text">#</span>
|
|
</div>
|
|
}
|
|
</div>
|
|
</div>
|
|
</li>
|
|
<li class="list-group-item d-flex justify-content-between">
|
|
<div>
|
|
<div>@Traduci("risorsa_driver")</div>
|
|
<small class="small text-secondary">
|
|
Driver di Costing
|
|
</small>
|
|
</div>
|
|
<div class="text-end">
|
|
<div class="fs-3">
|
|
@if (!isEditing)
|
|
{
|
|
<span><b>@CurrRecord.DriverNav.Name</b> (@CurrRecord.DriverNav.Unit)</span>
|
|
}
|
|
else
|
|
{
|
|
<select @bind="@CurrRecord.CostDriverID" class="form-select form-select-lg">
|
|
@foreach (var itemAlt in CostDriverList)
|
|
{
|
|
<option value="@itemAlt.CostDriverID">@itemAlt.Name (@itemAlt.Unit)</option>
|
|
}
|
|
</select>
|
|
}
|
|
</div>
|
|
<small class="small text-secondary">
|
|
@CurrRecord.DriverNav.Descript
|
|
</small>
|
|
</div>
|
|
</li>
|
|
<li class="list-group-item d-flex justify-content-between">
|
|
<div>
|
|
<div>Budget Value Driver</div>
|
|
<small class="small text-secondary">
|
|
Base unità di calcolo (es ore/periodo)
|
|
</small>
|
|
</div>
|
|
<div class="text-end">
|
|
<div class="fs-3">
|
|
@if (!isEditing)
|
|
{
|
|
<b>@($"{CurrRecord.CostDriverBudget:N2}")</b>
|
|
}
|
|
else
|
|
{
|
|
<div class="input-group">
|
|
<InputDecimal Decimals="3" Step="0.001M" CssClass="form-control form-control-lg text-end w-auto" @bind-Value="@CurrRecord.CostDriverBudget"></InputDecimal>
|
|
<span class="input-group-text">#</span>
|
|
</div>
|
|
}
|
|
</div>
|
|
</div>
|
|
</li>
|
|
<li class="list-group-item d-flex justify-content-between">
|
|
<div>
|
|
<div>@Traduci("risorsa_costiFissi")</div>
|
|
<small class="small text-secondary">
|
|
Costi Fissi nell'unità di riferimento (affitti, ammortamenti)
|
|
</small>
|
|
</div>
|
|
<div class="text-end">
|
|
<div class="fs-3">
|
|
@if (!isEditing)
|
|
{
|
|
<b>@($"{CurrRecord.FixedCost:C2}")</b>
|
|
}
|
|
else
|
|
{
|
|
<div class="input-group">
|
|
<InputDecimal Decimals="3" Step="0.001M" CssClass="form-control form-control-lg text-end w-auto" @bind-Value="@CurrRecord.FixedCost"></InputDecimal>
|
|
<span class="input-group-text">€</span>
|
|
</div>
|
|
}
|
|
</div>
|
|
</div>
|
|
</li>
|
|
<li class="list-group-item d-flex justify-content-between">
|
|
<div>
|
|
<div>@Traduci("risorsa_costiVariabili")</div>
|
|
<small class="small text-secondary">
|
|
Costi Variabili nell'unità di riferimento (energia, consumabili, no materie prime)
|
|
</small>
|
|
</div>
|
|
<div class="text-end">
|
|
<div class="fs-3">
|
|
@if (!isEditing)
|
|
{
|
|
<b>@($"{CurrRecord.VariableCost:C2}")</b>
|
|
}
|
|
else
|
|
{
|
|
<div class="input-group">
|
|
<InputDecimal Decimals="3" Step="0.001M" CssClass="form-control form-control-lg text-end w-auto" @bind-Value="@CurrRecord.VariableCost"></InputDecimal>
|
|
<span class="input-group-text">€</span>
|
|
</div>
|
|
}
|
|
</div>
|
|
</div>
|
|
</li>
|
|
<li class="list-group-item d-flex justify-content-between">
|
|
<div>
|
|
<div>@Traduci("risorsa_costoLavoro")</div>
|
|
<small class="small text-secondary">
|
|
Costi HR nell'unità di riferimento (diretti)
|
|
</small>
|
|
</div>
|
|
<div class="text-end">
|
|
<div class="fs-3">
|
|
@if (!isEditing)
|
|
{
|
|
<b>@($"{CurrRecord.LaborCost:C2}")</b>
|
|
}
|
|
else
|
|
{
|
|
<div class="input-group">
|
|
<InputDecimal Decimals="3" Step="0.001M" CssClass="form-control form-control-lg text-end w-auto" @bind-Value="@CurrRecord.LaborCost"></InputDecimal>
|
|
<span class="input-group-text">€</span>
|
|
</div>
|
|
}
|
|
</div>
|
|
</div>
|
|
</li>
|
|
<li class="list-group-item d-flex justify-content-between">
|
|
<div>
|
|
<div>@Traduci("risorsa_overhead")</div>
|
|
<small class="small text-secondary">
|
|
Costi OH nell'unità di riferimento (indiretti)
|
|
</small>
|
|
</div>
|
|
<div class="text-end">
|
|
<div class="fs-3">
|
|
@if (!isEditing)
|
|
{
|
|
<b>@($"{CurrRecord.OverHeadCost:C2}")</b>
|
|
}
|
|
else
|
|
{
|
|
<div class="input-group">
|
|
<InputDecimal Decimals="3" Step="0.001M" CssClass="form-control form-control-lg text-end w-auto" @bind-Value="@CurrRecord.OverHeadCost"></InputDecimal>
|
|
<span class="input-group-text">€</span>
|
|
</div>
|
|
}
|
|
</div>
|
|
</div>
|
|
</li>
|
|
<li class="list-group-item d-flex justify-content-between">
|
|
<div>
|
|
<div>@Traduci("risorsa_overhead") +%</div>
|
|
<small class="small text-secondary">
|
|
Maggiorazione Costi OH nell'unità di riferimento (indiretti)
|
|
</small>
|
|
</div>
|
|
<div class="text-end">
|
|
<div class="fs-3">
|
|
@if (!isEditing)
|
|
{
|
|
<b>@($"{CurrRecord.OverHeadPerc:P2}")</b>
|
|
}
|
|
else
|
|
{
|
|
<div class="input-group">
|
|
<InputPercent CssClass="form-control form-control-lg text-end" @bind-Value="@CurrRecord.OverHeadPerc"></InputPercent>
|
|
<span class="input-group-text">+</span>
|
|
</div>
|
|
}
|
|
</div>
|
|
</div>
|
|
</li>
|
|
<li class="list-group-item d-flex justify-content-between">
|
|
<div>
|
|
<div>EBT +%</div>
|
|
<small class="small text-secondary">
|
|
Maggiorazione Utili nell'unità di riferimento (indiretti)
|
|
</small>
|
|
</div>
|
|
<div class="text-end">
|
|
<div class="fs-3">
|
|
@if (!isEditing)
|
|
{
|
|
<b>@($"{CurrRecord.EBTPerc:P2}")</b>
|
|
}
|
|
else
|
|
{
|
|
<div class="input-group">
|
|
<InputPercent CssClass="form-control form-control-lg text-end" @bind-Value="@CurrRecord.EBTPerc"></InputPercent>
|
|
<span class="input-group-text">+</span>
|
|
</div>
|
|
}
|
|
</div>
|
|
</div>
|
|
</li>
|
|
<li class="list-group-item d-flex justify-content-between">
|
|
<div>
|
|
<div>@Traduci("margine") +%</div>
|
|
<small class="small text-secondary">
|
|
Margine Prezzo (scontabile) nell'unità di riferimento (indiretti)
|
|
</small>
|
|
</div>
|
|
<div class="text-end">
|
|
<div class="fs-3">
|
|
@if (!isEditing)
|
|
{
|
|
<b>@($"{CurrRecord.PriceMargin:P2}")</b>
|
|
}
|
|
else
|
|
{
|
|
<div class="input-group">
|
|
<InputPercent CssClass="form-control form-control-lg text-end" @bind-Value="@CurrRecord.PriceMargin"></InputPercent>
|
|
<span class="input-group-text">+</span>
|
|
</div>
|
|
}
|
|
</div>
|
|
</div>
|
|
</li>
|
|
@if (isEditing)
|
|
{
|
|
<li class="list-group-item d-flex justify-content-between">
|
|
<button class="btn btn-lg btn-success w-100" @onclick="DoSave">@Traduci("salva") <i class="fa-solid fa-floppy-disk"></i></button>
|
|
</li>
|
|
}
|
|
</ul>
|
|
</div>
|
|
</div> |