228 lines
11 KiB
Plaintext
228 lines
11 KiB
Plaintext
@if (RecordEdit != null)
|
|
{
|
|
<div class="modal fade show" tabindex="-1" style="display:block; background-color: rgba(10,10,10,.6);" aria-modal="true" role="dialog" data-keyboard="true">
|
|
<div class="modal-dialog modal-xl">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h4 class="modal-title">Modifica Fase <b>@RecordEdit.IdxFase</b></h4>
|
|
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close" @onclick=ForceReload></button>
|
|
</div>
|
|
<div class="modal-body p-1">
|
|
<FasiEdit CurrRecord=@RecordEdit EC_update=ForceReload ListTagFasi=@ListTagFasi></FasiEdit>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
}
|
|
<div class="card">
|
|
<div class="card-header @HeadCss">
|
|
<div class="d-flex justify-content-between">
|
|
@if (CanSelProj)
|
|
{
|
|
@if (!string.IsNullOrEmpty(Title))
|
|
{
|
|
<div class="ps-0 pe-2">
|
|
<h4>@Title</h4>
|
|
</div>
|
|
}
|
|
<div class="px-0">
|
|
<div class="px-0 d-flex">
|
|
<div class="px-0">
|
|
<div class="input-group">
|
|
<span class="input-group-text" title="Cliente">C</span>
|
|
<select @bind="@IdxCli" class="form-select form-select-sm" title="Cliente" @bind:after=SaveCli>
|
|
<option value="0">--- Selezionare ---</option>
|
|
@foreach (var item in ListClientiFilt)
|
|
{
|
|
<option value="@item.IdxCliente">@($"{item.RagSociale}")</option>
|
|
}
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="px-0">
|
|
|
|
<div class="input-group">
|
|
<span class="input-group-text" title="Progetto">P</span>
|
|
<select @bind="@IdxPrj" class="form-select form-select-sm" title="Progetto" @bind:after=SaveProj>
|
|
<option value="0">--- Selezionare ---</option>
|
|
@foreach (var item in ListProgettiFilt)
|
|
{
|
|
<option value="@item.IdxProgetto">@($"{item.NomeProj} | {item.DescrProj}")</option>
|
|
}
|
|
</select>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
}
|
|
else
|
|
{
|
|
<div class="px-0">
|
|
<h4>Dettaglio Fasi</h4>
|
|
</div>
|
|
<div class="px-0">
|
|
<div class="input-group">
|
|
<span class="input-group-text">Tag</span>
|
|
<select @bind="@NewCodTagFase" class="form-select form-select-sm" title="Tag">
|
|
<option value="">--- Selezionare ---</option>
|
|
@foreach (var item in ListTagFasi)
|
|
{
|
|
<option value="@item.CodTagFase">@($"[{item.CodTagFase}] {item.Descrizione}")</option>
|
|
}
|
|
</select>
|
|
<button class="btn btn-danger text-nowrap" @onclick=DoMassTagUpd>
|
|
<i class="fa-solid fa-circle-left"></i> Force SET All
|
|
</button>
|
|
</div>
|
|
</div>
|
|
}
|
|
</div>
|
|
</div>
|
|
<div class="card-body p-1">
|
|
@if (ListRecords == null || isLoading)
|
|
{
|
|
<EgwCoreLib.Razor.LoadingData></EgwCoreLib.Razor.LoadingData>
|
|
}
|
|
else if (totalCount == 0)
|
|
{
|
|
<div class="alert alert-info">Nessun record trovato</div>
|
|
}
|
|
else
|
|
{
|
|
<table class="table table-striped table-sm text-start small">
|
|
<thead>
|
|
<tr class="">
|
|
<th>
|
|
<button class="btn btn-primary btn-sm" @onclick="ForceReload"><i class="fa-solid fa-rotate"></i></button>
|
|
</th>
|
|
<th>Nome</th>
|
|
<th>Etichetta Fase</th>
|
|
<th>TT</th>
|
|
<th>MT</th>
|
|
<th>Ore/Budget</th>
|
|
<th>% Abil</th>
|
|
<th>Attivo</th>
|
|
@if (!CanSelProj)
|
|
{
|
|
<th class="text-end">
|
|
@if (ChkLicOk)
|
|
{
|
|
<button class="btn btn-success btn-sm" @onclick="() => AddFase(0)"><i class="fa-solid fa-plus"></i> Nuova Fase</button>
|
|
}
|
|
</th>
|
|
<th class="text-end" style="width: 3rem;"></th>
|
|
}
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
@foreach (var item in ListRecords)
|
|
{
|
|
<tr class="align-middle @CheckSel(item)">
|
|
<td>
|
|
@if (ShowSelect)
|
|
{
|
|
<button class="btn btn-info btn-sm" @onclick="() => DoSelect(item)"><i class="fa-solid fa-search"></i></button>
|
|
}
|
|
@if (RecordSel == null)
|
|
{
|
|
@if (!CanSelProj)
|
|
{
|
|
<button class="btn btn-primary btn-sm" @onclick="() => DoEdit(item)"><i class="fa-solid fa-edit"></i></button>
|
|
}
|
|
}
|
|
else
|
|
{
|
|
@if (!CanSelProj)
|
|
{
|
|
<button class="btn btn-secondary btn-sm" disabled><i class="fa-solid fa-edit"></i></button>
|
|
}
|
|
}
|
|
</td>
|
|
<td>
|
|
<div class="d-flex">
|
|
@if (item.IdxFaseAncest > 0)
|
|
{
|
|
<div class="px-2"><i class="fa-solid fa-ellipsis-vertical"></i></div>
|
|
}
|
|
<div class="px-2">
|
|
<b>@item.NomeFase</b>
|
|
<div class="small">@item.DescrizioneFase</div>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
<td>
|
|
@if (item.IdxFaseAncest > 0)
|
|
{
|
|
<select @bind="@item.CodTagFase" class="form-select form-select-sm" title="Cliente" disabled style="width: 12rem;">
|
|
<option value="0">--- Selezionare ---</option>
|
|
@foreach (var iTag in ListTagFasi)
|
|
{
|
|
<option value="@iTag.CodTagFase">@($"[{iTag.CodTagFase}] {iTag.Descrizione}")</option>
|
|
}
|
|
</select>
|
|
}
|
|
</td>
|
|
<td class="fs-4">
|
|
@if (item.EnableTime)
|
|
{
|
|
<i class="fa-solid fa-stopwatch text-primary"></i>
|
|
}
|
|
else
|
|
{
|
|
<i class="fa-solid fa-stopwatch text-secondary opacity-50"></i>
|
|
}
|
|
</td>
|
|
<td>
|
|
@if (item.EnableMoney)
|
|
{
|
|
<i class="fa-solid fa-money-bills text-primary"></i>
|
|
}
|
|
else
|
|
{
|
|
<i class="fa-solid fa-money-bills text-secondary opacity-50"></i>
|
|
}
|
|
</td>
|
|
<td>
|
|
@if (item.BudgetTime > 0)
|
|
{
|
|
<div class="text-center py-1 @ColorByVal(item.TotOre, item.BudgetTime)">
|
|
<b>@($"{item.TotOre:N2}")</b> / @($"{item.BudgetTime:N0}")
|
|
</div>
|
|
}
|
|
</td>
|
|
<td>
|
|
@if (item.IdxFaseAncest == 0)
|
|
{
|
|
@($"{item.PercOpen:P0}")
|
|
}
|
|
</td>
|
|
<td>
|
|
<div class="form-check">
|
|
<input class="form-check-input" disabled type="checkbox" @bind="@item.Attivo">
|
|
</div>
|
|
</td>
|
|
@if (!CanSelProj)
|
|
{
|
|
<td class="text-end">
|
|
@if (item.IdxFaseAncest == 0 && EnableAddFasi && ChkLicOk)
|
|
{
|
|
<button class="btn btn-primary btn-sm" @onclick="() => AddFase(item.IdxFase)"><i class="fa-solid fa-plus"></i> Nuova Sottofase</button>
|
|
}
|
|
</td>
|
|
<td class="text-end">
|
|
@if (DelEnabled(item.TotOre, item.IdxFase, item.IdxFaseAncest) && ChkLicOk)
|
|
{
|
|
<button class="btn btn-danger btn-sm" @onclick="() => DoDelete(item)"><i class="fa-solid fa-trash"></i></button>
|
|
}
|
|
</td>
|
|
}
|
|
</tr>
|
|
}
|
|
</tbody>
|
|
</table>
|
|
}
|
|
</div>
|
|
</div>
|
|
|
|
|