Files

259 lines
14 KiB
Plaintext

@if (isSendingData)
{
<ProgressDisplay Title="Salvataggio ed invio richiesta" CurrVal="@sendDataVal" NextVal="@sendDataNextVal" MaxVal="@sendDataMaxVal" ExpTimeMSec="8000"></ProgressDisplay>
}
<div class="card shadow">
<div class="card-header">
<div class="d-flex justify-content-between">
<div class="px-0">
<h4>Elenco Timbrature</h4>
</div>
<div class="px-0">
<div class="d-flex align-middle">
<div class="px-1 py-2">
<div class="form-check form-switch">
<input class="form-check-input" type="checkbox" @bind=@ShowInatt @bind:after=ForceReload>
<label class="form-check-label">Mostra Inattivi</label>
</div>
</div>
<div class="px-1 py-1">
<select @bind="@IdxDipSel" class="form-select form-select-sm" @bind:after=ForceReload>
<option value="0">--- Selezionare ---</option>
@foreach (var item in ListDipendenti)
{
<option value="@item.IdxDipendente">@($"{item.Cognome} {item.Nome}")</option>
}
</select>
</div>
</div>
</div>
<div class="px-0">
<div class="d-flex">
<div class="px-1">
<PeriodoSel CurrPeriodo="@CurrPeriodo" E_PeriodoSel="@SavePeriodo"></PeriodoSel>
</div>
<div class="px-1 py-2">
<div class="form-check form-switch">
<input class="form-check-input" type="checkbox" @bind=@ShowWE @bind:after=ForceReload>
<label class="form-check-label">Mostra Week-End</label>
</div>
</div>
</div>
</div>
<div class="px-0 d-flex">
<div class="px-0">
<button class="btn btn-sm btn-success" title="Ricalcola" @onclick="DoFullRecalc">&sum; (h)</button>
</div>
<div class="px-0">
<button class="btn btn-sm btn-info mx-1" title="Export Ore" @onclick=SaveExpOre><i class="fa-solid fa-rotate"></i> Exp.Ore</button>
</div>
<div class="px-0">
<button class="btn btn-sm btn-primary" title="Export Commesse" @onclick=SaveExpCom><i class="fa-solid fa-rotate"></i> Exp.Com.</button>
</div>
</div>
</div>
</div>
<div class="card-body p-1 small">
@if (ListRecords == null || isLoading)
{
<EgwCoreLib.Razor.LoadingData></EgwCoreLib.Razor.LoadingData>
}
else if (totalCount == 0)
{
<div class="alert alert-info">Nessun record trovato</div>
}
else
{
<div class="row">
<div class="col-8">
<table class="table table-striped table-sm text-start">
<thead>
<tr class="">
<th>
<button class="btn btn-info btn-sm" @onclick="ForceReload"><i class="fa-solid fa-rotate"></i></button>
</th>
<th>Dipendente <Sorter ParamName="Dipendente" IsAsc="@sortAsc" CurrParam="@sortField" sortReq="SortRequested"></Sorter></th>
<th>Data <Sorter ParamName="DataLav" IsAsc="@sortAsc" CurrParam="@sortField" sortReq="SortRequested"></Sorter></th>
<th class="text-center">IN</th>
<th class="text-center">OUT</th>
<th class="text-center">IN</th>
<th class="text-center">OUT</th>
<th class="text-center">IN</th>
<th class="text-center">OUT</th>
<th class="text-center">IN</th>
<th class="text-center">OUT</th>
<th class="text-end">H Lav</th>
<th class="text-end">H Giu</th>
<th class="text-end">T/C19</th>
<th class="text-end">Tag</th>
<th class="text-end">Chk</th>
<th class="text-end">H Com</th>
</tr>
</thead>
<tbody>
@foreach (var item in ListRecords)
{
<tr class="align-middle lh-1 @CheckSel(item)">
<td>
<button class="btn btn-info btn-sm" @onclick="() => DoSelect(item)"><i class="fa-solid fa-search"></i></button>
</td>
<td class="fs-5">
@item.CognomeNome
</td>
<td>
<div>
@($"{item.DataLav:yyyy.MM.dd}")
</div>
<div>
@($"{item.DataLav:dddd}")
</div>
</td>
<td class="text-center text-success">
@if (item.entrata_1 != null)
{
@($"{item.entrata_1:HH:mm}")
}
</td>
<td class="text-center text-primary">
@if (item.uscita_1 != null)
{
@($"{item.uscita_1:HH:mm}")
}
</td>
<td class="text-center text-success">
@if (item.entrata_2 != null)
{
@($"{item.entrata_2:HH:mm}")
}
</td>
<td class="text-center text-primary">
@if (item.uscita_2 != null)
{
@($"{item.uscita_2:HH:mm}")
}
</td>
<td class="text-center text-success">
@if (item.entrata_3 != null)
{
@($"{item.entrata_3:HH:mm}")
}
</td>
<td class="text-center text-primary">
@if (item.uscita_3 != null)
{
@($"{item.uscita_3:HH:mm}")
}
</td>
<td class="text-center text-success">
@if (item.entrata_4 != null)
{
@($"{item.entrata_4:HH:mm}")
}
</td>
<td class="text-center text-primary">
@if (item.uscita_4 != null)
{
@($"{item.uscita_4:HH:mm}")
}
</td>
<td class="text-end fs-4 fw-bold">
@($"{item.h_lav:N2}")
</td>
<td class="text-end">
@if (item.h_giust > 0)
{
@($"{item.h_giust:N2}")
}
</td>
<td class="text-end">
@if (item.TempRil < 34)
{
<i class="fa-solid fa-temperature-low text-secondary"></i>
}
else if (item.TempRil < 37)
{
<i class="fa-solid fa-temperature-low text-success"></i>
}
else if (item.TempRil < (decimal)37.5)
{
<i class="fa-solid fa-temperature-low text-warning"></i>
}
else
{
<i class="fa-solid fa-temperature-low text-danger"></i>
}
</td>
<td class="text-end">
@if (!item.TagIsActive)
{
<span class="striked text-secondary">@item.CodTag</span>
}
else
{
@item.CodTag
}
</td>
<td class="text-end fw-bold">
@if (!item.isOkTim)
{
<span class="text-danger" tooltip="Errore Entrata/Uscita: non corrispondono.">T</span>
}
@if (!item.isOkApp)
{
<span class="text-danger" tooltip="Errore: timbrature non approvate.">A</span>
}
@if (item.isOkLav == 0)
{
<span class="text-danger" tooltip="Errore: manca copertura ore ordinarie.">O</span>
}
@if (!string.IsNullOrEmpty(item.chkFunCod))
{
<span tooltip="@item.chkFunRes">@item.minMpp</span>
}
@if (item.isOk != 0)
{
<span class="text-success" tooltip="Tutto OK.">Ok</span>
}
</td>
<td class="text-end fs-4 fw-bold">
@if (item.okLAvCom != 0)
{
<span class="text-dark">@($"{item.h_com:N2}")</span>
}
else
{
<span class="text-warning">@($"{item.h_com:N2}")</span>
}
</td>
</tr>
}
</tbody>
</table>
</div>
<div class="col-4">
@if (SelRecord != null)
{
<div class="py-1">
<TimbList ListRecord="@ListTimbDay" EnableDelete="true" EnableEdit="true" EC_ReqUpdate="TimbUpdate" EC_ReqDelete="TimbDelete"></TimbList>
</div>
<div class="py-3">
<GiustList ListRecord="@ListGiustDay" ListGiust="@ListGiust" EnableEdit="true" EnableDelete="true" EC_ReqUpdate="GiustUpdate" EC_ReqDelete="GiustDelete" EC_ReqAddNew="GiustAddNew" EC_ReqCancel="GiustCancel"></GiustList>
</div>
<div class="py-1">
<RAList ListRecord="@ListRA" EnableDelete="false" EnableEdit="false"></RAList>
</div>
}
</div>
</div>
}
</div>
<div class="card-footer">
<EgwCoreLib.Razor.DataPager PageSize="@numRecord" currPage="@currPage" numRecordChanged="SetNumRec" numPageChanged="SetPage" totalCount="@totalCount" showLoading="@isLoading" PageSizeList="@PageSizeListSpec"></EgwCoreLib.Razor.DataPager>
</div>
</div>