@extends('adminlte::page') @section('title', 'Laporan KBM Detail') @section('content_header')

Laporan KBM & Kehadiran

@stop @section('content')
{{-- ========================================================= --}} {{-- 1. FILTER UTAMA (KELAS, MAPEL, TANGGAL) --}} {{-- ========================================================= --}}
{{-- Filter Kelas (Reset Siswa saat berubah) --}}
{{-- Filter Mapel --}}
{{-- Rentang Tanggal --}}
{{-- Tombol Action (Filter & PDF) --}}
{{-- Tombol PDF --}}
{{-- Baris Kedua: Pilih Spesifik Siswa --}}
{{-- ========================================================= --}} {{-- MODE 1: TAMPILAN REKAP PER KELAS (TABEL) --}} {{-- ========================================================= --}} @if($mode == 'kelas')
Rekapitulasi Kelas @if($mapelId) {{ \App\Models\MataPelajaran::find($mapelId)->nama_mapel ?? 'Mapel' }} @endif
Menampilkan akumulasi kehadiran seluruh siswa di kelas terpilih.
@forelse($rekapKelas as $row) @empty @endforelse
Nama Siswa Hadir Sakit Izin Alpa Persentase Aksi
{{ $row['siswa']->nama_lengkap }} {{ $row['hadir'] }} {{ $row['sakit'] }} {{ $row['izin'] }} {{ $row['alpa'] }}
{{ $row['persen'] }}%
Detail

Tidak ada data siswa di kelas ini.

{{-- ========================================================= --}} {{-- MODE 2: TAMPILAN DETAIL PERSONAL (PROFILE, STATS, CHART) --}} {{-- ========================================================= --}} @elseif($mode == 'siswa') {{-- A. PROFILE CARD --}}

{{ $siswa->nama_lengkap }}

NIS: {{ $siswa->nis }} | Kelas: {{ $siswa->kelas->nama_kelas }}

{{ $siswa->jenis_kelamin }} {{ $siswa->status_siswa }}
Persentase

{{ $persentaseHadir }}%

{{ $mapelId ? \App\Models\MataPelajaran::find($mapelId)->nama_mapel : 'Semua Mapel' }}
{{-- B. STATISTIK CARDS --}}

{{ $stats['hadir'] }}

Hadir

{{ $stats['izin'] }}

Izin

{{ $stats['sakit'] }}

Sakit

{{ $stats['alpa'] }}

Alpa

{{-- C. TABLE BREAKDOWN MAPEL (Hanya jika "Semua Mapel" dipilih) --}} @if(!$mapelId && isset($breakdownMapel) && $breakdownMapel->count() > 0)
Performa Per Mapel
Rincian kehadiran siswa di setiap mata pelajaran.
@foreach($breakdownMapel as $item) @endforeach
Mata Pelajaran Total Sesi Hadir Absen Persentase
{{ $item->nama_mapel }} {{ $item->total }} {{ $item->hadir }} {{ $item->total - $item->hadir }}
{{ $item->persen }}%
@endif {{-- D. CHART & TIMELINE --}}
{{-- Grafik Bulanan --}}
Tren Bulanan
{{-- Timeline Riwayat --}}
Riwayat Log
@if($mapelId) Difilter @endif
@forelse($riwayatAbsensi as $log)
@php $bgClass = match($log->status_kehadiran) { 'Hadir' => 'bg-success-light text-success', 'Sakit' => 'bg-warning-light text-warning', 'Izin' => 'bg-info-light text-info', 'Alpa' => 'bg-danger-light text-danger', default => 'bg-secondary' }; $icon = match($log->status_kehadiran) { 'Hadir' => 'fa-check', 'Sakit' => 'fa-plus', 'Izin' => 'fa-envelope', 'Alpa' => 'fa-times', default => 'fa-question' }; @endphp
{{ $log->sesiPembelajaran->jadwal->mataPelajaran->nama_mapel ?? 'Mapel' }}
{{ $log->status_kehadiran }} {{ $log->created_at->format('d M H:i') }}
@empty
Tidak ada data.
@endforelse
@endif
@endsection @section('css') @endsection @section('js') @endsection