198 lines
9.3 KiB
PHP
198 lines
9.3 KiB
PHP
@extends('admin.layouts.app')
|
|
|
|
@section('title', 'Edit 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">Edit 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-pencil-square me-2"></i>Edit Penilaian Warga</h2>
|
|
<p class="text-muted mb-0">Ubah nilai kriteria untuk: <strong>{{ $warga->nama }}</strong></p>
|
|
</div>
|
|
<a href="{{ route('admin.penilaian.index') }}" class="btn btn-outline-secondary">
|
|
<i class="bi bi-arrow-left me-2"></i>Kembali
|
|
</a>
|
|
</div>
|
|
|
|
|
|
@if ($errors->any())
|
|
<div class="alert alert-danger alert-dismissible fade show" role="alert">
|
|
<i class="bi bi-exclamation-triangle-fill me-2"></i>
|
|
<strong>Terdapat kesalahan:</strong>
|
|
<ul class="mb-0 mt-2">
|
|
@foreach ($errors->all() as $error)
|
|
<li>{{ $error }}</li>
|
|
@endforeach
|
|
</ul>
|
|
<button type="button" class="btn-close" data-bs-dismiss="alert"></button>
|
|
</div>
|
|
@endif
|
|
@if ($periodeAktif && \Carbon\Carbon::parse($periodeAktif->tanggal_selesai)->endOfDay()->isPast())
|
|
<div class="alert alert-warning border-warning shadow-sm mb-4">
|
|
<i class="bi bi-exclamation-triangle-fill me-2 text-warning"></i>
|
|
<strong>Perhatian:</strong> Masa aktif periode seleksi <strong>{{ $periodeAktif->nama }}</strong> telah berakhir pada {{ \Carbon\Carbon::parse($periodeAktif->tanggal_selesai)->format('d/m/Y') }}. Anda masih dapat menyesuaikan penilaian warga sebelum penerima ditetapkan secara final pada menu Proses SAW.
|
|
</div>
|
|
@endif
|
|
|
|
<!-- Form Card -->
|
|
<div class="card shadow-sm border-0">
|
|
<div class="card-header bg-warning">
|
|
<h5 class="mb-0"><i class="bi bi-pencil-square me-2"></i>Form Edit Penilaian</h5>
|
|
</div>
|
|
<div class="card-body">
|
|
<form action="{{ route('admin.penilaian.update', $warga->id) }}" method="POST">
|
|
@csrf
|
|
@method('PUT')
|
|
|
|
<!-- Info Warga & Periode -->
|
|
<div class="row mb-4">
|
|
<div class="col-md-6">
|
|
<div class="alert alert-primary">
|
|
<h6 class="mb-2"><i class="bi bi-person-fill me-2"></i>Data Warga</h6>
|
|
<table class="table table-sm table-borderless mb-0">
|
|
<tr>
|
|
<td width="100">Nama</td>
|
|
<td>: <strong>{{ $warga->nama }}</strong></td>
|
|
</tr>
|
|
<tr>
|
|
<td>NIK</td>
|
|
<td>: {{ $warga->nik }}</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Alamat</td>
|
|
<td>: {{ $warga->alamat }}</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Dusun/RW</td>
|
|
<td>: {{ $warga->dusun }}, RW {{ $warga->rw }}</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-6">
|
|
<div class="alert alert-info">
|
|
<h6 class="mb-2"><i class="bi bi-calendar-event me-2"></i>Periode Seleksi</h6>
|
|
<table class="table table-sm table-borderless mb-0">
|
|
<tr>
|
|
<td width="100">Nama</td>
|
|
<td>: <strong>{{ $periodeAktif->nama }}</strong></td>
|
|
</tr>
|
|
<tr>
|
|
<td>Periode</td>
|
|
<td>: {{ \Carbon\Carbon::parse($periodeAktif->tanggal_mulai)->format('d/m/Y') }} -
|
|
{{ \Carbon\Carbon::parse($periodeAktif->tanggal_selesai)->format('d/m/Y') }}
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Kuota</td>
|
|
<td>: {{ $periodeAktif->kuota_penerima }} penerima</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<hr class="my-4">
|
|
|
|
<!-- Nilai Kriteria Header -->
|
|
<div class="mb-4">
|
|
<h5 class="text-warning">
|
|
<i class="bi bi-list-check me-2"></i>Nilai Kriteria (skala 1-5)
|
|
</h5>
|
|
<p class="text-muted mb-0">Ubah nilai untuk setiap kriteria sesuai kondisi warga</p>
|
|
</div>
|
|
|
|
<!-- Grid Kriteria 2 Kolom -->
|
|
<div class="row g-4">
|
|
@foreach ($kriteria as $k)
|
|
@php
|
|
$currentNilai = $penilaian->has($k->id) ? $penilaian[$k->id]->nilai : old('nilai.'.$k->id);
|
|
@endphp
|
|
<div class="col-md-6">
|
|
<div class="card h-100 {{ $k->jenis == 'benefit' ? 'border-primary' : 'border-warning' }}">
|
|
<div class="card-body">
|
|
<!-- Header Kriteria -->
|
|
<div class="d-flex justify-content-between align-items-start mb-3">
|
|
<div>
|
|
<h6 class="mb-1">{{ $k->kode }} — {{ $k->nama }}</h6>
|
|
<span class="badge {{ $k->jenis == 'benefit' ? 'bg-primary' : 'bg-warning text-dark' }}">
|
|
{{ $k->jenis }}
|
|
</span>
|
|
</div>
|
|
<span class="badge bg-secondary">Bobot: {{ number_format($k->bobot, 2) }}</span>
|
|
</div>
|
|
|
|
<!-- Dropdown Nilai -->
|
|
<select name="nilai[{{ $k->id }}]" class="form-select form-select-lg @error('nilai.'.$k->id) is-invalid @enderror" required>
|
|
<option value="">-- Pilih Nilai --</option>
|
|
@if ($k->subKriteria->isNotEmpty())
|
|
@foreach ($k->subKriteria as $sub)
|
|
<option value="{{ $sub->nilai }}" {{ $currentNilai == $sub->nilai ? 'selected' : '' }}>
|
|
{{ $sub->nilai }} - {{ $sub->keterangan }}
|
|
</option>
|
|
@endforeach
|
|
@else
|
|
<option value="1" {{ $currentNilai == 1 ? 'selected' : '' }}>1 - Sangat Kurang / Rendah</option>
|
|
<option value="2" {{ $currentNilai == 2 ? 'selected' : '' }}>2 - Kurang / Rendah</option>
|
|
<option value="3" {{ $currentNilai == 3 ? 'selected' : '' }}>3 - Cukup / Sedang</option>
|
|
<option value="4" {{ $currentNilai == 4 ? 'selected' : '' }}>4 - Baik / Tinggi</option>
|
|
<option value="5" {{ $currentNilai == 5 ? 'selected' : '' }}>5 - Sangat Baik / Tinggi</option>
|
|
@endif
|
|
</select>
|
|
|
|
@error('nilai.'.$k->id)
|
|
<div class="invalid-feedback d-block">{{ $message }}</div>
|
|
@enderror
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@endforeach
|
|
</div>
|
|
|
|
<!-- Buttons -->
|
|
<div class="d-flex justify-content-between mt-5 pt-4 border-top">
|
|
<a href="{{ route('admin.penilaian.index') }}" class="btn btn-lg btn-outline-secondary">
|
|
<i class="bi bi-x-circle me-2"></i>Batal
|
|
</a>
|
|
<button type="submit" class="btn btn-lg btn-warning px-5">
|
|
<i class="bi bi-check-circle me-2"></i>Update Penilaian
|
|
</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
@push('styles')
|
|
<style>
|
|
.card {
|
|
transition: all 0.3s ease;
|
|
}
|
|
|
|
.card:hover {
|
|
transform: translateY(-2px);
|
|
box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
|
|
}
|
|
|
|
.form-select-lg {
|
|
font-size: 1rem;
|
|
padding: 0.75rem 1rem;
|
|
}
|
|
|
|
.table-borderless td {
|
|
padding: 0.25rem 0;
|
|
}
|
|
</style>
|
|
@endpush
|
|
@endsection |