@extends('layouts.main') @section('title', 'Dashboard Andalan') @section('css') @php $dashboardCssPath = public_path('assets/css/dashboard.css'); $dashboardCssVersion = file_exists($dashboardCssPath) ? filemtime($dashboardCssPath) : time(); @endphp @endsection @section('navbarTitle', 'Attendance') @section('content') @php $recapDetailEmployee = $recapDetailEmployee ?? []; $recapDetailMetrics = $recapDetailMetrics ?? []; $recapDetailCharts = $recapDetailCharts ?? []; $recapDetailAttendanceRows = $recapDetailAttendanceRows ?? collect(); $recapDetailPeriodLabel = (string) ($recapDetailPeriodLabel ?? now('Asia/Jakarta')->format('F Y')); $recapDetailMonth = (int) ($recapDetailMonth ?? now('Asia/Jakarta')->month); $recapDetailYear = (int) ($recapDetailYear ?? now('Asia/Jakarta')->year); $recapDetailPeityValue = static fn (mixed $percent): string => max(0, min(100, (int) $percent)).'/100'; @endphp @include('admin_attendance.layout.navbar')
Attendance Details
@if (! empty($recapDetailEmployee['avatar_url'])) {{ $recapDetailEmployee['name'] ?? 'Employee' }} @else {{ $recapDetailEmployee['initials'] ?? '-' }} @endif
{{ $recapDetailEmployee['name'] ?? '-' }}
{{ $recapDetailEmployee['position'] ?? '-' }}
{{ $recapDetailEmployee['department'] ?? '-' }} {{ $recapDetailEmployee['company'] ?? '-' }}
Employee ID : {{ $recapDetailEmployee['employee_code'] ?? '-' }}
Phone Number : {{ $recapDetailEmployee['phone'] ?? '-' }}
Email : {{ $recapDetailEmployee['email'] ?? '-' }}
Base : {{ $recapDetailEmployee['base'] ?? '-' }}
On Time

{{ $recapDetailMetrics['on_time'] ?? '0 days' }}

Late

{{ $recapDetailMetrics['late'] ?? '0 days' }}

Leave

{{ $recapDetailMetrics['leave'] ?? '0 days' }}

Deviation

{{ $recapDetailMetrics['deviation'] ?? '0 days' }}

Alpha

{{ $recapDetailMetrics['alpha'] ?? '0 days' }}

Trip

{{ $recapDetailMetrics['trip'] ?? '0 days' }}

Annual Leave

{{ $recapDetailMetrics['annual_leave'] ?? '0 days' }}

Sick Leave

{{ $recapDetailMetrics['sick_leave'] ?? '0 days' }}

Special Leave

{{ $recapDetailMetrics['special_leave'] ?? '0 days' }}

Unpaid Leave

{{ $recapDetailMetrics['unpaid_leave'] ?? '0 days' }}

Progress ({{ $recapDetailPeriodLabel }})

Days Worked
({{ $recapDetailCharts['days_worked_label'] ?? '0/0 days' }})

{{ $recapDetailPeityValue($recapDetailCharts['on_time_percent'] ?? 0) }}

On Time
({{ (int) ($recapDetailCharts['on_time_percent'] ?? 0) }}%)

{{ $recapDetailPeityValue($recapDetailCharts['late_percent'] ?? 0) }}

Late
({{ (int) ($recapDetailCharts['late_percent'] ?? 0) }}%)

{{ $recapDetailPeityValue($recapDetailCharts['monthly_hours_percent'] ?? 0) }}

Monthly Hours
({{ (int) ($recapDetailCharts['monthly_hours_percent'] ?? 0) }}%)

{{ $recapDetailPeityValue($recapDetailCharts['overtime_percent'] ?? 0) }}

Overtime
({{ (int) ($recapDetailCharts['overtime_percent'] ?? 0) }}%)

Attendance Recap ({{ $recapDetailPeriodLabel }})

Date Clock In Clock Out Note Working Hours Address Attachment
@endsection @section('script') @php $dashboardJsPath = public_path('assets/js/dashboard.js'); $dashboardJsVersion = file_exists($dashboardJsPath) ? filemtime($dashboardJsPath) : time(); $dataTablesJsPath = public_path('assets/vendor/datatables/js/jquery.dataTables.bundle.min.js'); $dataTablesJsVersion = file_exists($dataTablesJsPath) ? filemtime($dataTablesJsPath) : time(); $apexChartsPath = public_path('assets/vendor/apexcharts/dist/apexcharts.min.js'); $apexChartsVersion = file_exists($apexChartsPath) ? filemtime($apexChartsPath) : time(); @endphp @endsection