Files

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>