bc68c1578d
- aggiunto delay iniziale post conferma pz x mostrare subito pagina esecuzione
306 lines
20 KiB
Plaintext
306 lines
20 KiB
Plaintext
@page "/PODL"
|
|
|
|
<div class="card mb-5">
|
|
<div class="card-header table-primary">
|
|
<div class="d-flex justify-content-between col-12">
|
|
<div class="px-2 col-6">
|
|
<div class="d-flex">
|
|
<div class="px-2 fs-3 text-nowrap">
|
|
<b>P</b>romesse <b>ODL</b>
|
|
</div>
|
|
<div class="px-2 input-group input-group-sm">
|
|
<div class="input-group-text">
|
|
<span class="me-1" title="Elenco PODL disponibili da produrre">Da Produrre</span>
|
|
<div class="form-check form-check-sm form-switch py-1" title="Modalità display (Disponibili / Lanciati)">
|
|
<input class="form-check-input" type="checkbox" name="setupAlarms" @onclick="()=> toggleClosed()">
|
|
</div>
|
|
<span class="" title="Elenco PODL già lanciati/prodotti">Lanciati</span>
|
|
</div>
|
|
@if (addEnabled)
|
|
{
|
|
<button class="btn btn-success" @onclick="() => reqNewPODL()">Nuovo PODL <i class="bi bi-plus-square"></i></button>
|
|
}
|
|
else
|
|
{
|
|
<button class="btn btn-secondary" disabled title="@addMessage">Nuovo PODL <i class="bi bi-plus-square"></i><div class="small"><sup>@addMessage</sup></div></button>
|
|
}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="d-flex justify-content-end col-6">
|
|
<div class="d-flex justify-content-between">
|
|
@if (filtActive)
|
|
{
|
|
<div class=" rounded small d-flex justify-content-between" title="Filtri attivi">
|
|
@if (selReparto != "*")
|
|
{
|
|
<button class="btn btn-outline-primary btn-sm mx-2" @onclick="()=>resetReparto()" title="Rimuovi Filtro Reparto"><i class="fa-solid fa-building"></i>   <i class="fa-solid fa-xmark text-warning"></i></button>
|
|
}
|
|
@if (macchina != "*")
|
|
{
|
|
<button class="btn btn-outline-primary btn-sm mx-2" @onclick="()=>resetMacchina()" title="Rimuovi Filtro Impianto"><i class="fa-solid fa-hard-drive"></i>   <i class="fa-solid fa-xmark text-warning"></i></button>
|
|
}
|
|
@if (StatoSel != "*")
|
|
{
|
|
<button class="btn btn-outline-primary btn-sm mx-2" @onclick="()=>resetFase()" title="Rimuovi Filtro Parametro"><i class="fa-solid fa-sliders"></i>   <i class="fa-solid fa-xmark text-warning"></i></button>
|
|
}
|
|
</div>
|
|
}
|
|
@if (hasOdl)
|
|
{
|
|
<span class="badge bg-secondary mx-2 text-nowrap" title="Filtro Data inizio attivo">@selDtStart   <i class="fa-solid fa-calendar-days"></i></span>
|
|
<span class="badge bg-secondary mx-2 text-nowrap" title="Filtro Data fine attivo">@selDtEnd   <i class="fa-solid fa-calendar-days"></i></span>
|
|
}
|
|
<div class="p-2 text-end">
|
|
<a class="pt-2 text-dark" data-bs-toggle="offcanvas" data-bs-target="#paramsFilterExample" aria-controls="paramsFilterExample">
|
|
<i class="fa-solid fa-bars"></i>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
<SelFilterXDL currFilter="@currFilter" ListMacchine="@ListMacchine" ListStati="@ListStati" ListGruppiFase="@ListGruppiFase" FilterChanged="UpdateFilter"></SelFilterXDL>
|
|
</div>
|
|
</div>
|
|
@if (currRecord != null)
|
|
{
|
|
<div class="row">
|
|
<div class="col-12">
|
|
<div class="card mb-3 mt-2">
|
|
<div class="card-header bg-primary text-light">@header</div>
|
|
<div class="card-body">
|
|
<div class="row">
|
|
<div class="col-6">
|
|
<div class="row">
|
|
<div class="col-3 pe-0">
|
|
<div class="input-group input-group-sm">
|
|
<span class="input-group-text" id="inputGroup-sizing-sm">Ricerca</span>
|
|
<input type="text" class="form-control" aria-label="Art search" aria-describedby="inputGroup-sizing-sm" @bind-value="@artSearch">
|
|
</div>
|
|
</div>
|
|
<div class="col-9 ps-0">
|
|
<div class="input-group input-group-sm">
|
|
<span class="input-group-text" id="inputGroup-sizing-sm">Articolo</span>
|
|
@if (canEdit)
|
|
{
|
|
<select @bind="@currRecord.CodArticolo" class="form-select">
|
|
<option value="">--Selezionare un articolo--</option>
|
|
@if (ListArticoli != null)
|
|
{
|
|
foreach (var item in ListArticoli)
|
|
{
|
|
<option value="@item.CodArticolo">@item.CodArticolo | @item.DescArticolo | @item.Disegno</option>
|
|
}
|
|
}
|
|
</select>
|
|
}
|
|
else
|
|
{
|
|
<input class="form-control" disabled placeholder="@currRecord.CodArticolo | @currRecord.DescArticolo" />
|
|
}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-3">
|
|
<div class="input-group input-group-sm">
|
|
<span class="input-group-text" id="inputGroup-sizing-sm"># pz</span>
|
|
@if (canEdit)
|
|
{
|
|
<input type="text" class="form-control" aria-label="Num Pezzi" aria-describedby="inputGroup-sizing-sm" @bind-value="@currRecord.NumPezzi">
|
|
}
|
|
else
|
|
{
|
|
<input class="form-control" disabled placeholder="@currRecord.NumPezzi" />
|
|
}
|
|
<span class="input-group-text" id="inputGroup-sizing-sm">T.Ciclo</span>
|
|
@if (canEdit)
|
|
{
|
|
<input type="text" class="form-control" aria-label="Tempo Ciclo" aria-describedby="inputGroup-sizing-sm" @bind-value="@currRecord.Tcassegnato">
|
|
}
|
|
else
|
|
{
|
|
<input class="form-control" disabled placeholder="@currRecord.Tcassegnato" />
|
|
}
|
|
</div>
|
|
</div>
|
|
<div class="col-3">
|
|
<div class="input-group input-group-sm">
|
|
<span class="input-group-text" id="inputGroup-sizing-sm">Fase/Richiesta</span>
|
|
@if (canEdit)
|
|
{
|
|
@if (useFasi4KeyRich == "FASE")
|
|
{
|
|
<select @bind="@currRecord.KeyRichiesta" class="form-select">
|
|
@if (ListStati != null)
|
|
{
|
|
foreach (var item in ListStati)
|
|
{
|
|
@if (item.value == currRecordControlli.KeyRichiesta)
|
|
{
|
|
<option value="@item.value" selected>@item.label</option>
|
|
}
|
|
else
|
|
{
|
|
<option value="@item.value">@item.label</option>
|
|
}
|
|
|
|
}
|
|
}
|
|
</select>
|
|
}
|
|
else
|
|
{
|
|
<input type="text" class="form-control" aria-label="Fase/Richiesta" aria-describedby="inputGroup-sizing-sm" @bind-value="@currRecord.KeyRichiesta">
|
|
}
|
|
}
|
|
else
|
|
{
|
|
<input class="form-control" disabled placeholder="@currRecord.KeyRichiesta" />
|
|
}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row mt-2">
|
|
<div class="col-3">
|
|
<div class="input-group input-group-sm">
|
|
<div class="input-group input-group-sm">
|
|
<span class="input-group-text" id="inputGroup-sizing-sm">Gruppo</span>
|
|
@if (currGruppoSel != null && currGruppoSel.CodGruppo!=null)
|
|
{
|
|
<input @bind-value="@currGruppoSel.DescrGruppo" class="form-control" disabled />
|
|
}
|
|
else
|
|
{
|
|
<input @bind-value="@currRecord.CodGruppo" class="form-control" disabled />
|
|
}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-3">
|
|
<div class="input-group input-group-sm">
|
|
<div class="input-group input-group-sm">
|
|
<div class="input-group input-group-sm">
|
|
<span class="input-group-text" id="inputGroup-sizing-sm">Macchina</span>
|
|
@if (canEdit)
|
|
{
|
|
<select @bind="@currRecord.IdxMacchina" class="form-select">
|
|
<option value="">--Selezionare una macchina--</option>
|
|
@if (ListMacchine != null)
|
|
{
|
|
foreach (var item in ListMacchine)
|
|
{
|
|
@if (!item.Descrizione.Contains("NEW Descrizione"))
|
|
{
|
|
<option value="@item.IdxMacchina">@item.IdxMacchina | @item.Descrizione</option>
|
|
}
|
|
}
|
|
}
|
|
</select>
|
|
}
|
|
else
|
|
{
|
|
<input class="form-control" disabled placeholder="@currRecord.IdxMacchina | @(currRecord.MachineNav?.Descrizione ?? " ")" />
|
|
}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-6">
|
|
<div class="input-group input-group-sm">
|
|
<span class="input-group-text" id="inputGroup-sizing-sm">Note</span>
|
|
@if (canEdit)
|
|
{
|
|
<input type="text" class="form-control" aria-label="Note" aria-describedby="inputGroup-sizing-sm" @bind-value="@currRecord.Note">
|
|
}
|
|
else
|
|
{
|
|
<input class="form-control" disabled placeholder="@currRecord.Note" />
|
|
}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row mt-2">
|
|
<div class="col-3">
|
|
<div class="input-group input-group-sm d-flex justify-content-between">
|
|
<div class="input-group-text" id="inputGroup-sizing-sm">
|
|
<div class="pe-3" title="Attivabile">
|
|
Attivabile
|
|
</div>
|
|
<div class="form-check form-check-sm form-switch py-1" title="Attivabile">
|
|
@if (canEdit)
|
|
{
|
|
<input class="form-check-input" type="checkbox" name="setupAlarms" title="Attivabile" @bind="@currRecord.Attivabile">
|
|
}
|
|
else
|
|
{
|
|
<input class="form-check-input" type="checkbox" name="setupAlarms" title="Attivabile" disabled @bind="@currRecord.Attivabile">
|
|
}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-3">
|
|
</div>
|
|
@if (canEdit)
|
|
{
|
|
<div class="col-3">
|
|
<div class="d-grid gap-2">
|
|
<button class="btn btn-warning" @onclick="() => cancel()">Annulla <i class="bi bi-x-circle"></i></button>
|
|
</div>
|
|
</div>
|
|
<div class="col-3">
|
|
<div class="d-grid gap-2">
|
|
@* @if (currRecord.CodArticolo != "" && currRecord.CodFase != "" && selReparto != "*" && currRecord.IdxMacchina != "") *@
|
|
@if (canSaveEdit)
|
|
{
|
|
<button class="btn btn-success" @onclick="() => update(currRecord)">Salva <i class="bi bi-save"></i></button>
|
|
}
|
|
</div>
|
|
</div>
|
|
}
|
|
else
|
|
{
|
|
<div class="col-3">
|
|
<div class="d-grid gap-2">
|
|
<button class="btn btn-warning" @onclick="() => cancel()">Chiudi <i class="bi bi-x-circle"></i></button>
|
|
</div>
|
|
</div>
|
|
<div class="col-3">
|
|
<div class="d-grid gap-2">
|
|
@if (enableForceSync)
|
|
{
|
|
<button @onclick="() => forceSyncDb()" class="btn btn-success">Forza sync → macchina <i class="bi bi-fast-forward-circle"></i></button>
|
|
}
|
|
else
|
|
{
|
|
<button class="btn btn-secondary btn-sm disabled mx-1" title="Forza Sync non permesso">
|
|
<i class="bi bi-fast-forward-circle"></i>
|
|
</button>
|
|
}
|
|
</div>
|
|
</div>
|
|
}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
}
|
|
|
|
</div>
|
|
<div class="card-body">
|
|
@if (isLoading)
|
|
{
|
|
<LoadingData></LoadingData>
|
|
}
|
|
else
|
|
{
|
|
<ListPODL PagerResetReq="pgResetReq" RecordEdit="@editRecord" RecordSel="@selRecord" updateRecordCount="UpdateTotCount" actFilter="@currFilter" padCodXdl="@padCodXdl"></ListPODL>
|
|
}
|
|
</div>
|
|
<div class="card-footer py-1">
|
|
@if (totalCount > numRecord)
|
|
{
|
|
<DataPager @ref="pagerODL" PageSize="numRecord" currPage="currPage" numRecordChanged="SetNumRec" numPageChanged="SetPage" totalCount="totalCount" showLoading="@isLoading" />
|
|
}
|
|
</div>
|
|
</div> |