@extends('layouts.app') @section('title', 'لوحة الإدارة') @section('page_title', 'لوحة الإدارة') @section('content')
إجراءات سريعة
@php $totalRevenue = \App\Models\Appointment::whereNotNull('cost')->sum('cost') ?? 0; @endphp

{{ number_format($totalRevenue) }} ج.م

إجمالي الإيرادات

@php $monthlyRevenue = \App\Models\Appointment::whereMonth('appointment_date', now()->month) ->whereYear('appointment_date', now()->year) ->whereNotNull('cost') ->sum('cost') ?? 0; @endphp

{{ number_format($monthlyRevenue) }} ج.م

إيرادات هذا الشهر

@php $dailyRevenue = \App\Models\Appointment::whereDate('appointment_date', today()) ->whereNotNull('cost') ->sum('cost') ?? 0; @endphp

{{ number_format($dailyRevenue) }} ج.م

إيرادات اليوم

@php $avgAppointmentCost = \App\Models\Appointment::whereNotNull('cost')->avg('cost') ?? 0; @endphp

{{ number_format($avgAppointmentCost) }} ج.م

متوسط تكلفة الموعد

{{ \App\Models\User::where('role', 'patient')->count() }}

إجمالي المرضى

{{ \App\Models\User::where('role', 'doctor')->count() }}

إجمالي الأطباء

{{ \App\Models\Appointment::count() }}

إجمالي المواعيد

{{ \App\Models\MedicalRecord::count() }}

السجلات الطبية

الإيرادات الشهرية
طرق الدفع
مقارنة الإيرادات السنوية
نمو الإيرادات السنوي
@php $currentYearRevenue = \App\Models\Appointment::whereYear('appointment_date', now()->year)->whereNotNull('cost')->sum('cost') ?? 0; $lastYearRevenue = \App\Models\Appointment::whereYear('appointment_date', now()->year - 1)->whereNotNull('cost')->sum('cost') ?? 0; $growthPercentage = $lastYearRevenue > 0 ? (($currentYearRevenue - $lastYearRevenue) / $lastYearRevenue) * 100 : 0; @endphp

{{ $growthPercentage >= 0 ? '+' : '' }}{{ number_format($growthPercentage, 1) }}%

مقارنة بالعام الماضي

{{ now()->year }}

{{ number_format($currentYearRevenue) }} ج.م

{{ now()->year - 1 }}

{{ number_format($lastYearRevenue) }} ج.م

أعلى الأطباء إيراداً
@php $topDoctorsByRevenue = \App\Models\User::where('role', 'doctor') ->get() ->map(function($doctor) { $doctor->total_revenue = \App\Models\Appointment::where('doctor_id', $doctor->id)->whereNotNull('cost')->sum('cost') ?? 0; return $doctor; }) ->sortByDesc('total_revenue') ->take(5); @endphp @foreach($topDoctorsByRevenue as $doctor)
د. {{ $doctor->name }}
{{ \App\Models\Appointment::where('doctor_id', $doctor->id)->count() }} موعد
{{ number_format($doctor->total_revenue) }} ج.م
@endforeach
المدفوعات المعلقة
@php $pendingPayments = \App\Models\Appointment::where('payment_status', 'pending') ->orWhereNull('payment_status') ->latest() ->take(5) ->get(); @endphp @forelse($pendingPayments as $appointment)
{{ $appointment->patient->name ?? 'مريض غير محدد' }}
{{ $appointment->appointment_date }}
{{ number_format($appointment->cost ?? 0) }} ج.م
@empty

لا توجد مدفوعات معلقة

@endforelse
@include('components.appointment-add-modal') @include('components.appointment-receipt-modal') @endsection @section('scripts') `); printWindow.document.close(); }; // Global function to close receipt modal window.closeReceiptModal = function() { window.allowReceiptClose = true; $('#appointmentReceiptModal').modal('hide'); }; }); @endsection