@extends('layouts.portal') @section('title', 'Agent Reports') @section('page_title', 'Agent Reports') @section('page_subtitle', 'Agent performance, client referrals, and commission details') @section('sidebar') @include('admin.partials.sidebar', ['active' => 'reports-agents']) @endsection @section('content')

Agent Reports

Agent performance, client referrals, and commission details

{{ $stats['total_agents'] }} Total Agents System Online
{{ $stats['total_agents'] }}
Total Agents
{{ $stats['active_agents'] }}
Active Agents
{{ $stats['total_clients_referred'] }}
Clients Referred
RM {{ number_format($stats['total_commission_amount'], 0) }}
Total Commissions
Filters
Clear

Agent Details

@foreach($agents as $agent) @endforeach
ID Name Email Phone Status Referral Code Clients Referred Active Clients Completed Wills Commissions Paid Amount Pending Amount Join Date Actions
{{ $agent->id }} {{ $agent->first_name }} {{ $agent->last_name }}
@if($agent->address) {{ Str::limit($agent->address, 50) }} @endif
{{ $agent->email }} {{ $agent->phone ?? 'N/A' }} {{ ucfirst($agent->status) }} {{ $agent->referral_code ?? 'N/A' }} {{ $agent->clients()->whereNotNull('referred_by')->count() }} {{ $agent->clients()->where('status', 'active')->count() }} {{ $agent->clients()->whereHas('wills', function($q) { $q->where('status', 'completed'); })->count() }} {{ $agent->commissions()->count() }} RM {{ number_format($agent->commissions()->where('status', 'paid')->sum('amount'), 0) }} RM {{ number_format($agent->commissions()->where('status', 'pending')->sum('amount'), 0) }} {{ $agent->created_at->format('M d, Y') }} N/A
Showing {{ $agents->firstItem() }} to {{ $agents->lastItem() }} of {{ $agents->total() }} entries
{{ $agents->links() }}

Top Agents by Client Referrals

@php $topReferrers = $allAgents->map(function($agent) { return [ 'agent' => $agent, 'referral_count' => $agent->clients()->whereNotNull('referred_by')->count() ]; })->sortByDesc('referral_count')->take(5); @endphp
@foreach($topReferrers as $item)
{{ $item['agent']->first_name }} {{ $item['agent']->last_name }}
{{ $item['agent']->email }}
{{ $item['referral_count'] }} clients
@endforeach

Top Agents by Commissions

@php $topCommissionAgents = $allAgents->map(function($agent) { return [ 'agent' => $agent, 'commission_amount' => $agent->commissions()->sum('amount') ]; })->sortByDesc('commission_amount')->take(5); @endphp
@foreach($topCommissionAgents as $item)
{{ $item['agent']->first_name }} {{ $item['agent']->last_name }}
{{ $item['agent']->email }}
RM {{ number_format($item['commission_amount'], 0) }}
@endforeach
@endsection @push('scripts') @endpush