Files
Samuele Locatelli 790ea09c2e SPEC:
- fix displaygruppo in PODL
- rimosso edit, clona e delete da KIT
2025-06-10 12:37:50 +02:00

213 lines
12 KiB
Plaintext

@using MP.SPEC.Components
@using MP.SPEC.Components.ProdKit
@using MP.SPEC.Data
@if (ListRecords == null || isLoading)
{
<LoadingData></LoadingData>
}
else if (totalCount == 0)
{
<div class="alert alert-warning text-center display-4">Nessun record trovato</div>
}
else
{
<div class="row">
<div class="@mainCss">
@if (showKitDetail)
{
<KitDetailModal ListTK="@ListKitTemplate" ListPODL="@ListPOdlKit" EC_Close="() => KitToggleDetail(null)"></KitDetailModal>
}
<table class="table table-sm table-striped">
<thead>
<tr>
<th>
@if (currRecord != null)
{
<button @onclick="() => resetSel(true)" class="btn btn-primary btn-sm"><i class="bi bi-arrow-counterclockwise"></i></button>
}
</th>
<th>Cod</th>
<th><i class="fa-solid fa-file"></i> Articolo</th>
<th><i class="fa-solid fa-screwdriver-wrench"></i> Fase</th>
@if (!(showRecipeConf || showRecipeArch))
{
<th><i class="fa-solid fa-hard-drive"></i> Macchina</th>
<th><i class="fa-solid fa-circle-info"></i> Info ciclo</th>
<th title="Attivabile"><i class="fa-regular fa-square-check"></i> Att</th>
<th></th>
}
</tr>
</thead>
<tbody>
@foreach (var record in ListRecords)
{
<tr class="@checkSelect(@record)">
<td class="text-nowrap" style="width: 8rem;">
@if (!(showRecipeConf || showRecipeArch))
{
<button @onclick="() => selRecord(record)" class="btn btn-primary btn-sm mx-0" title="Dettaglio Record"><i class="bi bi-check2"></i></button>
@if (!record.IsKit)
{
<button @onclick="() => cloneRecord(record)" class="btn btn-info btn-sm mx-0" title="Duplica Record"><i class="bi bi-clipboard-check"></i></button>
}
else
{
<button class="btn btn-secondary opacity-50 btn-sm mx-0 disabled" title="Duplica KIT disabilitata" disabled><i class="bi bi-clipboard-check"></i></button>
}
@if (record.IdxOdl == 0)
{
@if (!record.IsKit)
{
<button @onclick="() => editRecord(record)" class="btn btn-primary btn-sm mx-1" title="Modifica Record"><i class="bi bi-pencil-square"></i></button>
}
else
{
<button class="btn btn-secondary opacity-50 btn-sm mx-1 disabled" title="Modifica KIT disabilitata"><i class="bi bi-pencil-square"></i></button>
}
@if (enableStartPODL)
{
@if (canStartOdl(record.IdxMacchina))
{
<button @onclick="() => startOdl(record)" class="btn btn-success btn-sm mx-1" title="Avvia PODL">
<i class="far fa-play-circle"></i>
</button>
}
else
{
<button class="btn btn-secondary btn-sm disabled mx-1" title="ODL ancora in corso">
<i class="far fa-play-circle"></i>
</button>
}
}
else
{
<button class="btn btn-secondary btn-sm disabled mx-1" title="Avvio PODL non permesso">
<i class="far fa-play-circle"></i>
</button>
}
}
}
@if (MachineWithRecipe)
{
@if (machineHasRecipeConf(record.IdxMacchina))
{
<button class="btn btn-dark btn-sm mx-0" title="Gestione Ricetta" @onclick="() => doShowRecipeConf(record)">
<i class="fa-solid fa-flask"></i>
</button>
}
else if (machineHasRecipeArch(record.IdxMacchina))
{
<button class="btn btn-primary btn-sm mx-0" title="Gestione Ricetta" @onclick="() => doShowRecipeArch(record)">
<i class="fa-solid fa-flask"></i>
</button>
}
}
</td>
<td>
<div class="small" style="width:7rem;">
<div class="d-flex justify-content-between">
<div class="px-0">
<b>PODL</b>
</div>
<div class="px-0">
@($"{record.IdxPromessa.ToString(padCodXdl)}")
</div>
</div>
@if (record.IdxOdl > 0)
{
<div class="d-flex justify-content-between">
<div class="px-0">
<b>ODL</b>
</div>
<div class="px-0">
@($"{record.IdxOdl.ToString(padCodXdl)}")
</div>
</div>
}
</div>
</td>
<td>
<div>
@record.CodArticolo
@if (CheckIsKit(record.CodArticolo))
{
<button class="mx-1 btn btn-sm btn-outline-dark small" @onclick="() => KitToggleDetail(record)" title="Mostra dettaglio KIT"><i class="fa-solid fa-search"></i></button>
}
</div>
<div class="small textConsensed text-secondary">@record.DescArticolo</div>
</td>
<td>
<div>
@tradFase(record.KeyRichiesta)
</div>
@if (record.Note != "")
{
<div class="small textConsensed text-secondary badge text-bg-light border border-primary rounded">
<b class="text-dark">Note:</b> @record.Note
</div>
}
</td>
@if (!(showRecipeConf || showRecipeArch))
{
<td>
@record.IdxMacchina
<div class="small textConsensed text-secondary">@record.Nome</div>
</td>
<td>
<div class="small textConsensed"><b>N° pezzi:</b> @record.NumPezzi</div>
<div class="small textConsensed"><b>T. Ciclo:</b> @record.Tcassegnato.ToString("N3")</div>
</td>
<td>
<div>
@if (@record.Attivabile)
{
<i class="fa-regular fa-square-check text-success"></i>
}
else
{
<i class="fa-regular fa-square text-secondary"></i>
}
</div>
@if (!string.IsNullOrEmpty(record.Recipe))
{
<div>
<i class="fa-solid fa-flask"></i> <b>@record.Recipe</b>
</div>
}
</td>
<td>
@if (POdlDelEnabled(record.IdxOdl) && !record.IsKit)
{
<button @onclick="() => deleteRecord(record)" class="btn btn-danger btn-sm"><i class="bi bi-trash-fill"></i></button>
}
else
{
<button class="btn btn-secondary btn-sm disabled opacity-50"><i class="bi bi-trash-fill"></i></button>
}
</td>
}
</tr>
}
</tbody>
</table>
</div>
@if (currRecord != null)
{
@if (showRecipeConf)
{
<div class="col-6 ps-0">
<RecipeConfMan IdxPODL="@currRecord.IdxPromessa" RecipePath="@currRecipePath" CancelEvent="resetSel"></RecipeConfMan>
</div>
}
else if (showRecipeArch)
{
<div class="col-6 ps-0">
<RecipeArchMan IdxPODL="@currRecord.IdxPromessa" RecipeCode="@currRecord.Recipe" RecipeArchPath="@currRecipeArchPath" IdxMacc="@currRecord.IdxMacchina" ReqCloseEvent="resetSel"></RecipeArchMan>
</div>
}
}
</div>
}