@extends('layouts.app') @section('title', __('dashboard.stats_sales_title')) @section('page_heading', __('dashboard.stats_sales_title')) @section('styles') @endsection @section('content') @php $formattedStart = $startDate->format('Y-m-d'); $formattedEnd = $endDate->format('Y-m-d'); $labels = $chartData['labels'] ?? []; $salesSeries = $chartData['sales'] ?? []; $returnsSeries = $chartData['returns'] ?? []; $totalSales = collect($salesSeries)->sum(); $totalReturns = collect($returnsSeries)->sum(); $netSales = $totalSales - $totalReturns; $daysCount = max(count($labels), 1); $avgPerDay = $totalSales / $daysCount; $returnRate = $totalSales > 0 ? ($totalReturns / $totalSales * 100) : 0; $bestSalesAmount = collect($salesSeries)->max() ?? 0; $bestSalesIndex = array_search($bestSalesAmount, $salesSeries, true); $bestSalesDay = $bestSalesIndex !== false && isset($labels[$bestSalesIndex]) ? $labels[$bestSalesIndex] : '-'; $activeDaysCount = collect($salesSeries)->filter(fn ($value) => $value > 0)->count(); $exportParams = ['range' => $range]; if ($range === 'custom') { $exportParams['custom_start'] = request('custom_start', $formattedStart); $exportParams['custom_end'] = request('custom_end', $formattedEnd); } $exportCsvRoute = route('dashboard.statistics.sales.export', $exportParams); $exportXlsRoute = route('dashboard.statistics.sales.export', array_merge($exportParams, ['format' => 'xls'])); @endphp @include('dashboard.statistics.partials.nav')
CSV Excel
@foreach([ ['fa-solid fa-cart-shopping', '#eff6ff', '#2563eb', number_format($totalSales, 2), 'إجمالي المبيعات', $formattedStart . ' - ' . $formattedEnd], ['fa-solid fa-rotate-left', '#fef2f2', '#dc2626', number_format($totalReturns, 2), 'إجمالي المرتجعات', number_format($returnRate, 1) . '% من المبيعات'], ['fa-solid fa-coins', '#f0fdf4', '#16a34a', number_format($netSales, 2), __('dashboard.net_sales_label'), 'بعد خصم المرتجعات'], ['fa-solid fa-calendar-days', '#fffbeb', '#d97706', number_format($avgPerDay, 2), 'متوسط يومي', 'على مدار ' . $daysCount . ' يوم'], ] as [$icon, $bg, $color, $value, $label, $meta])
{{ $value }}
{{ $label }}
{{ $meta }}
@endforeach

{{ __('dashboard.Sales Statistics') }}

{{ count($labels) }} يوم

تفاصيل يومية

{{ count($labels) }} سجل
@if(empty($labels))
@include('layouts.partials.index-empty-state', [ 'icon' => 'fa-solid fa-cart-shopping', 'title' => 'لا توجد بيانات مبيعات', 'message' => 'جرّب تغيير نطاق التاريخ', ])
@else
@foreach($labels as $index => $date) @php $saleAmount = $salesSeries[$index] ?? 0; $returnAmount = $returnsSeries[$index] ?? 0; $dailyNet = $saleAmount - $returnAmount; $dailyReturnRate = $saleAmount > 0 ? ($returnAmount / $saleAmount * 100) : 0; @endphp @endforeach
# {{ __('dashboard.Date') }} {{ __('dashboard.Sales') }} {{ __('dashboard.Returns') }} الصافي نسبة المرتجعات
{{ $index + 1 }} {{ $date }} {{ number_format($saleAmount, 2) }} {{ number_format($returnAmount, 2) }} {{ number_format($dailyNet, 2) }}
{{ number_format($dailyReturnRate, 1) }}%
الإجمالي {{ number_format($totalSales, 2) }} {{ number_format($totalReturns, 2) }} {{ number_format($netSales, 2) }} {{ number_format($returnRate, 1) }}%
@endif
@endsection @section('scripts') @endsection