@extends('layouts.app') @section('title', 'Laporan Kehadiran Karyawan') @section('page-title', 'Laporan Presensi & Kehadiran') @section('page-subtitle', 'Laporan log presensi komprehensif dengan filter kustom tanggal dan departemen.') @section('page-actions')
Export Excel (.xls)
@endsection @section('content') {{-- Filter Preset Card --}}
@if($preset == 'custom')
@endif
{{-- Main Report Table --}}
Log Presensi ({{ \Carbon\Carbon::parse($startDate)->translatedFormat('d M Y') }} s/d {{ \Carbon\Carbon::parse($endDate)->translatedFormat('d M Y') }})
Total: {{ $attendances->total() }} Record
@forelse($attendances as $att) @empty @endforelse
Tanggal Karyawan Departemen Jam Masuk Jam Pulang Status Terlambat Jarak Geofence
{{ \Carbon\Carbon::parse($att->attendance_date)->translatedFormat('d M Y') }}
@if($att->employee?->photo) Avatar @else {{ strtoupper(substr($att->employee?->name ?? 'K', 0, 2)) }} @endif
{{ $att->employee?->name ?? 'Karyawan' }}
{{ $att->employee?->nik }}
{{ $att->employee?->department?->name ?? '-' }} @if($att->check_in) {{ \Carbon\Carbon::parse($att->check_in)->format('H:i') }} @else - @endif @if($att->check_out) {{ \Carbon\Carbon::parse($att->check_out)->format('H:i') }} @else - @endif {{ $att->status_label }} @if($att->late_minutes > 0) +{{ $att->late_minutes }}m @else - @endif @if($att->distance_in !== null) {{ round($att->distance_in) }} Meter @else - @endif
Tidak ada log presensi pada periode yang dipilih.
@if($attendances->hasPages())
{{ $attendances->links('pagination::bootstrap-5') }}
@endif
@endsection