{{-- 휴가 목록 테이블 (HTMX로 로드) --}} @php use App\Models\HR\Leave; @endphp @forelse($leaves as $leave) @php $profile = $leave->user?->tenantProfiles?->first(); $department = $profile?->department; $displayName = $profile?->display_name ?? $leave->user?->name ?? '-'; $color = Leave::STATUS_COLORS[$leave->status] ?? 'gray'; $statusLabel = Leave::STATUS_MAP[$leave->status] ?? $leave->status; $typeLabel = Leave::TYPE_MAP[$leave->leave_type] ?? $leave->leave_type; @endphp {{-- 사원 --}} {{-- 부서 --}} {{-- 유형 --}} {{-- 기간 --}} {{-- 일수 --}} {{-- 사유 --}} {{-- 상태 --}} {{-- 결재진행 --}} {{-- 처리자 --}} {{-- 액션 --}} @empty @endforelse
사원 부서 유형 기간 일수 사유 상태 결재진행 처리자 액션
{{ mb_substr($displayName, 0, 1) }}
{{ $displayName }}
{{ $department?->name ?? '-' }} {{ $typeLabel }} {{ $leave->start_date->format('m-d') }} @if($leave->start_date->ne($leave->end_date)) ~ {{ $leave->end_date->format('m-d') }} @endif {{ $leave->days == intval($leave->days) ? intval($leave->days) : $leave->days }}일 {{ $leave->reason ?? '-' }} @if($leave->reject_reason) 반려: {{ Str::limit($leave->reject_reason, 20) }} @endif {{ $statusLabel }} @if($leave->approval && $leave->approval->steps->count() > 0)
@foreach($leave->approval->steps->sortBy('step_order') as $step) @php $stepColor = match($step->status) { 'approved' => 'bg-green-500', 'rejected' => 'bg-red-500', 'on_hold' => 'bg-amber-500', default => 'bg-gray-300', }; $isCurrent = $step->status === 'pending' && $step->step_order == $leave->approval->current_step && in_array($step->step_type, ['approval', 'agreement']); if ($isCurrent) $stepColor = 'bg-blue-500 ring-2 ring-blue-200'; @endphp
@if($step->status === 'approved') ✓ @elseif($step->status === 'rejected') ✗ @else {{ $step->step_order }} @endif
@endforeach
@else - @endif
@if($leave->approver) {{ $leave->approver->name }} {{ $leave->approved_at?->format('m-d H:i') }} @else - @endif
@if($leave->approval_id) 결재 상세 → @endif @if($leave->status === 'approved') @elseif($leave->status === 'pending' && !$leave->approval_id) {{-- 결재 연동 없는 기존 pending 건만 직접 승인/반려 허용 --}} @elseif(!$leave->approval_id && $leave->status !== 'pending' && $leave->status !== 'approved') - @endif @if(auth()->user()->isSuperAdmin()) @endif

휴가 신청 내역이 없습니다.

{{-- 페이지네이션 --}} @if($leaves->hasPages())
{{ $leaves->links() }}
@endif