MIF_E31231754/resources/views/admin/saw/index.blade.php

184 lines
7.7 KiB
PHP

@extends('admin.layouts.app')
@section('title', 'Proses SAW')
@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 active">Proses SAW</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-calculator me-2"></i>Proses SAW</h2>
<p class="text-muted mb-0">Periode: <strong>{{ $periode->nama }}</strong></p>
</div>
<a href="{{ route('admin.dashboard') }}" class="btn btn-outline-secondary">
<i class="bi bi-arrow-left me-2"></i>Kembali
</a>
</div>
<!-- Info Periode -->
<div class="row mb-4">
<div class="col-md-3">
<div class="card shadow-sm border-0">
<div class="card-body text-center">
<i class="bi bi-people-fill text-primary display-4"></i>
<h3 class="mt-2 mb-0">{{ $wargaDinilai->count() }}</h3>
<small class="text-muted">Warga Dinilai</small>
</div>
</div>
</div>
<div class="col-md-3">
<div class="card shadow-sm border-0">
<div class="card-body text-center">
<i class="bi bi-list-check text-success display-4"></i>
<h3 class="mt-2 mb-0">{{ $kriteria->count() }}</h3>
<small class="text-muted">Kriteria</small>
</div>
</div>
</div>
<div class="col-md-3">
<div class="card shadow-sm border-0">
<div class="card-body text-center">
<i class="bi bi-trophy-fill text-warning display-4"></i>
<h3 class="mt-2 mb-0">{{ $periode->kuota_penerima }}</h3>
<small class="text-muted">Kuota Penerima</small>
</div>
</div>
</div>
<div class="col-md-3">
<div class="card shadow-sm border-0">
<div class="card-body text-center">
@if($sudahDihitung)
<i class="bi bi-check-circle-fill text-success display-4"></i>
<h5 class="mt-2 mb-0">Sudah Dihitung</h5>
@else
<i class="bi bi-hourglass-split text-secondary display-4"></i>
<h5 class="mt-2 mb-0">Belum Dihitung</h5>
@endif
<small class="text-muted">Status</small>
</div>
</div>
</div>
</div>
<!-- Action Buttons -->
<div class="card shadow-sm border-0 mb-4">
<div class="card-body">
<div class="d-flex justify-content-between align-items-center">
<div>
<h5 class="mb-1">Langkah Selanjutnya</h5>
<p class="text-muted mb-0 small">
@if($sudahDihitung)
Perhitungan SAW sudah dilakukan. Anda bisa melihat hasil atau menghitung ulang.
@else
Data penilaian sudah siap. Klik tombol "Hitung SAW" untuk memulai perhitungan.
@endif
</p>
</div>
<div class="d-flex gap-2">
@if($sudahDihitung)
<a href="{{ route('admin.saw.hasil', $periode) }}" class="btn btn-primary">
<i class="bi bi-trophy me-2"></i>Lihat Hasil & Ranking
</a>
<form action="{{ route('admin.saw.hitung', $periode) }}" method="POST" class="d-inline" onsubmit="return confirm('Yakin ingin menghitung ulang? Data hasil sebelumnya akan dihapus.')">
@csrf
<button type="submit" class="btn btn-warning">
<i class="bi bi-arrow-clockwise me-2"></i>Hitung Ulang
</button>
</form>
@else
<form action="{{ route('admin.saw.hitung', $periode) }}" method="POST" class="d-inline">
@csrf
<button type="submit" class="btn btn-success btn-lg">
<i class="bi bi-calculator me-2"></i>Hitung SAW
</button>
</form>
@endif
</div>
</div>
</div>
</div>
<!-- Preview Data Penilaian -->
<div class="card shadow-sm border-0">
<div class="card-header bg-white py-3">
<h5 class="mb-0">Preview Data Penilaian</h5>
</div>
<div class="card-body p-0">
@if($wargaDinilai->isEmpty())
<div class="text-center py-5">
<i class="bi bi-inbox display-1 text-muted"></i>
<h5 class="mt-3">Belum Ada Data Penilaian</h5>
<p class="text-muted">Silakan input penilaian warga terlebih dahulu</p>
<a href="{{ route('admin.penilaian.create') }}" class="btn btn-success mt-2">
<i class="bi bi-plus-circle me-2"></i>Tambah Penilaian
</a>
</div>
@else
<div class="table-responsive">
<table class="table table-hover table-striped mb-0">
<thead class="table-success">
<tr>
<th width="50" class="text-center">#</th>
<th>Nama Warga</th>
<th>Dusun/RW</th>
@foreach($kriteria as $k)
<th width="80" class="text-center" title="{{ $k->nama }}">{{ $k->kode }}</th>
@endforeach
</tr>
</thead>
<tbody>
@foreach($wargaDinilai as $index => $warga)
@if($warga) {{-- NULL CHECK --}}
<tr>
<td class="text-center">{{ $index + 1 }}</td>
<td>
<strong>{{ $warga->nama ?? 'N/A' }}</strong>
<br>
<small class="text-muted">
NIK: {{ $warga->nik ? $warga->nik : 'N/A' }}
</small>
</td>
<td>{{ $warga->dusun ?? '-' }}, RW {{ $warga->rw ?? '-' }}</td>
@foreach($kriteria as $k)
@php
$penilaianItem = $warga->penilaian->where('kriteria_id', $k->id)->first();
@endphp
<td class="text-center">
@if($penilaianItem)
<span class="badge {{ $k->jenis == 'benefit' ? 'bg-primary' : 'bg-warning text-dark' }}">
{{ $penilaianItem->nilai }}
</span>
@else
<span class="text-muted">-</span>
@endif
</td>
@endforeach
</tr>
@endif
@endforeach
</tbody>
</table>
</div>
@endif
</div>
</div>
</div>
@push('styles')
<style>
.table th {
font-weight: 600;
white-space: nowrap;
}
</style>
@endpush
@endsection