Contact
- UAE mobile
- {{ $employee->mobile ?: 'Not recorded' }}
- Work email
- {{ $employee->email ?: 'Not recorded' }}
- Emergency
- {{ $employee->emergency_contact_name ?: 'Not recorded' }} {{ $employee->emergency_contact_mobile }}
@extends('layouts.app') @section('title', $employee->full_name.' · Employee 360') @section('content')
{{ $employee->employee_code }}
{{ str_replace('_',' ',$employee->status) }}{{ $employee->designation ?: 'No designation' }} · {{ $employee->department?->name ?? 'No department' }} · {{ $employee->branch?->name ?? 'No branch' }}
Manager {{ $employee->reportingManager?->full_name ?? 'not assigned' }} · Joined {{ $employee->joining_date?->format('d M Y') ?? 'not recorded' }}
{{ $label }}
{{ $number ?: 'Not recorded' }}
{{ $expiry?->format('d M Y') ?? 'No expiry' }}
ERP login active
{{ $employee->user->email }} · {{ $employee->user->roles->pluck('name')->join(', ') }}
Status {{ ucfirst($employee->user->status) }} · last login {{ $employee->user->last_login_at?->format('d M Y H:i') ?? 'never' }}
No ERP login
This remains a standalone HR record until authorized access is created.
Upload or renew a document. Uploading the same document type creates a new current version and preserves the previous file as historical.
{{ $document->document_number ?: 'Number not recorded' }} · {{ $document->expiry_date?->format('d M Y') ?? 'No expiry' }}
Reviewed by {{ $document->verifiedByUser?->name }} on {{ $document->verified_at->format('d M Y H:i') }}
@endifUpload the first passport, visa, Emirates ID or employment document.
Original records remain linked to any correction request.
| Date | Status | Check in | Check out | Worked | Late | OT |
|---|---|---|---|---|---|---|
| {{ $record->attendance_date->format('d M Y') }} | {{ ucfirst(str_replace('_',' ',$record->status)) }} | {{ $record->actual_check_in?->format('H:i') ?? '—' }} | {{ $record->actual_check_out?->format('H:i') ?? '—' }} | {{ intdiv($record->worked_minutes,60) }}h {{ $record->worked_minutes%60 }}m | {{ $record->late_minutes }}m | {{ $record->overtime_minutes }}m |
| No attendance recorded. | ||||||
{{ $balance->leaveType->name }}
Used {{ $balance->used }}
{{ $balance->available }}
Balances are created when leave is first requested.
@endforelse{{ $leave->leaveType->name }}
{{ $leave->from_date->format('d M') }}–{{ $leave->to_date->format('d M Y') }} · {{ $leave->total_days }} day(s)
No leave requests.
@endforelseAED {{ number_format((float)$salary->basic_salary,2) }} basic
Housing {{ number_format((float)$salary->housing_allowance,2) }} · transport {{ number_format((float)$salary->transport_allowance,2) }} · other {{ number_format((float)$salary->other_fixed_allowance+(float)$salary->variable_allowance,2) }}
From {{ $salary->effective_from->format('d M Y') }}
{{ $salary->effective_to?->format('d M Y') ?? 'Current' }}
{{ $salary->change_reason }}
No salary structure. Payroll calculation will be blocked for this employee.
@endforelseIBAN
{{ $employee->bankDetail->maskedIban() }}
Sensitive values are encrypted and never rendered in full after saving.
No bank/WPS details.
@endifNo calculated payroll items.
@endforelseAED {{ number_format((float)($gratuity->approved_amount??$gratuity->estimated_amount),2) }}
{{ number_format($gratuity->eligible_service_days/365,2) }} eligible years
No estimate recorded.
@endforelse{{ $loan->loan_number }}
{{ ucfirst(str_replace('_',' ',$loan->type)) }} · {{ $loan->status }}
AED {{ number_format((float)$loan->remaining_amount,2) }}
remaining
No loans or advances.
@endforelse{{ ucfirst(str_replace(['.','_'],' ',$event->action)) }}
{{ $event->user?->name ?? 'System' }} · {{ $event->created_at->format('d M Y H:i') }}
No audited employee activity yet.
@endforelse