227 lines
14 KiB
Plaintext
227 lines
14 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 @modalSize">
|
|
<div class="modal-content">
|
|
<div class="modal-header d-flex justify-content-between">
|
|
<div class="px-1 fs-4 modal-title">
|
|
<b>@RecordEdit.Cognome</b> @RecordEdit.Nome
|
|
@if (CtrlMode == DipendentiEdit.EditMode.FullEdit)
|
|
{
|
|
<span>| Modifica Record @RecordEdit.IdxDipendente</span>
|
|
}
|
|
else if (CtrlMode == DipendentiEdit.EditMode.ResetRequest)
|
|
{
|
|
<span>| Sblocco Licenza</span>
|
|
}
|
|
</div>
|
|
<div class="px-1">
|
|
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close" @onclick=ForceReload></button>
|
|
</div>
|
|
</div>
|
|
<div class="modal-body p-1 small">
|
|
<DipendentiEdit CurrMode="CtrlMode" CurrRecord="RecordEdit" EC_update="ForceReload" EC_Activate="DoActivate" EC_Release="ReleaseLicense" ListDipendenti="@ListDipendentiAttiviOrd" ListOrari="@ListOrari"></DipendentiEdit>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
}
|
|
|
|
|
|
<div class="card shadow">
|
|
<div class="card-header">
|
|
<div class="d-flex justify-content-between">
|
|
<div class="px-0 d-flex">
|
|
<div class="px-2">
|
|
<h4>Dipendenti</h4>
|
|
</div>
|
|
<div class="px-2">
|
|
<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>
|
|
<div class="px-2">
|
|
<button class="btn btn-success" @onclick=CreateNew tooltip="Add New"><i class="fa-solid fa-plus"></i> Add New</button>
|
|
</div>
|
|
</div>
|
|
<div class="px-0 d-flex">
|
|
<div class="d-flex">
|
|
<div class="px-1 align-content-center">
|
|
<div class="input-group input-group-sm">
|
|
<span class="input-group-text">
|
|
Mostra QRCode
|
|
<span class="form-check form-switch align-content-center ms-2" title="Mostra QRCode">
|
|
<input class="form-check-input" type="checkbox" @bind=@ShowQrCode>
|
|
</span>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
@if (ShowQrCode)
|
|
{
|
|
<div class="ps-1 pe-0 align-content-center">
|
|
<div class="input-group input-group-sm">
|
|
<span class="input-group-text">
|
|
@TextQrLinkInt
|
|
<span class="form-check form-switch align-content-center ms-2" title="@TextQrLinkInt">
|
|
<input class="form-check-input" type="checkbox" @bind=@ShowLinkInt>
|
|
</span>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div class="ps-0 pe-1 align-content-center">
|
|
<div class="input-group input-group-sm">
|
|
<span class="input-group-text">
|
|
@TextQrLinkCore
|
|
<span class="form-check form-switch align-content-center ms-2" title="@TextQrLinkCore">
|
|
<input class="form-check-input" type="checkbox" @bind=@ShowLinkCore>
|
|
</span>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="d-flex bg-dark bg-gradient text-light p-1">
|
|
<div class="px-2 mx-1 border border-2 border-info rounded rounded-3 align-content-center g-1"><i class="fa-solid fa-database"></i> Licenze Locali: disponibili <b>@NumLicDispLocal</b> / utenti attivi <b>@NumLicActLocal</b></div>
|
|
<div class="px-2 mx-1 border border-2 border-success rounded rounded-3 align-content-center g-1"><i class="fa-solid fa-cloud"></i> Licenze Online: disponibili <b>@NumLicDispOnline</b> / utenti attivi <b>@NumLicActOnline</b></div>
|
|
<button class="mx-1 btn btn-success" @onclick="DoRefresh"><i class="fa-solid fa-cloud-arrow-down g-1"></i> Refresh Status Online</button>
|
|
@if (NeedAllocation)
|
|
{
|
|
<button class="mx-1 btn btn-primary" @onclick="DoFixMissing"><i class="fa-solid fa-cloud-arrow-up g-1"></i> Allocazione Licenze</button>
|
|
}
|
|
else
|
|
{
|
|
<button class="mx-1 btn btn-secondary disabled" disabled><i class="fa-solid fa-cloud-arrow-up g-1"></i> Allocazione Licenze</button>
|
|
}
|
|
<button class="mx-1 btn btn-outline-secondary"><i class="fa-solid fa-ticket g-1"></i> Ticket Aperti <b>@NumTicket</b></button>
|
|
<button class="mx-1 btn btn-warning g-1"><i class="fa-solid fa-key"></i> Rigenera AuthKey</button>
|
|
</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">
|
|
@if (ShowQrCode)
|
|
{
|
|
@foreach (var item in ListRecords)
|
|
{
|
|
<div class="col-12 col-md-6 col-lg-4 col-xl-3 mb-2">
|
|
<div class="card shadow">
|
|
<div class="card-header p-0">
|
|
<UserQrCode LinkInt="ShowLinkInt" RecordDip="item" LinkCore="ShowLinkCore"></UserQrCode>
|
|
</div>
|
|
<div class="card-body py-1">
|
|
<div class="fs-1 fw-bold">@item.Cognome</div>
|
|
<div class="fs-4">@item.Nome</div>
|
|
</div>
|
|
<div class="card-footer d-flex justify-content-between">
|
|
<div class="px-1"><img src="images/logoegw.png" class="imf-fluid" width="32" /> <span class="fs-6">Egalware</span></div>
|
|
<div class="px-1 fs-6 align-content-center"><i>SMART a-link</i></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
}
|
|
}
|
|
else
|
|
{
|
|
<div class="col-12">
|
|
<table class="table table-striped table-sm text-start">
|
|
<thead>
|
|
<tr>
|
|
<th>
|
|
<button class="btn btn-primary btn-sm" @onclick="() => ForceReload()"><i class="fa-solid fa-rotate"></i></button>
|
|
</th>
|
|
<th>Cognome <Sorter ParamName="Cognome" IsAsc="@sortAsc" CurrParam="@sortField" sortReq="SortRequested"></Sorter></th>
|
|
<th>Nome <Sorter ParamName="Nome" IsAsc="@sortAsc" CurrParam="@sortField" sortReq="SortRequested"></Sorter></th>
|
|
<th>Matricola <Sorter ParamName="Matricola" IsAsc="@sortAsc" CurrParam="@sortField" sortReq="SortRequested"></Sorter></th>
|
|
<th>Profilo <Sorter ParamName="Profilo" IsAsc="@sortAsc" CurrParam="@sortField" sortReq="SortRequested"></Sorter></th>
|
|
<th>Dominio <Sorter ParamName="Dominio" IsAsc="@sortAsc" CurrParam="@sortField" sortReq="SortRequested"></Sorter></th>
|
|
<th>Utente <Sorter ParamName="Utente" IsAsc="@sortAsc" CurrParam="@sortField" sortReq="SortRequested"></Sorter></th>
|
|
<th>Email <Sorter ParamName="Email" IsAsc="@sortAsc" CurrParam="@sortField" sortReq="SortRequested"></Sorter></th>
|
|
<th>CF <Sorter ParamName="CF" IsAsc="@sortAsc" CurrParam="@sortField" sortReq="SortRequested"></Sorter></th>
|
|
<th>CodeHw <Sorter ParamName="CodeHw" IsAsc="@sortAsc" CurrParam="@sortField" sortReq="SortRequested"></Sorter></th>
|
|
<th>Dati anagrafici <Sorter ParamName="DatiAnag" IsAsc="@sortAsc" CurrParam="@sortField" sortReq="SortRequested"></Sorter></th>
|
|
<th>Gruppo <Sorter ParamName="Gruppo" IsAsc="@sortAsc" CurrParam="@sortField" sortReq="SortRequested"></Sorter></th>
|
|
<th>Stato licenza <Sorter ParamName="StatoLic" IsAsc="@sortAsc" CurrParam="@sortField" sortReq="SortRequested"></Sorter></th>
|
|
<th class="text-end">Responsabile <Sorter ParamName="Responsabile" IsAsc="@sortAsc" CurrParam="@sortField" sortReq="SortRequested"></Sorter></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
@foreach (var item in ListRecords)
|
|
{
|
|
<tr class="@CheckSel(item)">
|
|
<td class="text-nowrap">
|
|
<button class="btn btn-info btn-sm" @onclick="() => DoSelect(item)" title="Dettaglio Record"><i class="fa-solid fa-search"></i></button>
|
|
@if (RecordEdit == null)
|
|
{
|
|
if (CheckFreeEdit(item.IdxDipendente))
|
|
{
|
|
<button class="btn btn-primary btn-sm mx-1" @onclick="() => DoEdit(item)" title="Modifica record">
|
|
<i class="fa-solid fa-edit"></i>
|
|
</button>
|
|
}
|
|
else
|
|
{
|
|
<button class="btn btn-warning btn-sm mx-1" @onclick="() => RequestReset(item)" title="Richiesta sblocco Licenza">
|
|
<i class="fa-solid fa-question-circle"></i>
|
|
</button>
|
|
}
|
|
}
|
|
else
|
|
{
|
|
<button class="btn btn-secondary btn-sm mx-1" disabled><i class="fa-solid fa-edit"></i></button>
|
|
}
|
|
</td>
|
|
|
|
<td class="text-start">@item.Cognome</td>
|
|
<td class="text-start">@item.Nome</td>
|
|
<td class="text-start">@item.Matricola</td>
|
|
<td class="text-start">@item.CodOrario</td>
|
|
<td class="text-start">@item.Dominio</td>
|
|
<td class="text-start">@item.Utente</td>
|
|
<td class="text-start">@item.Email</td>
|
|
<td class="text-start">@item.Cf</td>
|
|
<td class="text-start">@item.CodHw</td>
|
|
<td class="text-start">@($"{item.LuogoNascita}") - @($"{item.ProvNascita}") - @($"{item.NazNascita}") - @($"{item.DataNascita:dd/MM/yyyy}")</td>
|
|
<td class="text-start">@item.Gruppo</td>
|
|
<td class="text-start">@($"{item.DataAssunzione:dd/MM/yyyy}") - @($"{item.DataCessazione:dd/MM/yyyy}")</td>
|
|
<td class="text-end">
|
|
<select @bind="@item.idxResp" class="form-select form-select-sm disabled" disabled style="min-width: 12rem;">
|
|
<option value="0">--- Selezionare ---</option>
|
|
@foreach (var dip in ListDipendentiOrd)
|
|
{
|
|
<option value="@dip.IdxDipendente">@($"{dip.Cognome} {dip.Nome}")</option>
|
|
}
|
|
</select>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
}
|
|
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
}
|
|
</div>
|
|
}
|
|
</div>
|
|
<div class="card-footer">
|
|
<EgwCoreLib.Razor.DataPager PageSize="@numRecord" currPage="@currPage" numRecordChanged="SetNumRec" numPageChanged="SetPage" totalCount="@totalCount" showLoading="@isLoading"></EgwCoreLib.Razor.DataPager>
|
|
</div>
|
|
</div>
|