174 lines
9.7 KiB
Plaintext
174 lines
9.7 KiB
Plaintext
@if (SelItem != null && isEdit)
|
|
{
|
|
<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 modal-xl">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h4 class="modal-title">Edit Gruppo <b>@SelItem.Gruppo</b></h4>
|
|
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close" @onclick="() => ForceReload(true)"></button>
|
|
</div>
|
|
<div class="modal-body p-1">
|
|
<GruppiEdit CurrRecord="@SelItem" EC_update="ForceReload"></GruppiEdit>
|
|
</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">
|
|
<h3>Gestione Gruppi/Dipendenti</h3>
|
|
</div>
|
|
</div>
|
|
<div class="px-0">
|
|
<div class="input-group" runat="server">
|
|
<span class="input-group-text">Clona</span>
|
|
<select @bind="@idxDipFrom" class="form-select form-select-sm">
|
|
<option value="0">--- Selezionare ---</option>
|
|
@foreach (var item in ListDipendenti)
|
|
{
|
|
<option value="@item.IdxDipendente">@($"{item.Cognome} {item.Nome}")</option>
|
|
}
|
|
</select>
|
|
@if (idxDipFrom > 0 && idxDipTo > 0)
|
|
{
|
|
<button class="btn btn-success"><i class="fa fa-angle-double-right px-2" title="Clona Assegnazioni" @onclick="ClonaAssegnDip"></i></button>
|
|
}
|
|
else
|
|
{
|
|
<button class="btn btn-secondary" disabled><i class="fa fa-angle-double-right px-2" title="Clona Assegnazioni"></i></button>
|
|
}
|
|
<select @bind="@idxDipTo" class="form-select form-select-sm">
|
|
<option value="0">--- Selezionare ---</option>
|
|
@foreach (var item in ListDipendenti.Where(x => (x.Attivo ?? false)).ToList())
|
|
{
|
|
<option value="@item.IdxDipendente">@($"{item.Cognome} {item.Nome}")</option>
|
|
}
|
|
</select>
|
|
@if (idxDipFrom > 0 || idxDipTo > 0)
|
|
{
|
|
<button class="btn btn-primary" @onclick="DoResetSelClona"><i class="fa-solid fa-rotate px-1" title="Reset"></i></button>
|
|
}
|
|
else
|
|
{
|
|
<button class="btn btn-secondary" disabled><i class="fa-solid fa-rotate px-1" title="Reset"></i></button>
|
|
}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="card-body p-1">
|
|
<div class="row">
|
|
<div class="col-7">
|
|
<div class="card shadow">
|
|
<div class="card-header">
|
|
<div class="px-0 d-flex justify-content-between">
|
|
<div class="px-0">
|
|
<h4>Gruppi</h4>
|
|
</div>
|
|
<div class="px-0">
|
|
<button class="btn btn-success" @onclick=CreateNew tooltip="Add New"><i class="fa-solid fa-plus"></i> Add New</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="card-body p-1">
|
|
@if (ListRecords == null || isLoading)
|
|
{
|
|
<EgwCoreLib.Razor.LoadingData></EgwCoreLib.Razor.LoadingData>
|
|
}
|
|
else if (totalCount == 0)
|
|
{
|
|
<div class="alert alert-info">Nessun record trovato</div>
|
|
}
|
|
else
|
|
{
|
|
<table class="table table-striped table-sm text-start">
|
|
<thead>
|
|
<tr class="">
|
|
<th class="text-nowrap">
|
|
<button class="btn btn-primary btn-sm" @onclick="() => ForceReload(true)"><i class="fa-solid fa-rotate"></i></button>
|
|
</th>
|
|
<th>Gruppo <Sorter ParamName="CodGruppo" IsAsc="@sortAsc" CurrParam="@sortField" sortReq="SortRequested"></Sorter></th>
|
|
<th>Descrizione <Sorter ParamName="Descrizione" IsAsc="@sortAsc" CurrParam="@sortField" sortReq="SortRequested"></Sorter></th>
|
|
<th>CodExt Grp. <Sorter ParamName="CodExt" IsAsc="@sortAsc" CurrParam="@sortField" sortReq="SortRequested"></Sorter></th>
|
|
<th># Dip. <Sorter ParamName="NumDip" IsAsc="@sortAsc" CurrParam="@sortField" sortReq="SortRequested"></Sorter></th>
|
|
<th class="text-end"><Sorter ParamName="Export" IsAsc="@sortAsc" CurrParam="@sortField" sortReq="SortRequested"></Sorter> Exp. Abil</th>
|
|
<th class="text-end"><Sorter ParamName="IsActive" IsAsc="@sortAsc" CurrParam="@sortField" sortReq="SortRequested"></Sorter> Attivo</th>
|
|
<th></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
@foreach (var item in ListRecords)
|
|
{
|
|
<tr class="align-middle @CheckSel(item)">
|
|
<td class="text-nowrap">
|
|
<button class="btn btn-info btn-sm" @onclick="() => DoSelect(item)"><i class="fa-solid fa-search"></i></button>
|
|
@if (SelItem == null)
|
|
{
|
|
<button class="btn btn-primary btn-sm mx-1" @onclick="() => DoEdit(item)">
|
|
<i class="fa-solid fa-edit"></i>
|
|
</button>
|
|
}
|
|
else
|
|
{
|
|
<button class="btn btn-secondary btn-sm mx-1" disabled><i class="fa-solid fa-edit"></i></button>
|
|
}
|
|
</td>
|
|
<td>
|
|
@item.Gruppo
|
|
</td>
|
|
<td>
|
|
@item.DescrGruppo
|
|
</td>
|
|
<td>
|
|
@item.CodExt
|
|
</td>
|
|
<td>
|
|
@item.NumDip
|
|
</td>
|
|
<td class="text-end">
|
|
<input class="form-check-input" type="checkbox" disabled role="switch" @bind="@item.ExportEnab">
|
|
</td>
|
|
<td class="text-end">
|
|
<input class="form-check-input" type="checkbox" disabled role="switch" @bind="@item.IsActive">
|
|
</td>
|
|
<td>
|
|
@if (@item.NumDip == 0)
|
|
{
|
|
<button class="btn btn-danger btn-sm" @onclick="() => DoDelete(item)"><i class="fa-solid fa-trash"></i></button>
|
|
}
|
|
else
|
|
{
|
|
<button class="btn btn-secondary btn-sm" disabled><i class="fa-solid fa-trash"></i></button>
|
|
}
|
|
</td>
|
|
</tr>
|
|
}
|
|
</tbody>
|
|
</table>
|
|
}
|
|
</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>
|
|
</div>
|
|
<div class="col-5">
|
|
@if (SelItem != null)
|
|
{
|
|
<Dip2GrpMan CodGruppo="@SelItem.Gruppo"></Dip2GrpMan>
|
|
}
|
|
else
|
|
{
|
|
<div class="alert alert-info p-3 my-5">Selezionare gruppo per visualizzare dipendenti associati</div>
|
|
}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|