@extends('layouts.app') @section('title', __('dashboard.sidebar_sales')) @section('page_heading', __('dashboard.sidebar_sales')) @section('content') @php $currentState = $state ?? request('state', 'active'); $hasFilter = request()->hasAny(['customer_name','customer_phone','start_date','end_date']); $payBadge = [ 'paid' => ['#f0fdf4','#16a34a','مدفوع'], 'partial' => ['#fffbeb','#d97706','جزئي'], 'unpaid' => ['#fef2f2','#dc2626','غير مدفوع'], ]; $pmLabels = ['cash'=>'نقدي','card'=>'بطاقة','bank'=>'تحويل بنكي','wallet'=>'محفظة','instapay'=>'انستاباي','none'=>'—']; @endphp {{-- KPIs --}}
@foreach([ ['fa-solid fa-cart-shopping', '#eff6ff','#2563eb', $sales->total(), 'إجمالي الفواتير'], ['fa-solid fa-circle-check', '#f0fdf4','#16a34a', $sales->getCollection()->where('payment_status','paid')->count(), 'مدفوعة بالكامل'], ['fa-solid fa-coins', '#fffbeb','#d97706', number_format($sales->sum('final_total'),2), 'إجمالي المبيعات (ج.م)'], ['fa-solid fa-boxes-stacked', '#faf5ff','#7c3aed', $sales->getCollection()->sum(fn($s)=>$s->saleProducts->sum('quantity')), 'إجمالي الوحدات'], ] as [$ic,$bg,$cl,$val,$lbl])
{{ $val }}
{{ $lbl }}
@endforeach
{{-- Table card --}}
{{-- Head --}}
{{ __('dashboard.All Sales') }} {{ number_format($sales->total()) }}
{{-- State tabs --}}
@foreach(['active'=>'النشط','trashed'=>'المحذوف','all'=>'الكل'] as $val=>$lbl) {{ $lbl }} @endforeach
@can('create sales') {{ __('dashboard.Add New Sale') }} @endcan
{{-- Filter --}}
@if($hasFilter) @endif
@if($sales->isEmpty())
@include('layouts.partials.index-empty-state',['icon'=>'fa-solid fa-cart-shopping','title'=>__('dashboard.No sales found.'),'message'=>''])
@else
@foreach(['#','العميل','الوحدات','الخصم','الإجمالي','حالة الدفع','طريقة الدفع','التاريخ',''] as $h) @endforeach @foreach($sales as $sale) @php [$pbg,$pcl,$plbl] = $payBadge[$sale->payment_status] ?? ['var(--border-subtle)','var(--text-muted)',$sale->payment_status]; @endphp @endforeach
{{ $h }}
{{ $sale->id }} @if($sale->trashed()) محذوف @endif @if($sale->customer) {{ $sale->customer->name }}
{{ $sale->customer->phone }}
@else @endif
{{ $sale->saleProducts->sum('quantity') }} @if($sale->discount > 0) {{ $sale->discount }}{{ $sale->discount_type==='percent' ? '%' : ' ج.م' }} @else @endif
{{ number_format($sale->final_total,2) }}
ج.م
{{ $plbl }} {{ $pmLabels[$sale->payment_method] ?? '—' }} {{ $sale->created_at->format('Y-m-d') }} @canany(['view sales','edit sales','delete sales'])
@if($sale->trashed())
@csrf
@else @can('view sales') عرض طباعة POS طباعة A4 @endcan @can('edit sales') تعديل @endcan @can('delete sales')
@csrf @method('DELETE')
@endcan @endif
@endcanany
{{ $sales->appends(request()->query())->links() }}
@endif
@endsection