{{-- resources/views/admin/kesiswaan/siswa/kelas.blade.php --}} @extends('layouts.admin') @section('title', 'Data Siswa Per Kelas') @section('content')

Manajemen Kesiswaan: Data Siswa Kelas {{ $level->level_kelas ?? '' }}

Kelola data siswa aktif berdasarkan tahun ajaran dan rombongan belajar.
@if(session('success')) @endif @if(session('error')) @endif @php $rombels = $sidebarSiswas->map(function ($siswa) use ($tahunAjaranAktif) { return $siswa->kelasBerjalan($tahunAjaranAktif)['rombel'] ?? null; })->filter()->unique()->values()->sort(); $selectedTaId = request('tahun_ajaran_id', $tahunAjaranAktif->id ?? null); $selectedKelasInfo = null; $namaWaliKelas = '-'; $namaRombelFull = '-'; if(request('rombel') && request('jenkel') && $tahunAjaranAktif) { $reqRombel = request('rombel'); $reqJenkel = request('jenkel'); $selectedKelasInfo = \App\Models\Akademik\Kelas::where('tahun_ajaran_id', $tahunAjaranAktif->id) ->whereHas('rombel', function($q) use ($level, $reqRombel, $reqJenkel) { $q->where('level_kelas_id', $level->id) ->where('rombel', $reqRombel) ->where('jenkel', $reqJenkel); }) ->with(['waliKelas', 'rombel.levelKelas']) ->first(); if($selectedKelasInfo) { $namaWaliKelas = $selectedKelasInfo->waliKelas->name ?? 'Belum ditentukan'; $lvl = $selectedKelasInfo->rombel->levelKelas->level_kelas ?? $level->level_kelas; $rmb = $selectedKelasInfo->rombel->rombel ?? $reqRombel; $jkl = $selectedKelasInfo->rombel->jenkel == 'L' ? 'Putra' : 'Putri'; $namaRombelFull = "$lvl-$rmb-$jkl"; } else { $namaRombelFull = $level->level_kelas . '-' . $reqRombel . '-' . ($reqJenkel == 'L' ? 'Putra' : 'Putri'); $namaWaliKelas = '(Data Kelas Belum Diset)'; } } @endphp
@if(request()->hasAny(['q','tahun_ajaran_id', 'rombel', 'jenkel'])) @endif
@if(request('rombel') && request('jenkel'))
Identitas Kelas

{{ $namaRombelFull }}

{{ $tahunAjaranAktif->tahun_ajaran ?? '-' }} Wali Kelas: {{ $namaWaliKelas }}
Total Siswa

{{ $paginatedSiswas->total() }} Siswa

@endif
Daftar Siswa Kelas {{ $level->level_kelas ?? '' }} @if(request('rombel')) Filter Aktif @endif
@forelse ($paginatedSiswas as $siswa) @php $kelasBerjalan = $siswa->kelasBerjalan($tahunAjaranAktif); $status = $siswa->status?->status ?? 'N/A'; $badgeClass = match($status) { 'Aktif', 'Naik Kelas' => 'success', 'Lulus' => 'primary', 'Pindah Kelas', 'Pindah Sekolah' => 'warning text-dark', 'Tidak Aktif', 'Tidak Lulus', 'Keluar' => 'danger', default => 'secondary' }; $waliKelasList = $siswa->kelas?->waliKelas?->name ?? 'Belum Diatur'; @endphp @empty @endforelse
No Identitas Siswa Angkatan & Status Rombel & Wali Kelas Aksi
{{ ($paginatedSiswas->currentPage() - 1) * $paginatedSiswas->perPage() + $loop->iteration }}
{{ $siswa->name }}
{{ $siswa->name }}
NIS: {{ $siswa->nis ?? '-' }} | NIPD: {{ $siswa->nipd ?? '-' }}
{{ $siswa->jenkel === 'L' ? 'Putra' : 'Putri' }}
{{ $kelasBerjalan['angkatan'] ?? '-' }}
Masuk: {{ $kelasBerjalan['tahunMasuk'] ?? '-' }}
{{ strtoupper($status) }}
@if($kelasBerjalan)
{{ $kelasBerjalan['level'] }}-{{ $kelasBerjalan['rombel'] }}-{{ $kelasBerjalan['jenkel'] == 'L' ? 'Putra' : 'Putri' }}
Wali Kelas: {{ $waliKelasList }} @else Bukan Angkatan Tahun Ini @endif
Data Siswa Tidak Ditemukan

Pilih Rombel dan Gender pada panel filter di atas, atau gunakan fitur pencarian.

@if(method_exists($paginatedSiswas, 'links') && $paginatedSiswas->hasPages())
{{ $paginatedSiswas->withQueryString()->links('pagination::bootstrap-5') }}
@endif
@push('scripts') @endpush @endsection