| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- @extends('layouts.app')
- @section('content')
- <div class="row mb-3">
- <div class="col-6">
- <h3>Районы</h3>
- </div>
- <div class="col-6 text-end">
- <button type="button" class="btn btn-sm btn-success me-2" data-bs-toggle="modal" data-bs-target="#importModal">
- Импорт
- </button>
- <form action="{{ route('admin.area.export') }}" method="post" class="d-inline">
- @csrf
- <button type="submit" class="btn btn-sm btn-outline-success me-2">Экспорт</button>
- </form>
- <button type="button" class="btn btn-sm btn-primary" data-bs-toggle="modal" data-bs-target="#addModal">
- Добавить
- </button>
- </div>
- </div>
- @if(session('success'))
- <div class="alert alert-success alert-dismissible fade show" role="alert">
- {{ session('success') }}
- <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Закрыть"></button>
- </div>
- @endif
- @if(session('error'))
- <div class="alert alert-danger alert-dismissible fade show" role="alert">
- {{ session('error') }}
- <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Закрыть"></button>
- </div>
- @endif
- <!-- Фильтр по округу -->
- <div class="row mb-3">
- <div class="col-md-4">
- <form action="{{ route('admin.area.index') }}" method="get" class="d-flex gap-2">
- <select name="district_id" class="form-select form-select-sm">
- <option value="">Все округа</option>
- @foreach($districts as $id => $name)
- <option value="{{ $id }}" {{ $selectedDistrict == $id ? 'selected' : '' }}>{{ $name }}</option>
- @endforeach
- </select>
- <button type="submit" class="btn btn-sm btn-outline-primary">Фильтр</button>
- </form>
- </div>
- </div>
- <table class="table table-bordered table-striped table-hover table-sm">
- <thead>
- <tr>
- @foreach($header as $key => $title)
- <th>{{ $title }}</th>
- @endforeach
- <th></th>
- </tr>
- </thead>
- <tbody>
- @foreach($areas as $area)
- <tr>
- <td>{{ $area['id'] }}</td>
- <td>{{ $area['name'] }}</td>
- <td>{{ $area['district_name'] }}</td>
- <td class="text-end">
- <a href="{{ route('admin.area.show', $area['id']) }}" class="btn btn-sm btn-outline-primary">
- Редактировать
- </a>
- </td>
- </tr>
- @endforeach
- </tbody>
- </table>
- <!-- Модальное окно добавления -->
- <div class="modal fade" id="addModal" tabindex="-1" aria-hidden="true">
- <div class="modal-dialog">
- <div class="modal-content">
- <div class="modal-header">
- <h5 class="modal-title">Добавить район</h5>
- <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Закрыть"></button>
- </div>
- <div class="modal-body">
- <form action="{{ route('admin.area.store') }}" method="post">
- @csrf
- @include('partials.input', ['name' => 'name', 'title' => 'Название', 'required' => true])
- @include('partials.select', [
- 'name' => 'district_id',
- 'title' => 'Округ',
- 'options' => $districts,
- 'required' => true,
- ])
- @include('partials.submit', ['name' => 'Добавить'])
- </form>
- </div>
- </div>
- </div>
- </div>
- <!-- Модальное окно импорта -->
- <div class="modal fade" id="importModal" tabindex="-1" aria-hidden="true">
- <div class="modal-dialog">
- <div class="modal-content">
- <div class="modal-header">
- <h5 class="modal-title">Импорт районов</h5>
- <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Закрыть"></button>
- </div>
- <div class="modal-body">
- <form action="{{ route('admin.area.import') }}" method="post" enctype="multipart/form-data">
- @csrf
- <div class="mb-3">
- <p class="text-muted small">
- Формат файла: XLSX с колонками: ID, Название, Округ (сокращение), ID округа.<br>
- Первая строка — заголовки. Округ указывается по сокращению или ID.
- </p>
- </div>
- @include('partials.input', ['name' => 'import_file', 'type' => 'file', 'title' => 'XLSX файл', 'required' => true])
- @include('partials.submit', ['name' => 'Импорт'])
- </form>
- </div>
- </div>
- </div>
- </div>
- @if($errors->any())
- @dump($errors)
- @endif
- @endsection
|