index.blade.php 4.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. @extends('layouts.app')
  2. @section('content')
  3. <div class="row mb-2 page-header-row">
  4. <div class="col-12 col-md-6 page-header-title">
  5. <h3>График заказов</h3>
  6. </div>
  7. <div class="col-12 col-md-6 text-md-end page-header-actions">
  8. @if(hasPermission('schedule-orders.import'))
  9. <button type="button"
  10. class="btn btn-sm btn-outline-primary page-action-btn"
  11. data-bs-toggle="modal"
  12. data-bs-target="#productionOrderImportModal">
  13. <i class="bi bi-file-earmark-arrow-up page-action-btn__icon"></i>
  14. <span class="page-action-btn__label">Импорт</span>
  15. </button>
  16. @endif
  17. @if(hasPermission('schedule-orders.export'))
  18. <form action="{{ route('schedule.orders.export') }}" method="POST" class="d-inline">
  19. @csrf
  20. @foreach((array) request()->input('filters', []) as $filter => $value)
  21. <input type="hidden" name="filters[{{ $filter }}]" value="{{ $value }}">
  22. @endforeach
  23. @if(request()->filled('s'))
  24. <input type="hidden" name="s" value="{{ request()->input('s') }}">
  25. @endif
  26. <button type="submit" class="btn btn-sm btn-outline-primary page-action-btn">
  27. <i class="bi bi-file-earmark-spreadsheet page-action-btn__icon"></i>
  28. <span class="page-action-btn__label">Экспорт</span>
  29. </button>
  30. </form>
  31. @endif
  32. @if(hasPermission('schedule-orders.create'))
  33. <a href="{{ route('schedule.orders.create', ['nav' => $nav ?? null]) }}"
  34. class="btn btn-sm btn-primary page-action-btn">
  35. <i class="bi bi-plus-lg page-action-btn__icon"></i>
  36. <span class="page-action-btn__label">Добавить заказ</span>
  37. </a>
  38. @endif
  39. </div>
  40. </div>
  41. @include('partials.table', [
  42. 'id' => $id,
  43. 'header' => $header,
  44. 'strings' => $orders,
  45. 'routeName' => 'schedule.orders.show',
  46. 'routeParam' => 'productionOrder',
  47. 'nav' => $nav,
  48. ])
  49. @include('partials.pagination', ['items' => $orders])
  50. @if(hasPermission('schedule-orders.import'))
  51. <div class="modal fade"
  52. id="productionOrderImportModal"
  53. tabindex="-1"
  54. aria-labelledby="productionOrderImportModalLabel"
  55. aria-hidden="true">
  56. <div class="modal-dialog modal-fullscreen-sm-down">
  57. <div class="modal-content">
  58. <div class="modal-header">
  59. <h2 class="modal-title fs-5" id="productionOrderImportModalLabel">Импорт графика заказов</h2>
  60. <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Закрыть"></button>
  61. </div>
  62. <form action="{{ route('schedule.orders.import') }}" method="POST" enctype="multipart/form-data">
  63. @csrf
  64. <div class="modal-body">
  65. <p class="text-muted small">
  66. Используйте XLSX, полученный экспортом графика заказов. Заказы находятся на первом листе,
  67. отдельные экземпляры МАФ — на листе «МАФ». Состав МАФ в файле полностью заменяет
  68. текущий состав импортируемых заказов.
  69. </p>
  70. <label for="production-order-import-file" class="form-label">XLSX-файл</label>
  71. <input type="file"
  72. id="production-order-import-file"
  73. name="import_file"
  74. class="form-control"
  75. accept=".xlsx"
  76. required>
  77. </div>
  78. <div class="modal-footer">
  79. <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Отмена</button>
  80. <button type="submit" class="btn btn-primary">Импортировать</button>
  81. </div>
  82. </form>
  83. </div>
  84. </div>
  85. </div>
  86. @endif
  87. @endsection