tsett
This commit is contained in:
82
resources/views/admin/orders/orders.blade.php
Normal file
82
resources/views/admin/orders/orders.blade.php
Normal file
@@ -0,0 +1,82 @@
|
||||
@extends('layouts.admin')
|
||||
|
||||
@section('title', 'Заказы')
|
||||
|
||||
@section('content')
|
||||
<div class="container-fluid">
|
||||
@if(session('success'))
|
||||
<div class="alert alert-success alert-dismissible fade show" role="alert">
|
||||
<i class="bi bi-check-circle-fill me-2"></i> {{ session('success') }}
|
||||
<button type="button" class="btn-close" data-bs-dismiss="alert"></button>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="card">
|
||||
<div class="card-header d-flex justify-content-between align-items-center flex-wrap gap-2">
|
||||
<h5>Заказы</h5>
|
||||
<form method="GET" action="{{ route('admin.orders') }}" class="d-flex gap-2">
|
||||
<input type="text" name="search" class="form-control form-control-sm" placeholder="Поиск по номеру..." value="{{ request('search') }}" style="width: 200px;">
|
||||
<select name="status" class="form-select form-select-sm" style="width: 150px;">
|
||||
<option value="">Все статусы</option>
|
||||
<option value="pending" {{ request('status') == 'pending' ? 'selected' : '' }}>Ожидает</option>
|
||||
<option value="processing" {{ request('status') == 'processing' ? 'selected' : '' }}>В обработке</option>
|
||||
<option value="shipped" {{ request('status') == 'shipped' ? 'selected' : '' }}>Отправлен</option>
|
||||
<option value="delivered" {{ request('status') == 'delivered' ? 'selected' : '' }}>Доставлен</option>
|
||||
<option value="cancelled" {{ request('status') == 'cancelled' ? 'selected' : '' }}>Отменён</option>
|
||||
</select>
|
||||
<button type="submit" class="btn btn-sm btn-dark-green">Фильтр</button>
|
||||
@if(request('search') || request('status'))
|
||||
<a href="{{ route('admin.orders') }}" class="btn btn-sm btn-secondary">Сбросить</a>
|
||||
@endif
|
||||
</form>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>№ заказа</th>
|
||||
<th>Клиент</th>
|
||||
<th>Сумма</th>
|
||||
<th>Статус доставки</th>
|
||||
<th>Статус оплаты</th>
|
||||
<th>Дата</th>
|
||||
<th>Действия</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@forelse($orders as $order)
|
||||
<tr>
|
||||
<td>{{ $order->order_number }}</td>
|
||||
<td>{{ $order->customer_name }}<br><small class="text-muted">{{ $order->customer_email }}</small></td>
|
||||
<td>{{ number_format($order->total, 0, '.', ' ') }} ₽</td>
|
||||
<td>
|
||||
<span class="badge bg-{{ $order->delivery_status_color }}">
|
||||
{{ $order->delivery_status_name }}
|
||||
</span>
|
||||
</td>
|
||||
<td>
|
||||
<span class="badge bg-{{ $order->payment_status === 'paid' ? 'success' : 'warning' }}">
|
||||
{{ $order->payment_status_name }}
|
||||
</span>
|
||||
</td>
|
||||
<td>{{ $order->created_at->format('d.m.Y H:i') }}</td>
|
||||
<td>
|
||||
<a href="{{ route('admin.orders.show', $order->id) }}" class="btn btn-sm btn-dark-green">
|
||||
<i class="bi bi-eye"></i>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
@empty
|
||||
<tr>
|
||||
<td colspan="7" class="text-center text-muted">Заказов не найдено</td>
|
||||
</tr>
|
||||
@endforelse
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
{{ $orders->links() }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
109
resources/views/admin/orders/show.blade.php
Normal file
109
resources/views/admin/orders/show.blade.php
Normal file
@@ -0,0 +1,109 @@
|
||||
@extends('layouts.admin')
|
||||
|
||||
@section('title', 'Заказ ' . $order->order_number)
|
||||
|
||||
@section('content')
|
||||
<div class="container-fluid">
|
||||
<div class="d-flex justify-content-between align-items-center mb-4">
|
||||
<h4>Заказ #{{ $order->order_number }}</h4>
|
||||
<a href="{{ route('admin.orders') }}" class="btn btn-secondary btn-sm">← Назад к списку</a>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="card mb-4">
|
||||
<div class="card-header">
|
||||
<h5 class="mb-0">Информация о заказе</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<p><strong>Дата:</strong> {{ $order->created_at->format('d.m.Y H:i') }}</p>
|
||||
<p><strong>Клиент:</strong> {{ $order->customer_name }}</p>
|
||||
<p><strong>Email:</strong> {{ $order->customer_email }}</p>
|
||||
<p><strong>Телефон:</strong> {{ $order->customer_phone }}</p>
|
||||
@if($order->shipping_address)
|
||||
<p><strong>Адрес доставки:</strong> {{ $order->shipping_address }}</p>
|
||||
@endif
|
||||
@if($order->comment)
|
||||
<p><strong>Комментарий:</strong> {{ $order->comment }}</p>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
<div class="card mb-4">
|
||||
<div class="card-header">
|
||||
<h5 class="mb-0">Обновить статус</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<form action="{{ route('admin.orders.update-status', $order->id) }}" method="POST">
|
||||
@csrf
|
||||
@method('PUT')
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Статус доставки</label>
|
||||
<select name="delivery_status" class="form-select">
|
||||
@foreach($order::getDeliveryStatuses() as $value => $label)
|
||||
<option value="{{ $value }}" {{ $order->delivery_status == $value ? 'selected' : '' }}>
|
||||
{{ $label }}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Статус оплаты</label>
|
||||
<select name="payment_status" class="form-select">
|
||||
@foreach($order::getPaymentStatuses() as $value => $label)
|
||||
<option value="{{ $value }}" {{ $order->payment_status == $value ? 'selected' : '' }}>
|
||||
{{ $label }}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
<button type="submit" class="btn btn-dark-green">Обновить статус</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h5 class="mb-0">Товары в заказе</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Товар</th>
|
||||
<th>Вариация</th>
|
||||
<th>SKU</th>
|
||||
<th>Кол-во</th>
|
||||
<th>Цена</th>
|
||||
<th>Сумма</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($order->items as $item)
|
||||
<tr>
|
||||
<td>{{ $item->product_name }}</td>
|
||||
<td>{{ $item->variation_name ?? '—' }}</td>
|
||||
<td>{{ $item->sku ?? '—' }}</td>
|
||||
<td>{{ $item->quantity }}</td>
|
||||
<td>{{ number_format($item->price, 0, '.', ' ') }} ₽</td>
|
||||
<td>{{ number_format($item->total, 0, '.', ' ') }} ₽</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td colspan="5" class="text-end fw-bold">Итого:</td>
|
||||
<td class="fw-bold">{{ number_format($order->total, 0, '.', ' ') }} ₽</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
Reference in New Issue
Block a user