@extends('layouts.guru.app') @section('title', 'Input Nilai — '.$kelasDipilih->nama_kelas) @push('styles') @endpush @section('content')
{{-- Hero --}}
Input Nilai

{{ $kelasDipilih->nama_kelas }}

{{ $guru->mata_pelajaran ?? 'Semua Mata Pelajaran' }}

Guru Pengampu
{{ $guru->nama_guru }}
Kembali
{{-- Flash --}} @if(session('success'))
{{ session('success') }}
@endif {{-- Statistik --}}
{{ $statistik['rata_kelas'] }}
Rata-rata Kelas
{{ $statistik['jumlah_tp'] }}
Jumlah TP
{{ $statistik['belum_lengkap'] }}
Belum Lengkap
{{ $statistik['total_siswa'] }}
Total Siswa
{{-- Tabel Nilai --}}
Input Nilai
{{ $kelasDipilih->nama_kelas }}
@csrf
Export Excel
@csrf
@for($tp = 1; $tp <= $jumlahTp; $tp++) @endfor @foreach($nilaiSiswa as $idx => $nilai) @php $tpMap = $nilai->tp->keyBy('urutan_tp'); $tpArr = []; for ($i = 1; $i <= $jumlahTp; $i++) $tpArr[$i] = $tpMap->get($i)?->nilai; $allAngka = array_filter(array_merge(array_values($tpArr), [$nilai->pts, $nilai->pas]), fn($v) => $v !== null && $v !== ''); $rata = count($allAngka) > 0 ? round(array_sum($allAngka) / count($allAngka), 1) : null; $grade = $rata !== null ? ($rata >= 90 ? 'A' : ($rata >= 80 ? 'B' : ($rata >= 70 ? 'C' : 'D'))) : null; $gradeClass = match($grade) { 'A'=>'nv-grade-A','B'=>'nv-grade-B','C'=>'nv-grade-C','D'=>'nv-grade-D', default=>'nv-grade-x' }; @endphp @for($tp = 1; $tp <= $jumlahTp; $tp++) @endfor @endforeach
No Nama Siswa
TP {{ $tp }}
PTS PAS Rata-rata Grade
{{ $idx + 1 }}
{{ strtoupper(substr($nilai->siswa->nama_siswa, 0, 1)) }}
{{ $nilai->siswa->nama_siswa }}
{{ $nilai->siswa->nisn ?? '—' }}
{{ $rata ?? '—' }} {{ $grade ?? '—' }}
{{-- Form Hapus TP --}} {{-- Toast --}}
Hapus kolom TP?
Semua nilai di kolom ini akan terhapus permanen
@endsection