@extends('layouts.admin') @section('title', 'Dashboard Admin') @section('page_title', 'Dashboard BKPSDM') @php $totalStatus = max($totalPegawai + $pegawaiPending, 1); $assessmentCoverage = $totalPegawai > 0 ? round(($sudahAssessment / $totalPegawai) * 100, 1) : 0; $pendingRate = round(($pegawaiPending / $totalStatus) * 100, 1); $developmentRate = $sudahAssessment > 0 ? round(($perluPengembanganAssessment / $sudahAssessment) * 100, 1) : 0; $distributionTotal = max(array_sum($assessmentDistribution), 1); $pengembanganTotal = max(array_sum($statusPengembanganKompetensi), 1); @endphp @section('style') @endsection @section('content')

Dashboard Eksekutif BKPSDM

{{ $dashboardScope }} · Tahun assessment {{ $assessmentYear }}

{{ now()->locale('id')->translatedFormat('l, d F Y') }}
Total Pegawai Aktif
{{ number_format($totalPegawai) }}
Basis pemetaan jabatan dan kompetensi ASN.
Lihat data
Menunggu Validasi
{{ number_format($pegawaiPending) }}
{{ $pendingRate }}% dari data aktif dan antrean.
Tinjau pendataan
Sudah Assessment
{{ number_format($sudahAssessment) }}
{{ $assessmentCoverage }}% dari pegawai aktif.
Lihat assessment
Perlu Pelatihan
{{ number_format($perluPengembanganAssessment) }}
{{ $developmentRate }}% dari pegawai yang sudah assessment.
Lihat kebutuhan
Antrian Validasi Pendataan
Data masuk yang perlu ditindaklanjuti admin.
Lihat semua
@if ($pendingForApproval->isNotEmpty())
@foreach ($pendingForApproval as $pegawai) @endforeach
Nama Jabatan Tanggal Pengajuan Aksi
{{ $pegawai->nama_lengkap }}
NIP {{ $pegawai->nip }}
{{ $pegawai->jabatan?->nama_jabatan ?? '-' }}
{{ $pegawai->jabatan?->jenjang_label ?? '-' }}
{{ $pegawai->created_at->format('d M Y') }}
{{ $pegawai->created_at->diffForHumans() }}
@else
Tidak ada pendataan yang menunggu validasi.
@endif
Pegawai Belum Melakukan Assessment
Prioritas pengingat assessment.
Lihat Semua
@if ($pegawaiBelumAssessment->isNotEmpty())
@foreach ($pegawaiBelumAssessment as $pegawai) @endforeach
Nama Jabatan Unit Kerja Aksi
{{ $pegawai->nama_lengkap }}
NIP {{ $pegawai->nip }}
{{ $pegawai->jabatan?->nama_jabatan ?? '-' }}
{{ $pegawai->jabatan?->jenjang_label ?? '-' }}
{{ $pegawai->unit_kerja }}
@else
Semua pegawai aktif sudah melakukan assessment.
@endif
Proyeksi Pensiun 5 Tahun
Mendukung perencanaan kebutuhan pegawai.
Lihat Semua
@if ($retirementSoonTotal > 0)
@else
Belum ada pegawai yang mendekati pensiun.
@endif
Jabatan dengan Tingkat Kompetensi Terendah
Top 5, urut dari terendah.
@if ($jabatanAssessmentTerendah->isNotEmpty())
@foreach ($jabatanAssessmentTerendah as $jabatan) @endforeach
Jabatan Persentase Kompetensi
{{ $jabatan->nama_jabatan }}
{{ $jabatan->nama_jenjang ?? '-' }} · {{ $jabatan->jumlah_pegawai }} pegawai
{{ $jabatan->rata_rata }}%
@else
Belum ada data assessment per jabatan.
@endif
Distribusi Hasil Kompetensi
Kondisi kompetensi ASN berdasarkan hasil penilaian mandiri.
@if (array_sum($assessmentDistribution) > 0)
@foreach ($assessmentDistribution as $label => $total) @php $color = $label === 'Kompeten' ? '#8ba888' : ($label === 'Cukup Kompeten' ? '#d6a658' : '#c97c72'); $percentage = round(($total / $distributionTotal) * 100, 1); @endphp
{{ $label }} {{ $total }} pegawai · {{ $percentage }}%
@endforeach
@else
Belum ada hasil assessment pada tahun ini.
@endif
Prioritas Pengembangan Kompetensi
Fokus pelatihan berdasarkan gap terbanyak.
@if ($topKompetensiPengembangan->isNotEmpty())
@foreach ($topKompetensiPengembangan as $kompetensi)
{{ $loop->iteration }}
{{ $kompetensi->nama_kompetensi }}
{{ ucwords(str_replace('_', ' ', $kompetensi->jenis_kompetensi)) }}
{{ $kompetensi->total_gap }} gap
@endforeach
@else
Belum ada prioritas pengembangan kompetensi.
@endif
Heatmap Pemetaan Kompetensi
Matriks jabatan fungsional terhadap kategori hasil kompetensi ASN.
@if ($heatmapKompetensi->count() > 5) @endif
@if ($heatmapKompetensi->isNotEmpty())
@foreach ($heatmapKompetensi->take(5) as $row) @endforeach
Jabatan Fungsional Kompeten Cukup Kompeten Perlu Pelatihan
{{ $row['jabatan'] }}
{{ $row['Kompeten'] }} {{ $row['Cukup Kompeten'] }} {{ $row['Perlu Pelatihan'] }}
@else
Heatmap akan tampil setelah assessment kompetensi tersedia.
@endif
@endsection @section('script') @if ($pegawaiPerJabatan->isNotEmpty() || $retirementSoonTotal > 0 || array_sum($assessmentDistribution) > 0 || $topKompetensiPengembangan->isNotEmpty() || array_sum($statusPengembanganKompetensi) > 0) @endif @endsection