feat: create a data berat sampah page for the rw role

main-dlh
Regiaaaaaa 2025-12-03 16:26:45 +07:00
parent fcd190b331
commit 827c83b33e
3 changed files with 126 additions and 0 deletions

View File

@ -0,0 +1,50 @@
using Microsoft.AspNetCore.Mvc;
namespace BpsRwApp.Controllers
{
[Route("[controller]/[action]")]
public class DataBeratSampahRwController : AppControllerBase
{
public IActionResult Index()
{
return View();
}
[HttpGet]
public IActionResult Table()
{
var startDate = new DateTime(2024, 1, 5);
var data = Enumerable.Range(0, 100)
.Select(index =>
{
var tanggal = ControllerSampleData.FormatTanggal(startDate.AddDays(index * 2));
var mudahTerurai = 80 + (index * 5 % 70);
var materialDaurUlang = 45 + (index * 3 % 50);
var b3 = 5 + index % 6;
var totalPengurangan = mudahTerurai + materialDaurUlang;
var neracaSampah = totalPengurangan - b3;
return new
{
tanggal,
rt = ((index % 15) + 1).ToString("D2"),
berat_mudah_terurai = mudahTerurai,
berat_material_daur_ulang = materialDaurUlang,
berat_b3 = b3,
total_pengurangan_sampah = totalPengurangan,
neraca_sampah = neracaSampah,
};
})
.ToArray();
var response = new
{
data = data
};
return Json(response);
}
}
}

View File

@ -0,0 +1,68 @@
@{
ViewData["Title"] = "Data Berat Sampah";
}
<div class="breadcrumbs text-sm">
<ul>
<li>Data Berat Sampah</li>
</ul>
</div>
<!-- Header -->
<div class="grid grid-cols-1 gap-4 lg:grid-cols-2">
<div class="prose">
<h3 class="mb-2">Data Berat Sampah</h3>
</div>
</div>
<div class="h-8"></div>
<div class="card bg-white shadow-sm">
<div class="card-body p-0">
<table class="table-zebra table" id="example">
<thead>
<tr>
<th>No</th>
<th>Tanggal</th>
<th>RT</th>
<th>Berat Mudah Terurai (Kg)</th>
<th>Berat Material Daur Ulang (Kg)</th>
<th>Berat B3 (Kg)</th>
<th>Total Pengurangan (Kg)</th>
<th>Neraca Sampah (Kg)</th>
</tr>
</thead>
<tbody></tbody>
</table>
</div>
</div>
<script src="https://code.jquery.com/jquery-3.7.1.js"></script>
<script src="https://cdn.datatables.net/2.3.4/js/dataTables.js"></script>
<script src="/plugins/datatables/dataTables.tailwindcss.js"></script>
<link href="https://cdn.jsdelivr.net/npm/tom-select@2.2.2/dist/css/tom-select.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/tom-select@2.2.2/dist/js/tom-select.complete.min.js"></script>
<script type="text/javascript">
var table;
$(document).ready(function () {
table = new DataTable('#example', {
ajax: '@Url.Action("Table", "DataBeratSampahRw")',
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 },
{ data: 'tanggal' },
{ data: 'rt' },
{ data: 'berat_mudah_terurai' },
{ data: 'berat_material_daur_ulang' },
{ data: 'berat_b3' },
{ data: 'total_pengurangan_sampah' },
{ data: 'neraca_sampah' },
]
});
});
</script>

View File

@ -110,6 +110,14 @@
Data Pendamping RW
</a>
</li>
<li>
<a asp-controller="DataBeratSampahRw" asp-action="Index"
class="@(controller == "DataBeratSampahRw" ? "menu-active" : "")">
<span class="icon icon-fill">list</span>
Data Berat Sampah (RW)
</a>
</li>
<li>
<a asp-controller="DataBeratSampah" asp-action="Index"