index.blade.php 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. @extends('layouts.app')
  2. @section('content')
  3. <div class="row mb-3">
  4. <div class="col-md-6">
  5. <h3>Каталог</h3>
  6. </div>
  7. <div class="col-md-6 text-end">
  8. @if(hasRole('admin'))
  9. <button type="button" class="btn btn-sm mb-1 btn-primary" data-bs-toggle="modal" data-bs-target="#importModal">
  10. Импорт
  11. </button>
  12. <button type="button" class="btn btn-sm mb-1 btn-primary" data-bs-toggle="modal" data-bs-target="#exportModal">
  13. Экспорт
  14. </button>
  15. <a href="{{ route('catalog.create') }}" class="btn btn-sm mb-1 btn-primary">Добавить</a>
  16. @endif
  17. </div>
  18. </div>
  19. @include('partials.table', [
  20. 'id' => $id,
  21. 'header' => $header,
  22. 'strings' => $products,
  23. 'routeName' => 'catalog.show',
  24. 'routeParam' => 'product',
  25. ])
  26. <div class="row pt-3 px-3">
  27. <div class="col-12 pagination">
  28. {{ $products->links() }}
  29. </div>
  30. </div>
  31. <!-- Модальное окно импорта-->
  32. <div class="modal fade" id="importModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
  33. <div class="modal-dialog modal-fullscreen-sm-down">
  34. <div class="modal-content">
  35. <div class="modal-header">
  36. <h1 class="modal-title fs-5" id="exampleModalLabel">Выберите год и файл для импорта</h1>
  37. <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Закрыть"></button>
  38. </div>
  39. <div class="modal-body">
  40. <form action="{{ route('catalog.import') }}" method="post" enctype="multipart/form-data">
  41. @csrf
  42. @include('partials.input', ['title' => 'XLSX файл', 'name' => 'import_file', 'type' => 'file', 'required' => true])
  43. @include('partials.submit', ['name' => 'Импорт'])
  44. </form>
  45. </div>
  46. </div>
  47. </div>
  48. </div>
  49. <!-- Модальное окно экспорта-->
  50. <div class="modal fade" id="exportModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
  51. <div class="modal-dialog modal-fullscreen-sm-down modal-lg">
  52. <div class="modal-content">
  53. <div class="modal-header">
  54. <h1 class="modal-title fs-5" id="exampleModalLabel">Экспорт</h1>
  55. <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Закрыть"></button>
  56. </div>
  57. <div class="modal-body">
  58. <form action="{{ route('catalog.export') }}" method="post" enctype="multipart/form-data">
  59. @csrf
  60. @include('partials.checkbox', ['title' => 'С учётом текущего фильтра и поиска', 'name' => 'withFilter', 'type' => 'checkbox', 'value' => 'yes', 'checked' => false])
  61. <div class="d-none">
  62. @if(request()->s)
  63. @include('partials.input', ['name' => 'filters[s]', 'title' => 'поиск', 'value' => request()->s])
  64. @endif
  65. @if(request()->filters)
  66. @foreach(request()->filters as $filterName => $filterValue)
  67. @include('partials.input', ['name' => 'filters[' . $filterName .']', 'title' => $filterName, 'value' => $filterValue])
  68. @endforeach
  69. @endif
  70. </div>
  71. @include('partials.submit', ['name' => 'Экспорт'])
  72. </form>
  73. </div>
  74. </div>
  75. </div>
  76. </div>
  77. @if($errors->count())
  78. @dump($errors)
  79. @endif
  80. @endsection