MIF_E31230892/sim-pkpps/storage/framework/views/e9890b3d59ea4f35d70423e6269...

408 lines
20 KiB
PHP

<?php $__env->startSection('title', 'Pembayaran SPP'); ?>
<?php $__env->startSection('content'); ?>
<div class="page-header">
<h2><i class="fas fa-money-bill-wave"></i> Pembayaran SPP</h2>
</div>
<?php if(session('success')): ?>
<div class="alert alert-success">
<i class="fas fa-check-circle"></i> <?php echo e(session('success')); ?>
</div>
<?php endif; ?>
<?php if(session('error')): ?>
<div class="alert alert-danger">
<i class="fas fa-exclamation-circle"></i> <?php echo e(session('error')); ?>
</div>
<?php endif; ?>
<div class="content-box">
<!-- Filter Section -->
<div style="background: #f8f9fa; padding: 20px; border-radius: 8px; margin-bottom: 20px;">
<form method="GET" action="<?php echo e(route('admin.pembayaran-spp.index')); ?>" style="display: flex; gap: 10px; flex-wrap: wrap; align-items: flex-end;">
<input type="hidden" name="tab" value="<?php echo e($tab); ?>">
<div style="flex: 1; min-width: 200px;">
<label style="display: block; margin-bottom: 5px; font-weight: 600; font-size: 14px;">
<i class="fas fa-search"></i> Cari Santri
</label>
<input type="text"
name="search"
class="form-control"
placeholder="Nama, NIS, atau ID Santri..."
value="<?php echo e(request('search')); ?>">
</div>
<div style="min-width: 150px;">
<label style="display: block; margin-bottom: 5px; font-weight: 600; font-size: 14px;">
<i class="fas fa-calendar-alt"></i> Bulan
</label>
<select name="bulan" class="form-control">
<?php
$bulanIndo = [
1 => 'Januari', 2 => 'Februari', 3 => 'Maret',
4 => 'April', 5 => 'Mei', 6 => 'Juni',
7 => 'Juli', 8 => 'Agustus', 9 => 'September',
10 => 'Oktober', 11 => 'November', 12 => 'Desember'
];
?>
<?php for($i = 1; $i <= 12; $i++): ?>
<option value="<?php echo e($i); ?>" <?php echo e($bulan == $i ? 'selected' : ''); ?>>
<?php echo e($bulanIndo[$i]); ?>
</option>
<?php endfor; ?>
</select>
</div>
<div style="min-width: 120px;">
<label style="display: block; margin-bottom: 5px; font-weight: 600; font-size: 14px;">
<i class="fas fa-calendar"></i> Tahun
</label>
<select name="tahun" class="form-control">
<?php $__currentLoopData = $tahunList; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $thn): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?>
<option value="<?php echo e($thn); ?>" <?php echo e($tahun == $thn ? 'selected' : ''); ?>>
<?php echo e($thn); ?>
</option>
<?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?>
</select>
</div>
<?php if($tab === 'belum-bayar'): ?>
<div style="min-width: 180px;">
<label style="display: block; margin-bottom: 5px; font-weight: 600; font-size: 14px;">
<i class="fas fa-filter"></i> Filter Status
</label>
<select name="filter_status" class="form-control">
<option value="">Semua Status</option>
<option value="Belum Lunas" <?php echo e(request('filter_status') === 'Belum Lunas' ? 'selected' : ''); ?>>Belum Lunas</option>
<option value="Telat" <?php echo e(request('filter_status') === 'Telat' ? 'selected' : ''); ?>>Terlambat</option>
<option value="Belum Ada Tagihan" <?php echo e(request('filter_status') === 'Belum Ada Tagihan' ? 'selected' : ''); ?>>Belum Ada Tagihan</option>
</select>
</div>
<?php endif; ?>
<div style="display: flex; gap: 10px;">
<button type="submit" class="btn btn-primary" style="height: 38px;">
<i class="fas fa-search"></i> Cari
</button>
<?php if(request()->hasAny(['search', 'filter_status']) || $bulan != date('n') || $tahun != date('Y')): ?>
<a href="<?php echo e(route('admin.pembayaran-spp.index', ['tab' => $tab])); ?>"
class="btn btn-secondary"
style="height: 38px;">
<i class="fas fa-times"></i> Reset
</a>
<?php endif; ?>
</div>
</form>
</div>
<!-- Statistics Cards -->
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 15px; margin-bottom: 20px;">
<div style="background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); padding: 20px; border-radius: 8px; color: white; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
<div style="display: flex; align-items: center; justify-content: space-between;">
<div>
<div style="font-size: 14px; opacity: 0.9; margin-bottom: 5px;">Total Santri</div>
<div style="font-size: 28px; font-weight: bold;"><?php echo e($totalSantri); ?></div>
</div>
<i class="fas fa-users" style="font-size: 40px; opacity: 0.3;"></i>
</div>
</div>
<div style="background: linear-gradient(135deg, #11998e 0%, #38ef7d 100%); padding: 20px; border-radius: 8px; color: white; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
<div style="display: flex; align-items: center; justify-content: space-between;">
<div>
<div style="font-size: 14px; opacity: 0.9; margin-bottom: 5px;">Sudah Bayar</div>
<div style="font-size: 28px; font-weight: bold;"><?php echo e($totalLunas); ?></div>
<div style="font-size: 12px; opacity: 0.8;">Rp <?php echo e(number_format($nominalLunas, 0, ',', '.')); ?></div>
</div>
<i class="fas fa-check-circle" style="font-size: 40px; opacity: 0.3;"></i>
</div>
</div>
<div style="background: linear-gradient(135deg, #ff6b6b 0%, #ee5a6f 100%); padding: 20px; border-radius: 8px; color: white; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
<div style="display: flex; align-items: center; justify-content: space-between;">
<div>
<div style="font-size: 14px; opacity: 0.9; margin-bottom: 5px;">Belum Bayar</div>
<div style="font-size: 28px; font-weight: bold;"><?php echo e($totalBelumBayar); ?></div>
<div style="font-size: 12px; opacity: 0.8;">Rp <?php echo e(number_format($nominalBelumLunas, 0, ',', '.')); ?></div>
</div>
<i class="fas fa-exclamation-circle" style="font-size: 40px; opacity: 0.3;"></i>
</div>
</div>
<div style="background: linear-gradient(135deg, #ff9800 0%, #ff5722 100%); padding: 20px; border-radius: 8px; color: white; box-shadow: 0 4px 6px rgba(0,0,0,0.1);">
<div style="display: flex; align-items: center; justify-content: space-between;">
<div>
<div style="font-size: 14px; opacity: 0.9; margin-bottom: 5px;">Terlambat</div>
<div style="font-size: 28px; font-weight: bold;"><?php echo e($totalTelat); ?></div>
<div style="font-size: 12px; opacity: 0.8;">Melewati batas waktu</div>
</div>
<i class="fas fa-clock" style="font-size: 40px; opacity: 0.3;"></i>
</div>
</div>
</div>
<!-- Tab Navigation -->
<div style="display: flex; gap: 10px; margin-bottom: 20px; border-bottom: 2px solid #e0e0e0;">
<a href="<?php echo e(route('admin.pembayaran-spp.index', array_merge(request()->except('tab'), ['tab' => 'belum-bayar']))); ?>"
class="btn btn-sm <?php echo e($tab === 'belum-bayar' ? 'btn-danger' : 'btn-outline-danger'); ?>"
style="border-radius: 8px 8px 0 0; border-bottom: none; padding: 12px 24px; font-weight: 600; <?php echo e($tab === 'belum-bayar' ? 'border-bottom: 3px solid #dc3545;' : ''); ?>">
<i class="fas fa-times-circle"></i> Belum Bayar
<?php if($totalBelumBayar > 0): ?>
<span class="badge" style="background: white; color: #dc3545; margin-left: 8px;"><?php echo e($totalBelumBayar); ?></span>
<?php endif; ?>
</a>
<a href="<?php echo e(route('admin.pembayaran-spp.index', array_merge(request()->except('tab'), ['tab' => 'sudah-bayar']))); ?>"
class="btn btn-sm <?php echo e($tab === 'sudah-bayar' ? 'btn-success' : 'btn-outline-success'); ?>"
style="border-radius: 8px 8px 0 0; border-bottom: none; padding: 12px 24px; font-weight: 600; <?php echo e($tab === 'sudah-bayar' ? 'border-bottom: 3px solid #28a745;' : ''); ?>">
<i class="fas fa-check-circle"></i> Sudah Bayar
<?php if($totalLunas > 0): ?>
<span class="badge" style="background: white; color: #28a745; margin-left: 8px;"><?php echo e($totalLunas); ?></span>
<?php endif; ?>
</a>
</div>
<!-- Action Buttons -->
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; flex-wrap: wrap; gap: 10px;">
<div style="display: flex; gap: 10px;">
<a href="<?php echo e(route('admin.pembayaran-spp.generate')); ?>" class="btn btn-warning btn-sm hover-shadow">
<i class="fas fa-cogs"></i> Generate SPP
</a>
<a href="<?php echo e(route('admin.pembayaran-spp.create')); ?>" class="btn btn-success btn-sm hover-shadow">
<i class="fas fa-plus-circle"></i> Tambah Data
</a>
<a href="<?php echo e(route('admin.pembayaran-spp.laporan')); ?>" class="btn btn-info btn-sm hover-shadow">
<i class="fas fa-file-pdf"></i> Cetak Laporan
</a>
</div>
<div style="font-size: 14px; color: #666;">
<i class="fas fa-info-circle"></i>
Menampilkan data periode: <strong><?php echo e($bulanIndo[$bulan] ?? ''); ?> <?php echo e($tahun); ?></strong>
</div>
</div>
<!-- Table -->
<div style="overflow-x: auto;">
<table class="data-table">
<thead>
<tr>
<th style="width: 50px;">No</th>
<th>ID Santri</th>
<th>Nama Santri</th>
<?php if($tab === 'sudah-bayar'): ?>
<th>Nominal</th>
<th>Tanggal Bayar</th>
<th>Status</th>
<?php else: ?>
<th>Nominal Tagihan</th>
<th>Batas Bayar</th>
<th>Status</th>
<?php endif; ?>
<th class="text-center" style="width: 150px;">Aksi</th>
</tr>
</thead>
<tbody>
<?php $__empty_1 = true; $__currentLoopData = $santriPaginated; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $index => $item): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); $__empty_1 = false; ?>
<tr style="<?php echo e($item['is_telat'] ? 'background-color: #fff5f5;' : ''); ?>">
<td><?php echo e(($currentPage - 1) * 20 + $index + 1); ?></td>
<td><strong><?php echo e($item['id_santri']); ?></strong><br><small class="text-muted"><?php echo e($item['nis']); ?></small></td>
<td>
<strong><?php echo e($item['nama_lengkap']); ?></strong>
<?php if($item['is_telat']): ?>
<br><span class="badge badge-danger" style="font-size: 11px;">
<i class="fas fa-exclamation-triangle"></i> TERLAMBAT
</span>
<?php endif; ?>
</td>
<?php if($tab === 'sudah-bayar'): ?>
<td><strong style="color: #28a745;">Rp <?php echo e(number_format($item['nominal'], 0, ',', '.')); ?></strong></td>
<td>
<?php if($item['tanggal_bayar']): ?>
<?php echo e(\Carbon\Carbon::parse($item['tanggal_bayar'])->format('d/m/Y')); ?>
<?php else: ?>
-
<?php endif; ?>
</td>
<td>
<span class="badge badge-success">
<i class="fas fa-check-circle"></i> Lunas
</span>
</td>
<?php else: ?>
<td>
<?php if($item['pembayaran']): ?>
<strong style="color: #dc3545;">Rp <?php echo e(number_format($item['nominal'], 0, ',', '.')); ?></strong>
<?php else: ?>
<span class="text-muted">Belum ada tagihan</span>
<?php endif; ?>
</td>
<td>
<?php if($item['batas_bayar']): ?>
<?php echo e(\Carbon\Carbon::parse($item['batas_bayar'])->format('d/m/Y')); ?>
<?php if($item['is_telat']): ?>
<br><small style="color: #dc3545; font-weight: 600;">
<i class="fas fa-clock"></i> Telat <?php echo e(\Carbon\Carbon::parse($item['batas_bayar'])->diffInDays(now())); ?> hari
</small>
<?php endif; ?>
<?php else: ?>
-
<?php endif; ?>
</td>
<td>
<?php if($item['is_telat']): ?>
<span class="badge badge-danger">
<i class="fas fa-exclamation-triangle"></i> Terlambat
</span>
<?php elseif($item['status'] === 'Belum Lunas'): ?>
<span class="badge badge-warning">
<i class="fas fa-clock"></i> Belum Lunas
</span>
<?php else: ?>
<span class="badge badge-secondary">
<i class="fas fa-info-circle"></i> Belum Ada Tagihan
</span>
<?php endif; ?>
</td>
<?php endif; ?>
<td class="text-center">
<?php if($item['pembayaran']): ?>
<a href="<?php echo e(route('admin.pembayaran-spp.riwayat', $item['id_santri'])); ?>"
class="btn btn-sm btn-info"
title="<?php echo e($tab === 'sudah-bayar' ? 'Lihat Riwayat' : 'Lihat Tagihan'); ?>">
<i class="fas fa-history"></i>
</a>
<a href="<?php echo e(route('admin.pembayaran-spp.edit', $item['pembayaran']->id)); ?>"
class="btn btn-sm btn-warning"
title="Edit">
<i class="fas fa-edit"></i>
</a>
<?php if($tab === 'sudah-bayar'): ?>
<a href="<?php echo e(route('admin.pembayaran-spp.cetak-bukti', $item['pembayaran']->id)); ?>"
class="btn btn-sm btn-success"
title="Cetak Bukti"
target="_blank">
<i class="fas fa-print"></i>
</a>
<?php endif; ?>
<?php else: ?>
<a href="<?php echo e(route('admin.pembayaran-spp.create', ['id_santri' => $item['id_santri'], 'bulan' => $bulan, 'tahun' => $tahun])); ?>"
class="btn btn-sm btn-primary"
title="Buat Tagihan">
<i class="fas fa-plus"></i> Buat
</a>
<?php endif; ?>
</td>
</tr>
<?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); if ($__empty_1): ?>
<tr>
<td colspan="7" class="text-center" style="padding: 40px;">
<i class="fas fa-inbox" style="font-size: 3rem; color: #ccc; display: block; margin-bottom: 15px;"></i>
<p style="color: #999;">
<?php if($tab === 'sudah-bayar'): ?>
Belum ada santri yang melunasi SPP untuk periode ini.
<?php else: ?>
Tidak ada tagihan yang belum dibayar untuk periode ini.
<?php endif; ?>
</p>
</td>
</tr>
<?php endif; ?>
</tbody>
</table>
</div>
<!-- Manual Pagination -->
<?php if($totalPages > 1): ?>
<div style="margin-top: 20px; display: flex; justify-content: center; align-items: center; gap: 10px;">
<?php if($currentPage > 1): ?>
<a href="<?php echo e(route('admin.pembayaran-spp.index', array_merge(request()->all(), ['page' => $currentPage - 1]))); ?>"
class="btn btn-sm btn-secondary">
<i class="fas fa-chevron-left"></i> Sebelumnya
</a>
<?php endif; ?>
<span style="padding: 8px 15px; background: #f8f9fa; border-radius: 4px; font-weight: 600;">
Halaman <?php echo e($currentPage); ?> dari <?php echo e($totalPages); ?>
</span>
<?php if($currentPage < $totalPages): ?>
<a href="<?php echo e(route('admin.pembayaran-spp.index', array_merge(request()->all(), ['page' => $currentPage + 1]))); ?>"
class="btn btn-sm btn-secondary">
Selanjutnya <i class="fas fa-chevron-right"></i>
</a>
<?php endif; ?>
</div>
<?php endif; ?>
</div>
<style>
.hover-shadow {
transition: all 0.3s ease;
}
.hover-shadow:hover {
box-shadow: 0 4px 12px rgba(0,0,0,0.15);
transform: translateY(-2px);
}
.badge {
padding: 6px 12px;
border-radius: 20px;
font-weight: 600;
font-size: 12px;
}
.badge-success {
background: linear-gradient(135deg, #11998e 0%, #38ef7d 100%);
color: white;
}
.badge-warning {
background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
color: white;
}
.badge-danger {
background: linear-gradient(135deg, #ff6b6b 0%, #ee5a6f 100%);
color: white;
animation: pulse 2s infinite;
}
.badge-secondary {
background: #6c757d;
color: white;
}
@keyframes pulse {
0%, 100% {
opacity: 1;
}
50% {
opacity: 0.7;
}
}
.data-table tbody tr:hover {
background-color: #f8f9fa;
transition: background-color 0.2s ease;
}
</style>
<?php $__env->stopSection(); ?>
<?php echo $__env->make('layouts.app', \Illuminate\Support\Arr::except(get_defined_vars(), ['__data', '__path']))->render(); ?><?php /**PATH C:\xampp\htdocs\TugasAkhir\sim-pkpps\resources\views/admin/pembayaran-spp/index.blade.php ENDPATH**/ ?>