@extends('layouts.app') @section('title', 'Ranking Hasil SAW') @section('content')
Total Mahasiswa

{{ $countMahasiswa }}

Total Penyesuaian UKT

Rp {{ number_format($totalUktPenyesuaian, 0, ',', '.') }}

Budget Tersedia

Rp {{ number_format($budget, 0, ',', '.') }}

@if($selectedForm = $forms->where('status', 'Dibuka')->first()) {{ $selectedForm->nama_form }} @endif
Selisih UKT

Rp {{ number_format(abs($selisihUkt), 0, ',', '.') }}

@csrf
 Filter Data
Daftar Ranking
@if(request('kuota_filter') == 'available') Menampilkan: Dalam Kuota @elseif(request('kuota_filter') == 'exceeded') Menampilkan: Melebihi Kuota @endif Total: {{ $rankings->total() }} Halaman: {{ $rankings->currentPage() }}/{{ $rankings->lastPage() }}
@forelse($rankings as $ranking) @php $cannotAdjust = in_array(strtolower($ranking->rekomendasi_ukt), ['ukt tetap', 'tidak dapat mengangsur']); $form = $ranking->pengajuan->form ?? null; $isBeyondQuota = $ranking->is_beyond_quota ?? false; $currentRank = $ranking->current_rank ?? ($rankings->firstItem() + $loop->index); // Determine CSS classes based on status $rowClass = ''; $textClass = ''; $badgeClass = 'success'; $quotaStatus = ''; if ($cannotAdjust) { // Red for "UKT Tetap" or "tidak dapat mengangsur" $rowClass = 'table-danger'; $badgeClass = 'danger'; $quotaStatus = 'Tidak Diterima'; } elseif ($isBeyondQuota) { // Gray for beyond quota $rowClass = 'table-secondary'; $textClass = 'text-dark'; $badgeClass = 'secondary'; $quotaStatus = 'Kuota Penuh'; } else { // Green for within quota and adjustable $quotaStatus = 'Dalam Kuota'; } @endphp @empty @endforelse
Rank Mahasiswa Formulir UKT Saat Ini UKT Penyesuaian Status Nilai Aksi
{{ $currentRank }}
{{ $ranking->pengajuan?->mahasiswa?->user?->name ?? '-' }}
{{ $ranking->pengajuan?->mahasiswa?->nim ?? '-' }}
@if($form) {{ $form->nama_form }}
{{ $form->semester }} {{ $form->tahun }} @if($form->kuota > 0)
(Kuota: {{ $currentRank }}/{{ $form->kuota }}) @endif
@else - @endif
Rp{{ number_format($ranking->pengajuan?->ukt_saat_ini ?? 0, 0, ',', '.') }}
@if($ranking->ukt_penyesuaian) Rp{{ number_format($ranking->ukt_penyesuaian, 0, ',', '.') }} @if(!$cannotAdjust && !$isBeyondQuota) @endif @else @if(!$cannotAdjust && !$isBeyondQuota) Belum diatur @else - @endif @endif
@php $statusText = $ranking->rekomendasi_ukt; $isRejected = in_array(strtolower($statusText), ['ukt tetap', 'tidak dapat mengangsur']); $badgeClass = $isRejected ? 'danger' : ($isBeyondQuota ? 'secondary' : 'success'); $quotaStatus = $isRejected ? 'Tidak Diterima' : ($isBeyondQuota ? 'Kuota Penuh' : 'Dalam Kuota'); @endphp {{ $statusText }} @if($quotaStatus) ({{ $quotaStatus }}) @endif {{ number_format($ranking->nilai_preferensi, 5) }}
@if(!$cannotAdjust && !$isBeyondQuota) @endif
Tidak ada data

Gunakan filter yang berbeda

@if($rankings->hasPages()) @endif
@endsection @section('js') @endsection