250 lines
11 KiB
PHP
250 lines
11 KiB
PHP
@extends('admin.layouts.app')
|
|
|
|
@section('title', 'Detail Penilaian Warga')
|
|
|
|
@section('content')
|
|
<div class="container-fluid">
|
|
<!-- Breadcrumb -->
|
|
<nav aria-label="breadcrumb" class="mb-4">
|
|
<ol class="breadcrumb">
|
|
<li class="breadcrumb-item"><a href="{{ route('admin.dashboard') }}">Dashboard</a></li>
|
|
<li class="breadcrumb-item"><a href="{{ route('admin.penilaian.index') }}">Penilaian Warga</a></li>
|
|
<li class="breadcrumb-item active">Detail Penilaian</li>
|
|
</ol>
|
|
</nav>
|
|
|
|
<!-- Header -->
|
|
<div class="d-flex justify-content-between align-items-center mb-4">
|
|
<div>
|
|
<h2 class="mb-1"><i class="bi bi-file-text me-2"></i>Detail Penilaian Warga</h2>
|
|
<p class="text-muted mb-0">Informasi lengkap penilaian untuk: <strong>{{ $warga->nama }}</strong></p>
|
|
</div>
|
|
<div class="d-flex gap-2">
|
|
<a href="{{ route('admin.penilaian.edit', $warga->id) }}" class="btn btn-warning">
|
|
<i class="bi bi-pencil me-2"></i>Edit Penilaian
|
|
</a>
|
|
<a href="{{ route('admin.penilaian.index') }}" class="btn btn-outline-secondary">
|
|
<i class="bi bi-arrow-left me-2"></i>Kembali
|
|
</a>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<!-- Data Warga -->
|
|
<div class="col-md-4 mb-4">
|
|
<div class="card shadow-sm border-0 h-100">
|
|
<div class="card-header bg-primary text-white">
|
|
<h5 class="mb-0"><i class="bi bi-person-circle me-2"></i>Data Warga</h5>
|
|
</div>
|
|
<div class="card-body">
|
|
<table class="table table-sm table-borderless">
|
|
<tr>
|
|
<td width="120" class="text-muted">Nama</td>
|
|
<td>: <strong>{{ $warga->nama }}</strong></td>
|
|
</tr>
|
|
<tr>
|
|
<td class="text-muted">NIK</td>
|
|
<td>: {{ $warga->nik }}</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="text-muted">Alamat</td>
|
|
<td>: {{ $warga->alamat }}</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="text-muted">Dusun</td>
|
|
<td>: {{ $warga->dusun }}</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="text-muted">RT/RW</td>
|
|
<td>: {{ $warga->rt }}/{{ $warga->rw }}</td>
|
|
</tr>
|
|
@if ($warga->wilayah)
|
|
<tr>
|
|
<td class="text-muted">Wilayah</td>
|
|
<td>: {{ $warga->wilayah->nama_wilayah }}</td>
|
|
</tr>
|
|
@endif
|
|
<tr>
|
|
<td class="text-muted">Status</td>
|
|
<td>:
|
|
@if ($warga->is_aktif)
|
|
<span class="badge bg-success">Aktif</span>
|
|
@else
|
|
<span class="badge bg-secondary">Tidak Aktif</span>
|
|
@endif
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Periode Seleksi -->
|
|
<div class="col-md-4 mb-4">
|
|
<div class="card shadow-sm border-0 h-100">
|
|
<div class="card-header bg-info text-white">
|
|
<h5 class="mb-0"><i class="bi bi-calendar-event me-2"></i>Periode Seleksi</h5>
|
|
</div>
|
|
<div class="card-body">
|
|
<table class="table table-sm table-borderless">
|
|
<tr>
|
|
<td width="120" class="text-muted">Nama Periode</td>
|
|
<td>: <strong>{{ $periodeAktif->nama }}</strong></td>
|
|
</tr>
|
|
<tr>
|
|
<td class="text-muted">Tanggal Mulai</td>
|
|
<td>: {{ \Carbon\Carbon::parse($periodeAktif->tanggal_mulai)->format('d F Y') }}</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="text-muted">Tanggal Selesai</td>
|
|
<td>: {{ \Carbon\Carbon::parse($periodeAktif->tanggal_selesai)->format('d F Y') }}</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="text-muted">Kuota Penerima</td>
|
|
<td>: {{ $periodeAktif->kuota_penerima }} orang</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="text-muted">Status</td>
|
|
<td>:
|
|
@if ($periodeAktif->status == 'aktif')
|
|
<span class="badge bg-primary">{{ ucfirst($periodeAktif->status) }}</span>
|
|
@else
|
|
<span class="badge bg-secondary">{{ ucfirst($periodeAktif->status) }}</span>
|
|
@endif
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Ringkasan Penilaian -->
|
|
<div class="col-md-4 mb-4">
|
|
<div class="card shadow-sm border-0 h-100">
|
|
<div class="card-header bg-success text-white">
|
|
<h5 class="mb-0"><i class="bi bi-graph-up me-2"></i>Ringkasan Penilaian</h5>
|
|
</div>
|
|
<div class="card-body">
|
|
@php
|
|
$totalNilai = $penilaian->sum('nilai');
|
|
$rataRata = $penilaian->count() > 0 ? $totalNilai / $penilaian->count() : 0;
|
|
$nilaiTertinggi = $penilaian->max('nilai');
|
|
$nilaiTerendah = $penilaian->min('nilai');
|
|
@endphp
|
|
<div class="text-center mb-3">
|
|
<div class="display-4 text-success fw-bold">{{ number_format($rataRata, 2) }}</div>
|
|
<small class="text-muted">Rata-rata Nilai</small>
|
|
</div>
|
|
<hr>
|
|
<div class="row text-center">
|
|
<div class="col-6">
|
|
<h4 class="text-primary mb-0">{{ $nilaiTertinggi }}</h4>
|
|
<small class="text-muted">Nilai Tertinggi</small>
|
|
</div>
|
|
<div class="col-6">
|
|
<h4 class="text-warning mb-0">{{ $nilaiTerendah }}</h4>
|
|
<small class="text-muted">Nilai Terendah</small>
|
|
</div>
|
|
</div>
|
|
<hr>
|
|
<div class="text-center">
|
|
<h5 class="mb-0">{{ $penilaian->count() }}/7</h5>
|
|
<small class="text-muted">Kriteria Dinilai</small>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Detail Nilai Per Kriteria -->
|
|
<div class="card shadow-sm border-0">
|
|
<div class="card-header bg-white py-3">
|
|
<h5 class="mb-0"><i class="bi bi-list-check me-2"></i>Detail Nilai Per Kriteria</h5>
|
|
</div>
|
|
<div class="card-body p-0">
|
|
<div class="table-responsive">
|
|
<table class="table table-hover table-striped mb-0">
|
|
<thead class="table-success">
|
|
<tr>
|
|
<th width="80" class="text-center">Kode</th>
|
|
<th>Nama Kriteria</th>
|
|
<th width="100" class="text-center">Jenis</th>
|
|
<th width="100" class="text-center">Bobot</th>
|
|
<th width="100" class="text-center">Nilai</th>
|
|
<th>Keterangan</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
@foreach ($kriteria as $k)
|
|
@php
|
|
$nilaiItem = $penilaian->where('kriteria_id', $k->id)->first();
|
|
$nilai = $nilaiItem ? $nilaiItem->nilai : null;
|
|
$keterangan = $nilai ? \App\Models\PenilaianWarga::getNilaiLabel($k->kode, $nilai) : '-';
|
|
@endphp
|
|
<tr>
|
|
<td class="text-center">
|
|
<span class="badge bg-primary">{{ $k->kode }}</span>
|
|
</td>
|
|
<td><strong>{{ $k->nama }}</strong></td>
|
|
<td class="text-center">
|
|
@if ($k->jenis == 'benefit')
|
|
<span class="badge bg-info">Benefit</span>
|
|
@else
|
|
<span class="badge bg-warning text-dark">Cost</span>
|
|
@endif
|
|
</td>
|
|
<td class="text-center">{{ number_format($k->bobot, 2) }}</td>
|
|
<td class="text-center">
|
|
@if ($nilai)
|
|
<span class="badge bg-success fs-6">{{ $nilai }}</span>
|
|
@else
|
|
<span class="text-muted">-</span>
|
|
@endif
|
|
</td>
|
|
<td>
|
|
@if ($nilai)
|
|
<small>{{ $keterangan }}</small>
|
|
@else
|
|
<small class="text-muted">Belum dinilai</small>
|
|
@endif
|
|
</td>
|
|
</tr>
|
|
@endforeach
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Action Buttons -->
|
|
<div class="d-flex justify-content-between mt-4">
|
|
<a href="{{ route('admin.penilaian.index') }}" class="btn btn-outline-secondary">
|
|
<i class="bi bi-arrow-left me-2"></i>Kembali ke Daftar
|
|
</a>
|
|
<div class="d-flex gap-2">
|
|
<a href="{{ route('admin.penilaian.edit', $warga->id) }}" class="btn btn-warning">
|
|
<i class="bi bi-pencil me-2"></i>Edit Penilaian
|
|
</a>
|
|
<form action="{{ route('admin.penilaian.destroy', $warga->id) }}" method="POST" class="d-inline" onsubmit="return confirm('Yakin ingin menghapus penilaian warga ini?')">
|
|
@csrf
|
|
@method('DELETE')
|
|
<button type="submit" class="btn btn-danger">
|
|
<i class="bi bi-trash me-2"></i>Hapus Penilaian
|
|
</button>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
@push('styles')
|
|
<style>
|
|
.table-borderless td {
|
|
padding: 0.5rem 0;
|
|
}
|
|
|
|
.display-4 {
|
|
font-size: 3rem;
|
|
}
|
|
</style>
|
|
@endpush
|
|
@endsection |