@extends('layouts.app') @section('mobile-title', 'Reports') @section('mobile-subtitle', 'Field report register') @can('create', \App\Models\Report::class) @section('mobile-action-url', route('reports.create')) @section('mobile-action-icon', 'add') @section('mobile-action-label', 'New report') @endcan @section('content') @php $visibleReports = collect($reports->items()); $pendingCount = $visibleReports->where('status', \App\Models\Report::STATUS_SUBMITTED)->count(); $approvedCount = $visibleReports->where('status', \App\Models\Report::STATUS_APPROVED)->count(); $complianceScore = $visibleReports->count() > 0 ? round(($approvedCount / $visibleReports->count()) * 100, 1) : 0; @endphp

System Reports

Manage, analyze, and export operational data.

@if (auth()->user()->isAdmin()) Export CSV @endif New report
Total reports
analytics
{{ $reports->total() }}
Current result set
Pending approvals
approval_delegation
{{ $pendingCount }}
Action Required
Avg compliance score
verified_user
{{ $complianceScore }}%
Target: 95%
Reset
@if (auth()->user()->isAdmin())
@csrf
PDF ZIP includes approved reports only.
@endif
@forelse ($reports as $report)
{{ $report->reference_number }}
{{ $report->project->name }}
@include('partials.status-badge', ['status' => $report->status])
{{ collect(explode(' ', $report->technician->name))->map(fn ($part) => substr($part, 0, 1))->take(2)->join('') }} {{ $report->technician->name }} ยท {{ $report->work_date->format('M j, Y') }}
{{ $report->title }}
@if (auth()->user()->isAdmin()) @endif Review
@empty
No reports yet.
@endforelse
@if (auth()->user()->isAdmin())
@endif
{{ $reports->links() }}
@endsection