تقرير التقييمات - فريق الوفاء الذهبي

@if($printType === 'user_specific' && $user) تقرير تقييمات المستخدم: {{ $user->name }} @else تقرير شامل للتقييمات @if($filterType != 'all') - @if($filterType == 'moderators') كل المشرفين @elseif($filterType == 'male_moderators') المشرفين الذكور @elseif($filterType == 'female_moderators') المشرفات الإناث @elseif($filterType == 'official_members') الأعضاء الرسميين @elseif($filterType == 'beta_members') أعضاء بيتا @elseif($filterType == 'all_members') كل الأعضاء @endif @endif @endif
تاريخ التقرير: {{ now()->format('Y/m/d H:i') }}
المُعد بواسطة: {{ auth()->user()->name }}
@if($request->from_date)
من تاريخ: {{ $request->from_date }}
@endif @if($request->to_date)
إلى تاريخ: {{ $request->to_date }}
@endif @if($request->status)
حالة التصفية: {{ $request->status == 'pending' ? 'قيد المراجعة' : 'معتمدة' }}
@endif
{{ number_format($stats['total_evaluations']) }}
إجمالي التقييمات
{{ number_format($stats['approved']) }}
التقييمات المعتمدة
{{ number_format($stats['pending']) }}
قيد المراجعة
{{ number_format($stats['total_points']) }}
إجمالي النقاط
{{ number_format($stats['present_days']) }}
أيام الحضور
{{ number_format($stats['excused_absences']) }}
غياب بعذر
{{ number_format($stats['unexcused_absences']) }}
غياب بدون عذر
{{ number_format($stats['total_warnings']) }}
إجمالي الإنذارات
@if($evaluations->count() > 0)

تفاصيل التقييمات

@foreach($evaluations as $evaluation) @endforeach
المستخدم الدور التاريخ واتساب تيكتوك الحضور الإنذارات النقاط الحالة المقيِّم الملاحظات
{{ $evaluation->user->name }}
{{ $evaluation->user->email }}
@php $userRole = $evaluation->user->roles->first(); $roleNames = [ 'moderator' => 'مشرف', 'official-member' => 'عضو رسمي', 'member' => 'عضو بيتا' ]; $roleClasses = [ 'moderator' => 'badge-moderator', 'official-member' => 'badge-official', 'member' => 'badge-beta' ]; @endphp @if($userRole) {{ $roleNames[$userRole->name] ?? $userRole->name }} @endif {{ $evaluation->evaluation_date->format('Y/m/d') }} {{ $evaluation->whatsapp_presence }} {{ $evaluation->tiktok_interaction }} @if($evaluation->attendance_status == 'present') حاضر @elseif($evaluation->attendance_status == 'absent_with_excuse') غائب بعذر @else غائب بدون عذر @endif {{ $evaluation->warnings_count }} {{ $evaluation->total_daily_points > 0 ? '+' : '' }}{{ $evaluation->total_daily_points }} @if($evaluation->status == 'approved') معتمد @else قيد المراجعة @endif {{ $evaluation->evaluator->name }} @if($evaluation->evaluator_notes) {{ Str::limit($evaluation->evaluator_notes, 50) }} @else - @endif
@if($printType === 'user_specific' && $user)

تحليل أداء {{ $user->name }}

{{ number_format($stats['total_evaluations']) }}
إجمالي التقييمات
{{ number_format($stats['total_points']) }}
إجمالي النقاط
{{ number_format($stats['present_days']) }}
أيام الحضور
{{ number_format($stats['excused_absences']) }}
غياب بعذر
{{ number_format($stats['unexcused_absences']) }}
غياب بدون عذر
{{ number_format($stats['total_warnings']) }}
إجمالي الإنذارات
@php $totalDays = $stats['total_evaluations']; $attendanceRate = $totalDays > 0 ? round(($stats['present_days'] / $totalDays) * 100, 1) : 0; $avgPoints = $totalDays > 0 ? round($stats['total_points'] / $totalDays, 2) : 0; @endphp
معدل الحضور: {{ $attendanceRate }}%
متوسط النقاط اليومية: {{ $avgPoints }}
متوسط الإنذارات الشهرية: {{ $totalDays > 0 ? round(($stats['total_warnings'] / $totalDays) * 30, 1) : 0 }}
@endif @if($printType !== 'user_specific')

ملخص حسب الأدوار

@php $roleStats = $evaluations->groupBy(function($evaluation) { $role = $evaluation->user->roles->first(); return $role ? $role->name : 'غير محدد'; })->map(function($roleEvaluations) { return [ 'count' => $roleEvaluations->count(), 'total_points' => $roleEvaluations->sum('total_daily_points'), 'avg_points' => round($roleEvaluations->avg('total_daily_points'), 2), 'present_count' => $roleEvaluations->where('attendance_status', 'present')->count(), 'warnings' => $roleEvaluations->sum('warnings_count'), 'approved' => $roleEvaluations->where('status', 'approved')->count(), ]; }); @endphp @foreach($roleStats as $roleName => $stats) @endforeach
الدور عدد التقييمات إجمالي النقاط متوسط النقاط معدل الحضور الإنذارات معدل الاعتماد
@php $displayNames = [ 'moderator' => 'مشرف', 'official-member' => 'عضو رسمي', 'member' => 'عضو بيتا' ]; @endphp {{ $displayNames[$roleName] ?? $roleName }} {{ number_format($stats['count']) }} {{ $stats['total_points'] > 0 ? '+' : '' }}{{ number_format($stats['total_points']) }} {{ $stats['avg_points'] > 0 ? '+' : '' }}{{ $stats['avg_points'] }} {{ $stats['count'] > 0 ? round(($stats['present_count'] / $stats['count']) * 100, 1) : 0 }}% {{ number_format($stats['warnings']) }} {{ $stats['count'] > 0 ? round(($stats['approved'] / $stats['count']) * 100, 1) : 0 }}%
@endif @else

لا توجد تقييمات للعرض

لم يتم العثور على أي تقييمات تطابق معايير البحث المحددة.

@endif