records.blade.php 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. <div>
  2. <header id="title--section" class="d-flex align-items-center justify-content-between">
  3. <div class="title--section_name d-flex align-items-center justify-content-between">
  4. <i class="ico--ui title_section utenti me-2"></i>
  5. <h2 class="primary">Prima nota</h2>
  6. </div>
  7. </header>
  8. <section id="subheader" class="d-flex align-items-center justify-content-between">
  9. <!--
  10. <form action="" class="group--action d-flex align-items-center">
  11. <select class="form-select form-select-lg me-1" aria-label=".form-select-lg example">
  12. <option selected>Open this select menu</option>
  13. <option value="1">One</option>
  14. <option value="2">Two</option>
  15. <option value="3">Three</option>
  16. </select>
  17. <button type="submit" class="btn--ui">applica</button>
  18. </form>
  19. -->
  20. <form action="" class="compare--form d-flex align-items-center">
  21. <select class="form-select form-select-lg me-1" aria-label=".form-select-lg example" wire:model="selectedFilter">
  22. <option value="0">Questo mese: <span class="date-range">{{date("01/m/Y")}} - {{date("t/m/Y")}}</span></option>
  23. <option value="1">Lo scorso mese: <span class="date-range">{{date("01/m/Y")}} - {{date("t/m/Y")}}</span></option>
  24. <option value="2">Questo anno: <span class="date-range">{{date("01/01/Y")}} - {{date("31/12/Y")}}</span></option>
  25. </select>
  26. </form>
  27. </section>
  28. <section id="resume-table">
  29. <canvas id="recordChart"></canvas>
  30. <table class="table tablesaw tablesaw-stack" data-tablesaw="" id="tablesaw-350">
  31. <thead>
  32. <tr>
  33. <th scope="col">Data</th>
  34. <th scope="col">Persona/Fornitore</th>
  35. <th scope="col">Ingresso/Uscita</th>
  36. <th scope="col">Importo</th>
  37. <th scope="col">Causale</th>
  38. <th scope="col">Pagamento</th>
  39. </tr>
  40. </thead>
  41. <tbody id="checkall-target">
  42. @foreach($records as $record)
  43. <tr>
  44. <td>{{date("d/m/Y", strtotime($record->date))}}</td>
  45. <td>{{$record->type == 'IN' ? $record->member->first_name . ' ' . $record->member->last_name : $record->supplier->name}}</td>
  46. <td>{!! $record->type == 'IN' ? '<span style="color:green">Ingresso</span>' : '<span style="color:red">Uscita</span>' !!}</td>
  47. <td><span class="tablesaw-cell-content primary" style="color:{{$record->type == 'IN' ? 'green' : 'red'}}">€ {{$record->amount}}</span></td>
  48. <td>{{$record->causal->getTree()}}</td>
  49. <td>{{$record->payment_method->name}}</td>
  50. </tr>
  51. @endforeach
  52. </tbody>
  53. </table>
  54. <!--
  55. <div class="paginator d-flex justify-content-center">
  56. <nav aria-label="Page navigation example">
  57. <ul class="pagination">
  58. <li class="page-item">
  59. <a class="page-link" href="#" aria-label="Previous">
  60. <span aria-hidden="true"></span>
  61. </a>
  62. </li>
  63. <li class="page-item"><a class="page-link" href="#">1</a></li>
  64. <li class="page-item"><a class="page-link" href="#">2</a></li>
  65. <li class="page-item"><a class="page-link" href="#">3</a></li>
  66. <li class="page-item"><a class="page-link" href="#">3</a></li>
  67. <li class="page-item"><span class="more-page">...</span></li>
  68. <li class="page-item">
  69. <a class="page-link" href="#" aria-label="Next">
  70. <span aria-hidden="true"></span>
  71. </a>
  72. </li>
  73. </ul>
  74. </nav>
  75. </div>
  76. -->
  77. </section>
  78. </div>
  79. @push('scripts')
  80. <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
  81. @endpush
  82. @push('scripts')
  83. <script>
  84. const chart = new Chart(
  85. document.getElementById('recordChart'), {
  86. type: 'line',
  87. data: {
  88. labels: @json($labels),
  89. datasets: @json($recordDatas)
  90. },
  91. options: {
  92. height:200,
  93. plugins: {
  94. legend: {
  95. position: 'bottom'
  96. }
  97. },
  98. responsive: true,
  99. elements: {
  100. line: {
  101. tension : 0.4 // smooth lines
  102. },
  103. },
  104. }
  105. }
  106. );
  107. Livewire.on('updateChart', data => {
  108. chart.data = data;
  109. chart.update();
  110. });
  111. </script>
  112. @endpush