@extends('layouts.app') @section('title', 'Manajemen Karyawan') @section('content')
{{-- ===== HEADER ===== --}}

Manajemen Karyawan

Kelola data karyawan PT Putra Taro Paloma

{{-- ===== STAT CARDS ===== --}}

Total Karyawan

{{ $stats['total'] }}

Aktif

{{ $stats['aktif'] }}

Resign

{{ $stats['resign'] }}

Pensiun

{{ $stats['pensiun'] }}

{{-- ===== FILTER & SEARCH (auto-submit) ===== --}}
{{-- Search --}}
@if(request('search')) @endif
{{-- Status pills --}}
@foreach([''=>'Semua', 'Aktif'=>'Aktif', 'Resign'=>'Resign', 'Pensiun'=>'Pensiun'] as $val => $label) @endforeach
{{-- Hidden status input --}} {{-- Reset (muncul jika ada filter aktif) --}} @if(request('search') || request('status')) Reset @endif {{-- Import & Template --}}
Template
{{-- Hidden import form --}}
{{-- ===== TABLE ===== --}}

Menampilkan {{ $karyawanList->firstItem() ?? 0 }}–{{ $karyawanList->lastItem() ?? 0 }} dari {{ $karyawanList->total() }} karyawan @if(request('status')) — filter: {{ request('status') }} @endif

@forelse($karyawanList as $i => $k) @empty @endforelse
No NIK Nama Departemen Jabatan Join Date End Contract Status Aksi
{{ $karyawanList->firstItem() + $i }} {{ $k->nik }} {{ $k->nama }} {{ $k->departemen ?: '-' }} {{ $k->jabatan ?: '-' }} {{ $k->join_company ? \Carbon\Carbon::parse($k->join_company)->format('d/m/Y') : '-' }} @if($k->end_contract) @php $daysLeft = now()->diffInDays(\Carbon\Carbon::parse($k->end_contract), false); @endphp {{ \Carbon\Carbon::parse($k->end_contract)->format('d/m/Y') }} @if($daysLeft >= 0 && $daysLeft < 30) {{ $daysLeft }}h lagi @endif @else - @endif @php $sc = match($k->status_karyawan) { 'Aktif' => 'bg-emerald-100 text-emerald-700', 'Resign' => 'bg-red-100 text-red-700', 'Pensiun' => 'bg-gray-100 text-gray-600', default => 'bg-gray-100 text-gray-600', }; @endphp {{ $k->status_karyawan }}

Belum ada data karyawan

@if(request('search') || request('status')) Reset filter @endif
{{-- Pagination --}} @if($karyawanList->hasPages())

Halaman {{ $karyawanList->currentPage() }} dari {{ $karyawanList->lastPage() }}

@if($karyawanList->onFirstPage()) ← Prev @else ← Prev @endif @foreach($karyawanList->getUrlRange(max(1,$karyawanList->currentPage()-2), min($karyawanList->lastPage(),$karyawanList->currentPage()+2)) as $page => $url) @if($page == $karyawanList->currentPage()) {{ $page }} @else {{ $page }} @endif @endforeach @if($karyawanList->hasMorePages()) Next → @else Next → @endif
@endif
{{-- ===== MODAL TAMBAH ===== --}} {{-- ===== MODAL EDIT ===== --}} {{-- ===== CONFIRM DIALOG ===== --}} {{-- ===== TOAST CONTAINER ===== --}}
{{-- Flatpickr --}} @endsection