MIF_E31230892/sim-pkpps/resources/views/admin/kegiatan/absensi/rekap.blade.php

138 lines
6.5 KiB
PHP

{{-- views/admin/kegiatan/absensi/rekap.blade.php --}}
@extends('layouts.app')
@section('content')
<div class="page-header">
<h2><i class="fas fa-chart-bar"></i> Rekap Absensi: {{ $kegiatan->nama_kegiatan }}</h2>
</div>
<div class="row-cards">
<div class="card card-success">
<h3>Hadir</h3>
<div class="card-value">{{ $stats['Hadir'] ?? 0 }}</div>
<i class="fas fa-check-circle card-icon"></i>
</div>
<div class="card" style="border-top: 3px solid #FF9800;">
<h3>Terlambat</h3>
<div class="card-value">{{ $stats['Terlambat'] ?? 0 }}</div>
<i class="fas fa-clock card-icon" style="color: #FF9800;"></i>
</div>
<div class="card card-warning">
<h3>Izin</h3>
<div class="card-value">{{ $stats['Izin'] ?? 0 }}</div>
<i class="fas fa-info-circle card-icon"></i>
</div>
<div class="card card-info">
<h3>Sakit</h3>
<div class="card-value">{{ $stats['Sakit'] ?? 0 }}</div>
<i class="fas fa-heartbeat card-icon"></i>
</div>
<div class="card card-danger">
<h3>Alpa</h3>
<div class="card-value">{{ $stats['Alpa'] ?? 0 }}</div>
<i class="fas fa-times-circle card-icon"></i>
</div>
</div>
<div class="content-box">
<div style="margin-bottom: 14px;">
<form method="GET" class="filter-form-inline">
<input type="date" name="tanggal" class="form-control" value="{{ request('tanggal') }}">
<input type="month" name="bulan" class="form-control" value="{{ request('bulan') }}" placeholder="Pilih Bulan">
<select name="kelas_id" class="form-control" style="max-width: 200px;">
<option value="">Semua Kelas</option>
@foreach($kelasFilterList as $kelas)
<option value="{{ $kelas->id }}" {{ request('kelas_id') == $kelas->id ? 'selected' : '' }}>
{{ $kelas->nama_kelas }}
</option>
@endforeach
</select>
<button type="submit" class="btn btn-primary">
<i class="fas fa-filter"></i> Filter
</button>
@if(request()->hasAny(['tanggal', 'bulan', 'kelas_id']))
<a href="{{ route('admin.absensi-kegiatan.rekap', $kegiatan->kegiatan_id) }}" class="btn btn-secondary">
<i class="fas fa-times"></i> Reset
</a>
@endif
<a href="{{ route('admin.kegiatan.index') }}" class="btn btn-secondary" style="margin-left: auto;">
<i class="fas fa-arrow-left"></i> Kembali
</a>
</form>
</div>
@if($absensis->count() > 0)
@foreach($absensiPerKelas as $namaKelas => $kelasAbsensis)
<div class="content-box" style="margin-bottom: 18px;">
<h4 style="margin: 0 0 12px; color: var(--primary-color);">
<i class="fas fa-school"></i> Kelas: {{ $namaKelas }}
<span class="badge badge-secondary" style="font-size: 0.8rem; margin-left: 6px;">
{{ $kelasAbsensis->count() }} data
</span>
</h4>
<table class="data-table">
<thead>
<tr>
<th style="width: 50px;">No</th>
<th style="width: 100px;">Tanggal</th>
<th style="width: 100px;">ID Santri</th>
<th>Nama Santri</th>
<th style="width: 120px; text-align: center;">Status</th>
<th style="width: 100px;">Metode</th>
<th style="width: 100px;">Waktu</th>
<th style="width: 120px; text-align: center;">Aksi</th>
</tr>
</thead>
<tbody>
@foreach($kelasAbsensis as $index => $absensi)
<tr>
<td>{{ $index + 1 }}</td>
<td>{{ $absensi->tanggal->format('d/m/Y') }}</td>
<td><strong>{{ $absensi->id_santri }}</strong></td>
<td>{{ $absensi->santri->nama_lengkap }}</td>
<td class="text-center">{!! $absensi->status_badge !!}</td>
<td>
@if($absensi->metode_absen == 'RFID')
<span class="badge badge-primary"><i class="fas fa-id-card"></i> RFID</span>
@else
<span class="badge badge-secondary"><i class="fas fa-hand-pointer"></i> Manual</span>
@endif
</td>
<td>{{ $absensi->waktu_absen ? date('H:i', strtotime($absensi->waktu_absen)) : '-' }}</td>
<td class="text-center">
<div style="display: flex; gap: 4px; justify-content: center;">
<a href="{{ route('admin.absensi-kegiatan.edit', $absensi->id) }}" class="btn btn-sm btn-warning" title="Edit">
<i class="fas fa-edit"></i>
</a>
<form action="{{ route('admin.absensi-kegiatan.hapus', $absensi->id) }}" method="POST" style="display: inline;" onsubmit="return confirm('Yakin hapus absensi {{ $absensi->santri->nama_lengkap }}?');">
@csrf
@method('DELETE')
<button type="submit" class="btn btn-sm btn-danger" title="Hapus">
<i class="fas fa-trash"></i>
</button>
</form>
</div>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
@endforeach
@else
<div class="empty-state">
<i class="fas fa-clipboard"></i>
<h3>Belum Ada Data Absensi</h3>
<p>Silakan input absensi terlebih dahulu.</p>
<a href="{{ route('admin.absensi-kegiatan.input', $kegiatan->kegiatan_id) }}" class="btn btn-success">
<i class="fas fa-clipboard-check"></i> Input Absensi
</a>
</div>
@endif
</div>
@endsection