style: add tab Alat Pengumpul Sampah
parent
ca1c2132ce
commit
ba947dbfd8
|
|
@ -1,9 +1,106 @@
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using BpsRwApp.Models.ProfilRw;
|
||||||
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
namespace BpsRwApp.Controllers
|
namespace BpsRwApp.Controllers
|
||||||
{
|
{
|
||||||
public class ProfilRwController : AppControllerBase
|
public class ProfilRwController : AppControllerBase
|
||||||
{
|
{
|
||||||
|
private static readonly List<AlatPengumpulSampahViewModel> SampleAlatPengumpul = new()
|
||||||
|
{
|
||||||
|
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"
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
public IActionResult Index()
|
public IActionResult Index()
|
||||||
{
|
{
|
||||||
return View();
|
return View();
|
||||||
|
|
@ -424,5 +521,103 @@ namespace BpsRwApp.Controllers
|
||||||
{
|
{
|
||||||
return View();
|
return View();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[HttpGet]
|
||||||
|
public IActionResult TableAlatPengumpulSampah()
|
||||||
|
{
|
||||||
|
string BuildActionButtons(int id)
|
||||||
|
{
|
||||||
|
var detailUrl = Url.Action("DetailAlatPengumpulSampah", "ProfilRw", new { id }) ?? "#";
|
||||||
|
var editUrl = Url.Action("EditAlatPengumpulSampah", "ProfilRw", new { id }) ?? "#";
|
||||||
|
return "<div class='flex gap-2 '>" +
|
||||||
|
$"<a href='{detailUrl}' class='btn btn-xs bg-white btn-detail rounded-full'>Detail</a>" +
|
||||||
|
$"<a href='{editUrl}' class='btn btn-xs bg-white btn-edit rounded-full'>Edit</a>" +
|
||||||
|
$"<button type='button' class='btn btn-xs btn-error btn-outline btn-delete rounded-full' data-id='{id}'>Delete</button>" +
|
||||||
|
"</div>";
|
||||||
|
}
|
||||||
|
|
||||||
|
string CreateAlatBadge(string label, int value)
|
||||||
|
{
|
||||||
|
return $"<div class='badge m-1 badge-primary rounded-full'>{label} = {value}</div>";
|
||||||
|
}
|
||||||
|
|
||||||
|
string BuildAlatPengumpulBadges(int gerobakDorong, int gerobakMotor, int mobilPickup, int truk, int dustbin, int container, int landasan)
|
||||||
|
{
|
||||||
|
return string.Concat(
|
||||||
|
CreateAlatBadge("Gerobak Dorong", gerobakDorong),
|
||||||
|
CreateAlatBadge("Gerobak Motor", gerobakMotor),
|
||||||
|
CreateAlatBadge("Mobil Pickup", mobilPickup),
|
||||||
|
CreateAlatBadge("Truk", truk),
|
||||||
|
CreateAlatBadge("Dustbin", dustbin),
|
||||||
|
CreateAlatBadge("Container", container),
|
||||||
|
CreateAlatBadge("Landasan", landasan)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
string CreateJadwalBadge(string hari)
|
||||||
|
{
|
||||||
|
return $"<div class='badge badge-soft m-1 badge-primary rounded-full'>{hari}</div>";
|
||||||
|
}
|
||||||
|
|
||||||
|
string BuildJadwalBadges(IEnumerable<string> jadwal)
|
||||||
|
{
|
||||||
|
return string.Concat(jadwal.Select(CreateJadwalBadge));
|
||||||
|
}
|
||||||
|
|
||||||
|
var data = SampleAlatPengumpul.Select(item => new
|
||||||
|
{
|
||||||
|
id = item.Id,
|
||||||
|
wilayah = $"{item.Kelurahan} - RW {item.Rw} / RT {item.Rt}",
|
||||||
|
kelurahan = item.Kelurahan,
|
||||||
|
rw = item.Rw,
|
||||||
|
rt = item.Rt,
|
||||||
|
gerobakDorong = item.GerobakDorong,
|
||||||
|
gerobakMotor = item.GerobakMotor,
|
||||||
|
mobilPickup = item.MobilPickup,
|
||||||
|
truk = item.Truk,
|
||||||
|
dustbin = item.Dustbin,
|
||||||
|
container = item.Container,
|
||||||
|
landasan = item.Landasan,
|
||||||
|
jenisPetugas = item.JenisPetugas,
|
||||||
|
jadwalList = item.Jadwal,
|
||||||
|
alat_pengumpul = BuildAlatPengumpulBadges(item.GerobakDorong, item.GerobakMotor, item.MobilPickup, item.Truk, item.Dustbin, item.Container, item.Landasan),
|
||||||
|
petugas = item.NamaPetugas,
|
||||||
|
jadwal = BuildJadwalBadges(item.Jadwal),
|
||||||
|
tps_tujuan = item.TpsTujuan,
|
||||||
|
aksi = BuildActionButtons(item.Id)
|
||||||
|
}).ToList();
|
||||||
|
|
||||||
|
return Json(new { data });
|
||||||
|
}
|
||||||
|
|
||||||
|
[HttpGet]
|
||||||
|
public IActionResult DetailAlatPengumpulSampah(int id)
|
||||||
|
{
|
||||||
|
var data = SampleAlatPengumpul.FirstOrDefault(x => x.Id == id);
|
||||||
|
if (data == null)
|
||||||
|
{
|
||||||
|
return NotFound();
|
||||||
|
}
|
||||||
|
|
||||||
|
return View(data);
|
||||||
|
}
|
||||||
|
|
||||||
|
[HttpGet]
|
||||||
|
public IActionResult EditAlatPengumpulSampah(int id)
|
||||||
|
{
|
||||||
|
var data = SampleAlatPengumpul.FirstOrDefault(x => x.Id == id);
|
||||||
|
if (data == null)
|
||||||
|
{
|
||||||
|
return NotFound();
|
||||||
|
}
|
||||||
|
|
||||||
|
return View(data);
|
||||||
|
}
|
||||||
|
|
||||||
|
[HttpGet]
|
||||||
|
public IActionResult CreateAlatPengumpulSampah()
|
||||||
|
{
|
||||||
|
return View();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,25 @@
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace BpsRwApp.Models.ProfilRw
|
||||||
|
{
|
||||||
|
public class AlatPengumpulSampahViewModel
|
||||||
|
{
|
||||||
|
public int Id { get; set; }
|
||||||
|
public string Kelurahan { get; set; } = string.Empty;
|
||||||
|
public string Rw { get; set; } = string.Empty;
|
||||||
|
public string Rt { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
public int GerobakDorong { get; set; }
|
||||||
|
public int GerobakMotor { get; set; }
|
||||||
|
public int MobilPickup { get; set; }
|
||||||
|
public int Truk { get; set; }
|
||||||
|
public int Dustbin { get; set; }
|
||||||
|
public int Container { get; set; }
|
||||||
|
public int Landasan { get; set; }
|
||||||
|
|
||||||
|
public string JenisPetugas { get; set; } = string.Empty;
|
||||||
|
public string NamaPetugas { get; set; } = string.Empty;
|
||||||
|
public List<string> Jadwal { get; set; } = new();
|
||||||
|
public string TpsTujuan { get; set; } = string.Empty;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,200 @@
|
||||||
|
@{
|
||||||
|
ViewData["Title"] = "Tambah Alat Pengumpul Sampah";
|
||||||
|
}
|
||||||
|
|
||||||
|
<!-- Breadcrumb -->
|
||||||
|
<div class="breadcrumbs text-sm">
|
||||||
|
<ul>
|
||||||
|
<li class="text-gray-500"><a>Profil RW</a></li>
|
||||||
|
<li><a>Tambah Alat Pengumpul Sampah</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Header -->
|
||||||
|
<div class="grid grid-cols-1 gap-4 lg:grid-cols-2">
|
||||||
|
<div class="prose">
|
||||||
|
<h3 class="mb-2">Tambah Alat Pengumpul Sampah</h3>
|
||||||
|
</div>
|
||||||
|
<div class="justify-self-end lg:self-center flex flex-wrap gap-3">
|
||||||
|
<a href="@Url.Action("Index", "ProfilRw")" class="btn rounded-full shadow-none">
|
||||||
|
<span class="icon icon-fill me-2">arrow_back</span>
|
||||||
|
Kembali
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="h-8"></div>
|
||||||
|
|
||||||
|
<div class="card bg-white card-border">
|
||||||
|
<form action="" method="post">
|
||||||
|
<div class="card-body">
|
||||||
|
<span class="font-medium text-xl">
|
||||||
|
Wilayah
|
||||||
|
</span>
|
||||||
|
<div class="grid grid-cols-1 md:grid-cols-3 md:gap-4 w-full">
|
||||||
|
|
||||||
|
<fieldset class="fieldset">
|
||||||
|
<legend class="fieldset-legend">Kelurahan</legend>
|
||||||
|
<select class="select w-full">
|
||||||
|
<option disabled selected>Pilih Kelurahan</option>
|
||||||
|
</select>
|
||||||
|
</fieldset>
|
||||||
|
|
||||||
|
<fieldset class="fieldset">
|
||||||
|
<legend class="fieldset-legend">RW</legend>
|
||||||
|
<select class="select w-full">
|
||||||
|
<option disabled selected>Pilih RW</option>
|
||||||
|
</select>
|
||||||
|
</fieldset>
|
||||||
|
|
||||||
|
<fieldset class="fieldset">
|
||||||
|
<legend class="fieldset-legend">RT</legend>
|
||||||
|
<select class="select w-full">
|
||||||
|
<option disabled selected>Pilih RT</option>
|
||||||
|
</select>
|
||||||
|
</fieldset>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="divider"></div>
|
||||||
|
|
||||||
|
<span class="font-medium text-xl">
|
||||||
|
Data Alat Pengumpul Sampah
|
||||||
|
</span>
|
||||||
|
<div class="grid grid-cols-1 md:grid-cols-4 md:gap-4 w-full">
|
||||||
|
|
||||||
|
<fieldset class="fieldset">
|
||||||
|
<legend class="fieldset-legend">Gerobak Dorong</legend>
|
||||||
|
<input type="number" class="input w-full" min="0" placeholder="0" />
|
||||||
|
</fieldset>
|
||||||
|
|
||||||
|
<fieldset class="fieldset">
|
||||||
|
<legend class="fieldset-legend">Gerobak Motor</legend>
|
||||||
|
<input type="number" class="input w-full" min="0" placeholder="0" />
|
||||||
|
</fieldset>
|
||||||
|
|
||||||
|
<fieldset class="fieldset">
|
||||||
|
<legend class="fieldset-legend">Mobil Pickup</legend>
|
||||||
|
<input type="number" class="input w-full" min="0" placeholder="0" />
|
||||||
|
</fieldset>
|
||||||
|
|
||||||
|
<fieldset class="fieldset">
|
||||||
|
<legend class="fieldset-legend">Truk</legend>
|
||||||
|
<input type="number" class="input w-full" min="0" placeholder="0" />
|
||||||
|
</fieldset>
|
||||||
|
|
||||||
|
<fieldset class="fieldset">
|
||||||
|
<legend class="fieldset-legend">Dustbin</legend>
|
||||||
|
<input type="number" class="input w-full" min="0" placeholder="0" />
|
||||||
|
</fieldset>
|
||||||
|
|
||||||
|
<fieldset class="fieldset">
|
||||||
|
<legend class="fieldset-legend">Container</legend>
|
||||||
|
<input type="number" class="input w-full" min="0" placeholder="0" />
|
||||||
|
</fieldset>
|
||||||
|
|
||||||
|
<fieldset class="fieldset">
|
||||||
|
<legend class="fieldset-legend">Landasan</legend>
|
||||||
|
<input type="number" class="input w-full" min="0" placeholder="0" />
|
||||||
|
</fieldset>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="divider"></div>
|
||||||
|
|
||||||
|
<span class="font-medium text-xl">
|
||||||
|
Data petugas Pengumpul
|
||||||
|
</span>
|
||||||
|
<div class="grid grid-cols-1 md:grid-cols-2 md:gap-4 w-full">
|
||||||
|
|
||||||
|
<fieldset class="fieldset">
|
||||||
|
<legend class="fieldset-legend">Jenis Petugas</legend>
|
||||||
|
<select class="select w-full">
|
||||||
|
<option disabled selected>Pilih Jenis Petugas</option>
|
||||||
|
</select>
|
||||||
|
</fieldset>
|
||||||
|
|
||||||
|
<fieldset class="fieldset">
|
||||||
|
<legend class="fieldset-legend">Nama Petugas</legend>
|
||||||
|
<input type="text" class="input w-full" min="0" placeholder="0" />
|
||||||
|
</fieldset>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="divider"></div>
|
||||||
|
|
||||||
|
<span class="font-medium text-xl">
|
||||||
|
Jadwal Pengumpulan
|
||||||
|
</span>
|
||||||
|
<div class="grid grid-cols-1 md:grid-cols-7 gap-4 w-full">
|
||||||
|
<fieldset class="fieldset bg-base-100 border-base-300 rounded-box border p-4">
|
||||||
|
<label class="label font-medium text-black text-md">
|
||||||
|
<input type="checkbox" class="checkbox checkbox-primary" />
|
||||||
|
Senin
|
||||||
|
</label>
|
||||||
|
</fieldset>
|
||||||
|
<fieldset class="fieldset bg-base-100 border-base-300 rounded-box border p-4">
|
||||||
|
<label class="label font-medium text-black text-md">
|
||||||
|
<input type="checkbox" class="checkbox checkbox-primary" />
|
||||||
|
Selasa
|
||||||
|
</label>
|
||||||
|
</fieldset>
|
||||||
|
<fieldset class="fieldset bg-base-100 border-base-300 rounded-box border p-4">
|
||||||
|
<label class="label font-medium text-black text-md">
|
||||||
|
<input type="checkbox" class="checkbox checkbox-primary" />
|
||||||
|
Rabu
|
||||||
|
</label>
|
||||||
|
</fieldset>
|
||||||
|
<fieldset class="fieldset bg-base-100 border-base-300 rounded-box border p-4">
|
||||||
|
<label class="label font-medium text-black text-md">
|
||||||
|
<input type="checkbox" class="checkbox checkbox-primary" />
|
||||||
|
Kamis
|
||||||
|
</label>
|
||||||
|
</fieldset>
|
||||||
|
<fieldset class="fieldset bg-base-100 border-base-300 rounded-box border p-4">
|
||||||
|
<label class="label font-medium text-black text-md">
|
||||||
|
<input type="checkbox" class="checkbox checkbox-primary" />
|
||||||
|
Jumat
|
||||||
|
</label>
|
||||||
|
</fieldset>
|
||||||
|
<fieldset class="fieldset bg-base-100 border-base-300 rounded-box border p-4">
|
||||||
|
<label class="label font-medium text-black text-md">
|
||||||
|
<input type="checkbox" class="checkbox checkbox-primary" />
|
||||||
|
Sabtu
|
||||||
|
</label>
|
||||||
|
</fieldset>
|
||||||
|
<fieldset class="fieldset bg-base-100 border-base-300 rounded-box border p-4">
|
||||||
|
<label class="label font-medium text-black text-md">
|
||||||
|
<input type="checkbox" class="checkbox checkbox-primary" />
|
||||||
|
Minggu
|
||||||
|
</label>
|
||||||
|
</fieldset>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="divider"></div>
|
||||||
|
|
||||||
|
<span class="font-medium text-xl">
|
||||||
|
TPS Tujuan
|
||||||
|
</span>
|
||||||
|
<div class="grid grid-cols-1 w-full">
|
||||||
|
|
||||||
|
<fieldset class="fieldset">
|
||||||
|
<legend class="fieldset-legend">TPS</legend>
|
||||||
|
<select class="select w-full">
|
||||||
|
<option disabled selected>Pilih TPS</option>
|
||||||
|
</select>
|
||||||
|
</fieldset>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="divider"></div>
|
||||||
|
|
||||||
|
<div class="card-actions justify-end mt-4">
|
||||||
|
<a href="@Url.Action("Index", "ProfilRw")" class="btn">
|
||||||
|
<span class="icon me-2">cancel</span>
|
||||||
|
Batal
|
||||||
|
</a>
|
||||||
|
<button type="submit" class="btn btn-primary">
|
||||||
|
<span class="icon me-2">save</span>
|
||||||
|
Simpan
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
|
@ -0,0 +1,144 @@
|
||||||
|
@using System.Collections.Generic
|
||||||
|
@model BpsRwApp.Models.ProfilRw.AlatPengumpulSampahViewModel
|
||||||
|
|
||||||
|
@{
|
||||||
|
ViewData["Title"] = "Detail Alat Pengumpul Sampah";
|
||||||
|
var jadwalSet = new HashSet<string>(Model?.Jadwal ?? new List<string>());
|
||||||
|
var hariOptions = new[] { "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu", "Minggu" };
|
||||||
|
}
|
||||||
|
|
||||||
|
<!-- Breadcrumb -->
|
||||||
|
<div class="breadcrumbs text-sm">
|
||||||
|
<ul>
|
||||||
|
<li class="text-gray-500"><a>Profil RW</a></li>
|
||||||
|
<li><a>Detail Alat Pengumpul Sampah</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Header -->
|
||||||
|
<div class="grid grid-cols-1 gap-4 lg:grid-cols-2">
|
||||||
|
<div class="prose">
|
||||||
|
<h3 class="mb-2">Detail Alat Pengumpul Sampah</h3>
|
||||||
|
<p class="text-sm text-gray-500">
|
||||||
|
Informasi lengkap untuk wilayah @Model?.Kelurahan (RW @Model?.Rw / RT @Model?.Rt).
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="flex flex-wrap items-center justify-end gap-3">
|
||||||
|
<a href="@Url.Action("Index", "ProfilRw")" class="btn rounded-full shadow-none">
|
||||||
|
<span class="icon icon-fill me-2">arrow_back</span>
|
||||||
|
Kembali
|
||||||
|
</a>
|
||||||
|
<a href="@Url.Action("EditAlatPengumpulSampah", "ProfilRw", new { id = Model?.Id })" class="btn btn-primary rounded-full text-white shadow-none">
|
||||||
|
<span class="icon icon-fill me-2">edit</span>
|
||||||
|
Edit Data
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="h-8"></div>
|
||||||
|
|
||||||
|
<div class="card bg-white card-border">
|
||||||
|
<div class="card-body space-y-6">
|
||||||
|
<div>
|
||||||
|
<span class="text-xl font-medium">Wilayah</span>
|
||||||
|
<div class="grid grid-cols-1 gap-4 md:grid-cols-3">
|
||||||
|
<fieldset class="fieldset">
|
||||||
|
<legend class="fieldset-legend">Kelurahan</legend>
|
||||||
|
<span class="text-lg font-semibold">@Model?.Kelurahan</span>
|
||||||
|
</fieldset>
|
||||||
|
<fieldset class="fieldset">
|
||||||
|
<legend class="fieldset-legend">RW</legend>
|
||||||
|
<span class="text-lg font-semibold">@Model?.Rw</span>
|
||||||
|
</fieldset>
|
||||||
|
<fieldset class="fieldset">
|
||||||
|
<legend class="fieldset-legend">RT</legend>
|
||||||
|
<span class="text-lg font-semibold">@Model?.Rt</span>
|
||||||
|
</fieldset>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="divider"></div>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<span class="text-xl font-medium">Data Alat Pengumpul Sampah</span>
|
||||||
|
<div class="grid grid-cols-1 gap-4 md:grid-cols-4">
|
||||||
|
<fieldset class="fieldset">
|
||||||
|
<legend class="fieldset-legend">Gerobak Dorong</legend>
|
||||||
|
<span class="text-lg font-semibold">@Model?.GerobakDorong</span>
|
||||||
|
</fieldset>
|
||||||
|
<fieldset class="fieldset">
|
||||||
|
<legend class="fieldset-legend">Gerobak Motor</legend>
|
||||||
|
<span class="text-lg font-semibold">@Model?.GerobakMotor</span>
|
||||||
|
</fieldset>
|
||||||
|
<fieldset class="fieldset">
|
||||||
|
<legend class="fieldset-legend">Mobil Pickup</legend>
|
||||||
|
<span class="text-lg font-semibold">@Model?.MobilPickup</span>
|
||||||
|
</fieldset>
|
||||||
|
<fieldset class="fieldset">
|
||||||
|
<legend class="fieldset-legend">Truk</legend>
|
||||||
|
<span class="text-lg font-semibold">@Model?.Truk</span>
|
||||||
|
</fieldset>
|
||||||
|
<fieldset class="fieldset">
|
||||||
|
<legend class="fieldset-legend">Dustbin</legend>
|
||||||
|
<span class="text-lg font-semibold">@Model?.Dustbin</span>
|
||||||
|
</fieldset>
|
||||||
|
<fieldset class="fieldset">
|
||||||
|
<legend class="fieldset-legend">Container</legend>
|
||||||
|
<span class="text-lg font-semibold">@Model?.Container</span>
|
||||||
|
</fieldset>
|
||||||
|
<fieldset class="fieldset">
|
||||||
|
<legend class="fieldset-legend">Landasan</legend>
|
||||||
|
<span class="text-lg font-semibold">@Model?.Landasan</span>
|
||||||
|
</fieldset>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="divider"></div>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<span class="text-xl font-medium">Data Petugas Pengumpul</span>
|
||||||
|
<div class="grid grid-cols-1 gap-4 md:grid-cols-2">
|
||||||
|
<fieldset class="fieldset">
|
||||||
|
<legend class="fieldset-legend">Jenis Petugas</legend>
|
||||||
|
<span class="text-lg font-semibold">@Model?.JenisPetugas</span>
|
||||||
|
</fieldset>
|
||||||
|
<fieldset class="fieldset">
|
||||||
|
<legend class="fieldset-legend">Nama Petugas</legend>
|
||||||
|
<span class="text-lg font-semibold">@Model?.NamaPetugas</span>
|
||||||
|
</fieldset>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="divider"></div>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<span class="text-xl font-medium">Jadwal Pengumpulan</span>
|
||||||
|
<div class="grid grid-cols-1 gap-4 md:grid-cols-7">
|
||||||
|
@foreach (var day in hariOptions)
|
||||||
|
{
|
||||||
|
<fieldset class="fieldset bg-base-100 border-base-300 rounded-box border p-4">
|
||||||
|
<label class="label text-md font-medium text-black">
|
||||||
|
<input type="checkbox"
|
||||||
|
class="checkbox checkbox-primary"
|
||||||
|
disabled
|
||||||
|
checked="@(jadwalSet.Contains(day) ? "checked" : null)" />
|
||||||
|
@day
|
||||||
|
</label>
|
||||||
|
</fieldset>
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="divider "></div>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<span class="text-xl font-medium">TPS Tujuan</span>
|
||||||
|
<div class="grid grid-cols-1">
|
||||||
|
<fieldset class="fieldset">
|
||||||
|
<legend class="fieldset-legend">TPS</legend>
|
||||||
|
<span class="text-lg font-semibold">@Model?.TpsTujuan</span>
|
||||||
|
</fieldset>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
@ -0,0 +1,230 @@
|
||||||
|
@using System.Collections.Generic
|
||||||
|
@using System.Linq
|
||||||
|
@model BpsRwApp.Models.ProfilRw.AlatPengumpulSampahViewModel
|
||||||
|
|
||||||
|
@{
|
||||||
|
ViewData["Title"] = "Edit Alat Pengumpul Sampah";
|
||||||
|
|
||||||
|
var kelurahanOptions = new[]
|
||||||
|
{
|
||||||
|
"Kelurahan Cililitan",
|
||||||
|
"Kelurahan Rawamangun",
|
||||||
|
"Kelurahan Duren Sawit",
|
||||||
|
"Kelurahan Balekambang",
|
||||||
|
"Kelurahan Pondok Bambu"
|
||||||
|
};
|
||||||
|
|
||||||
|
var rwOptions = Enumerable.Range(1, 10).Select(i => i.ToString("D3")).ToList();
|
||||||
|
var rtOptions = rwOptions;
|
||||||
|
|
||||||
|
var jenisPetugasOptions = new[]
|
||||||
|
{
|
||||||
|
"Petugas Harian Lepas",
|
||||||
|
"DLH",
|
||||||
|
"Swadaya Warga",
|
||||||
|
"Kader Lingkungan"
|
||||||
|
};
|
||||||
|
|
||||||
|
var tpsOptions = new[]
|
||||||
|
{
|
||||||
|
"TPS Jakarta Timur",
|
||||||
|
"TPS Cililitan",
|
||||||
|
"TPS Duren Sawit",
|
||||||
|
"TPS Kampung Melayu",
|
||||||
|
"TPS Pondok Bambu"
|
||||||
|
};
|
||||||
|
|
||||||
|
var jadwalSet = new HashSet<string>(Model?.Jadwal ?? new List<string>());
|
||||||
|
var hariOptions = new[] { "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu", "Minggu" };
|
||||||
|
}
|
||||||
|
|
||||||
|
<!-- Breadcrumb -->
|
||||||
|
<div class="breadcrumbs text-sm">
|
||||||
|
<ul>
|
||||||
|
<li class="text-gray-500"><a>Profil RW</a></li>
|
||||||
|
<li><a>Edit Alat Pengumpul Sampah</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Header -->
|
||||||
|
<div class="grid grid-cols-1 gap-4 lg:grid-cols-2">
|
||||||
|
<div class="prose">
|
||||||
|
<h3 class="mb-2">Edit Alat Pengumpul Sampah</h3>
|
||||||
|
<p class="text-sm text-gray-500">
|
||||||
|
Perbarui data alat pengumpul sampah untuk wilayah @Model?.Kelurahan (RW @Model?.Rw / RT @Model?.Rt).
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="flex flex-wrap items-center justify-end gap-3">
|
||||||
|
<a href="@Url.Action("Index", "ProfilRw")" class="btn rounded-full shadow-none">
|
||||||
|
<span class="icon icon-fill me-2">arrow_back</span>
|
||||||
|
Kembali
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="h-8"></div>
|
||||||
|
|
||||||
|
<div class="card bg-white card-border">
|
||||||
|
<form action="" method="post">
|
||||||
|
<input type="hidden" name="id" value="@Model?.Id" />
|
||||||
|
<div class="card-body">
|
||||||
|
<span class="font-medium text-xl">
|
||||||
|
Wilayah
|
||||||
|
</span>
|
||||||
|
<div class="grid grid-cols-1 md:grid-cols-3 md:gap-4 w-full">
|
||||||
|
|
||||||
|
<fieldset class="fieldset">
|
||||||
|
<legend class="fieldset-legend">Kelurahan</legend>
|
||||||
|
<select class="select w-full">
|
||||||
|
<option disabled value="">Pilih Kelurahan</option>
|
||||||
|
@foreach (var kelurahan in kelurahanOptions)
|
||||||
|
{
|
||||||
|
<option value="@kelurahan" selected="@(kelurahan == Model?.Kelurahan ? "selected" : null)">@kelurahan</option>
|
||||||
|
}
|
||||||
|
</select>
|
||||||
|
</fieldset>
|
||||||
|
|
||||||
|
<fieldset class="fieldset">
|
||||||
|
<legend class="fieldset-legend">RW</legend>
|
||||||
|
<select class="select w-full">
|
||||||
|
<option disabled value="">Pilih RW</option>
|
||||||
|
@foreach (var rw in rwOptions)
|
||||||
|
{
|
||||||
|
<option value="@rw" selected="@(rw == Model?.Rw ? "selected" : null)">@rw</option>
|
||||||
|
}
|
||||||
|
</select>
|
||||||
|
</fieldset>
|
||||||
|
|
||||||
|
<fieldset class="fieldset">
|
||||||
|
<legend class="fieldset-legend">RT</legend>
|
||||||
|
<select class="select w-full">
|
||||||
|
<option disabled value="">Pilih RT</option>
|
||||||
|
@foreach (var rt in rtOptions)
|
||||||
|
{
|
||||||
|
<option value="@rt" selected="@(rt == Model?.Rt ? "selected" : null)">@rt</option>
|
||||||
|
}
|
||||||
|
</select>
|
||||||
|
</fieldset>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="divider"></div>
|
||||||
|
|
||||||
|
<span class="font-medium text-xl">
|
||||||
|
Data Alat Pengumpul Sampah
|
||||||
|
</span>
|
||||||
|
<div class="grid grid-cols-1 md:grid-cols-4 md:gap-4 w-full">
|
||||||
|
|
||||||
|
<fieldset class="fieldset">
|
||||||
|
<legend class="fieldset-legend">Gerobak Dorong</legend>
|
||||||
|
<input type="number" class="input w-full" min="0" value="@Model?.GerobakDorong" />
|
||||||
|
</fieldset>
|
||||||
|
|
||||||
|
<fieldset class="fieldset">
|
||||||
|
<legend class="fieldset-legend">Gerobak Motor</legend>
|
||||||
|
<input type="number" class="input w-full" min="0" value="@Model?.GerobakMotor" />
|
||||||
|
</fieldset>
|
||||||
|
|
||||||
|
<fieldset class="fieldset">
|
||||||
|
<legend class="fieldset-legend">Mobil Pickup</legend>
|
||||||
|
<input type="number" class="input w-full" min="0" value="@Model?.MobilPickup" />
|
||||||
|
</fieldset>
|
||||||
|
|
||||||
|
<fieldset class="fieldset">
|
||||||
|
<legend class="fieldset-legend">Truk</legend>
|
||||||
|
<input type="number" class="input w-full" min="0" value="@Model?.Truk" />
|
||||||
|
</fieldset>
|
||||||
|
|
||||||
|
<fieldset class="fieldset">
|
||||||
|
<legend class="fieldset-legend">Dustbin</legend>
|
||||||
|
<input type="number" class="input w-full" min="0" value="@Model?.Dustbin" />
|
||||||
|
</fieldset>
|
||||||
|
|
||||||
|
<fieldset class="fieldset">
|
||||||
|
<legend class="fieldset-legend">Container</legend>
|
||||||
|
<input type="number" class="input w-full" min="0" value="@Model?.Container" />
|
||||||
|
</fieldset>
|
||||||
|
|
||||||
|
<fieldset class="fieldset">
|
||||||
|
<legend class="fieldset-legend">Landasan</legend>
|
||||||
|
<input type="number" class="input w-full" min="0" value="@Model?.Landasan" />
|
||||||
|
</fieldset>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="divider"></div>
|
||||||
|
|
||||||
|
<span class="font-medium text-xl">
|
||||||
|
Data petugas Pengumpul
|
||||||
|
</span>
|
||||||
|
<div class="grid grid-cols-1 md:grid-cols-2 md:gap-4 w-full">
|
||||||
|
|
||||||
|
<fieldset class="fieldset">
|
||||||
|
<legend class="fieldset-legend">Jenis Petugas</legend>
|
||||||
|
<select class="select w-full">
|
||||||
|
<option disabled value="">Pilih Jenis Petugas</option>
|
||||||
|
@foreach (var jenis in jenisPetugasOptions)
|
||||||
|
{
|
||||||
|
<option value="@jenis" selected="@(jenis == Model?.JenisPetugas ? "selected" : null)">@jenis</option>
|
||||||
|
}
|
||||||
|
</select>
|
||||||
|
</fieldset>
|
||||||
|
|
||||||
|
<fieldset class="fieldset">
|
||||||
|
<legend class="fieldset-legend">Nama Petugas</legend>
|
||||||
|
<input type="text" class="input w-full" placeholder="Nama Petugas" value="@Model?.NamaPetugas" />
|
||||||
|
</fieldset>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="divider"></div>
|
||||||
|
|
||||||
|
<span class="font-medium text-xl">
|
||||||
|
Jadwal Pengumpulan
|
||||||
|
</span>
|
||||||
|
<div class="grid grid-cols-1 md:grid-cols-7 gap-4 w-full">
|
||||||
|
@foreach (var day in hariOptions)
|
||||||
|
{
|
||||||
|
<fieldset class="fieldset bg-base-100 border-base-300 rounded-box border p-4">
|
||||||
|
<label class="label font-medium text-black text-md">
|
||||||
|
<input type="checkbox"
|
||||||
|
class="checkbox checkbox-primary"
|
||||||
|
value="@day"
|
||||||
|
checked="@(jadwalSet.Contains(day) ? "checked" : null)" />
|
||||||
|
@day
|
||||||
|
</label>
|
||||||
|
</fieldset>
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="divider"></div>
|
||||||
|
|
||||||
|
<span class="font-medium text-xl">
|
||||||
|
TPS Tujuan
|
||||||
|
</span>
|
||||||
|
<div class="grid grid-cols-1 w-full">
|
||||||
|
|
||||||
|
<fieldset class="fieldset">
|
||||||
|
<legend class="fieldset-legend">TPS</legend>
|
||||||
|
<select class="select w-full">
|
||||||
|
<option disabled value="">Pilih TPS</option>
|
||||||
|
@foreach (var tps in tpsOptions)
|
||||||
|
{
|
||||||
|
<option value="@tps" selected="@(tps == Model?.TpsTujuan ? "selected" : null)">@tps</option>
|
||||||
|
}
|
||||||
|
</select>
|
||||||
|
</fieldset>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="divider"></div>
|
||||||
|
|
||||||
|
<div class="card-actions justify-end mt-4">
|
||||||
|
<a href="@Url.Action("Index", "ProfilRw")" class="btn">
|
||||||
|
<span class="icon me-2">cancel</span>
|
||||||
|
Batal
|
||||||
|
</a>
|
||||||
|
<button type="submit" class="btn btn-primary">
|
||||||
|
<span class="icon me-2">save</span>
|
||||||
|
Simpan Perubahan
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
|
@ -54,6 +54,12 @@
|
||||||
<div class="tab-content bg-base-100 border-base-300 p-0">
|
<div class="tab-content bg-base-100 border-base-300 p-0">
|
||||||
@await Html.PartialAsync("_TabIndexLokasi")
|
@await Html.PartialAsync("_TabIndexLokasi")
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<input type="radio" name="tab_profil_rw" class="tab checked:text-white [--tab-bg:green]"
|
||||||
|
aria-label="Alat Pengumpul Sampah" />
|
||||||
|
<div class="tab-content bg-base-100 border-base-300 p-0">
|
||||||
|
@await Html.PartialAsync("_TabIndexAlatPengumpulSampah")
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -204,6 +210,47 @@
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Datatable Alat Pengumpul Sampah
|
||||||
|
var tableSuratUsulan = new DataTable('#tableAlatPengumpulSampah', {
|
||||||
|
ajax: '@Url.Action("TableAlatPengumpulSampah", "ProfilRw")',
|
||||||
|
autoWidth: false,
|
||||||
|
columns: [
|
||||||
|
{ data: null, render: (d, t, r, m) => m.row + 1, orderable: false, searchable: false },
|
||||||
|
{ data: 'wilayah' },
|
||||||
|
{ data: 'alat_pengumpul', className: "text-wrap" },
|
||||||
|
{ data: 'petugas' },
|
||||||
|
{ data: 'jadwal', className: "text-wrap" },
|
||||||
|
{ data: 'tps_tujuan' },
|
||||||
|
{
|
||||||
|
data: 'aksi',
|
||||||
|
orderable: false,
|
||||||
|
searchable: false
|
||||||
|
},
|
||||||
|
]
|
||||||
|
});
|
||||||
|
|
||||||
|
tableSuratUsulan.on('click', '.btn-delete', function () {
|
||||||
|
const id = $(this).data('id');
|
||||||
|
|
||||||
|
Swal.fire({
|
||||||
|
title: 'Apakah Anda yakin?',
|
||||||
|
text: "Data yang dihapus tidak dapat dikembalikan!",
|
||||||
|
icon: 'warning',
|
||||||
|
showCancelButton: true,
|
||||||
|
confirmButtonColor: '#ef4444',
|
||||||
|
cancelButtonColor: '#6b7280',
|
||||||
|
confirmButtonText: 'Hapus',
|
||||||
|
cancelButtonText: 'Batal'
|
||||||
|
}).then((result) => {
|
||||||
|
Swal.fire(
|
||||||
|
'Terhapus!',
|
||||||
|
'Data berhasil dihapus.',
|
||||||
|
'success'
|
||||||
|
);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,23 @@
|
||||||
|
<div class="flex w-full flex-col items-end p-4">
|
||||||
|
<a href="@Url.Action("CreateAlatPengumpulSampah", "ProfilRw")" class="btn btn-primary w-32 rounded-full text-white">
|
||||||
|
<span class="icon icon-fill me-2">add</span>
|
||||||
|
Tambah
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="overflow-x-auto">
|
||||||
|
<table class="table-zebra table w-full text-sm" id="tableAlatPengumpulSampah">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th class="w-[5%]">No</th>
|
||||||
|
<th class="w-[15%]">Wilayah</th>
|
||||||
|
<th class="w-[30%]">Alat Pengumpul</th>
|
||||||
|
<th class="w-[10%]">Petugas</th>
|
||||||
|
<th class="w-[15%]">Jadwal</th>
|
||||||
|
<th class="w-[10%]">TPS Tujuan</th>
|
||||||
|
<th class="w-[15%]">Aksi</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody></tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
Loading…
Reference in New Issue