index.blade.php 4.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. @extends('layouts.app')
  2. @section('content')
  3. <div class="row mb-2">
  4. <div class="col-6">
  5. <h3>Округа</h3>
  6. </div>
  7. <div class="col-6 text-end">
  8. <button type="button" class="btn btn-sm btn-success me-2" data-bs-toggle="modal" data-bs-target="#importModal">
  9. Импорт
  10. </button>
  11. <form action="{{ route('admin.district.export') }}" method="post" class="d-inline">
  12. @csrf
  13. <button type="submit" class="btn btn-sm btn-outline-success me-2">Экспорт</button>
  14. </form>
  15. <button type="button" class="btn btn-sm btn-primary" data-bs-toggle="modal" data-bs-target="#addModal">
  16. Добавить
  17. </button>
  18. </div>
  19. </div>
  20. @if(session('success'))
  21. <div class="alert alert-success alert-dismissible fade show" role="alert">
  22. {{ session('success') }}
  23. <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Закрыть"></button>
  24. </div>
  25. @endif
  26. @if(session('error'))
  27. <div class="alert alert-danger alert-dismissible fade show" role="alert">
  28. {{ session('error') }}
  29. <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Закрыть"></button>
  30. </div>
  31. @endif
  32. @include('partials.table', [
  33. 'id' => $id,
  34. 'header' => $header,
  35. 'strings' => $districts,
  36. 'routeName' => 'admin.district.show',
  37. 'searchFields' => $searchFields,
  38. 'sortBy' => $sortBy,
  39. 'orderBy' => $orderBy,
  40. 'filters' => [],
  41. 'ranges' => [],
  42. 'dates' => [],
  43. 'enableColumnFilters' => false,
  44. ])
  45. <!-- Модальное окно добавления -->
  46. <div class="modal fade" id="addModal" tabindex="-1" aria-hidden="true">
  47. <div class="modal-dialog">
  48. <div class="modal-content">
  49. <div class="modal-header">
  50. <h5 class="modal-title">Добавить округ</h5>
  51. <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Закрыть"></button>
  52. </div>
  53. <div class="modal-body">
  54. <form action="{{ route('admin.district.store') }}" method="post">
  55. @csrf
  56. @include('partials.input', ['name' => 'shortname', 'title' => 'Сокращение', 'required' => true])
  57. @include('partials.input', ['name' => 'name', 'title' => 'Название', 'required' => true])
  58. @include('partials.submit', ['name' => 'Добавить'])
  59. </form>
  60. </div>
  61. </div>
  62. </div>
  63. </div>
  64. <!-- Модальное окно импорта -->
  65. <div class="modal fade" id="importModal" tabindex="-1" aria-hidden="true">
  66. <div class="modal-dialog">
  67. <div class="modal-content">
  68. <div class="modal-header">
  69. <h5 class="modal-title">Импорт округов</h5>
  70. <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Закрыть"></button>
  71. </div>
  72. <div class="modal-body">
  73. <form action="{{ route('admin.district.import') }}" method="post" enctype="multipart/form-data">
  74. @csrf
  75. <div class="mb-3">
  76. <p class="text-muted small">
  77. Формат файла: XLSX с колонками: ID, Сокращение, Название.<br>
  78. Первая строка — заголовки.
  79. </p>
  80. </div>
  81. @include('partials.input', ['name' => 'import_file', 'type' => 'file', 'title' => 'XLSX файл', 'required' => true])
  82. @include('partials.submit', ['name' => 'Импорт'])
  83. </form>
  84. </div>
  85. </div>
  86. </div>
  87. </div>
  88. @endsection