feat: edit routes

This commit is contained in:
2026-08-18 16:25:12 -07:00
parent c0c2d093e8
commit 4794d7f732
42 changed files with 2760 additions and 0 deletions
@@ -0,0 +1,65 @@
@extends('admin.layouts.app')
@section('content')
<div class="main-content app-content">
<div class="container-fluid pt-4">
<div class="card custom-card">
<div class="card-body">
@error('status')
<span class="warning">{{ $message }}</span>
@enderror
<form action="{{ route('admin.orders.update', $order->id) }}" method="POST">
@csrf
@method('PATCH')
<div class="mb-3">
<label for="status" class="form-label fw-semibold">
وضعیت سفارش
</label>
<select name="status" id="status" class="form-select">
<option value="0"
@selected(\App\Enums\OrderStatus::PENDING)>
در انتظار ثبت
</option>
<option value="1"
@selected(\App\Enums\OrderStatus::PROCESSING)>
در حال پردازش
</option>
<option value="2"
@selected(\App\Enums\OrderStatus::SENT)>
ارسال شده
</option>
<option value="4"
@selected(\App\Enums\OrderStatus::DELIVERED)>
تحویل داده
</option>
<option value="5"
@selected(\App\Enums\OrderStatus::CANCELLED)>
لغو شده
</option>
</select>
</div>
<button type="submit" class="btn btn-primary btn-wave">
ذخیره تغییرات
</button>
</form>
</div>
</div>
</div>
</div>
@endsection
@@ -0,0 +1,170 @@
@extends('admin.layouts.app')
@section('breadcrumb')
<div>
<h1 class="page-title fw-medium fs-18 mb-2">لیست سفارشات</h1>
<div>
<nav>
<ol class="breadcrumb mb-0">
<li class="breadcrumb-item"><a href="javascript:void(0)">مدیریت سفارشات</a></li>
<li class="breadcrumb-item active" aria-current="page">لیست سفارشات</li>
</ol>
</nav>
</div>
</div>
@endsection
@section('content')
<div class="main-content app-content">
<div class="container-fluid pt-4">
<!-- Filters -->
<div class="row">
<div class="col-xl-12">
<div class="card custom-card">
<div class="card-body p-3">
<form method="GET" >
<div class="d-flex align-items-center justify-content-between flex-wrap gap-3">
<!-- Sort Dropdown -->
<div class="d-flex flex-wrap gap-1 align-items-center">
<select id="choices-single-default" class="form-control" name="sort">
<option value="">مرتب‌سازی بر اساس</option>
<option
value="created_at_desc" @selected(request()->missing('sort') || request()->input('sort') == 'created_at_desc')>
جدیدترین
</option>
<option
value="created_at_asc" @selected(request()->input('sort') == 'created_at_asc')>
قدیمی‌ترین
</option>
<option
value="price_high" @selected(request()->input('sort') == 'price_high')>
مبلغ (زیاد به کم)
</option>
<option
value="price_low" @selected(request()->input('sort') == 'price_low')>
مبلغ (کم به زیاد)
</option>
<option value="status" @selected(request()->input('sort') == 'status')>
وضعیت
</option>
</select>
</div>
<!-- Search -->
<div class="d-flex" role="search">
<input class="form-control me-2" type="search" name="search"
placeholder="جستجو سفارش"
value="{{ request()->input('search') }}"
>
<button class="btn btn-light" type="submit">جستجو</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
<!-- Order Table -->
<div class="row">
<div class="col-xl-12">
<div class="card custom-card">
<div class="table-responsive">
<table class="table text-nowrap table-hover">
<thead>
<tr>
<th>شناسه</th>
<th>مشتری</th>
<th>مبلغ</th>
<th>وضعیت</th>
<th>تاریخ ثبت</th>
<th>عملیات</th>
</tr>
</thead>
<tbody>
@foreach($orders as $order)
<tr>
<td>
<div class="d-flex align-items-center gap-2">
<div>
<span class="fw-semibold d-block">#{{ $order->id }}</span>
</div>
</div>
</td>
<td>
{{ getUserFullName($order->user) }}
</td>
<td>
{{ number_format($order->total_price )}}
تومان
</td>
<td>
<span class="text-info">
@switch($order->status)
@case(\App\Enums\OrderStatus::PENDING)
<span>در انتظار پرداخت</span>
@break
@case(\App\Enums\OrderStatus::PROCESSING)
<span>در حال پردازش</span>
@break
@case(\App\Enums\OrderStatus::SENT)
<span>ارسال شده</span>
@break
@case(\App\Enums\OrderStatus::DELIVERED)
<span>تحویل شده</span>
@break
@case(\App\Enums\OrderStatus::CANCELLED)
<span>لغو شده</span>
@break
@endswitch
</span>
</td>
<td>{{$order->created_at->toJalali()->format('Y/m/d H:i')}}</td>
<td>
<div class="btn-list">
<a href="{{ route('admin.orders.show' , $order->id) }}"
class="btn btn-primary-light btn-icon btn-sm"
data-bs-toggle="tooltip" data-bs-placement="top" title="مشاهده">
<i class="ri-eye-line"></i>
</a>
<a href="{{route('admin.orders.edit', $order->id)}}"
class="btn btn-secondary-light btn-icon btn-sm"
data-bs-toggle="tooltip" data-bs-placement="top" title="ویرایش">
<i class="ti ti-pencil"></i>
</a>
<a href="javascript:void(0);"
onclick="if(confirm('آیا از حذف این سفارش مطمئن هستید؟')) { document.getElementById('delete-form-2').submit(); }"
class="btn btn-pink-light btn-icon btn-sm"
data-bs-toggle="tooltip" data-bs-placement="top" title="حذف">
<i class="ri-delete-bin-line"></i>
</a>
<form id="delete-form-2"
action="{{ route('admin.orders.destroy', $order->id) }}"
method="POST"
style="display:none;"
>
@csrf
@method('delete')
</form>
</div>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
</div>
{{$orders->links()}}
</div>
</div>
@endsection
+184
View File
@@ -0,0 +1,184 @@
@extends('admin.layouts.app')
@section('content')
<div class="main-content app-content">
<div class="container-fluid pt-4">
<!-- Main Row -->
<div class="row">
<div class="col-xl-8">
<div class="row">
<div class="col-md-6">
<!-- Summary -->
<div class="card custom-card overflow-hidden" style="padding-bottom: 6px !important;">
<div class="card-header justify-content-between">
<div class="card-title">خلاصه سفارش</div>
<div>شناسه: <span class="text-primary fw-semibold">{{ $order->id }}</span></div>
</div>
<div class="card-body p-0 table-responsive">
<table class="table">
<tbody>
<tr>
<td>
<div class="fw-semibold">تعداد کالا:</div>
</td>
<td>{{ $order->total_products }}</td>
</tr>
<tr>
<td>
<div class="fw-semibold">وضعیت سفارش:</div>
</td>
<td>
<span class="text-info">
@switch($order->status)
@case(\App\Enums\OrderStatus::PENDING)
<span>در انتظار پرداخت</span>
@break
@case(\App\Enums\OrderStatus::PROCESSING)
<span>در حال پردازش</span>
@break
@case(\App\Enums\OrderStatus::SENT)
<span>ارسال شده</span>
@break
@case(\App\Enums\OrderStatus::DELIVERED)
<span>تحویل شده</span>
@break
@endswitch
</span>
</td>
</tr>
<tr>
<td>
<div class="fw-semibold">مبلغ کل:</div>
</td>
<td>
<span class="fw-medium">
{{number_format($order->total_price) }}
تومان
</span>
</td>
</tr>
<tr>
<td style="border-bottom: 0;">
<div class="fw-semibold">توضیحات:</div>
</td>
<td style="border-bottom: 0;">{{ $order->description }}</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<!-- Address Info -->
<div class="col-md-6">
<div class="card custom-card">
<div class="card-header">
<div class="card-title">آدرس تحویل</div>
</div>
<div class="card-body">
<p>
<strong>آدرس:</strong>
{{ $order->user_address }}
</p>
<p>
<strong>شماره تماس:</strong>
{{ $order->user_mobile }}
</p>
<p>
<strong>کد پستی:</strong>
{{ $order->user_postal_code }}
</p>
</div>
</div>
</div>
</div>
</div>
<!-- Sidebar -->
<div class="col-xl-4">
<!-- User Info -->
<div class="card custom-card">
<div class="card-header">
<div class="card-title">مشخصات کاربر</div>
</div>
<div class="card-body">
<p><strong>نام:</strong>{{ getUserFullName($order->user) }}</p>
<p><strong>ایمیل:</strong> {{$order->user->email}}</p>
<p><strong>موبایل:</strong> {{ $order->user_mobile }}</p>
</div>
</div>
</div>
</div>
<div class="col-md-12">
<div>
<!-- Order Card -->
<div class="card custom-card">
<div class="card-header d-flex justify-content-between">
<div class="card-title">
محصولات سفارش
</div>
<div>
<span class="badge bg-primary-transparent">
تاریخ سفارش:
{{$order->created_at->toJalali()->format('H:i Y/m/d')}}
</span>
</div>
</div>
<div class="card-body p-0">
<div class="table-responsive">
<table class="table text-nowrap">
<thead>
<tr>
<th scope="col">محصول</th>
<th scope="col">قیمت</th>
<th scope="col">تعداد</th>
<th scope="col">مبلغ نهایی</th>
</tr>
</thead>
<tbody>
@foreach ($order->orderItems as $orderItem)
<tr>
<td>
<div class="d-flex align-items-center">
<div>
<div class="mb-1 fs-14 fw-medium">
<span>
{{$orderItem->product->name}}
|
{{$orderItem->product->en_name}}
</span>
</div>
</div>
</div>
</td>
<td>
{{ $orderItem->product->price }}
تومان
</td>
<td>{{ $orderItem->qty }}</td>
<td>
{{ number_format(discountPrice($orderItem->unit_price, $orderItem->unit_discount) * $orderItem->qty) }}
تومان
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
@endsection