feat(PotensiRumah) : add Potensi Rumah Module

main
Kevin Hendrawan 2025-12-03 17:42:06 +07:00
parent 372040a401
commit 973add4f8d
3 changed files with 239 additions and 1 deletions

View File

@ -0,0 +1,173 @@
using Microsoft.AspNetCore.Mvc;
namespace BankSampahApp.Controllers.Data
{
[Route("Data/[controller]/[action]")]
public class PotensiRumahController : Controller
{
public IActionResult Index()
{
return View("~/Views/Data/PotensiRumah/Index.cshtml");
}
[HttpGet]
public IActionResult Table()
{
var data = new[]
{
new{
rt = "001",
rw = "005",
alamat = "Jl. Merpati No. 10",
kota = "Jakarta",
nama_pemilik = "Budi Santoso",
bangun_id = 345678,
potensi_nasabah = "Potensi",
},
new{
rt = "001",
rw = "005",
alamat = "Jl. Merpati No. 10",
kota = "Jakarta",
nama_pemilik = "Budi Santoso",
bangun_id = 345678,
potensi_nasabah = "Potensi",
},
new{
rt = "002",
rw = "006",
alamat = "Jl. Kenari No. 21",
kota = "Bandung",
nama_pemilik = "Siti Rahma",
bangun_id = 345679,
potensi_nasabah = "Potensi",
},
new{
rt = "003",
rw = "004",
alamat = "Jl. Anggrek No. 5",
kota = "Surabaya",
nama_pemilik = "Joko Prasetyo",
bangun_id = 345680,
potensi_nasabah = "Potensi",
},
new{
rt = "004",
rw = "002",
alamat = "Jl. Melati No. 8",
kota = "Medan",
nama_pemilik = "Agus Hidayat",
bangun_id = 345681,
potensi_nasabah = "Potensi",
},
new{
rt = "005",
rw = "003",
alamat = "Jl. Cendrawasih No. 12",
kota = "Bekasi",
nama_pemilik = "Nina Wulandari",
bangun_id = 345682,
potensi_nasabah = "Potensi",
},
new{
rt = "006",
rw = "001",
alamat = "Jl. Cemara No. 9",
kota = "Depok",
nama_pemilik = "Rizky Saputra",
bangun_id = 345683,
potensi_nasabah = "Potensi",
},
new{
rt = "007",
rw = "007",
alamat = "Jl. Dahlia No. 14",
kota = "Tangerang",
nama_pemilik = "Melati Ayu",
bangun_id = 345684,
potensi_nasabah = "Potensi",
},
new{
rt = "008",
rw = "008",
alamat = "Jl. Flamboyan No. 3",
kota = "Bogor",
nama_pemilik = "Wawan Gunawan",
bangun_id = 345685,
potensi_nasabah = "Potensi",
},
new{
rt = "009",
rw = "009",
alamat = "Jl. Pinus No. 25",
kota = "Semarang",
nama_pemilik = "Ayu Lestari",
bangun_id = 345686,
potensi_nasabah = "Potensi",
},
new{
rt = "010",
rw = "010",
alamat = "Jl. Mawar No. 7",
kota = "Yogyakarta",
nama_pemilik = "Doni Prabowo",
bangun_id = 345687,
potensi_nasabah = "Potensi",
},
new{
rt = "011",
rw = "011",
alamat = "Jl. Teratai No. 2",
kota = "Denpasar",
nama_pemilik = "Kadek Wijaya",
bangun_id = 345688,
potensi_nasabah = "Potensi",
},
new{
rt = "012",
rw = "012",
alamat = "Jl. Sudirman No. 100",
kota = "Pekanbaru",
nama_pemilik = "Fajar Ramadhan",
bangun_id = 345689,
potensi_nasabah = "Potensi",
},
new{
rt = "013",
rw = "013",
alamat = "Jl. Gatot Subroto No. 55",
kota = "Pontianak",
nama_pemilik = "Merry Sutanto",
bangun_id = 345690,
potensi_nasabah = "Potensi",
},
new{
rt = "014",
rw = "014",
alamat = "Jl. Rajawali No. 18",
kota = "Makassar",
nama_pemilik = "Syamsul Bahri",
bangun_id = 345691,
potensi_nasabah = "Potensi",
},
new{
rt = "015",
rw = "015",
alamat = "Jl. Elang No. 30",
kota = "Balikpapan",
nama_pemilik = "Indah Prameswari",
bangun_id = 345692,
potensi_nasabah = "Potensi",
},
};
var response = new
{
data = data
};
return Json(response);
}
}
}

View File

@ -0,0 +1,64 @@
@{
ViewData["Title"] = "Potensi Rumah";
}
<div class="flex flex-col gap-2 md:flex-row md:justify-between md:gap-0">
<div class="prose">
<span class="text-xl font-semibold text-gray-900 font-['Plus_Jakarta_Sans']">
Potensi Rumah
</span>
</div>
</div>
<div class="h-6"></div>
<div class="card bg-white shadow-sm">
<div class="card-body p-2">
<div class="w-full overflow-x-auto">
<table class="table-zebra table w-full" id="example">
<!-- head -->
<thead>
<tr>
<th class="w-[5%]">No</th>
<th class="w-[15%]">RT</th>
<th class="w-[15%]">RW</th>
<th class="w-[12%]">Alamat</th>
<th class="w-[12%]">Kota</th>
<th class="w-[10%]">Nama Pemilik</th>
<th class="w-[10%]">Bangun ID</th>
<th class="w-[10%]">Potensi Nasabah</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
</div>
</div>
@section Scripts {
<script type="text/javascript">
var table;
$(document).ready(function () {
table = new DataTable('#example', {
ajax: '/Data/PotensiRumah/Table',
scrollX: true,
autoWidth: false,
initComplete: function () {
$('div.dt-scroll-body thead').css('visibility', 'collapse');
},
columns: [
{ data: null, render: (d, t, r, m) => m.row + 1, orderable: false, searchable: false },
{ data: 'rt' },
{ data: 'rw' },
{ data: 'alamat' },
{ data: 'kota' },
{ data: 'nama_pemilik' },
{ data: 'bangun_id' },
{ data: 'potensi_nasabah' },
]
});
});
</script>
}

View File

@ -69,7 +69,7 @@
<!-- Data -->
<li>
<details @(new[] { "Nasabah", "BankSampahInduk", "BankSampahUnit", "Aktivitas", "HargaSampah", "Offtaker" }.Contains(controller) ? "open" : "")>
<details @(new[] { "Nasabah", "BankSampahInduk", "BankSampahUnit", "Aktivitas", "HargaSampah", "Offtaker", "PotensiRumah" }.Contains(controller) ? "open" : "")>
<summary>
<i class="ph ph-database me-2 text-lg"></i>
Data
@ -81,6 +81,7 @@
<li><a href="/Data/Aktivitas/Index" class="@(controller == "Aktivitas" ? "menu-active" : "")">Aktivitas</a></li>
<li><a href="/Data/HargaSampah/Index" class="@(controller == "HargaSampah" ? "menu-active" : "")">Harga Sampah</a></li>
<li><a href="/Data/Offtaker/Index" class="@(controller == "Offtaker" ? "menu-active" : "")">Offtaker</a></li>
<li><a href="/Data/PotensiRumah/Index" class="@(controller == "PotensiRumah" ? "menu-active" : "")">Potensi Rumah</a></li>
</ul>
</details>
</li>