205 lines
14 KiB
Plaintext
205 lines
14 KiB
Plaintext
@using MP.SPEC.Components
|
|
@using MP.SPEC.Data
|
|
|
|
@if (ListRecords == null)
|
|
{
|
|
<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="col-12">
|
|
<table class="table table-sm table-striped">
|
|
<thead>
|
|
<tr>
|
|
<th><i class="fa-solid fa-file"></i> Articolo</th>
|
|
<th><i class="fa-solid fa-screwdriver-wrench"></i> Fase</th>
|
|
<th><i class="fa-solid fa-hard-drive"></i> Macchina</th>
|
|
<th><i class="fa-solid fa-circle-info"></i> Info ciclo</th>
|
|
<th><i class="fa-solid fa-calendar-day"></i> Periodo</th>
|
|
<th title="Durata in ore:min"><i class="fa-solid fa-clock"></i> Durata</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
@foreach (var record in ListRecords)
|
|
{
|
|
<tr class="@checkSelect(@record.IdxOdl)">
|
|
<td>
|
|
@record.CodArticolo
|
|
<div class="small textConsensed text-secondary">@record.ArticoloNav.DescArticolo</div>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
@tradFase(record.KeyRichiesta)
|
|
</div>
|
|
@if (record.Note != "")
|
|
{
|
|
<div class="small textConsensed text-secondary badge text-bg-light border border-secondary rounded">
|
|
<b class="text-dark"></b> <span class="text-wrap text-start"> @record.Note </span>
|
|
</div>
|
|
}
|
|
</td>
|
|
|
|
<td>
|
|
@record.IdxMacchina
|
|
<div class="small textConsensed text-secondary">@record.MachineNav.Descrizione</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 class="small d-flex justify-content-between">
|
|
<div>
|
|
<div><b>@($"{@record.DataInizio:yyyy/MM/dd}")</b></div>
|
|
<div>@($"{@record.DataInizio:ddd HH:mm:ss}")</div>
|
|
</div>
|
|
<div class="p-0">
|
|
<i class="fa-solid fa-angles-right"></i>
|
|
</div>
|
|
<div>
|
|
@if (@record.DataFine != null)
|
|
{
|
|
<div><b>@($"{@record.DataFine:yyyy/MM/dd}")</b></div>
|
|
<div>@($"{@record.DataFine:ddd HH:mm:ss}")</div>
|
|
}
|
|
else
|
|
{
|
|
<div class="text-secondary">
|
|
<div><b>@($"{DateTime.Now:yyyy/MM/dd}")</b></div>
|
|
<div>@($"{DateTime.Now:ddd HH:mm:ss}")</div>
|
|
</div>
|
|
}
|
|
</div>
|
|
</div>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
<b>@record.DurataMinuti</b>
|
|
</div>
|
|
<div>
|
|
<button class="btn btn-sm btn-primary py-0" type="button" @onclick="() => selectRecord(record)" data-bs-toggle="modal" data-bs-target="#staticBackdrop" title="Mostra statistiche"><i class="fa-solid fa-chart-pie"></i></button>
|
|
</div>
|
|
<!-- Modal -->
|
|
<div class="modal fade" id="staticBackdrop" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="staticBackdropLabel" aria-hidden="true">
|
|
<div class="modal-dialog modal-xl">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h1 class="modal-title fs-5" id="staticBackdropLabel">Modal title</h1>
|
|
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
|
</div>
|
|
<div class="modal-body col-12">
|
|
@if (currRecord != null)
|
|
{
|
|
<h3>ODL @currRecord.IdxOdl</h3>
|
|
<div class="d-flex justify-content-between">
|
|
<div class="col-8">
|
|
<div>
|
|
<table class="table">
|
|
<thead>
|
|
<tr>
|
|
<th><i class="fa-solid fa-file"></i> Articolo</th>
|
|
<th><i class="fa-solid fa-screwdriver-wrench"></i> Fase</th>
|
|
<th><i class="fa-solid fa-hard-drive"></i> Macchina</th>
|
|
<th><i class="fa-solid fa-circle-info"></i> Info ciclo</th>
|
|
<th><i class="fa-solid fa-calendar-day"></i> Periodo</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
|
|
<td>
|
|
@record.CodArticolo
|
|
<div class="small textConsensed text-secondary">@record.ArticoloNav.DescArticolo</div>
|
|
</td>
|
|
<td>
|
|
<div>
|
|
@tradFase(record.KeyRichiesta)
|
|
</div>
|
|
@if (record.Note != "")
|
|
{
|
|
<div class="small textConsensed text-secondary badge text-bg-light border border-secondary rounded">
|
|
<b class="text-dark"></b> <span class="text-wrap text-start"> @record.Note </span>
|
|
</div>
|
|
}
|
|
</td>
|
|
|
|
<td>
|
|
@record.IdxMacchina
|
|
<div class="small textConsensed text-secondary">@record.MachineNav.Descrizione</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 class="small d-flex justify-content-between">
|
|
<div>
|
|
<div><b>@($"{@record.DataInizio:yyyy/MM/dd}")</b></div>
|
|
<div>@($"{@record.DataInizio:ddd HH:mm:ss}")</div>
|
|
</div>
|
|
<div class="p-0">
|
|
<i class="fa-solid fa-angles-right"></i>
|
|
</div>
|
|
<div>
|
|
@if (@record.DataFine != null)
|
|
{
|
|
<div><b>@($"{@record.DataFine:yyyy/MM/dd}")</b></div>
|
|
<div>@($"{@record.DataFine:ddd HH:mm:ss}")</div>
|
|
}
|
|
else
|
|
{
|
|
<div class="text-secondary">
|
|
<div><b>@($"{DateTime.Now:yyyy/MM/dd}")</b></div>
|
|
<div>@($"{DateTime.Now:ddd HH:mm:ss}")</div>
|
|
</div>
|
|
}
|
|
</div>
|
|
</div>
|
|
</td>
|
|
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div>
|
|
@if (currRecord != null)
|
|
{
|
|
|
|
@if (ListOdlStats != null)
|
|
{
|
|
<ul>
|
|
@foreach (var statRecord in ListOdlStats)
|
|
{
|
|
<li>@statRecord.Descrizione - @($"{statRecord.TotDurata.ToString().Substring(0, 2)}%")</li>
|
|
}
|
|
</ul>
|
|
}
|
|
}
|
|
</div>
|
|
</div>
|
|
<div class="col-4">
|
|
<ODLPlot SelectedOdl="@currRecord.IdxOdl"></ODLPlot>
|
|
</div>
|
|
</div>
|
|
|
|
}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
}
|