Files
D1041231092-webgis-povertymap/app/views/rumah_ibadah/detail_warga.php
T
2026-06-11 12:30:23 +07:00

128 lines
6.2 KiB
PHP

<?php ob_start(); ?>
<script>
document.addEventListener('DOMContentLoaded', () => {
const lat = <?= (float)$warga['lat'] ?>;
const lng = <?= (float)$warga['lng'] ?>;
if(lat && lng) {
const map = L.map('ri-warga-map').setView([lat,lng],16);
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',{maxZoom:19}).addTo(map);
const color = '<?= warnaMiskin($warga['status_kemiskinan']) ?>';
L.circleMarker([lat,lng],{radius:12,fillColor:color,color:'#fff',weight:3,fillOpacity:0.9})
.bindPopup('<strong><?= addslashes($warga['nama']) ?></strong>').addTo(map).openPopup();
// Rumah ibadah marker
const ri = <?= json_encode(['lat'=>(float)$ri['lat'],'lng'=>(float)$ri['lng'],'nama'=>$ri['nama'],'radius_meter'=>(int)$ri['radius_meter']]) ?>;
GISMap.map = map;
GISMap.createRIMarker(ri).bindPopup(ri.nama).addTo(map);
L.circle([ri.lat,ri.lng],{radius:ri.radius_meter,fillColor:'#16a34a',fillOpacity:0.06,color:'#16a34a',weight:1.5,dashArray:'5,4'}).addTo(map);
}
});
</script>
<?php $extraJs = ob_get_clean(); ?>
<div style="display:flex;align-items:center;gap:12px;margin-bottom:20px">
<a href="<?= APP_URL ?>/rumah-ibadah/warga" class="btn btn-ghost btn-sm">← Kembali</a>
<h2 style="font-size:1.1rem;font-weight:700"><?= e($warga['nama']) ?></h2>
<?php $sc=['Miskin Ekstrem'=>'badge-red','Miskin'=>'badge-orange','Rentan Miskin'=>'badge-yellow']; ?>
<span class="badge <?= $sc[$warga['status_kemiskinan']]??'badge-gray' ?>"><?= e($warga['status_kemiskinan']) ?></span>
<div style="margin-left:auto">
<a href="<?= APP_URL ?>/rumah-ibadah/bantuan/tambah" class="btn btn-success btn-sm">📦 Catat Bantuan</a>
</div>
</div>
<div style="display:grid;grid-template-columns:1fr 320px;gap:20px">
<div style="display:flex;flex-direction:column;gap:16px">
<!-- Skor -->
<div class="card" style="border-left:4px solid <?= ['Tinggi'=>'#dc2626','Sedang'=>'#d97706','Rendah'=>'#16a34a'][$warga['level_prioritas']]??'#6b7280' ?>">
<div class="card-body">
<div style="display:flex;align-items:center;gap:20px">
<div style="text-align:center;min-width:80px">
<div style="font-size:2.5rem;font-weight:900;color:<?= ['Tinggi'=>'#dc2626','Sedang'=>'#d97706','Rendah'=>'#16a34a'][$warga['level_prioritas']]??'#6b7280' ?>"><?= $warga['skor_prioritas'] ?></div>
<div class="text-xs text-muted">Skor Prioritas</div>
</div>
<div style="flex:1">
<div class="priority-bar" style="height:10px;margin-bottom:8px">
<div class="priority-bar-fill <?= strtolower($warga['level_prioritas'])==='tinggi'?'high':(strtolower($warga['level_prioritas'])==='sedang'?'medium':'low') ?>"
style="width:<?= min(100,$warga['skor_prioritas']) ?>%"></div>
</div>
<div style="font-weight:700">Prioritas <?= e($warga['level_prioritas']) ?></div>
<div class="text-sm text-muted"><?= e($warga['status_kemiskinan']) ?></div>
</div>
</div>
</div>
</div>
<!-- Data Pribadi -->
<div class="card">
<div class="card-header"><span class="card-icon">👤</span><h3>Data Pribadi</h3></div>
<div class="card-body">
<div style="display:grid;grid-template-columns:repeat(2,1fr);gap:14px">
<?php $items = [
['Nama Lengkap',$warga['nama']],
['NIK',$warga['nik']??'—'],
['Kelurahan',$warga['kelurahan']??'—'],
['Kecamatan',$warga['kecamatan']??'—'],
['Pendidikan',$warga['pendidikan_terakhir']??'—'],
['Pekerjaan',$warga['pekerjaan']??'—'],
['Penghasilan',formatRupiah($warga['penghasilan_bulanan']??0).'/bln'],
['Tanggungan',($warga['jumlah_tanggungan']??0).' orang'],
['Kondisi Rumah',$warga['kondisi_rumah']??'—'],
['Riwayat Penyakit',$warga['riwayat_penyakit']??'—'],
]; foreach($items as [$l,$v]): ?>
<div>
<div class="text-xs text-muted"><?= $l ?></div>
<div style="font-weight:500;font-size:0.875rem;margin-top:2px"><?= e($v) ?></div>
</div>
<?php endforeach; ?>
</div>
<div style="display:flex;gap:8px;margin-top:12px;flex-wrap:wrap">
<?php if($warga['is_lansia']): ?><span class="badge badge-orange">👴 Lansia</span><?php endif; ?>
<?php if($warga['is_disabilitas']): ?><span class="badge badge-blue">♿ Disabilitas</span><?php endif; ?>
</div>
</div>
</div>
<!-- Histori Bantuan -->
<div class="card">
<div class="card-header"><span class="card-icon">📦</span><h3>Histori Bantuan Diterima (<?= count($bantuan) ?>)</h3></div>
<div class="card-body no-pad">
<?php if($bantuan): ?>
<div class="table-wrap">
<table>
<thead><tr><th>Tanggal</th><th>Kategori</th><th>Jumlah</th></tr></thead>
<tbody>
<?php foreach($bantuan as $b): ?>
<tr>
<td class="text-sm"><?= formatTanggal($b['tanggal_penyaluran']) ?></td>
<td><span class="badge badge-green"><?= e($b['kategori']) ?></span></td>
<td class="text-sm"><?= $b['jumlah'] ? ($b['satuan']==='rupiah'?formatRupiah($b['jumlah']):(number_format($b['jumlah']).' '.$b['satuan'])) : '—' ?></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
<?php else: ?>
<div class="empty-state" style="padding:20px"><p>Belum menerima bantuan</p></div>
<?php endif; ?>
</div>
</div>
</div>
<!-- KANAN: Peta -->
<div>
<div class="card">
<div class="card-header"><span class="card-icon">📍</span><h3>Lokasi Warga</h3></div>
<div class="card-body no-pad">
<div id="ri-warga-map" style="height:300px"></div>
</div>
<div class="card-body">
<div class="text-xs text-muted">Koordinat</div>
<div style="font-family:monospace;font-size:0.78rem"><?= $warga['lat'] ?>, <?= $warga['lng'] ?></div>
<?php if($warga['alamat']): ?>
<div class="text-xs text-muted" style="margin-top:8px">Alamat</div>
<div style="font-size:0.8rem"><?= e($warga['alamat']) ?></div>
<?php endif; ?>
</div>
</div>
</div>
</div>