fix: add iteration 100 for multiple table
parent
803af98bbe
commit
6d63c5172b
|
|
@ -1,4 +1,5 @@
|
|||
using Microsoft.AspNetCore.Mvc;
|
||||
using System.Linq;
|
||||
|
||||
namespace BpsRwApp.Controllers
|
||||
{
|
||||
|
|
@ -13,296 +14,138 @@ namespace BpsRwApp.Controllers
|
|||
[HttpGet]
|
||||
public IActionResult TableRapot()
|
||||
{
|
||||
var data = new[]
|
||||
var data = Enumerable.Range(0, 100)
|
||||
.Select(index =>
|
||||
{
|
||||
new {
|
||||
nama = "Risky Adi Putra",
|
||||
checklist = "<div class=\"badge badge-success badge-soft rounded-xs px-12\">10</div>",
|
||||
berat_sampah = "<div class=\"badge badge-success badge-soft rounded-xs px-12\">10</div>",
|
||||
foto = "<button class=\"btn btn-xs btn-square me-2\" disabled><span class=\"icon icon-outline text-sm text-black\">image</span></button>10",
|
||||
rumah_aktif_memilah = "<div class=\"badge badge-error badge-soft rounded-xs px-12\">0</div>",
|
||||
status = "<div class=\"badge badge-info badge-soft rounded-full\">Sangat Baik</div>",
|
||||
},
|
||||
new {
|
||||
nama = "Sulaiman",
|
||||
checklist = "<div class=\"badge badge-success badge-soft rounded-xs px-12\">11</div>",
|
||||
berat_sampah = "<div class=\"badge badge-warning badge-soft rounded-xs px-12\">10</div>",
|
||||
foto = "<button class=\"btn btn-xs btn-square me-2\" disabled><span class=\"icon icon-outline text-sm text-black\">image</span></button>889",
|
||||
rumah_aktif_memilah = "<div class=\"badge badge-success badge-soft rounded-xs px-12\">11</div>",
|
||||
status = "<div class=\"badge badge-success badge-soft rounded-full\">Baik</div>",
|
||||
},
|
||||
new {
|
||||
nama = "Siti Nurhaliza",
|
||||
checklist = "<div class=\"badge badge-success badge-soft rounded-xs px-12\">12</div>",
|
||||
berat_sampah = "<div class=\"badge badge-success badge-soft rounded-xs px-12\">10</div>",
|
||||
foto = "<button class=\"btn btn-xs btn-square me-2\" disabled><span class=\"icon icon-outline text-sm text-black\">image</span></button>22",
|
||||
rumah_aktif_memilah = "<div class=\"badge badge-error badge-soft rounded-xs px-12\">0</div>",
|
||||
status = "<div class=\"badge badge-success badge-soft rounded-full\">Baik</div>",
|
||||
},
|
||||
new {
|
||||
nama = "Budi Santoso",
|
||||
checklist = "<div class=\"badge badge-success badge-soft rounded-xs px-12\">18</div>",
|
||||
berat_sampah = "<div class=\"badge badge-warning badge-soft rounded-xs px-12\">1</div>",
|
||||
foto = "<button class=\"btn btn-xs btn-square me-2\" disabled><span class=\"icon icon-outline text-sm text-black\">image</span></button>889",
|
||||
rumah_aktif_memilah = "<div class=\"badge badge-success badge-soft rounded-xs px-12\">11</div>",
|
||||
status = "<div class=\"badge badge-success badge-soft rounded-full\">Baik</div>",
|
||||
},
|
||||
new {
|
||||
nama = "Dewi Lestari",
|
||||
checklist = "<div class=\"badge badge-warning badge-soft rounded-xs px-12\">1</div>",
|
||||
berat_sampah = "<div class=\"badge badge-success badge-soft rounded-xs px-12\">10</div>",
|
||||
foto = "<button class=\"btn btn-xs btn-square me-2\" disabled><span class=\"icon icon-outline text-sm text-black\">image</span></button>22",
|
||||
rumah_aktif_memilah = "<div class=\"badge badge-success badge-soft rounded-xs px-12\">10</div>",
|
||||
status = "<div class=\"badge badge-success badge-soft rounded-full\">Baik</div>",
|
||||
},
|
||||
new {
|
||||
nama = "Andi Prabowo",
|
||||
checklist = "<div class=\"badge badge-success badge-soft rounded-xs px-12\">17</div>",
|
||||
berat_sampah = "<div class=\"badge badge-success badge-soft rounded-xs px-12\">11</div>",
|
||||
foto = "<button class=\"btn btn-xs btn-square me-2\" disabled><span class=\"icon icon-outline text-sm text-black\">image</span></button>889",
|
||||
rumah_aktif_memilah = "<div class=\"badge badge-success badge-soft rounded-xs px-12\">11</div>",
|
||||
status = "<div class=\"badge badge-info badge-soft rounded-full\">Sangat Baik</div>",
|
||||
},
|
||||
new {
|
||||
nama = "Nina Sari",
|
||||
checklist = "<div class=\"badge badge-success badge-soft rounded-xs px-12\">15</div>",
|
||||
berat_sampah = "<div class=\"badge badge-success badge-soft rounded-xs px-12\">10</div>",
|
||||
foto = "<button class=\"btn btn-xs btn-square me-2\" disabled><span class=\"icon icon-outline text-sm text-black\">image</span></button>22",
|
||||
rumah_aktif_memilah = "<div class=\"badge badge-success badge-soft rounded-xs px-12\">10</div>",
|
||||
status = "<div class=\"badge badge-info badge-soft rounded-full\">Sengat Baik</div>",
|
||||
},
|
||||
new {
|
||||
nama = "Hendra Wijaya",
|
||||
checklist = "<div class=\"badge badge-warning badge-soft rounded-xs px-12\">1</div>",
|
||||
berat_sampah = "<div class=\"badge badge-success badge-soft rounded-xs px-12\">11</div>",
|
||||
foto = "<button class=\"btn btn-xs btn-square me-2\" disabled><span class=\"icon icon-outline text-sm text-black\">image</span></button>889",
|
||||
rumah_aktif_memilah = "<div class=\"badge badge-success badge-soft rounded-xs px-12\">11</div>",
|
||||
status = "<div class=\"badge badge-info badge-soft rounded-full\">Sangat Baik</div>",
|
||||
},
|
||||
new {
|
||||
nama = "Lina Marlina",
|
||||
checklist = "<div class=\"badge badge-warning badge-soft rounded-xs px-12\">12</div>",
|
||||
berat_sampah = "<div class=\"badge badge-success badge-soft rounded-xs px-12\">10</div>",
|
||||
foto = "<button class=\"btn btn-xs btn-square me-2\" disabled><span class=\"icon icon-outline text-sm text-black\">image</span></button>22",
|
||||
rumah_aktif_memilah = "<div class=\"badge badge-success badge-soft rounded-xs px-12\">10</div>",
|
||||
status = "<div class=\"badge badge-info badge-soft rounded-full\">Sangat Baik</div>",
|
||||
},
|
||||
new {
|
||||
nama = "Yudi Hartono",
|
||||
checklist = "<div class=\"badge badge-warning badge-soft rounded-xs px-12\">16</div>",
|
||||
berat_sampah = "<div class=\"badge badge-success badge-soft rounded-xs px-12\">11</div>",
|
||||
foto = "<button class=\"btn btn-xs btn-square me-2\" disabled><span class=\"icon icon-outline text-sm text-black\">image</span></button>889",
|
||||
rumah_aktif_memilah = "<div class=\"badge badge-success badge-soft rounded-xs px-12\">11</div>",
|
||||
status = "<div class=\"badge badge-info badge-soft rounded-full\">Sangat Baik</div>",
|
||||
},
|
||||
};
|
||||
var nama = ControllerSampleData.PersonNames[index % ControllerSampleData.PersonNames.Length];
|
||||
var checklistCount = 8 + (index % 15);
|
||||
var totalBeratSampah = 40 + (index * 3 % 70);
|
||||
var fotoCount = 5 + (index * 4 % 250);
|
||||
var rumahAktif = (index * 3) % 15;
|
||||
|
||||
var response = new
|
||||
return new
|
||||
{
|
||||
data = data
|
||||
nama,
|
||||
checklist = BuildMetricBadge(checklistCount, 8, 12),
|
||||
berat_sampah = BuildMetricBadge(totalBeratSampah, 50, 90),
|
||||
foto = BuildFotoIndicator(fotoCount),
|
||||
rumah_aktif_memilah = BuildMetricBadge(rumahAktif, 3, 9),
|
||||
status = BuildStatusBadge(index),
|
||||
};
|
||||
})
|
||||
.ToArray();
|
||||
|
||||
return Json(response);
|
||||
return Json(new { data });
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public IActionResult TableChecklist()
|
||||
{
|
||||
var data = new[]
|
||||
var data = Enumerable.Range(0, 100)
|
||||
.Select(index =>
|
||||
{
|
||||
new {
|
||||
nama = "Risky Adi Putra",
|
||||
checklist = "<div class=\"badge badge-success badge-soft rounded-xs px-12\">10</div>",
|
||||
foto = "<button class=\"btn btn-xs btn-square me-2\" disabled><span class=\"icon icon-outline text-sm text-black\">image</span></button>10",
|
||||
rumah_aktif_memilah = "<div class=\"badge badge-error badge-soft rounded-xs px-12\">0/12</div>",
|
||||
aksi = "<div class=\"flex gap-2\">" +
|
||||
"<a href=\"#\" class=\"btn bg-white rounded-full btn-xs\">Detail</a>" +
|
||||
"</div>",
|
||||
},
|
||||
new {
|
||||
nama = "Sulaiman",
|
||||
checklist = "<div class=\"badge badge-success badge-soft rounded-xs px-12\">11</div>",
|
||||
foto = "<button class=\"btn btn-xs btn-square me-2\" disabled><span class=\"icon icon-outline text-sm text-black\">image</span></button>889",
|
||||
rumah_aktif_memilah = "<div class=\"badge badge-success badge-soft rounded-xs px-12\">11/11</div>",
|
||||
aksi = "<div class=\"flex gap-2\">" +
|
||||
"<a href=\"#\" class=\"btn bg-white rounded-full btn-xs\">Detail</a>" +
|
||||
"</div>",
|
||||
},
|
||||
new {
|
||||
nama = "Siti Nurhaliza",
|
||||
checklist = "<div class=\"badge badge-success badge-soft rounded-xs px-12\">12</div>",
|
||||
foto = "<button class=\"btn btn-xs btn-square me-2\" disabled><span class=\"icon icon-outline text-sm text-black\">image</span></button>22",
|
||||
rumah_aktif_memilah = "<div class=\"badge badge-error badge-soft rounded-xs px-12\">0/10</div>",
|
||||
aksi = "<div class=\"flex gap-2\">" +
|
||||
"<a href=\"#\" class=\"btn bg-white rounded-full btn-xs\">Detail</a>" +
|
||||
"</div>",
|
||||
},
|
||||
new {
|
||||
nama = "Budi Santoso",
|
||||
checklist = "<div class=\"badge badge-success badge-soft rounded-xs px-12\">18</div>",
|
||||
foto = "<button class=\"btn btn-xs btn-square me-2\" disabled><span class=\"icon icon-outline text-sm text-black\">image</span></button>889",
|
||||
rumah_aktif_memilah = "<div class=\"badge badge-success badge-soft rounded-xs px-12\">11/11</div>",
|
||||
aksi = "<div class=\"flex gap-2\">" +
|
||||
"<a href=\"#\" class=\"btn bg-white rounded-full btn-xs\">Detail</a>" +
|
||||
"</div>",
|
||||
},
|
||||
new {
|
||||
nama = "Dewi Lestari",
|
||||
checklist = "<div class=\"badge badge-warning badge-soft rounded-xs px-12\">1</div>",
|
||||
foto = "<button class=\"btn btn-xs btn-square me-2\" disabled><span class=\"icon icon-outline text-sm text-black\">image</span></button>22",
|
||||
rumah_aktif_memilah = "<div class=\"badge badge-success badge-soft rounded-xs px-12\">10/10</div>",
|
||||
aksi = "<div class=\"flex gap-2\">" +
|
||||
"<a href=\"#\" class=\"btn bg-white rounded-full btn-xs\">Detail</a>" +
|
||||
"</div>",
|
||||
},
|
||||
new {
|
||||
nama = "Andi Prabowo",
|
||||
checklist = "<div class=\"badge badge-success badge-soft rounded-xs px-12\">17</div>",
|
||||
foto = "<button class=\"btn btn-xs btn-square me-2\" disabled><span class=\"icon icon-outline text-sm text-black\">image</span></button>889",
|
||||
rumah_aktif_memilah = "<div class=\"badge badge-success badge-soft rounded-xs px-12\">11/11</div>",
|
||||
aksi = "<div class=\"flex gap-2\">" +
|
||||
"<a href=\"#\" class=\"btn bg-white rounded-full btn-xs\">Detail</a>" +
|
||||
"</div>",
|
||||
},
|
||||
new {
|
||||
nama = "Nina Sari",
|
||||
checklist = "<div class=\"badge badge-success badge-soft rounded-xs px-12\">15</div>",
|
||||
foto = "<button class=\"btn btn-xs btn-square me-2\" disabled><span class=\"icon icon-outline text-sm text-black\">image</span></button>22",
|
||||
rumah_aktif_memilah = "<div class=\"badge badge-success badge-soft rounded-xs px-12\">10/10</div>",
|
||||
aksi = "<div class=\"flex gap-2\">" +
|
||||
"<a href=\"#\" class=\"btn bg-white rounded-full btn-xs\">Detail</a>" +
|
||||
"</div>",
|
||||
},
|
||||
new {
|
||||
nama = "Hendra Wijaya",
|
||||
checklist = "<div class=\"badge badge-warning badge-soft rounded-xs px-12\">1</div>",
|
||||
foto = "<button class=\"btn btn-xs btn-square me-2\" disabled><span class=\"icon icon-outline text-sm text-black\">image</span></button>889",
|
||||
rumah_aktif_memilah = "<div class=\"badge badge-success badge-soft rounded-xs px-12\">11/11</div>",
|
||||
aksi = "<div class=\"flex gap-2\">" +
|
||||
"<a href=\"#\" class=\"btn bg-white rounded-full btn-xs\">Detail</a>" +
|
||||
"</div>",
|
||||
},
|
||||
new {
|
||||
nama = "Lina Marlina",
|
||||
checklist = "<div class=\"badge badge-warning badge-soft rounded-xs px-12\">12</div>",
|
||||
foto = "<button class=\"btn btn-xs btn-square me-2\" disabled><span class=\"icon icon-outline text-sm text-black\">image</span></button>22",
|
||||
rumah_aktif_memilah = "<div class=\"badge badge-success badge-soft rounded-xs px-12\">10/10</div>",
|
||||
aksi = "<div class=\"flex gap-2\">" +
|
||||
"<a href=\"#\" class=\"btn bg-white rounded-full btn-xs\">Detail</a>" +
|
||||
"</div>",
|
||||
},
|
||||
new {
|
||||
nama = "Yudi Hartono",
|
||||
checklist = "<div class=\"badge badge-warning badge-soft rounded-xs px-12\">16</div>",
|
||||
foto = "<button class=\"btn btn-xs btn-square me-2\" disabled><span class=\"icon icon-outline text-sm text-black\">image</span></button>889",
|
||||
rumah_aktif_memilah = "<div class=\"badge badge-success badge-soft rounded-xs px-12\">11/11</div>",
|
||||
aksi = "<div class=\"flex gap-2\">" +
|
||||
"<a href=\"#\" class=\"btn bg-white rounded-full btn-xs\">Detail</a>" +
|
||||
"</div>",
|
||||
},
|
||||
};
|
||||
|
||||
var response = new
|
||||
var nama = ControllerSampleData.PersonNames[index % ControllerSampleData.PersonNames.Length];
|
||||
var checklistCount = 9 + (index % 18);
|
||||
var fotoCount = 3 + (index * 2 % 180);
|
||||
var targetRumah = 8 + (index % 10);
|
||||
var rumahAktif = targetRumah - (index % 5);
|
||||
if (rumahAktif < 0)
|
||||
{
|
||||
data = data
|
||||
};
|
||||
rumahAktif = 0;
|
||||
}
|
||||
|
||||
return Json(response);
|
||||
return new
|
||||
{
|
||||
nama,
|
||||
checklist = BuildMetricBadge(checklistCount, 10, 15),
|
||||
foto = BuildFotoIndicator(fotoCount),
|
||||
rumah_aktif_memilah = BuildRatioBadge(rumahAktif, targetRumah),
|
||||
aksi = BuildDetailAction(),
|
||||
};
|
||||
})
|
||||
.ToArray();
|
||||
|
||||
return Json(new { data });
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public IActionResult TableBeratSampah()
|
||||
{
|
||||
var data = new[]
|
||||
var data = Enumerable.Range(0, 100)
|
||||
.Select(index =>
|
||||
{
|
||||
new {
|
||||
nama = "Risky Adi Putra",
|
||||
total_berat = 104,
|
||||
mudah_terurai = 104,
|
||||
material_daur_ulang = 104,
|
||||
b3 = 104,
|
||||
residu = 104,
|
||||
},
|
||||
new {
|
||||
nama = "Sulaiman",
|
||||
total_berat = 67,
|
||||
mudah_terurai = 67,
|
||||
material_daur_ulang = 67,
|
||||
b3 = 67,
|
||||
residu = 67,
|
||||
},
|
||||
new {
|
||||
nama = "Siti Nurhaliza",
|
||||
total_berat = 110,
|
||||
mudah_terurai = 110,
|
||||
material_daur_ulang = 110,
|
||||
b3 = 110,
|
||||
residu = 110,
|
||||
},
|
||||
new {
|
||||
nama = "Budi Santoso",
|
||||
total_berat = 88,
|
||||
mudah_terurai = 88,
|
||||
material_daur_ulang = 88,
|
||||
b3 = 88,
|
||||
residu = 88,
|
||||
},
|
||||
new {
|
||||
nama = "Dewi Lestari",
|
||||
total_berat = 90,
|
||||
mudah_terurai = 90,
|
||||
material_daur_ulang = 90,
|
||||
b3 = 90,
|
||||
residu = 90,
|
||||
},
|
||||
new {
|
||||
nama = "Andi Prabowo",
|
||||
total_berat = 72,
|
||||
mudah_terurai = 72,
|
||||
material_daur_ulang = 72,
|
||||
b3 = 72,
|
||||
residu = 72,
|
||||
},
|
||||
new {
|
||||
nama = "Nina Sari",
|
||||
total_berat = 81,
|
||||
mudah_terurai = 81,
|
||||
material_daur_ulang = 81,
|
||||
b3 = 81,
|
||||
residu = 81,
|
||||
},
|
||||
new {
|
||||
nama = "Hendra Wijaya",
|
||||
total_berat = 65,
|
||||
mudah_terurai = 65,
|
||||
material_daur_ulang = 65,
|
||||
b3 = 65,
|
||||
residu = 65,
|
||||
},
|
||||
new {
|
||||
nama = "Lina Marlina",
|
||||
total_berat = 78,
|
||||
mudah_terurai = 78,
|
||||
material_daur_ulang = 78,
|
||||
b3 = 78,
|
||||
residu = 78,
|
||||
},
|
||||
new {
|
||||
nama = "Yudi Hartono",
|
||||
total_berat = 95,
|
||||
mudah_terurai = 95,
|
||||
material_daur_ulang = 95,
|
||||
b3 = 95,
|
||||
residu = 95,
|
||||
},
|
||||
};
|
||||
var nama = ControllerSampleData.PersonNames[index % ControllerSampleData.PersonNames.Length];
|
||||
var mudahTerurai = 40 + (index * 2 % 80);
|
||||
var materialDaurUlang = 25 + (index * 3 % 60);
|
||||
var b3 = 5 + index % 7;
|
||||
var residu = 10 + index % 9;
|
||||
var totalBerat = mudahTerurai + materialDaurUlang + b3 + residu;
|
||||
|
||||
var response = new
|
||||
return new
|
||||
{
|
||||
data = data
|
||||
nama,
|
||||
total_berat = totalBerat,
|
||||
mudah_terurai = mudahTerurai,
|
||||
material_daur_ulang = materialDaurUlang,
|
||||
b3,
|
||||
residu,
|
||||
};
|
||||
})
|
||||
.ToArray();
|
||||
|
||||
return Json(response);
|
||||
return Json(new { data });
|
||||
}
|
||||
|
||||
private static string BuildMetricBadge(int value, int warningThreshold, int successThreshold)
|
||||
{
|
||||
string tone;
|
||||
if (value <= 0)
|
||||
{
|
||||
tone = "error";
|
||||
}
|
||||
else if (value < warningThreshold)
|
||||
{
|
||||
tone = "warning";
|
||||
}
|
||||
else if (value < successThreshold)
|
||||
{
|
||||
tone = "info";
|
||||
}
|
||||
else
|
||||
{
|
||||
tone = "success";
|
||||
}
|
||||
|
||||
return BuildBadge(value.ToString(), tone);
|
||||
}
|
||||
|
||||
private static string BuildRatioBadge(int achieved, int target)
|
||||
{
|
||||
var tone = achieved <= 0 ? "error" : achieved < target ? "warning" : "success";
|
||||
return BuildBadge($"{achieved}/{target}", tone);
|
||||
}
|
||||
|
||||
private static string BuildBadge(string label, string tone) =>
|
||||
$"<div class=\"badge badge-{tone} badge-soft rounded-xs px-12\">{label}</div>";
|
||||
|
||||
private static string BuildFotoIndicator(int totalFoto) =>
|
||||
"<button class=\"btn btn-xs btn-square me-2\" disabled><span class=\"icon icon-outline text-sm text-black\">image</span></button>" + totalFoto;
|
||||
|
||||
private static string BuildStatusBadge(int index)
|
||||
{
|
||||
var status = (index % 3) switch
|
||||
{
|
||||
0 => ("Sangat Baik", "info"),
|
||||
1 => ("Baik", "success"),
|
||||
_ => ("Perlu Pendampingan", "warning")
|
||||
};
|
||||
|
||||
return $"<div class=\"badge badge-{status.Item2} badge-soft rounded-full\">{status.Item1}</div>";
|
||||
}
|
||||
|
||||
private static string BuildDetailAction() =>
|
||||
"<div class=\"flex gap-2\">" +
|
||||
"<a href=\"#\" class=\"btn bg-white rounded-full btn-xs\">Detail</a>" +
|
||||
"</div>";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,106 +1,67 @@
|
|||
using BpsRwApp.Models.ProfilRw;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace BpsRwApp.Controllers
|
||||
{
|
||||
public class ProfilRwController : AppControllerBase
|
||||
{
|
||||
private static readonly List<AlatPengumpulSampahViewModel> SampleAlatPengumpul = new()
|
||||
private static readonly string[][] JadwalCombinations =
|
||||
{
|
||||
new AlatPengumpulSampahViewModel
|
||||
{
|
||||
Id = 1,
|
||||
Kelurahan = "Kelurahan Cililitan",
|
||||
Rw = "005",
|
||||
Rt = "003",
|
||||
GerobakDorong = 1,
|
||||
GerobakMotor = 2,
|
||||
MobilPickup = 1,
|
||||
Truk = 1,
|
||||
Dustbin = 4,
|
||||
Container = 1,
|
||||
Landasan = 2,
|
||||
JenisPetugas = "Petugas Harian Lepas",
|
||||
NamaPetugas = "Taufik Hidayat",
|
||||
Jadwal = new List<string> { "Senin", "Rabu", "Jumat" },
|
||||
TpsTujuan = "TPS Jakarta Timur"
|
||||
},
|
||||
new AlatPengumpulSampahViewModel
|
||||
{
|
||||
Id = 2,
|
||||
Kelurahan = "Kelurahan Rawamangun",
|
||||
Rw = "004",
|
||||
Rt = "002",
|
||||
GerobakDorong = 2,
|
||||
GerobakMotor = 3,
|
||||
MobilPickup = 1,
|
||||
Truk = 0,
|
||||
Dustbin = 3,
|
||||
Container = 1,
|
||||
Landasan = 1,
|
||||
JenisPetugas = "DLH",
|
||||
NamaPetugas = "Bambang Wijaya",
|
||||
Jadwal = new List<string> { "Selasa", "Kamis", "Sabtu" },
|
||||
TpsTujuan = "TPS Cililitan"
|
||||
},
|
||||
new AlatPengumpulSampahViewModel
|
||||
{
|
||||
Id = 3,
|
||||
Kelurahan = "Kelurahan Duren Sawit",
|
||||
Rw = "003",
|
||||
Rt = "005",
|
||||
GerobakDorong = 1,
|
||||
GerobakMotor = 1,
|
||||
MobilPickup = 0,
|
||||
Truk = 1,
|
||||
Dustbin = 5,
|
||||
Container = 2,
|
||||
Landasan = 2,
|
||||
JenisPetugas = "Swadaya Warga",
|
||||
NamaPetugas = "Rini Setiawan",
|
||||
Jadwal = new List<string> { "Senin", "Rabu", "Jumat" },
|
||||
TpsTujuan = "TPS Duren Sawit"
|
||||
},
|
||||
new AlatPengumpulSampahViewModel
|
||||
{
|
||||
Id = 4,
|
||||
Kelurahan = "Kelurahan Balekambang",
|
||||
Rw = "002",
|
||||
Rt = "001",
|
||||
GerobakDorong = 2,
|
||||
GerobakMotor = 1,
|
||||
MobilPickup = 1,
|
||||
Truk = 1,
|
||||
Dustbin = 2,
|
||||
Container = 1,
|
||||
Landasan = 1,
|
||||
JenisPetugas = "Kader Lingkungan",
|
||||
NamaPetugas = "Eko Nugroho",
|
||||
Jadwal = new List<string> { "Selasa", "Kamis" },
|
||||
TpsTujuan = "TPS Kampung Melayu"
|
||||
},
|
||||
new AlatPengumpulSampahViewModel
|
||||
{
|
||||
Id = 5,
|
||||
Kelurahan = "Kelurahan Pondok Bambu",
|
||||
Rw = "001",
|
||||
Rt = "007",
|
||||
GerobakDorong = 3,
|
||||
GerobakMotor = 2,
|
||||
MobilPickup = 2,
|
||||
Truk = 1,
|
||||
Dustbin = 6,
|
||||
Container = 2,
|
||||
Landasan = 3,
|
||||
JenisPetugas = "Petugas Harian Lepas",
|
||||
NamaPetugas = "Ratna Sari",
|
||||
Jadwal = new List<string> { "Rabu", "Jumat", "Minggu" },
|
||||
TpsTujuan = "TPS Pondok Bambu"
|
||||
}
|
||||
new[] { "Senin", "Rabu", "Jumat" },
|
||||
new[] { "Selasa", "Kamis" },
|
||||
new[] { "Sabtu", "Minggu" },
|
||||
new[] { "Senin", "Selasa", "Kamis" },
|
||||
new[] { "Rabu", "Jumat" }
|
||||
};
|
||||
|
||||
private static readonly string[] JenisPetugasOptions =
|
||||
{
|
||||
"Petugas Harian Lepas",
|
||||
"DLH",
|
||||
"Swadaya Warga",
|
||||
"Kader Lingkungan",
|
||||
"Relawan"
|
||||
};
|
||||
|
||||
private static readonly string[] TpsOptions =
|
||||
{
|
||||
"TPS Jakarta Timur",
|
||||
"TPS Cililitan",
|
||||
"TPS Duren Sawit",
|
||||
"TPS Kampung Melayu",
|
||||
"TPS Pondok Bambu",
|
||||
"TPS Pulogadung"
|
||||
};
|
||||
|
||||
private static readonly List<AlatPengumpulSampahViewModel> SampleAlatPengumpul =
|
||||
Enumerable.Range(1, 100)
|
||||
.Select(index =>
|
||||
{
|
||||
var wilayah = ControllerSampleData.WilayahSeeds[index % ControllerSampleData.WilayahSeeds.Length];
|
||||
var namaPetugas = ControllerSampleData.PersonNames[index % ControllerSampleData.PersonNames.Length];
|
||||
var jadwal = JadwalCombinations[index % JadwalCombinations.Length];
|
||||
|
||||
return new AlatPengumpulSampahViewModel
|
||||
{
|
||||
Id = index,
|
||||
Kelurahan = $"Kelurahan {wilayah.Kelurahan}",
|
||||
Rw = ((index % 15) + 1).ToString("D3"),
|
||||
Rt = ((index % 20) + 1).ToString("D3"),
|
||||
GerobakDorong = 1 + (index % 4),
|
||||
GerobakMotor = 1 + (index % 3),
|
||||
MobilPickup = index % 2,
|
||||
Truk = index % 3 == 0 ? 1 : 0,
|
||||
Dustbin = 4 + (index % 5),
|
||||
Container = 1 + (index % 2),
|
||||
Landasan = 1 + (index % 3),
|
||||
JenisPetugas = JenisPetugasOptions[index % JenisPetugasOptions.Length],
|
||||
NamaPetugas = namaPetugas,
|
||||
Jadwal = jadwal.ToList(),
|
||||
TpsTujuan = TpsOptions[index % TpsOptions.Length]
|
||||
};
|
||||
})
|
||||
.ToList();
|
||||
|
||||
public IActionResult Index()
|
||||
{
|
||||
return View();
|
||||
|
|
@ -109,411 +70,141 @@ namespace BpsRwApp.Controllers
|
|||
[HttpGet]
|
||||
public IActionResult TableLokasi()
|
||||
{
|
||||
var data = new[]
|
||||
var data = Enumerable.Range(0, 100)
|
||||
.Select(index =>
|
||||
{
|
||||
new {
|
||||
usulan = "Lokasi G",
|
||||
alamat = "Perumahan Mawar Indah",
|
||||
statusLahan = "Inventaris",
|
||||
pemilikLahan = "Larasati Wulandari",
|
||||
luasLahan = 500,
|
||||
statusUsulan = "Aktif"
|
||||
},
|
||||
new {
|
||||
usulan = "Lokasi I",
|
||||
alamat = "Jl. Bougenville, RT 02",
|
||||
statusLahan = "Inventaris",
|
||||
pemilikLahan = "Arya Dwipangga",
|
||||
luasLahan = 500,
|
||||
statusUsulan = "Aktif"
|
||||
},
|
||||
new {
|
||||
usulan = "Lokasi F",
|
||||
alamat = "Lingk. Edelweiss, No. 7",
|
||||
statusLahan = "Inventaris",
|
||||
pemilikLahan = "Kirana Lazuardi",
|
||||
luasLahan = 500,
|
||||
statusUsulan = "Aktif"
|
||||
},
|
||||
new {
|
||||
usulan = "Lokasi C",
|
||||
alamat = "Jl. Anggrek No. 14",
|
||||
statusLahan = "Inventaris",
|
||||
pemilikLahan = "Bagas Priambodo",
|
||||
luasLahan = 500,
|
||||
statusUsulan = "Aktif"
|
||||
},
|
||||
new {
|
||||
usulan = "Lokasi B",
|
||||
alamat = "Jl. Tulip, Kel. Gardenia",
|
||||
statusLahan = "Inventaris",
|
||||
pemilikLahan = "Raisa Adiwangsa",
|
||||
luasLahan = 500,
|
||||
statusUsulan = "Aktif"
|
||||
},
|
||||
new {
|
||||
usulan = "Lokasi E",
|
||||
alamat = "Jl. Lavender, RT 09",
|
||||
statusLahan = "Inventaris",
|
||||
pemilikLahan = "Satria Gunawan",
|
||||
luasLahan = 500,
|
||||
statusUsulan = "Aktif"
|
||||
},
|
||||
new {
|
||||
usulan = "Lokasi A",
|
||||
alamat = "Komp. Melati, No. 22",
|
||||
statusLahan = "Inventaris",
|
||||
pemilikLahan = "Kartika Hastuti",
|
||||
luasLahan = 500,
|
||||
statusUsulan = "Aktif"
|
||||
},
|
||||
new {
|
||||
usulan = "Lokasi D",
|
||||
alamat = "Gg. Dahlia, RT 05",
|
||||
statusLahan = "Inventaris",
|
||||
pemilikLahan = "Bayu Anggoro",
|
||||
luasLahan = 500,
|
||||
statusUsulan = "Aktif"
|
||||
},
|
||||
new {
|
||||
usulan = "Lokasi H",
|
||||
alamat = "Ds. Cempaka, Kab. Anyer",
|
||||
statusLahan = "Inventaris",
|
||||
pemilikLahan = "Citra Kirani",
|
||||
luasLahan = 500,
|
||||
statusUsulan = "Aktif"
|
||||
},
|
||||
new {
|
||||
usulan = "Lokasi J",
|
||||
alamat = "Jl. Kenanga, Blok C",
|
||||
statusLahan = "Inventaris",
|
||||
pemilikLahan = "Galih Prasetya",
|
||||
luasLahan = 500,
|
||||
statusUsulan = "Aktif"
|
||||
},
|
||||
var wilayah = ControllerSampleData.WilayahSeeds[index % ControllerSampleData.WilayahSeeds.Length];
|
||||
var street = ControllerSampleData.StreetNames[index % ControllerSampleData.StreetNames.Length];
|
||||
var pemilik = ControllerSampleData.PersonNames[(index + 3) % ControllerSampleData.PersonNames.Length];
|
||||
var luas = 300 + (index * 11 % 900);
|
||||
var statusLahan = (index % 3) switch
|
||||
{
|
||||
0 => "Inventaris",
|
||||
1 => "Sewa",
|
||||
_ => "Milik Warga"
|
||||
};
|
||||
|
||||
var response = new
|
||||
return new
|
||||
{
|
||||
data = data
|
||||
id = index + 1,
|
||||
usulan = $"Lokasi {index + 1:000}",
|
||||
alamat = ControllerSampleData.FormatAlamat(wilayah, street, 5 + index),
|
||||
statusLahan,
|
||||
pemilikLahan = pemilik,
|
||||
luasLahan = $"{luas} m²",
|
||||
statusUsulan = BuildLokasiStatusBadge(index),
|
||||
aksi = BuildLokasiActionButtons(index + 1)
|
||||
};
|
||||
})
|
||||
.ToArray();
|
||||
|
||||
return Json(response);
|
||||
return Json(new { data });
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public IActionResult TableSuratUsulan()
|
||||
{
|
||||
var data = new[]
|
||||
var namaSuratTemplates = new[]
|
||||
{
|
||||
new {
|
||||
nama_surat = "Surat Permohonan Perbaikan Jalan Lingkungan",
|
||||
tanggal_surat = ControllerSampleData.FormatTanggal(new DateTime(2023, 7, 11)),
|
||||
file_upload = "Surat Pengantar Proposal",
|
||||
status = "<div class=\"badge badge-success badge-soft rounded-full\">Aktif</div>",
|
||||
aksi = "<div class=\"flex gap-2 \">" +
|
||||
"<a class=\"btn btn-xs bg-white rounded-full\">Detail</a>" +
|
||||
"<a class=\"btn btn-xs bg-white rounded-full\">Edit</a>" +
|
||||
"<a class=\"btn btn-xs btn-error btn-outline rounded-full\">Delete</a>" +
|
||||
"</div>"
|
||||
},
|
||||
new {
|
||||
nama_surat = "Surat Rekomendasi untuk Pengajuan Kredit UMKM",
|
||||
tanggal_surat = ControllerSampleData.FormatTanggal(new DateTime(2023, 1, 9)),
|
||||
file_upload = "Surat Undangan Rapat Warga",
|
||||
status = "<div class=\"badge badge-success badge-soft rounded-full\">Aktif</div>",
|
||||
aksi = "<div class=\"flex gap-2 \">" +
|
||||
"<a class=\"btn btn-xs bg-white rounded-full\">Detail</a>" +
|
||||
"<a class=\"btn btn-xs bg-white rounded-full\">Edit</a>" +
|
||||
"<a class=\"btn btn-xs btn-error btn-outline rounded-full\">Delete</a>" +
|
||||
"</div>"
|
||||
},
|
||||
new {
|
||||
nama_surat = "Surat Pernyataan Persetujuan Pembangunan Pos Kamling",
|
||||
tanggal_surat = ControllerSampleData.FormatTanggal(new DateTime(2023, 4, 21)),
|
||||
file_upload = "Surat Pemberitahuan Gotong Royong",
|
||||
status = "<div class=\"badge badge-success badge-soft rounded-full\">Aktif</div>",
|
||||
aksi = "<div class=\"flex gap-2 \">" +
|
||||
"<a class=\"btn btn-xs bg-white rounded-full\">Detail</a>" +
|
||||
"<a class=\"btn btn-xs bg-white rounded-full\">Edit</a>" +
|
||||
"<a class=\"btn btn-xs btn-error btn-outline rounded-full\">Delete</a>" +
|
||||
"</div>"
|
||||
},
|
||||
new {
|
||||
nama_surat = "Surat Keterangan Tidak Mampu untuk Berobat",
|
||||
tanggal_surat = ControllerSampleData.FormatTanggal(new DateTime(2023, 2, 17)),
|
||||
file_upload = "Surat Keputusan Ketua RW",
|
||||
status = "<div class=\"badge badge-success badge-soft rounded-full\">Aktif</div>",
|
||||
aksi = "<div class=\"flex gap-2 \">" +
|
||||
"<a class=\"btn btn-xs bg-white rounded-full\">Detail</a>" +
|
||||
"<a class=\"btn btn-xs bg-white rounded-full\">Edit</a>" +
|
||||
"<a class=\"btn btn-xs btn-error btn-outline rounded-full\">Delete</a>" +
|
||||
"</div>"
|
||||
},
|
||||
new {
|
||||
nama_surat = "Laporan Keuangan RW Triwulan II 2023",
|
||||
tanggal_surat = ControllerSampleData.FormatTanggal(new DateTime(2023, 8, 18)),
|
||||
file_upload = "Surat Edaran Kebersihan",
|
||||
status = "<div class=\"badge badge-success badge-soft rounded-full\">Aktif</div>",
|
||||
aksi = "<div class=\"flex gap-2 \">" +
|
||||
"<a class=\"btn btn-xs bg-white rounded-full\">Detail</a>" +
|
||||
"<a class=\"btn btn-xs bg-white rounded-full\">Edit</a>" +
|
||||
"<a class=\"btn btn-xs btn-error btn-outline rounded-full\">Delete</a>" +
|
||||
"</div>"
|
||||
},
|
||||
new {
|
||||
nama_surat = "Surat Keputusan RW tentang Jadwal Ronda Malam",
|
||||
tanggal_surat = ControllerSampleData.FormatTanggal(new DateTime(2023, 5, 14)),
|
||||
file_upload = "Surat Rekomendasi Usaha",
|
||||
status = "<div class=\"badge badge-success badge-soft rounded-full\">Aktif</div>",
|
||||
aksi = "<div class=\"flex gap-2 \">" +
|
||||
"<a class=\"btn btn-xs bg-white rounded-full\">Detail</a>" +
|
||||
"<a class=\"btn btn-xs bg-white rounded-full\">Edit</a>" +
|
||||
"<a class=\"btn btn-xs btn-error btn-outline rounded-full\">Delete</a>" +
|
||||
"</div>"
|
||||
},
|
||||
new {
|
||||
nama_surat = "Surat Pemberitahuan Kerja Bakti Rutin",
|
||||
tanggal_surat = ControllerSampleData.FormatTanggal(new DateTime(2023, 6, 2)),
|
||||
file_upload = "Laporan Kegiatan RW",
|
||||
status = "<div class=\"badge badge-success badge-soft rounded-full\">Aktif</div>",
|
||||
aksi = "<div class=\"flex gap-2 \">" +
|
||||
"<a class=\"btn btn-xs bg-white rounded-full\">Detail</a>" +
|
||||
"<a class=\"btn btn-xs bg-white rounded-full\">Edit</a>" +
|
||||
"<a class=\"btn btn-xs btn-error btn-outline rounded-full\">Delete</a>" +
|
||||
"</div>"
|
||||
},
|
||||
new {
|
||||
nama_surat = "Surat Edaran tentang Pembayaran Iuran Sampah",
|
||||
tanggal_surat = ControllerSampleData.FormatTanggal(new DateTime(2023, 6, 22)),
|
||||
file_upload = "Surat Keterangan Domisili",
|
||||
status = "<div class=\"badge badge-success badge-soft rounded-full\">Aktif</div>",
|
||||
aksi = "<div class=\"flex gap-2 \">" +
|
||||
"<a class=\"btn btn-xs bg-white rounded-full\">Detail</a>" +
|
||||
"<a class=\"btn btn-xs bg-white rounded-full\">Edit</a>" +
|
||||
"<a class=\"btn btn-xs btn-error btn-outline rounded-full\">Delete</a>" +
|
||||
"</div>"
|
||||
},
|
||||
new {
|
||||
nama_surat = "Surat Pengantar untuk Pembuatan KTP",
|
||||
tanggal_surat = ControllerSampleData.FormatTanggal(new DateTime(2023, 3, 1)),
|
||||
file_upload = "Surat Permohonan Bantuan Dana",
|
||||
status = "<div class=\"badge badge-success badge-soft rounded-full\">Aktif</div>",
|
||||
aksi = "<div class=\"flex gap-2 \">" +
|
||||
"<a class=\"btn btn-xs bg-white rounded-full\">Detail</a>" +
|
||||
"<a class=\"btn btn-xs bg-white rounded-full\">Edit</a>" +
|
||||
"<a class=\"btn btn-xs btn-error btn-outline rounded-full\">Delete</a>" +
|
||||
"</div>"
|
||||
},
|
||||
new {
|
||||
nama_surat = "Surat Undangan Pertemuan Rutin PKK",
|
||||
tanggal_surat = ControllerSampleData.FormatTanggal(new DateTime(2023, 4, 28)),
|
||||
file_upload = "Surat Pernyataan Kesanggupan",
|
||||
status = "<div class=\"badge badge-success badge-soft rounded-full\">Aktif</div>",
|
||||
aksi = "<div class=\"flex gap-2 \">" +
|
||||
"<a class=\"btn btn-xs bg-white rounded-full\">Detail</a>" +
|
||||
"<a class=\"btn btn-xs bg-white rounded-full\">Edit</a>" +
|
||||
"<a class=\"btn btn-xs btn-error btn-outline rounded-full\">Delete</a>" +
|
||||
"</div>"
|
||||
},
|
||||
"Surat Permohonan Perbaikan Jalan Lingkungan",
|
||||
"Surat Rekomendasi Pengajuan Kredit UMKM",
|
||||
"Surat Pernyataan Persetujuan Pembangunan Pos Kamling",
|
||||
"Surat Keterangan Tidak Mampu untuk Berobat",
|
||||
"Laporan Keuangan RW Triwulan",
|
||||
"Surat Keputusan Jadwal Ronda Malam",
|
||||
"Surat Pemberitahuan Kerja Bakti Rutin",
|
||||
"Surat Edaran Pembayaran Iuran Sampah",
|
||||
"Surat Pengantar Pembuatan KTP",
|
||||
"Surat Undangan Pertemuan PKK"
|
||||
};
|
||||
|
||||
var response = new
|
||||
var fileTemplates = new[]
|
||||
{
|
||||
data = data
|
||||
"Surat Pengantar Proposal",
|
||||
"Surat Undangan Rapat Warga",
|
||||
"Surat Pemberitahuan Gotong Royong",
|
||||
"Surat Keputusan Ketua RW",
|
||||
"Surat Edaran Kebersihan",
|
||||
"Surat Rekomendasi Usaha",
|
||||
"Laporan Kegiatan RW",
|
||||
"Surat Keterangan Domisili",
|
||||
"Surat Permohonan Bantuan Dana",
|
||||
"Surat Pernyataan Kesanggupan"
|
||||
};
|
||||
|
||||
return Json(response);
|
||||
var startDate = new DateTime(2023, 1, 1);
|
||||
|
||||
var data = Enumerable.Range(0, 100)
|
||||
.Select(index =>
|
||||
{
|
||||
var namaSurat = namaSuratTemplates[index % namaSuratTemplates.Length];
|
||||
var fileUpload = fileTemplates[(index + 3) % fileTemplates.Length];
|
||||
var status = (index % 5) switch
|
||||
{
|
||||
0 => BuildStatusPill("Menunggu", "warning"),
|
||||
1 => BuildStatusPill("Ditinjau", "info"),
|
||||
_ => BuildStatusPill("Aktif", "success")
|
||||
};
|
||||
|
||||
return new
|
||||
{
|
||||
id = index + 1,
|
||||
nama_surat = namaSurat,
|
||||
tanggal_surat = ControllerSampleData.FormatTanggal(startDate.AddDays(index * 2)),
|
||||
file_upload = fileUpload,
|
||||
status,
|
||||
aksi = BuildCrudActionButtons(index + 1)
|
||||
};
|
||||
})
|
||||
.ToArray();
|
||||
|
||||
return Json(new { data });
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public IActionResult TablePengadaanWadah()
|
||||
{
|
||||
var data = new[]
|
||||
var data = Enumerable.Range(0, 100)
|
||||
.Select(index =>
|
||||
{
|
||||
new {
|
||||
rt = "001",
|
||||
jumlah_kepala_keluarga = "11",
|
||||
total_wadah_unit = "07",
|
||||
status = "<div class=\"badge badge-success badge-soft rounded-full\">Aktif</div>",
|
||||
},
|
||||
new {
|
||||
rt = "002",
|
||||
jumlah_kepala_keluarga = "09",
|
||||
total_wadah_unit = "01",
|
||||
status = "<div class=\"badge badge-success badge-soft rounded-full\">Aktif</div>",
|
||||
},
|
||||
new {
|
||||
rt = "003",
|
||||
jumlah_kepala_keluarga = "21",
|
||||
total_wadah_unit = "04",
|
||||
status = "<div class=\"badge badge-success badge-soft rounded-full\">Aktif</div>",
|
||||
},
|
||||
new {
|
||||
rt = "004",
|
||||
jumlah_kepala_keluarga = "17",
|
||||
total_wadah_unit = "02",
|
||||
status = "<div class=\"badge badge-success badge-soft rounded-full\">Aktif</div>",
|
||||
},
|
||||
new {
|
||||
rt = "005",
|
||||
jumlah_kepala_keluarga = "18",
|
||||
total_wadah_unit = "08",
|
||||
status = "<div class=\"badge badge-success badge-soft rounded-full\">Aktif</div>",
|
||||
},
|
||||
new {
|
||||
rt = "006",
|
||||
jumlah_kepala_keluarga = "14",
|
||||
total_wadah_unit = "05",
|
||||
status = "<div class=\"badge badge-success badge-soft rounded-full\">Aktif</div>",
|
||||
},
|
||||
new {
|
||||
rt = "007",
|
||||
jumlah_kepala_keluarga = "02",
|
||||
total_wadah_unit = "06",
|
||||
status = "<div class=\"badge badge-success badge-soft rounded-full\">Aktif</div>",
|
||||
},
|
||||
new {
|
||||
rt = "008",
|
||||
jumlah_kepala_keluarga = "22",
|
||||
total_wadah_unit = "06",
|
||||
status = "<div class=\"badge badge-success badge-soft rounded-full\">Aktif</div>",
|
||||
},
|
||||
new {
|
||||
rt = "009",
|
||||
jumlah_kepala_keluarga = "01",
|
||||
total_wadah_unit = "03",
|
||||
status = "<div class=\"badge badge-success badge-soft rounded-full\">Aktif</div>",
|
||||
},
|
||||
new {
|
||||
rt = "010",
|
||||
jumlah_kepala_keluarga = "28",
|
||||
total_wadah_unit = "04",
|
||||
status = "<div class=\"badge badge-success badge-soft rounded-full\">Aktif</div>",
|
||||
},
|
||||
};
|
||||
var jumlahKk = 40 + (index * 5 % 200);
|
||||
var totalWadah = 4 + (index % 12);
|
||||
var status = index % 7 == 0
|
||||
? BuildStatusPill("Menunggu", "warning")
|
||||
: BuildStatusPill("Aktif", "success");
|
||||
|
||||
var response = new
|
||||
return new
|
||||
{
|
||||
data = data
|
||||
rt = ((index % 25) + 1).ToString("D3"),
|
||||
jumlah_kepala_keluarga = jumlahKk.ToString("D2"),
|
||||
total_wadah_unit = totalWadah.ToString("D2"),
|
||||
status
|
||||
};
|
||||
})
|
||||
.ToArray();
|
||||
|
||||
return Json(response);
|
||||
return Json(new { data });
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public IActionResult TableKebutuhanSarpras()
|
||||
{
|
||||
var data = new[]
|
||||
{
|
||||
new {
|
||||
rt = "001",
|
||||
tanggal = ControllerSampleData.FormatTanggal(new DateTime(2023, 4, 11)),
|
||||
jumlah_unit = "507",
|
||||
aksi = "<div class=\"flex gap-2 \">" +
|
||||
"<a class=\"btn btn-xs bg-white rounded-full\">Detail</a>" +
|
||||
"<a class=\"btn btn-xs bg-white rounded-full\">Edit</a>" +
|
||||
"<a class=\"btn btn-xs btn-error btn-outline rounded-full\">Delete</a>" +
|
||||
"</div>"
|
||||
},
|
||||
new {
|
||||
rt = "002",
|
||||
tanggal = ControllerSampleData.FormatTanggal(new DateTime(2023, 4, 9)),
|
||||
jumlah_unit = "501",
|
||||
aksi = "<div class=\"flex gap-2 \">" +
|
||||
"<a class=\"btn btn-xs bg-white rounded-full\">Detail</a>" +
|
||||
"<a class=\"btn btn-xs bg-white rounded-full\">Edit</a>" +
|
||||
"<a class=\"btn btn-xs btn-error btn-outline rounded-full\">Delete</a>" +
|
||||
"</div>"
|
||||
},
|
||||
new {
|
||||
rt = "003",
|
||||
tanggal = ControllerSampleData.FormatTanggal(new DateTime(2023, 4, 21)),
|
||||
jumlah_unit = "504",
|
||||
aksi = "<div class=\"flex gap-2 \">" +
|
||||
"<a class=\"btn btn-xs bg-white rounded-full\">Detail</a>" +
|
||||
"<a class=\"btn btn-xs bg-white rounded-full\">Edit</a>" +
|
||||
"<a class=\"btn btn-xs btn-error btn-outline rounded-full\">Delete</a>" +
|
||||
"</div>"
|
||||
},
|
||||
new {
|
||||
rt = "004",
|
||||
tanggal = ControllerSampleData.FormatTanggal(new DateTime(2023, 4, 17)),
|
||||
jumlah_unit = "502",
|
||||
aksi = "<div class=\"flex gap-2 \">" +
|
||||
"<a class=\"btn btn-xs bg-white rounded-full\">Detail</a>" +
|
||||
"<a class=\"btn btn-xs bg-white rounded-full\">Edit</a>" +
|
||||
"<a class=\"btn btn-xs btn-error btn-outline rounded-full\">Delete</a>" +
|
||||
"</div>"
|
||||
},
|
||||
new {
|
||||
rt = "005",
|
||||
tanggal = ControllerSampleData.FormatTanggal(new DateTime(2023, 4, 18)),
|
||||
jumlah_unit = "508",
|
||||
aksi = "<div class=\"flex gap-2 \">" +
|
||||
"<a class=\"btn btn-xs bg-white rounded-full\">Detail</a>" +
|
||||
"<a class=\"btn btn-xs bg-white rounded-full\">Edit</a>" +
|
||||
"<a class=\"btn btn-xs btn-error btn-outline rounded-full\">Delete</a>" +
|
||||
"</div>"
|
||||
},
|
||||
new {
|
||||
rt = "006",
|
||||
tanggal = ControllerSampleData.FormatTanggal(new DateTime(2023, 4, 14)),
|
||||
jumlah_unit = "505",
|
||||
aksi = "<div class=\"flex gap-2 \">" +
|
||||
"<a class=\"btn btn-xs bg-white rounded-full\">Detail</a>" +
|
||||
"<a class=\"btn btn-xs bg-white rounded-full\">Edit</a>" +
|
||||
"<a class=\"btn btn-xs btn-error btn-outline rounded-full\">Delete</a>" +
|
||||
"</div>"
|
||||
},
|
||||
new {
|
||||
rt = "007",
|
||||
tanggal = ControllerSampleData.FormatTanggal(new DateTime(2023, 4, 2)),
|
||||
jumlah_unit = "506",
|
||||
aksi = "<div class=\"flex gap-2 \">" +
|
||||
"<a class=\"btn btn-xs bg-white rounded-full\">Detail</a>" +
|
||||
"<a class=\"btn btn-xs bg-white rounded-full\">Edit</a>" +
|
||||
"<a class=\"btn btn-xs btn-error btn-outline rounded-full\">Delete</a>" +
|
||||
"</div>"
|
||||
},
|
||||
new {
|
||||
rt = "008",
|
||||
tanggal = ControllerSampleData.FormatTanggal(new DateTime(2023, 4, 22)),
|
||||
jumlah_unit = "506",
|
||||
aksi = "<div class=\"flex gap-2 \">" +
|
||||
"<a class=\"btn btn-xs bg-white rounded-full\">Detail</a>" +
|
||||
"<a class=\"btn btn-xs bg-white rounded-full\">Edit</a>" +
|
||||
"<a class=\"btn btn-xs btn-error btn-outline rounded-full\">Delete</a>" +
|
||||
"</div>"
|
||||
},
|
||||
new {
|
||||
rt = "009",
|
||||
tanggal = ControllerSampleData.FormatTanggal(new DateTime(2023, 4, 1)),
|
||||
jumlah_unit = "503",
|
||||
aksi = "<div class=\"flex gap-2 \">" +
|
||||
"<a class=\"btn btn-xs bg-white rounded-full\">Detail</a>" +
|
||||
"<a class=\"btn btn-xs bg-white rounded-full\">Edit</a>" +
|
||||
"<a class=\"btn btn-xs btn-error btn-outline rounded-full\">Delete</a>" +
|
||||
"</div>"
|
||||
},
|
||||
new {
|
||||
rt = "010",
|
||||
tanggal = ControllerSampleData.FormatTanggal(new DateTime(2023, 4, 28)),
|
||||
jumlah_unit = "504",
|
||||
aksi = "<div class=\"flex gap-2 \">" +
|
||||
"<a class=\"btn btn-xs bg-white rounded-full\">Detail</a>" +
|
||||
"<a class=\"btn btn-xs bg-white rounded-full\">Edit</a>" +
|
||||
"<a class=\"btn btn-xs btn-error btn-outline rounded-full\">Delete</a>" +
|
||||
"</div>"
|
||||
},
|
||||
};
|
||||
var startDate = new DateTime(2023, 4, 1);
|
||||
|
||||
var response = new
|
||||
var data = Enumerable.Range(0, 100)
|
||||
.Select(index =>
|
||||
{
|
||||
data = data
|
||||
var jumlahUnit = 480 + (index * 7 % 120);
|
||||
return new
|
||||
{
|
||||
rt = ((index % 40) + 1).ToString("D3"),
|
||||
tanggal = ControllerSampleData.FormatTanggal(startDate.AddDays(index)),
|
||||
jumlah_unit = jumlahUnit.ToString(),
|
||||
aksi = BuildCrudActionButtons(index + 1)
|
||||
};
|
||||
})
|
||||
.ToArray();
|
||||
|
||||
return Json(response);
|
||||
return Json(new { data });
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
|
|
@ -590,6 +281,31 @@ namespace BpsRwApp.Controllers
|
|||
return Json(new { data });
|
||||
}
|
||||
|
||||
private static string BuildLokasiStatusBadge(int index)
|
||||
{
|
||||
var statuses = new[]
|
||||
{
|
||||
("Aktif", "success"),
|
||||
("Dalam Review", "warning"),
|
||||
("Tidak Aktif", "error")
|
||||
};
|
||||
|
||||
var status = statuses[index % statuses.Length];
|
||||
return $"<span class=\"badge badge-{status.Item2} badge-soft badge-sm rounded-full font-medium\">{status.Item1}</span>";
|
||||
}
|
||||
|
||||
private static string BuildLokasiActionButtons(int id) => BuildCrudActionButtons(id);
|
||||
|
||||
private static string BuildStatusPill(string label, string tone) =>
|
||||
$"<div class=\"badge badge-{tone} badge-soft rounded-full\">{label}</div>";
|
||||
|
||||
private static string BuildCrudActionButtons(int id) =>
|
||||
"<div class=\"flex gap-2 \">" +
|
||||
$"<button type=\"button\" class=\"btn btn-xs bg-white btn-detail rounded-full\" data-id=\"{id}\">Detail</button>" +
|
||||
$"<button type=\"button\" class=\"btn btn-xs bg-white btn-edit rounded-full\" data-id=\"{id}\">Edit</button>" +
|
||||
$"<button type=\"button\" class=\"btn btn-xs btn-error btn-outline btn-delete rounded-full\" data-id=\"{id}\">Delete</button>" +
|
||||
"</div>";
|
||||
|
||||
[HttpGet]
|
||||
public IActionResult DetailAlatPengumpulSampah(int id)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -82,21 +82,8 @@
|
|||
{ data: 'statusLahan' },
|
||||
{ data: 'pemilikLahan' },
|
||||
{ data: 'luasLahan' },
|
||||
{
|
||||
data: 'statusUsulan',
|
||||
render: (data) => `<span class="badge badge-success badge-soft badge-sm rounded-full font-medium">${data}</span>`
|
||||
},
|
||||
{
|
||||
data: null,
|
||||
className: "text-center",
|
||||
render: (data, type, row) => `<div class="flex justify-center gap-2">` +
|
||||
`<button class="btn btn-xs bg-white btn-detail rounded-full" data-id="${row.id}">Detail</button>` +
|
||||
`<button class="btn btn-xs bg-white btn-edit rounded-full" data-id="${row.id}">Edit</button>` +
|
||||
`<button class="btn btn-xs btn-error btn-outline btn-delete rounded-full" data-id="${row.id}">Delete</button>` +
|
||||
`</div>`,
|
||||
orderable: false,
|
||||
searchable: false
|
||||
}
|
||||
{ data: 'statusUsulan', className: "text-center", orderable: false, searchable: false },
|
||||
{ data: 'aksi', className: "text-center", orderable: false, searchable: false }
|
||||
]
|
||||
});
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue