index.blade.php 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. @extends('layouts.app')
  2. @section('content')
  3. <div class="row">
  4. <div class="col-12 text-center">
  5. <h1 class="text-success">Выполнение плана по сдаче МАФ</h1>
  6. </div>
  7. </div>
  8. <hr>
  9. <div class="row">
  10. <div class="col-md-4">
  11. <div class="text-center text-success fs-4 fw-bold" >
  12. {{ $totalMafs }} / {{ $totalOrders }}
  13. </div>
  14. <div class="text-center">
  15. Всего МАФ / Площадок
  16. </div>
  17. </div>
  18. <div class="col-4">
  19. <div class="text-center text-success fs-4 fw-bold" >
  20. {{ $doneMafs }} / {{ $doneOrders }}
  21. </div>
  22. <div class="text-center">
  23. Сдано МАФ / Площадок
  24. </div>
  25. </div>
  26. <div class="col-md-4">
  27. <div class="text-center text-success fs-4 fw-bold" >
  28. {!! $totalSum !!}
  29. </div>
  30. <div class="text-center">
  31. Сдано на сумму
  32. </div>
  33. </div>
  34. </div>
  35. <hr>
  36. <div class="row">
  37. <div class="col-md-4 offset-md-1">
  38. <canvas id="total_orders" class="p-4 m-4"></canvas>
  39. </div>
  40. <div class="col-md-6 offset-md-1">
  41. <canvas id="order_types"></canvas>
  42. </div>
  43. </div>
  44. @dump(get_defined_vars())
  45. @endsection
  46. @php
  47. $notDone = $labels = '';
  48. foreach ($doneMafsType as $id => $count) {
  49. $labels .= '"' . $objectTypes[$id] . ' (' . $doneMafsType[$id] .'/'. $notDoneMafsType[$id] . ')",';
  50. $notDone .= '[' . $totalMafsType[$id] . ', ' . $doneMafsType[$id] . '],';
  51. }
  52. @endphp
  53. @push('scripts')
  54. <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
  55. <script>
  56. const ctx = document.getElementById('order_types');
  57. new Chart(ctx, {
  58. type: 'bar',
  59. data: {
  60. labels: [{!! $labels !!}],
  61. datasets: [
  62. {
  63. label: 'Сдано',
  64. data: [{{ implode(',', $doneMafsType) }}],
  65. borderWidth: 1,
  66. backgroundColor: [
  67. 'rgb(114,180,150)',
  68. ],
  69. grouped: false,
  70. },
  71. {
  72. label: 'Осталось сдать',
  73. data: [{{ $notDone }}],
  74. borderWidth: 1,
  75. backgroundColor: [
  76. 'rgb(251,215,105)',
  77. ],
  78. grouped: false,
  79. }
  80. ]
  81. },
  82. options: {
  83. scales: {
  84. y: {
  85. beginAtZero: true
  86. }
  87. },
  88. }
  89. });
  90. // круговая диаграмма
  91. const circleDiag = document.getElementById('total_orders');
  92. new Chart(circleDiag, {
  93. type: 'doughnut',
  94. data: {
  95. labels: ['Сдано', 'Осталось сдать'],
  96. datasets: [{
  97. data: [{{ $doneMafs }}, {{ $totalMafs - $doneMafs }}],
  98. backgroundColor: [
  99. 'rgb(114,180,150)',
  100. 'rgb(251,215,105)',
  101. ]
  102. }],
  103. },
  104. });
  105. </script>
  106. @endpush