|
|
@@ -83,52 +83,54 @@
|
|
|
<section id="resume-table">
|
|
|
<div class="compare--chart_wrapper d-none"></div>
|
|
|
|
|
|
- <table class="table tablesaw tableHead tablesaw-stack table--lista_ricevute" id="tablesaw-350" width="100%">
|
|
|
- <thead>
|
|
|
- <tr>
|
|
|
- <th scope="col">Anno</th>
|
|
|
- <th scope="col">N°</th>
|
|
|
- <th scope="col">Cognome</th>
|
|
|
- <th scope="col">Nome</th>
|
|
|
- <th scope="col">Stato</th>
|
|
|
- <th scope="col">Data</th>
|
|
|
- <th scope="col">Importo</th>
|
|
|
- <th scope="col">...</th>
|
|
|
- </tr>
|
|
|
- </thead>
|
|
|
- <tbody id="checkall-target">
|
|
|
- @if(false)
|
|
|
- @foreach($records as $record)
|
|
|
- <tr>
|
|
|
- <td>{{$record->year}}</td>
|
|
|
- <td>{{$record->number}}</td>
|
|
|
- <td>{{$record->type == 'IN' ? ($record->member->last_name) : 'Uscita'}}</td>
|
|
|
- <td>{{$record->type == 'IN' ? ($record->member->first_name) : ''}}</td>
|
|
|
- <td>
|
|
|
- <span class="tablesaw-cell-content">
|
|
|
- <span
|
|
|
- class="badge tessera-badge {{$record->status == 1 ? 'active' : 'suspended'}}">{{$record->status == 1 ? 'Attivo' : 'Annullata'}}</span>
|
|
|
- </span>
|
|
|
- </td>
|
|
|
- <td>{{date("d/m/Y", strtotime($record->date))}}</td>
|
|
|
- <td>{{formatPrice($record->rows->sum('amount'))}}</td>
|
|
|
- <td>
|
|
|
- <button type="button" class="btn u"
|
|
|
- onclick="document.location.href='/in?id={{$record->record_id}}'" data-bs-toggle="popover"
|
|
|
- data-bs-trigger="hover focus" data-bs-placement="bottom"
|
|
|
- data-bs-content="Visualizza ricevuta"><i class="fa-regular fa-eye"></i></button>
|
|
|
- <a target="_blank" class="btn u" href="/receipt/{{$record->id}}" data-bs-toggle="popover"
|
|
|
- data-bs-trigger="hover focus" data-bs-placement="bottom"
|
|
|
- data-bs-content="Stampa ricevuta"><i class="fa-regular fa-file-lines"></i></a>
|
|
|
- <a target="_blank" class="btn u" onclick="sendMail({{$record->id}})"><i
|
|
|
- class="fa-regular fa-envelope" data-bs-toggle="popover" data-bs-trigger="hover focus"
|
|
|
- data-bs-placement="bottom" data-bs-content="Invia email"></i></a>
|
|
|
- </td>
|
|
|
- </tr>
|
|
|
- @endforeach
|
|
|
- @endif
|
|
|
- </tbody>
|
|
|
- </table>
|
|
|
+ <div>
|
|
|
+ <table class="table tablesaw tableHead tablesaw-stack table--lista_ricevute" id="tablesaw-350" width="100%">
|
|
|
+ <thead>
|
|
|
+ <tr>
|
|
|
+ <th scope="col">Anno</th>
|
|
|
+ <th scope="col">N°</th>
|
|
|
+ <th scope="col">Cognome</th>
|
|
|
+ <th scope="col">Nome</th>
|
|
|
+ <th scope="col">Stato</th>
|
|
|
+ <th scope="col">Data</th>
|
|
|
+ <th scope="col">Importo</th>
|
|
|
+ <th scope="col">...</th>
|
|
|
+ </tr>
|
|
|
+ </thead>
|
|
|
+ <tbody id="checkall-target">
|
|
|
+ @if(false)
|
|
|
+ @foreach($records as $record)
|
|
|
+ <tr>
|
|
|
+ <td>{{$record->year}}</td>
|
|
|
+ <td>{{$record->number}}</td>
|
|
|
+ <td>{{$record->type == 'IN' ? ($record->member->last_name) : 'Uscita'}}</td>
|
|
|
+ <td>{{$record->type == 'IN' ? ($record->member->first_name) : ''}}</td>
|
|
|
+ <td>
|
|
|
+ <span class="tablesaw-cell-content">
|
|
|
+ <span
|
|
|
+ class="badge tessera-badge {{$record->status == 1 ? 'active' : 'suspended'}}">{{$record->status == 1 ? 'Attivo' : 'Annullata'}}</span>
|
|
|
+ </span>
|
|
|
+ </td>
|
|
|
+ <td>{{date("d/m/Y", strtotime($record->date))}}</td>
|
|
|
+ <td>{{formatPrice($record->rows->sum('amount'))}}</td>
|
|
|
+ <td>
|
|
|
+ <button type="button" class="btn u"
|
|
|
+ onclick="document.location.href='/in?id={{$record->record_id}}'" data-bs-toggle="popover"
|
|
|
+ data-bs-trigger="hover focus" data-bs-placement="bottom"
|
|
|
+ data-bs-content="Visualizza ricevuta"><i class="fa-regular fa-eye"></i></button>
|
|
|
+ <a target="_blank" class="btn u" href="/receipt/{{$record->id}}" data-bs-toggle="popover"
|
|
|
+ data-bs-trigger="hover focus" data-bs-placement="bottom"
|
|
|
+ data-bs-content="Stampa ricevuta"><i class="fa-regular fa-file-lines"></i></a>
|
|
|
+ <a target="_blank" class="btn u" onclick="sendMail({{$record->id}})"><i
|
|
|
+ class="fa-regular fa-envelope" data-bs-toggle="popover" data-bs-trigger="hover focus"
|
|
|
+ data-bs-placement="bottom" data-bs-content="Invia email"></i></a>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ @endforeach
|
|
|
+ @endif
|
|
|
+ </tbody>
|
|
|
+ </table>
|
|
|
+ </div>
|
|
|
<br>
|
|
|
</section>
|
|
|
|
|
|
@@ -248,7 +250,7 @@
|
|
|
$('.filterStatus').select2({ "language": { "noResults": function () { return "Nessun risultato"; } } });
|
|
|
$('.filterMember').select2({ "language": { "noResults": function () { return "Nessun risultato"; } } });
|
|
|
|
|
|
- loadDataTable();
|
|
|
+ // loadDataTable();
|
|
|
});
|
|
|
|
|
|
Livewire.on('load-data-table', () => {
|
|
|
@@ -327,27 +329,23 @@
|
|
|
|
|
|
|
|
|
function loadDataTable() {
|
|
|
- if ($.fn.DataTable.isDataTable('#tablesaw-350')) {
|
|
|
- $('#tablesaw-350').DataTable().destroy();
|
|
|
- }
|
|
|
+ const url = '/get_receipts?filterStatus=' + $('.filterStatus').val() + '&filterFrom=' + $('.filterFrom').val() + '&filterTo=' + $('.filterTo').val() + '&filterMember=' + $('.filterMember').val();
|
|
|
|
|
|
- var filterStatus = $('.filterStatus').val();
|
|
|
- localStorage.setItem("filterStatusReceipt", filterStatus);
|
|
|
+ localStorage.setItem("filterStatusReceipt", $('.filterStatus').val());
|
|
|
+ localStorage.setItem("filterFromReceipt", $('.filterFrom').val());
|
|
|
+ localStorage.setItem("filterToReceipt", $('.filterTo').val());
|
|
|
+ localStorage.setItem("filterMemberReceipt", $('.filterMember').val());
|
|
|
|
|
|
- var filterFrom = $('.filterFrom').val();
|
|
|
- localStorage.setItem("filterFromReceipt", filterFrom);
|
|
|
-
|
|
|
- var filterTo = $('.filterTo').val();
|
|
|
- localStorage.setItem("filterToReceipt", filterTo);
|
|
|
-
|
|
|
- var filterMember = $('.filterMember').val();
|
|
|
- localStorage.setItem("filterMemberReceipt", filterMember);
|
|
|
+ if ($.fn.dataTable.isDataTable('#tablesaw-350')) {
|
|
|
+ $('#tablesaw-350').DataTable().ajax.url(url).load();
|
|
|
+ return;
|
|
|
+ }
|
|
|
|
|
|
var table = $('#tablesaw-350').DataTable({
|
|
|
serverSide: true,
|
|
|
processing: true, // Add this to show processing indicator
|
|
|
ajax: {
|
|
|
- url: '/get_receipts?filterStatus=' + filterStatus + '&filterFrom=' + filterFrom + '&filterTo=' + filterTo + '&filterMember=' + filterMember,
|
|
|
+ url: url,
|
|
|
dataSrc: function(json) {
|
|
|
console.log("Response:", json); // Debug the response
|
|
|
return json.data;
|
|
|
@@ -408,21 +406,24 @@
|
|
|
text: 'ESPORTA',
|
|
|
buttons: [
|
|
|
{
|
|
|
- extend: 'excelHtml5', "action": newexportaction,
|
|
|
+ extend: 'excelHtml5',
|
|
|
+ action: newexportaction,
|
|
|
title: 'Ricevute',
|
|
|
exportOptions: {
|
|
|
columns: ":not(':last')"
|
|
|
}
|
|
|
},
|
|
|
{
|
|
|
- extend: 'pdfHtml5', "action": newexportaction,
|
|
|
+ extend: 'pdfHtml5',
|
|
|
+ action: newexportaction,
|
|
|
title: 'Ricevute',
|
|
|
exportOptions: {
|
|
|
columns: ":not(':last')"
|
|
|
}
|
|
|
},
|
|
|
{
|
|
|
- extend: 'print', "action": newexportaction,
|
|
|
+ extend: 'print',
|
|
|
+ action: newexportaction,
|
|
|
text: 'Stampa',
|
|
|
title: 'Ricevute',
|
|
|
exportOptions: {
|
|
|
@@ -443,10 +444,10 @@
|
|
|
},
|
|
|
order: [[0, 'desc'], [1, 'asc']],
|
|
|
pagingType: 'numbers',
|
|
|
- "language": {
|
|
|
+ language: {
|
|
|
"url": "/assets/js/Italian.json"
|
|
|
},
|
|
|
- "fnInitComplete": function (oSettings, json) {
|
|
|
+ fnInitComplete: function (oSettings, json) {
|
|
|
var html = ' <a href="#" class="showHideFilter btn--ui"><i class="fa-solid fa-sliders"></i></a>';
|
|
|
$(".dt-search").append(html);
|
|
|
}
|