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
|
||||
{
|
||||
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()
|
||||
{
|
||||
return View();
|
||||
|
|
@ -424,5 +521,103 @@ namespace BpsRwApp.Controllers
|
|||
{
|
||||
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">
|
||||
@await Html.PartialAsync("_TabIndexLokasi")
|
||||
</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>
|
||||
|
||||
|
||||
|
|
@ -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>
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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