@php $documentGroups = [ [ 'title' => 'Dokumen Akademik Utama', 'badge' => 'Akademik', 'badgeClass' => 'bg-sky-100 text-sky-700', 'items' => [ ['label' => 'SKL', 'path' => 'skl_file_path', 'name' => 'skl_file_name', 'route' => 'skl', 'icon' => 'fa-solid fa-file-lines'], ['label' => 'Ijazah', 'path' => 'ijazah_file_path', 'name' => 'ijazah_file_name', 'route' => 'ijazah', 'icon' => 'fa-solid fa-graduation-cap'], ['label' => 'Transkrip Nilai', 'path' => 'transcript_file_path', 'name' => 'transcript_file_name', 'route' => 'transcript', 'icon' => 'fa-solid fa-table-list'], ], ], [ 'title' => 'Dokumen Sertifikasi', 'badge' => 'Sertifikasi', 'badgeClass' => 'bg-violet-100 text-violet-700', 'items' => [ ['label' => 'Sertifikat UKK', 'path' => 'ukk_certificate_file_path', 'name' => 'ukk_certificate_file_name', 'route' => 'ukk-certificate', 'icon' => 'fa-solid fa-award'], ['label' => 'Sertifikat LSP', 'path' => 'lsp_certificate_file_path', 'name' => 'lsp_certificate_file_name', 'route' => 'lsp-certificate', 'icon' => 'fa-solid fa-certificate'], ], ], ]; $allDocuments = collect($documentGroups)->flatMap(fn ($group) => $group['items']); $availableDocuments = $allDocuments->filter(fn ($item) => filled($graduation->{$item['path']}))->count(); $totalDocuments = $allDocuments->count(); $missingDocuments = max($totalDocuments - $availableDocuments, 0); @endphp
Status Arsip
Siswa Lulus
Tanggal Lulus
{{ $graduation->graduation_date?->format('d M Y') ?: 'Belum diisi' }}
Kelengkapan Dokumen
{{ $availableDocuments }}/{{ $totalDocuments }} tersedia
Kelas Terakhir
{{ $graduation->classRoom?->name ?: '-' }}
Snapshot Identitas
Identitas dasar siswa saat masuk arsip lulusan
Nama Lengkap
{{ $graduation->full_name }}
Status Arsip
Siswa Lulus
NIS
{{ $graduation->student_number ?: '-' }}
NISN
{{ $graduation->nisn ?: '-' }}
Posisi Akademik Terakhir
Rombel dan relasi akademik sebelum siswa lulus dari sekolah
Tahun Angkatan
{{ $graduation->academicYear?->name ?: '-' }}
Program Keahlian
{{ $graduation->department?->name ?: '-' }}
Kelas Terakhir
{{ $graduation->classRoom?->name ?: '-' }}
Tanggal Masuk
{{ $graduation->entry_date?->format('d-m-Y') ?: '-' }}
{{ $missingDocuments === 0 && $totalDocuments > 0 ? 'Dokumen kelulusan sudah lengkap' : 'Masih ada dokumen yang perlu dilengkapi' }}
{{ $availableDocuments }} dari {{ $totalDocuments }} dokumen tersedia{{ $missingDocuments > 0 ? ', sisa ' . $missingDocuments . ' dokumen belum ada.' : '.' }}
@foreach ($documentGroups as $group)
{{ $group['title'] }}
Status arsip dokumen pada kategori ini.
{{ $group['badge'] }}
@foreach ($group['items'] as $item) @php $hasFile = filled($graduation->{$item['path']}); @endphp
{{ $item['label'] }} {{ $hasFile ? 'sudah tersedia' : 'belum diupload' }}
@if ($graduation->{$item['name']})
{{ $graduation->{$item['name']} }}
@endif
@if ($hasFile) Preview @endif
@endforeach
@endforeach
@csrf @method('PATCH')
Upload Dokumen Akademik
Untuk arsip kelulusan inti dan dokumen nilai.
Akademik

Format: PDF, JPG, JPEG, PNG. Maksimal 4 MB.

Format: PDF, JPG, JPEG, PNG. Maksimal 4 MB.

Format: PDF, JPG, JPEG, PNG. Maksimal 4 MB.

Upload Dokumen Sertifikasi
Untuk bukti kompetensi dan sertifikasi lulusan.
Sertifikasi

Format: PDF, JPG, JPEG, PNG. Maksimal 4 MB.

Format: PDF, JPG, JPEG, PNG. Maksimal 4 MB.