dashboard.blade.php 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. <div class="col card--ui" id="card--dashboard">
  2. <main id="dashboard" class="d-flex">
  3. <section id="dash_anagrafica">
  4. <div class="anagrafica--btn">
  5. <h1>Anagrafica</h1>
  6. <div class="anagrafica--btn_wrapper w-100 d-flex">
  7. <div class="card--ui card--ui_btnDash utente d-flex justify-content-between me-3" wire:click="addMember()" style="cursor: pointer;">
  8. <header class="d-flex justify-content-between">
  9. <div class="card-title d-flex align-items-start"><i class="ico--ui medium user me-2"></i><h2><small>Nuovo</small><br>Utente</h2></div><a href="/members?new=1"><i class="ico--ui big add"></i></a>
  10. </header>
  11. <footer class="d-flex justify-content-between align-items-end">
  12. <div class="card-footer_percentage d-flex">
  13. <!--<i class="ico--ui small uscite ico me-1"></i><span>10%</span>-->
  14. </div>
  15. <div class="card-footer_info text-end">
  16. <span>{{$totMembers}} </span> persone registrate
  17. </div>
  18. </footer>
  19. </div>
  20. <div class="card--ui card--ui_btnDash fornitore d-flex justify-items-between" wire:click="addSupplier()" style="cursor: pointer;">
  21. <header class="d-flex justify-content-between"><div class="card-title d-flex align-items-start"><i class="ico--ui medium fornitore me-2"></i><h2><small>Nuovo</small><br>Fornitore</h2></div><a href="/suppliers?new=1"><i class="ico--ui big add"></i></a>
  22. </header>
  23. <footer class="d-flex justify-content-between align-items-end">
  24. <div class="card-footer_percentage d-flex">
  25. <!--<i class="ico--ui small uscite ico me-1"></i><span>10%</span>-->
  26. </div>
  27. <div class="card-footer_info text-end">
  28. <span>{{$totSuppliers}} </span> fornitori registrati
  29. </div>
  30. </footer>
  31. </div>
  32. </div>
  33. </div>
  34. <div class="anagrafica_chart">
  35. <h1>Utenti iscritti ultimi 7 giorni</h1>
  36. <canvas id="userChart"></canvas>
  37. </div>
  38. </section>
  39. <section id="dash_contabilita">
  40. <div class="contabilita--btn">
  41. <h1>Contabilità</h1>
  42. <div class="contabilita--btn_wrapper w-100 d-flex">
  43. <div class="card--ui card--ui_btnDash entrata d-flex justify-items-between me-3" wire:click="addIn()" style="cursor: pointer;">
  44. <header class="d-flex justify-content-between"><div class="card-title d-flex align-items-start"><h2><small>Registra</small><br>Nuova Entrata</h2></div><a href="/in?new=1"><i class="ico--ui big add primary"></i></a>
  45. </header>
  46. <footer class="d-flex justify-content-between align-items-end">
  47. <div class="card-footer_percentage d-flex">
  48. <!--<i class="ico--ui small entrate ico me-1"></i><span>10%</span>-->
  49. </div>
  50. <div class="card-footer_info text-end">
  51. <span><strong>+ € {{$totTodayIn}}</strong></span> entrate oggi
  52. </div>
  53. </footer>
  54. </div>
  55. <div class="card--ui card--ui_btnDash uscite d-flex justify-items-between" wire:click="addOut()" style="cursor: pointer;">
  56. <header class="d-flex justify-content-between"><div class="card-title d-flex align-items-start"><h2><small>Registra</small><br>Nuova Uscita</h2></div><a href="/out?new=1"><i class="ico--ui big add secondary"></i></a>
  57. </header>
  58. <footer class="d-flex justify-content-between align-items-end">
  59. <div class="card-footer_percentage d-flex">
  60. <!--<i class="ico--ui small uscite ico me-1"></i><span>10%</span>-->
  61. </div>
  62. <div class="card-footer_info text-end">
  63. <span><strong>- € {{$totTodayOut}}</strong></span> uscite oggi
  64. </div>
  65. </footer>
  66. </div>
  67. </div>
  68. </div>
  69. <div class="contabilita--chart">
  70. <h1>Entrate/Uscite ultimi 7 giorni</h1>
  71. <canvas id="recordChart"></canvas>
  72. </div>
  73. </section>
  74. </main>
  75. </div>
  76. @push('scripts')
  77. <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
  78. @endpush
  79. @push('scripts')
  80. <script>
  81. const chart = new Chart(
  82. document.getElementById('recordChart'), {
  83. type: 'line',
  84. data: {
  85. labels: @json($labels),
  86. datasets: @json($recordDatas)
  87. },
  88. options: {
  89. plugins: {
  90. legend: {
  91. position: 'bottom'
  92. }
  93. },
  94. responsive: true,
  95. elements: {
  96. line: {
  97. tension : 0.4 // smooth lines
  98. },
  99. },
  100. }
  101. }
  102. );
  103. const chartX = new Chart(
  104. document.getElementById('userChart'), {
  105. type: 'line',
  106. data: {
  107. labels: @json($labels),
  108. datasets: @json($memberDatas)
  109. },
  110. options: {
  111. plugins: {
  112. legend: {
  113. position: 'bottom'
  114. }
  115. },
  116. responsive: true,
  117. elements: {
  118. line: {
  119. tension : 0.4 // smooth lines
  120. },
  121. },
  122. }
  123. }
  124. );
  125. Livewire.on('updateChart', data => {
  126. chart.data = data;
  127. chart.update();
  128. });
  129. </script>
  130. @endpush