@php $employeeOptions = $employees->pluck('name', 'id')->toArray(); $durationTypeOptions = [ 'single_day' => __('Specific Day'), 'range' => __('Date Range'), ]; $statusOptions = [ 'pending' => __('Pending manager review'), 'manager_approved' => __('Pending final approval'), 'approved' => __('Approved'), 'rejected' => __('Rejected'), 'cancelled' => __('Cancelled'), ]; $hasActiveFilters = filled($filterEmployee) || filled($filterDurationType) || filled($filterFrom) || filled($filterTo) || filled($filterStatus); @endphp
| # | {{ __('Employee') }} | {{ __('Duration Type') }} | {{ __('Date') }} | {{ __('Days') }} | {{ __('Overtime Hours') }} | {{ __('Hourly Wage') }} | {{ __('Overtime Hourly Wage') }} | {{ __('Total Amount') }} | {{ __('Status') }} | {{ __('Notes') }} | {{ __('Actions') }} |
|---|---|---|---|---|---|---|---|---|---|---|---|
| {{ $loop->iteration + ($overtimes->currentPage() - 1) * $overtimes->perPage() }} | {{ $overtime->employee->name ?? '—' }} | {{ $durationTypeOptions[$overtime->duration_type] ?? __($overtime->duration_type) }} | @if($overtime->duration_type === 'range') {{ $overtime->start_date?->format('Y-m-d') }} - {{ $overtime->end_date?->format('Y-m-d') }} @else {{ $overtime->date?->format('Y-m-d') }} @endif | {{ $overtime->days_count }} | {{ number_format((float) $overtime->total_hours, 2) }} ({{ number_format((float) $overtime->hours_per_day, 2) }} / {{ __('day') }}) | {{ number_format((float) $overtime->hourly_wage, 2) }} | {{ number_format((float) $overtime->overtime_hourly_wage, 2) }} | {{ number_format((float) $overtime->total_amount, 2) }} |
@php
$statusClass = match($overtime->status) {
'approved' => 'bg-green-100 text-green-800 dark:bg-green-900/40 dark:text-green-200',
'rejected', 'cancelled' => 'bg-red-100 text-red-800 dark:bg-red-900/40 dark:text-red-200',
'manager_approved' => 'bg-blue-100 text-blue-800 dark:bg-blue-900/40 dark:text-blue-200',
default => 'bg-yellow-100 text-yellow-800 dark:bg-yellow-900/40 dark:text-yellow-200',
};
@endphp
{{ $statusOptions[$overtime->status] ?? $overtime->status }}
@if($overtime->status === 'rejected' && $overtime->rejection_reason)
{{ __('Reason recorded') }}
@endif
|
{{ $overtime->notes ?: '—' }} |
@can('overtimes edit')
@if($overtime->status === 'pending')
@endif
@endcan
@if($overtime->status === 'pending' && $this->isDirectManager($overtime))
@endif
@if(in_array($overtime->status, ['pending', 'manager_approved']) && $this->canFinalApprove($overtime))
@endif
@if(in_array($overtime->status, ['pending', 'manager_approved']) && $this->canReject($overtime))
@endif
@if($overtime->created_by === auth()->id() && in_array($overtime->status, ['pending', 'manager_approved']))
@endif
|
| {{ __('No records found.') }} | |||||||||||
{{ __('Are you sure you want to delete this record?') }}