Merge pull request 'amalia/23-des-25' (#94) from amalia/23-des-25 into main

Reviewed-on: http://wibugit.wibudev.com/wibu/jenna-mcp/pulls/94
This commit is contained in:
2025-12-23 17:51:17 +08:00
19 changed files with 603 additions and 205 deletions

310
bak/listPermission.json.txt Normal file
View File

@@ -0,0 +1,310 @@
{
"menus": [
{
"key": "dashboard",
"label": "Dashboard",
"default": true,
"children": [
{
"key": "dashboard.view",
"label": "Melihat Dashboard",
"default": true
}
]
},
{
"key": "pengaduan",
"label": "Pengaduan",
"default": true,
"children": [
{
"key": "pengaduan.view",
"label": "Melihat List & Detail",
"default": true
},
{
"key": "pengaduan.antrian",
"label": "Detail pengaduan dengan status antrian",
"default": true,
"children": [
{
"key": "pengaduan.antrian.tolak",
"label": "Menolak pengaduan",
"default": true
},
{
"key": "pengaduan.antrian.terima",
"label": "Menerima pengaduan",
"default": true
}
]
},
{
"key": "pengaduan.diterima",
"label": "Detail pengaduan dengan status diterima",
"default": true,
"children": [
{
"key": "pengaduan.diterima.dikerjakan",
"label": "Menegerjakan pengaduan",
"default": true
}
]
},
{
"key": "pengaduan.dikerjakan",
"label": "Detail pengaduan dengan status dikerjakan",
"default": true,
"children": [
{
"key": "pengaduan.dikerjakan.selesai",
"label": "Menyelesaikan pengaduan",
"default": true
}
]
}
]
},
{
"key": "pelayanan",
"label": "Pelayanan",
"default": true,
"children": [
{
"key": "pelayanan.view",
"label": "Melihat List & Detail",
"default": true
},
{
"key": "pelayanan.antrian",
"label": "Detail pelayanan dengan status antrian",
"default": true,
"children": [
{
"key": "pelayanan.antrian.tolak",
"label": "Menolak pelayanan",
"default": true
},
{
"key": "pelayanan.antrian.terima",
"label": "Menerima pelayanan",
"default": true
}
]
},
{
"key": "pelayanan.diterima",
"label": "Detail pelayanan dengan status diterima",
"default": true,
"children": [
{
"key": "pelayanan.diterima.tolak",
"label": "Menolak pelayanan",
"default": true
},
{
"key": "pelayanan.diterima.setujui",
"label": "Menyetujui pelayanan",
"default": true
}
]
}
]
},
{
"key": "warga",
"label": "Warga",
"default": true,
"children": [
{
"key": "warga.view",
"label": "Melihat List & Detail",
"default": true
}
]
},
{
"key": "setting",
"label": "Setting",
"default": true,
"children": [
{
"key": "setting.profile",
"label": "Profile",
"default": true,
"children": [
{
"key": "setting.profile.view",
"label": "View",
"default": true
},
{
"key": "setting.profile.edit",
"label": "Edit",
"default": true
},
{
"key": "setting.profile.password",
"label": "Ubah Password",
"default": true
}
]
},
{
"key": "setting.user",
"label": "User",
"default": true,
"children": [
{
"key": "setting.user.view",
"label": "View List",
"default": true
},
{
"key": "setting.user.tambah",
"label": "Tambah",
"default": true
},
{
"key": "setting.user.edit",
"label": "Edit",
"default": true
},
{
"key": "setting.user.delete",
"label": "Delete",
"default": true
}
]
},
{
"key": "setting.user_role",
"label": "User Role",
"default": true,
"children": [
{
"key": "setting.user_role.view",
"label": "View List",
"default": true
},
{
"key": "setting.user_role.tambah",
"label": "Tambah",
"default": true
},
{
"key": "setting.user_role.edit",
"label": "Edit",
"default": true
},
{
"key": "setting.user_role.delete",
"label": "Delete",
"default": true
}
]
},
{
"key": "setting.kategori_pengaduan",
"label": "Kategori Pengaduan",
"default": true,
"children": [
{
"key": "setting.kategori_pengaduan.view",
"label": "View List",
"default": true
},
{
"key": "setting.kategori_pengaduan.tambah",
"label": "Tambah",
"default": true
},
{
"key": "setting.kategori_pengaduan.edit",
"label": "Edit",
"default": true
},
{
"key": "setting.kategori_pengaduan.delete",
"label": "Delete",
"default": true
}
]
},
{
"key": "setting.kategori_pelayanan",
"label": "Kategori Pelayanan Surat",
"default": true,
"children": [
{
"key": "setting.kategori_pelayanan.view",
"label": "View List",
"default": true
},
{
"key": "setting.kategori_pelayanan.detail",
"label": "View Detail",
"default": true
},
{
"key": "setting.kategori_pelayanan.tambah",
"label": "Tambah",
"default": true
},
{
"key": "setting.kategori_pelayanan.edit",
"label": "Edit",
"default": true
},
{
"key": "setting.kategori_pelayanan.delete",
"label": "Delete",
"default": true
}
]
},
{
"key": "setting.desa",
"label": "Desa",
"default": true,
"children": [
{
"key": "setting.desa.view",
"label": "View List",
"default": true
},
{
"key": "setting.desa.edit",
"label": "Edit",
"default": true
}
]
}
]
},
{
"key": "api_key",
"label": "API Key",
"default": true,
"children": [
{
"key": "api_key.view",
"label": "View List",
"default": true
}
]
},
{
"key": "credential",
"label": "Credential",
"default": true,
"children": [
{
"key": "credential.view",
"label": "View List",
"default": true
}
]
}
]
}

View File

@@ -216,7 +216,7 @@ export default function KategoriPelayananSurat({
return (
<>
{/* Modal Edit */}
<Modal
{/* <Modal
opened={opened}
onClose={close}
title={"Edit"}
@@ -232,15 +232,85 @@ export default function KategoriPelayananSurat({
}
/>
</Input.Wrapper>
{/* <TagsInput
label="Data Pelengkap"
placeholder="Tambah data pelengkap"
splitChars={[","]}
value={dataChoose.dataPelengkap}
onChange={(value) =>
setDataChoose({ ...dataChoose, dataPelengkap: value })
}
/> */}
<Flex direction={"column"} gap={"md"}>
<Group>
<Text size="sm" c={"white"}>
Data Pelengkap
</Text>
<Tooltip label="Tambah Data Pelengkap">
<ActionIcon
variant="light"
size="sm"
color="blue"
style={{ boxShadow: "0 0 8px rgba(0,255,200,0.2)" }}
onClick={handleAddSyarat}
>
<IconPlus size={20} />
</ActionIcon>
</Tooltip>
</Group>
{dataChoose?.dataPelengkap?.map((v: any, i: number) => (
<Grid
key={i}
style={{
borderBottom: "1px solid gray",
paddingBottom: "10px",
}}
>
<Grid.Col
span={1}
style={{
display: "flex",
alignItems: "center",
justifyContent: "center",
}}
>
<Tooltip label="Delete Syarat Dokumen">
<ActionIcon
variant="light"
size="sm"
color="red"
style={{ boxShadow: "0 0 8px rgba(0,255,200,0.2)" }}
onClick={() => {
handleDeleteSyarat(i);
}}
>
<IconTrash size={20} />
</ActionIcon>
</Tooltip>
</Grid.Col>
<Grid.Col span={5}>
<Input.Wrapper label="Label">
<Input
value={v.name}
onChange={(e) =>
handleEditSyarat(i, {
key: v.key,
name: e.target.value,
desc: v.desc,
})
}
/>
</Input.Wrapper>
</Grid.Col>
<Grid.Col span={6}>
<Input.Wrapper label="Deskripsi">
<Input
value={v.desc}
onChange={(e) =>
handleEditSyarat(i, {
key: v.key,
name: v.name,
desc: e.target.value,
})
}
/>
</Input.Wrapper>
</Grid.Col>
</Grid>
))}
</Flex>
<Flex direction={"column"} gap={"md"}>
<Group>
<Text size="sm" c={"white"}>
@@ -289,7 +359,7 @@ export default function KategoriPelayananSurat({
</Tooltip>
</Grid.Col>
<Grid.Col span={5}>
<Input.Wrapper label="Nama">
<Input.Wrapper label="Label">
<Input
value={v.name}
onChange={(e) =>
@@ -329,10 +399,10 @@ export default function KategoriPelayananSurat({
</Button>
</Group>
</Stack>
</Modal>
</Modal> */}
{/* Modal Tambah */}
<Modal
{/* <Modal
opened={openedTambah}
onClose={closeTambah}
title={"Tambah"}
@@ -348,15 +418,6 @@ export default function KategoriPelayananSurat({
}
/>
</Input.Wrapper>
{/* <TagsInput
label="Data Pelengkap"
placeholder="Tambah data pelengkap"
splitChars={[","]}
value={dataTambah.dataText}
onChange={(value) =>
setDataTambah({ ...dataTambah, dataText: value })
}
/> */}
<Flex direction={"column"} gap={"md"}>
<Group>
<Text size="sm" c={"white"}>
@@ -466,7 +527,7 @@ export default function KategoriPelayananSurat({
</Button>
</Group>
</Stack>
</Modal>
</Modal> */}
{/* Modal Delete */}
<Modal
@@ -539,7 +600,7 @@ export default function KategoriPelayananSurat({
<Title order={4} c="gray.2">
Kategori Pelayanan Surat
</Title>
{permissions.includes("setting.kategori_pelayanan.tambah") && (
{/* {permissions.includes("setting.kategori_pelayanan.tambah") && (
<Tooltip label="Tambah Kategori Pelayanan Surat">
<Button
variant="light"
@@ -549,7 +610,7 @@ export default function KategoriPelayananSurat({
Tambah
</Button>
</Tooltip>
)}
)} */}
</Flex>
<Divider my={0} />
<Stack gap={"md"}>
@@ -580,7 +641,7 @@ export default function KategoriPelayananSurat({
<IconEye size={20} />
</ActionIcon>
</Tooltip>
<Tooltip
{/* <Tooltip
label={
permissions.includes(
"setting.kategori_pelayanan.edit",
@@ -605,7 +666,7 @@ export default function KategoriPelayananSurat({
>
<IconEdit size={20} />
</ActionIcon>
</Tooltip>
</Tooltip> */}
<Tooltip
label={
permissions.includes(

View File

@@ -7,7 +7,7 @@ export default function SKBedaBiodataDiri({ data }: { data: any }) {
const getValue = (jenis: string) =>
_.upperFirst(
data.surat.dataText.find((item: any) => item.jenis === jenis)?.value ||
"",
"",
);
const loadImage = async () => {
@@ -108,12 +108,12 @@ export default function SKBedaBiodataDiri({ data }: { data: any }) {
<tr>
<td>Tempat/Tanggal Lahir</td>
<td>:</td>
<td>{getValue("tempat tanggal lahir")}</td>
<td>{`${getValue("tempat_lahir")}, ${getValue("tanggal_lahir")}`}</td>
</tr>
<tr>
<td>Jenis Kelamin</td>
<td>:</td>
<td>{getValue("jenis kelamin")}</td>
<td>{getValue("jenis_kelamin")}</td>
</tr>
<tr>
<td>Alamat</td>
@@ -144,36 +144,38 @@ export default function SKBedaBiodataDiri({ data }: { data: any }) {
<table style={{ width: "100%", marginTop: "5px" }}>
<tbody>
<tr>
<td style={{ width: "160px" }}>1. Nama</td>
<td style={{ width: "10px" }}>:</td>
<td>{getValue("nama")}</td>
<td style={{ width: "160px" }}>1. {getValue("data_dokumen")}</td>
<td style={{ width: "10px" }}></td>
<td>
{/* {getValue("nama")} */}
</td>
</tr>
<tr>
<td>Tertulis pada dokumen A</td>
<td>:</td>
<td>{getValue("tertulis pada dokumen a")}</td>
<td>{getValue("dokumen_a")}</td>
</tr>
<tr>
<td>Tertulis pada dokumen B</td>
<td>:</td>
<td>{getValue("tertulis pada dokumen b")}</td>
<td>{getValue("dokumen_b")}</td>
</tr>
</tbody>
</table>
</div>
<div style={{ marginTop: "15px" }}>
{/* <div style={{ marginTop: "15px" }}>
<table style={{ width: "100%", marginTop: "5px" }}>
<tbody>
<tr>
<td style={{ width: "160px" }}>2. Tempat/Tanggal Lahir</td>
<td style={{ width: "10px" }}>:</td>
<td>{getValue("tempat tanggal lahir")}</td>
<td>{getValue("tempat_lahir")}</td>
</tr>
<tr>
<td>Tertulis pada dokumen A</td>
<td>:</td>
<td>{getValue("tertulis pada dokumen a")}</td>
<td>{getValue("dokumen_a")}</td>
</tr>
<tr>
<td>Tertulis pada dokumen B</td>
@@ -204,7 +206,7 @@ export default function SKBedaBiodataDiri({ data }: { data: any }) {
</tr>
</tbody>
</table>
</div>
</div> */}
<div style={{ marginTop: "15px" }}>
Perbedaan tersebut terjadi karena{" "}

View File

@@ -7,7 +7,7 @@ export default function SKBelumKawin({ data }: { data: any }) {
const getValue = (jenis: string) =>
_.upperFirst(
data.surat.dataText.find((item: any) => item.jenis === jenis)?.value ||
"",
"",
);
const loadImage = async () => {
@@ -87,12 +87,12 @@ export default function SKBelumKawin({ data }: { data: any }) {
<tr>
<td>Tempat/Tanggal Lahir</td>
<td>:</td>
<td>{getValue("tempat tanggal lahir")}</td>
<td>{`${getValue("tempat_lahir")}, ${getValue("tanggal_lahir")}`}</td>
</tr>
<tr>
<td>Jenis Kelamin</td>
<td>:</td>
<td>{getValue("jenis kelamin")}</td>
<td>{getValue("jenis_kelamin")}</td>
</tr>
<tr>
<td>Agama</td>

View File

@@ -95,27 +95,27 @@ export default function SKDomisiliOrganisasi({ data }: { data: any }) {
<tr>
<td style={{ width: "160px" }}>Nama Organisasi</td>
<td style={{ width: "10px" }}>:</td>
<td>{getValue("nama")}</td>
<td>{getValue("nama_organisasi")}</td>
</tr>
<tr>
<td>Jenis Organisasi</td>
<td>:</td>
<td>{getValue("jenis kelamin")}</td>
<td>{getValue("jenis_organisasi")}</td>
</tr>
<tr>
<td>Alamat</td>
<td>:</td>
<td>{getValue("tempat tanggal lahir")}</td>
<td>{getValue("alamat_organisasi")}</td>
</tr>
<tr>
<td>Nomor Telepon</td>
<td>:</td>
<td>{getValue("negara")}</td>
<td>{getValue("no_telepon")}</td>
</tr>
<tr>
<td>Nama Pimpinan</td>
<td>:</td>
<td>{getValue("agama")}</td>
<td>{getValue("nama_pimpinan")}</td>
</tr>
</tbody>
</table>

View File

@@ -78,32 +78,32 @@ export default function SKKelahiran({ data }: { data: any }) {
<tr>
<td style={{ width: "200px" }}>Tanggal Lahir</td>
<td>:</td>
<td>{getValue("tanggal lahir anak")}</td>
<td>{getValue("tanggal_lahir_anak")}</td>
</tr>
<tr>
<td>Pukul</td>
<td>:</td>
<td>{getValue("pukul lahir anak")}</td>
<td>{getValue("pukul_lahir")}</td>
</tr>
<tr>
<td>Tempat Kelahiran</td>
<td>:</td>
<td>{getValue("tempat lahir anak")}</td>
<td>{getValue("tempat_lahir")}</td>
</tr>
<tr>
<td>Jenis Kelamin</td>
<td>:</td>
<td>{getValue("jenis kelamin anak")}</td>
<td>{getValue("jenis_kelamin")}</td>
</tr>
<tr>
<td>Anak ke</td>
<td>:</td>
<td>{getValue("anak ke")}</td>
<td>{getValue("anak_ke")}</td>
</tr>
<tr>
<td>Nama Anak</td>
<td>:</td>
<td>{getValue("nama anak")}</td>
<td>{getValue("nama_anak")}</td>
</tr>
</tbody>
</table>
@@ -117,27 +117,27 @@ export default function SKKelahiran({ data }: { data: any }) {
<tr>
<td style={{ width: "200px" }}>Nama Lengkap Ibu</td>
<td>:</td>
<td>{getValue("nama ibu")}</td>
<td>{getValue("nama_ibu")}</td>
</tr>
<tr>
<td>NIK</td>
<td>:</td>
<td>{getValue("nik ibu")}</td>
<td>{getValue("nik_ibu")}</td>
</tr>
<tr>
<td>Tempat & Tanggal Lahir</td>
<td>:</td>
<td>{getValue("tempat tanggal lahir ibu")}</td>
<td>{`${getValue("tempat_lahir_ibu")}, ${getValue("tanggal_lahir_ibu")}`}</td>
</tr>
<tr>
<td>Pekerjaan</td>
<td>:</td>
<td>{getValue("pekerjaan ibu")}</td>
<td>{getValue("pekerjaan_ibu")}</td>
</tr>
<tr>
<td>Alamat</td>
<td>:</td>
<td>{getValue("alamat ibu")}</td>
<td>{getValue("alamat_ibu")}</td>
</tr>
</tbody>
</table>
@@ -151,27 +151,27 @@ export default function SKKelahiran({ data }: { data: any }) {
<tr>
<td style={{ width: "200px" }}>Nama Lengkap Ayah</td>
<td>:</td>
<td>{getValue("nama ayah")}</td>
<td>{getValue("nama_ayah")}</td>
</tr>
<tr>
<td>NIK</td>
<td>:</td>
<td>{getValue("nik ayah")}</td>
<td>{getValue("nik_ayah")}</td>
</tr>
<tr>
<td>Tempat & Tanggal Lahir</td>
<td>:</td>
<td>{getValue("tempat tanggal lahir ayah")}</td>
<td>{`${getValue("tempat_lahir_ayah")}, ${"tanggal_lahir_ayah"}`}</td>
</tr>
<tr>
<td>Pekerjaan</td>
<td>:</td>
<td>{getValue("pekerjaan ayah")}</td>
<td>{getValue("pekerjaan_ayah")}</td>
</tr>
<tr>
<td>Alamat</td>
<td>:</td>
<td>{getValue("alamat ayah")}</td>
<td>{getValue("alamat_ayah")}</td>
</tr>
</tbody>
</table>
@@ -185,17 +185,17 @@ export default function SKKelahiran({ data }: { data: any }) {
<tr>
<td style={{ width: "200px" }}>Nama Pelapor</td>
<td>:</td>
<td>{getValue("nama pelapor")}</td>
<td>{getValue("nama_pelapor")}</td>
</tr>
<tr>
<td>Hubungan dengan Anak</td>
<td>:</td>
<td>{getValue("hubungan pelapor")}</td>
<td>{getValue("hubungan_pelapor")}</td>
</tr>
<tr>
<td>Alamat</td>
<td>:</td>
<td>{getValue("alamat pelapor")}</td>
<td>{getValue("alamat_pelapor")}</td>
</tr>
</tbody>
</table>

View File

@@ -71,12 +71,12 @@ export default function SKKelakuanBaik({ data }: { data: any }) {
<tr>
<td>Tempat/Tgl Lahir</td>
<td>:</td>
<td>{getValue("tempat tanggal lahir")}</td>
<td>{`${getValue("tempat_lahir")}, ${getValue("tanggal_lahir")}`}</td>
</tr>
<tr>
<td>Jenis Kelamin</td>
<td>:</td>
<td>{getValue("jenis kelamin")}</td>
<td>{getValue("jenis_kelamin")}</td>
</tr>
<tr>
<td>Agama</td>

View File

@@ -7,7 +7,7 @@ export default function SKKematian({ data }: { data: any }) {
const getValue = (jenis: string) =>
_.upperFirst(
data.surat.dataText.find((item: any) => item.jenis === jenis)?.value ||
"",
"",
);
const loadImage = async () => {
@@ -71,27 +71,27 @@ export default function SKKematian({ data }: { data: any }) {
<tr>
<td style={{ width: "160px" }}>Nama</td>
<td style={{ width: "10px" }}>:</td>
<td>{getValue("nama")}</td>
<td>{getValue("nama_pelapor")}</td>
</tr>
<tr>
<td>NIK</td>
<td>:</td>
<td>{getValue("nik")}</td>
<td>{getValue("nik_pelapor")}</td>
</tr>
<tr>
<td>Pekerjaan</td>
<td>:</td>
<td>{getValue("pekerjaan")}</td>
<td>{getValue("pekerjaan_pelapor")}</td>
</tr>
<tr>
<td>Alamat</td>
<td>:</td>
<td>{getValue("alamat")}</td>
<td>{getValue("alamat_pelapor")}</td>
</tr>
<tr>
<td>Hubungan dengan almarhum/almarhumah</td>
<td>:</td>
<td>{getValue("hubungan dengan almarhum")}</td>
<td>{getValue("hubungan_pelapor")}</td>
</tr>
</tbody>
</table>
@@ -104,32 +104,32 @@ export default function SKKematian({ data }: { data: any }) {
<tr>
<td style={{ width: "160px" }}>Nama</td>
<td style={{ width: "10px" }}>:</td>
<td>{getValue("nama")}</td>
<td>{getValue("nama_almarhum")}</td>
</tr>
<tr>
<td>NIK</td>
<td>:</td>
<td>{getValue("nik")}</td>
<td>{getValue("nik_almarhum")}</td>
</tr>
<tr>
<td>Jenis Kelamin</td>
<td>:</td>
<td>{getValue("jenis kelamin")}</td>
<td>{getValue("jenis_kelamin_almarhum")}</td>
</tr>
<tr>
<td>Tempat/Tanggal Lahir</td>
<td>:</td>
<td>{getValue("tempat tanggal lahir")}</td>
<td>{`${getValue("tempat_lahir_almarhum")}, ${getValue("tanggal_lahir_almarhum")}`}</td>
</tr>
<tr>
<td>Agama</td>
<td>:</td>
<td>{getValue("agama")}</td>
<td>{getValue("agama_almarhum")}</td>
</tr>
<tr>
<td>Alamat</td>
<td>:</td>
<td>{getValue("alamat")}</td>
<td>{getValue("alamat_almarhum")}</td>
</tr>
</tbody>
</table>
@@ -142,22 +142,22 @@ export default function SKKematian({ data }: { data: any }) {
<tr>
<td style={{ width: "160px" }}>Tanggal Kematian</td>
<td style={{ width: "10px" }}>:</td>
<td>{getValue("tanggal kematian")}</td>
<td>{getValue("tanggal_kematian")}</td>
</tr>
<tr>
<td>Waktu Kematian</td>
<td>:</td>
<td>{getValue("waktu kematian")}</td>
<td>{getValue("waktu_kematian")}</td>
</tr>
<tr>
<td>Tempat Kematian</td>
<td>:</td>
<td>{getValue("tempat kematian")}</td>
<td>{getValue("tempat_kematian")}</td>
</tr>
<tr>
<td>Penyebab Kematian</td>
<td>:</td>
<td>{getValue("penyebab kematian")}</td>
<td>{getValue("penyebab_kematian")}</td>
</tr>
</tbody>
</table>
@@ -185,7 +185,7 @@ export default function SKKematian({ data }: { data: any }) {
<br />
<br />
<br /> <br />
<u>{getValue("nama")}</u> <br />
<u>{getValue("nama_pelapor")}</u> <br />
</div>
<div style={{ textAlign: "center" }}>
<br />

View File

@@ -105,12 +105,12 @@ export default function SKPenghasilan({ data }: { data: any }) {
<tr>
<td>Jenis Kelamin</td>
<td>:</td>
<td>{getValue("jenis kelamin")}</td>
<td>{getValue("jenis_kelamin")}</td>
</tr>
<tr>
<td>Tempat / Tanggal Lahir</td>
<td>:</td>
<td>{getValue("tempat tanggal lahir")}</td>
<td>{`${getValue("tempat_lahir")}, ${getValue("tanggal_lahir")}`}</td>
</tr>
<tr>
<td>Pekerjaan</td>
@@ -136,8 +136,7 @@ export default function SKPenghasilan({ data }: { data: any }) {
<td style={{ width: "160px" }}>Penghasilan</td>
<td style={{ width: "10px" }}>:</td>
<td>
Rp {getValue("penghasilan")} (
{getValue("penghasilan terbilang")}) per bulan
Rp. {getValue("penghasilan")} per bulan
</td>
</tr>
</tbody>
@@ -147,7 +146,7 @@ export default function SKPenghasilan({ data }: { data: any }) {
{/* KEPERLUAN */}
<div style={{ marginTop: "20px" }}>
Surat keterangan ini dibuat untuk keperluan:{" "}
<b>{getValue("alasan permohonan")}</b>.
<b>{getValue("alasan")}</b>.
</div>
<div style={{ marginTop: "20px" }}>

View File

@@ -66,12 +66,12 @@ export default function SKTempatUsaha({ data }: { data: any }) {
{/* DATA WARGA */}
<div>
<Row label="Nama Pemilik Usaha" value={getValue("nama")} />
<Row label="Nama Pemilik Usaha" value={getValue("nama_pemilik")} />
<Row
label="Tempat/Tanggal Lahir"
value={getValue("tempat tanggal lahir")}
value={`${getValue("tempat_lahir")}, ${getValue("tanggal_lahir")}`}
/>
<Row label="Alamat Pemilik Usaha" value={getValue("alamat")} />
<Row label="Alamat Pemilik Usaha" value={getValue("alamat_pemilik")} />
<Row label="Nomor KTP" value={getValue("nik")} />
</div>
@@ -83,23 +83,23 @@ export default function SKTempatUsaha({ data }: { data: any }) {
</div>
<div>
<Row label="Nama Usaha" value={getValue("nama usaha")} />
<Row label="Bidang Usaha" value={getValue("bidang usaha")} />
<Row label="Alamat Usaha" value={getValue("alamat usaha")} />
<Row label="Nama Usaha" value={getValue("nama_usaha")} />
<Row label="Bidang Usaha" value={getValue("bidang_usaha")} />
<Row label="Alamat Usaha" value={getValue("alamat_usaha")} />
<Row
label="Status Tempat Usaha"
value={getValue("status tempat usaha")}
value={getValue("status_tempat")}
/>
<Row
label="Luas Tempat Usaha"
value={getValue("luas tempat usaha")}
value={getValue("luas_usaha")}
/>
<Row label="Jumlah Karyawan" value={getValue("jumlah karyawan")} />
<Row label="Jumlah Karyawan" value={getValue("jumlah_karyawan")} />
</div>
<p style={{ textAlign: "justify" }}>
Surat keterangan ini dibuat untuk keperluan{" "}
<b>{getValue("alasan permohonan")}.</b>
<b>{getValue("tujuan")}.</b>
</p>
<p style={{ textAlign: "justify" }}>

View File

@@ -66,13 +66,13 @@ export default function SKTidakMampu({ data }: { data: any }) {
{/* DATA WARGA */}
<div>
<Row label="NIK" value={getValue("nik")} />
<Row label="Nama" value={getValue("nama")} />
<Row
label="Tempat Tgl Lahir"
value={getValue("tempat tanggal lahir")}
value={`${getValue("tempat_lahir")}, ${getValue("tanggal_lahir")}`}
/>
<Row label="Alamat" value={getValue("alamat")} />
<Row label="NIK" value={getValue("nik")} />
</div>
<br />
@@ -80,7 +80,7 @@ export default function SKTidakMampu({ data }: { data: any }) {
<p style={{ textAlign: "justify" }}>
Orang tersebut benar-benar penduduk desa {data.setting.desaNama} dan
termasuk keluarga tidak mampu. Surat keterangan ini dipergunakan untuk
<b>{getValue("alasan permohonan")}.</b>
<b>{getValue("alasan")}.</b>
</p>
<p style={{ textAlign: "justify" }}>

View File

@@ -7,7 +7,7 @@ export default function SKUsaha({ data }: { data: any }) {
const getValue = (jenis: string) =>
_.upperFirst(
data.surat.dataText.find((item: any) => item.jenis === jenis)?.value ||
"",
"",
);
const loadImage = async () => {
@@ -105,12 +105,12 @@ export default function SKUsaha({ data }: { data: any }) {
<tr>
<td>Jenis Kelamin</td>
<td>:</td>
<td>{getValue("jenis kelamin")}</td>
<td>{getValue("jenis_kelamin")}</td>
</tr>
<tr>
<td>Tempat / Tanggal Lahir</td>
<td>:</td>
<td>{getValue("tempat tanggal lahir")}</td>
<td>{`${getValue("tempat_lahir")}, ${getValue("tanggal_lahir")}`}</td>
</tr>
<tr>
<td>Warga Negara</td>
@@ -125,7 +125,7 @@ export default function SKUsaha({ data }: { data: any }) {
<tr>
<td>Status</td>
<td>:</td>
<td>{getValue("status perkawinan")}</td>
<td>{getValue("status_perkawinan")}</td>
</tr>
<tr>
<td>Pekerjaan</td>
@@ -173,12 +173,12 @@ export default function SKUsaha({ data }: { data: any }) {
<tr>
<td style={{ width: "160px" }}>Jenis Usaha</td>
<td style={{ width: "10px" }}>:</td>
<td>{getValue("jenis usaha")}</td>
<td>{getValue("jenis_usaha")}</td>
</tr>
<tr>
<td>Alamat Usaha</td>
<td>:</td>
<td>{getValue("alamat usaha")}</td>
<td>{getValue("alamat_usaha")}</td>
</tr>
</tbody>
</table>

View File

@@ -88,26 +88,26 @@ export default function SKYatim({ data }: { data: any }) {
<table style={{ width: "100%", marginTop: "5px" }}>
<tbody>
<tr>
<td>NIK</td>
<td>: {getValue("nik")}</td>
</tr>
<tr>
<td style={{ width: "180px" }}>Nama</td>
<td>: {getValue("nama")}</td>
</tr>
<tr>
<td>Tempat/Tanggal Lahir</td>
<td>: {getValue("tempat tanggal lahir")}</td>
<td>: {`${getValue("tempat_lahir")}, ${getValue("tanggal_lahir")}`}</td>
</tr>
<tr>
<td>Jenis Kelamin</td>
<td>: {getValue("jenis kelamin")}</td>
<td>: {getValue("jenis_kelamin")}</td>
</tr>
<tr>
<td>Alamat</td>
<td>: {getValue("alamat")}</td>
</tr>
<tr>
<td>NIK</td>
<td>: {getValue("nik")}</td>
</tr>
<tr>
<td>Pekerjaan</td>
<td>: {getValue("pekerjaan")}</td>
@@ -133,11 +133,11 @@ export default function SKYatim({ data }: { data: any }) {
<tbody>
<tr>
<td style={{ width: "180px" }}>Nama Ayah</td>
<td>: {getValue("nama ayah")}</td>
<td>: {getValue("nama_ayah")}</td>
</tr>
<tr>
<td>Status</td>
<td>: {getValue("status ayah")}</td>
<td>: {getValue("status_ayah")}</td>
</tr>
</tbody>
</table>
@@ -151,11 +151,11 @@ export default function SKYatim({ data }: { data: any }) {
<tbody>
<tr>
<td style={{ width: "180px" }}>Nama Ibu</td>
<td>: {getValue("nama ibu")}</td>
<td>: {getValue("nama_ibu")}</td>
</tr>
<tr>
<td>Status</td>
<td>: {getValue("status ibu")}</td>
<td>: {getValue("status_ibu")}</td>
</tr>
</tbody>
</table>

View File

@@ -23,11 +23,13 @@ export const categoryPelayananSurat = [
dataPelengkap: [
{ key: "nik", name: "NIK", desc: "Nomor Induk Kependudukan" },
{ key: "nama", name: "Nama Lengkap", desc: "Nama sesuai KTP" },
{ key: "ttl", name: "Tempat & Tanggal Lahir", desc: "Tempat dan tanggal lahir pemohon" },
{ key: "tempat_lahir", name: "Tempat Lahir", desc: "Tempat lahir pemohon" },
{ key: "tanggal_lahir", name: "Tanggal Lahir", desc: "Tanggal lahir pemohon" },
{ key: "jenis_kelamin", name: "Jenis Kelamin", desc: "Jenis kelamin pemohon" },
{ key: "alamat", name: "Alamat", desc: "Alamat lengkap tempat tinggal" },
{ key: "pekerjaan", name: "Pekerjaan", desc: "Pekerjaan pemohon" },
{ key: "dokumen", name: "Nama Dokumen", desc: "Jenis dokumen yang mengalami perbedaan biodata" },
{ key: "dokumen", name: "Nama Dokumen", desc: "Jenis dokumen yang mengalami perbedaan biodata (cth : ijazah, sertifikat, dll)" },
{ key: "data_dokumen", name: "Data Dokumen", desc: "Data dokumen yg berbeda (cth : nama, tempat lahir, tanggal lahir, jenis kelamin, alamat, pekerjaan)" },
{ key: "dokumen_a", name: "Data pada Dokumen A", desc: "Data biodata yang tertulis pada dokumen pertama" },
{ key: "dokumen_b", name: "Data pada Dokumen B", desc: "Data biodata yang tertulis pada dokumen kedua" }
]
@@ -56,7 +58,8 @@ export const categoryPelayananSurat = [
dataPelengkap: [
{ key: "nik", name: "NIK", desc: "Nomor Induk Kependudukan" },
{ key: "nama", name: "Nama Lengkap", desc: "Nama sesuai KTP" },
{ key: "ttl", name: "Tempat & Tanggal Lahir", desc: "Tempat dan tanggal lahir" },
{ key: "tempat_lahir", name: "Tempat Lahir", desc: "Tempat lahir pemohon" },
{ key: "tanggal_lahir", name: "Tanggal Lahir", desc: "Tanggal lahir pemohon" },
{ key: "jenis_kelamin", name: "Jenis Kelamin", desc: "Jenis kelamin pemohon" },
{ key: "alamat", name: "Alamat", desc: "Alamat tempat tinggal" },
{ key: "agama", name: "Agama", desc: "Agama pemohon" },
@@ -110,8 +113,6 @@ export const categoryPelayananSurat = [
],
dataText: [],
dataPelengkap: [
{ key: "nama_ayah", name: "Nama Ayah", desc: "Nama lengkap ayah" },
{ key: "nama_ibu", name: "Nama Ibu", desc: "Nama lengkap ibu" },
{ key: "nama_anak", name: "Nama Anak", desc: "Nama bayi/anak" },
{ key: "tanggal_lahir_anak", name: "Tanggal Lahir Anak", desc: "Tanggal lahir anak" },
{ key: "pukul_lahir", name: "Pukul Lahir", desc: "Waktu kelahiran anak" },
@@ -119,7 +120,17 @@ export const categoryPelayananSurat = [
{ key: "jenis_kelamin", name: "Jenis Kelamin Anak", desc: "Jenis kelamin anak" },
{ key: "anak_ke", name: "Anak Ke-", desc: "Urutan kelahiran anak" },
{ key: "nik_ibu", name: "NIK Ibu", desc: "NIK ibu kandung" },
{ key: "nama_ibu", name: "Nama Ibu", desc: "Nama lengkap ibu" },
{ key: "tempat_lahir_ibu", name: "Tempat Lahir Ibu", desc: "Tempat lahir ibu kandung" },
{ key: "tanggal_lahir_ibu", name: "Tanggal Lahir Ibu", desc: "Tanggal lahir ibu kandung" },
{ key: "pekerjaan_ibu", name: "Pekerjaan Ibu", desc: "Pekerjaan ibu kandung" },
{ key: "alamat_ibu", name: "Alamat Ibu", desc: "Alamat ibu kandung" },
{ key: "nama_ayah", name: "Nama Ayah", desc: "Nama lengkap ayah" },
{ key: "nik_ayah", name: "NIK Ayah", desc: "NIK ayah kandung" },
{ key: "tempat_lahir_ayah", name: "Tempat Lahir Ayah", desc: "Tempat lahir ayah kandung" },
{ key: "tanggal_lahir_ayah", name: "Tanggal Lahir Ayah", desc: "Tanggal lahir ayah kandung" },
{ key: "pekerjaan_ayah", name: "Pekerjaan Ayah", desc: "Pekerjaan ayah kandung" },
{ key: "alamat_ayah", name: "Alamat Ayah", desc: "Alamat ayah kandung" },
{ key: "nama_pelapor", name: "Nama Pelapor", desc: "Nama pihak yang melaporkan" },
{ key: "hubungan_pelapor", name: "Hubungan Pelapor", desc: "Hubungan pelapor dengan anak" },
{ key: "alamat_pelapor", name: "Alamat Pelapor", desc: "Alamat pelapor" }
@@ -144,7 +155,8 @@ export const categoryPelayananSurat = [
dataPelengkap: [
{ key: "nik", name: "NIK", desc: "Nomor Induk Kependudukan" },
{ key: "nama", name: "Nama Lengkap", desc: "Nama sesuai KTP" },
{ key: "ttl", name: "Tempat & Tanggal Lahir", desc: "Tempat dan tanggal lahir" },
{ key: "tempat_lahir", name: "Tempat Lahir", desc: "Tempat lahir" },
{ key: "tanggal_lahir", name: "Tanggal Lahir", desc: "Tanggal lahir" },
{ key: "jenis_kelamin", name: "Jenis Kelamin", desc: "Jenis kelamin pemohon" },
{ key: "agama", name: "Agama", desc: "Agama pemohon" },
{ key: "alamat", name: "Alamat", desc: "Alamat tempat tinggal" },
@@ -181,7 +193,8 @@ export const categoryPelayananSurat = [
{ key: "hubungan_pelapor", name: "Hubungan dengan Almarhum", desc: "Hubungan pelapor dengan almarhum" },
{ key: "nama_almarhum", name: "Nama Almarhum", desc: "Nama lengkap almarhum" },
{ key: "nik_almarhum", name: "NIK Almarhum", desc: "Nomor Induk Kependudukan almarhum" },
{ key: "ttl_almarhum", name: "Tempat & Tanggal Lahir Almarhum", desc: "Tempat dan tanggal lahir almarhum" },
{ key: "tempat_lahir_almarhum", name: "Tempat Lahir Almarhum", desc: "Tempat lahir almarhum" },
{ key: "tanggal_lahir_almarhum", name: "Tanggal Lahir Almarhum", desc: "Tanggal lahir almarhum" },
{ key: "alamat_almarhum", name: "Alamat Almarhum", desc: "Alamat terakhir almarhum" },
{ key: "agama_almarhum", name: "Agama Almarhum", desc: "Agama almarhum" },
{ key: "tanggal_kematian", name: "Tanggal Kematian", desc: "Tanggal meninggal dunia" },
@@ -213,7 +226,8 @@ export const categoryPelayananSurat = [
dataText: [],
dataPelengkap: [
{ key: "nama", name: "Nama Lengkap", desc: "Nama pemohon" },
{ key: "ttl", name: "Tempat & Tanggal Lahir", desc: "Tempat dan tanggal lahir" },
{ key: "tempat_lahir", name: "Tempat Lahir", desc: "Tempat lahir" },
{ key: "tanggal_lahir", name: "Tanggal Lahir", desc: "Tanggal lahir" },
{ key: "jenis_kelamin", name: "Jenis Kelamin", desc: "Jenis kelamin pemohon" },
{ key: "alamat", name: "Alamat", desc: "Alamat tempat tinggal" },
{ key: "pekerjaan", name: "Pekerjaan", desc: "Pekerjaan pemohon/orang tua" },
@@ -250,7 +264,8 @@ export const categoryPelayananSurat = [
dataPelengkap: [
{ key: "nik", name: "NIK", desc: "Nomor Induk Kependudukan" },
{ key: "nama_pemilik", name: "Nama Pemilik", desc: "Nama pemilik usaha" },
{ key: "ttl", name: "Tempat & Tanggal Lahir", desc: "Tempat dan tanggal lahir" },
{ key: "tempat_lahir", name: "Tempat Lahir", desc: "Tempat lahir" },
{ key: "tanggal_lahir", name: "Tanggal Lahir", desc: "Tanggal lahir" },
{ key: "alamat_pemilik", name: "Alamat Pemilik", desc: "Alamat pemilik usaha" },
{ key: "nama_usaha", name: "Nama Usaha", desc: "Nama usaha" },
{ key: "bidang_usaha", name: "Bidang Usaha", desc: "Bidang atau jenis usaha" },
@@ -289,9 +304,14 @@ export const categoryPelayananSurat = [
desc: "Nama lengkap pemohon"
},
{
key: "ttl",
name: "Tempat & Tanggal Lahir",
desc: "Tempat dan tanggal lahir pemohon"
key: "tempat_lahir",
name: "Tempat Lahir",
desc: "Tempat lahir pemohon"
},
{
key: "tanggal_lahir",
name: "Tanggal Lahir",
desc: "Tanggal lahir pemohon"
},
{
key: "alamat",
@@ -329,7 +349,8 @@ export const categoryPelayananSurat = [
dataPelengkap: [
{ key: "nama", name: "Nama Lengkap", desc: "Nama pemilik usaha" },
{ key: "jenis_kelamin", name: "Jenis Kelamin", desc: "Jenis kelamin pemilik usaha" },
{ key: "ttl", name: "Tempat & Tanggal Lahir", desc: "Tempat dan tanggal lahir" },
{ key: "tempat_lahir", name: "Tempat Lahir", desc: "Tempat lahir" },
{ key: "tanggal_lahir", name: "Tanggal Lahir", desc: "Tanggal lahir" },
{ key: "negara", name: "Kewarganegaraan", desc: "Kewarganegaraan pemilik usaha" },
{ key: "agama", name: "Agama", desc: "Agama pemilik usaha" },
{ key: "status_perkawinan", name: "Status Perkawinan", desc: "Status perkawinan" },
@@ -358,7 +379,8 @@ export const categoryPelayananSurat = [
dataPelengkap: [
{ key: "nik", name: "NIK", desc: "Nomor Induk Kependudukan" },
{ key: "nama", name: "Nama Lengkap", desc: "Nama anak" },
{ key: "ttl", name: "Tempat & Tanggal Lahir", desc: "Tempat dan tanggal lahir anak" },
{ key: "tempat_lahir", name: "Tempat Lahir Anak", desc: "Tempat lahir anak" },
{ key: "tanggal_lahir", name: "Tanggal Lahir Anak", desc: "Tanggal lahir anak" },
{ key: "jenis_kelamin", name: "Jenis Kelamin", desc: "Jenis kelamin anak" },
{ key: "alamat", name: "Alamat", desc: "Alamat tempat tinggal" },
{ key: "pekerjaan", name: "Pekerjaan", desc: "Pekerjaan (jika ada)" },

View File

@@ -246,16 +246,6 @@
"label": "View Detail",
"default": true
},
{
"key": "setting.kategori_pelayanan.tambah",
"label": "Tambah",
"default": true
},
{
"key": "setting.kategori_pelayanan.edit",
"label": "Edit",
"default": true
},
{
"key": "setting.kategori_pelayanan.delete",
"label": "Delete",

View File

@@ -14,6 +14,7 @@ import {
Group,
List,
Modal,
Spoiler,
Stack,
Table,
Text,
@@ -432,41 +433,43 @@ function DetailDataHistori({ data }: { data: any }) {
<Stack gap="md">
<Flex align="center" justify="space-between">
<Title order={4} c="gray.2">
Histori Pengajuan Surat
Riwayat Pengajuan Surat
</Title>
</Flex>
<Divider my={0} />
<Table>
<Table.Thead>
<Table.Tr>
<Table.Th>Tanggal</Table.Th>
<Table.Th>Deskripsi</Table.Th>
<Table.Th>Status</Table.Th>
<Table.Th>User</Table.Th>
</Table.Tr>
</Table.Thead>
<Table.Tbody>
{data?.map((item: any) => (
<Table.Tr key={item.id}>
<Table.Td style={{ whiteSpace: "nowrap" }}>
{item.createdAt.toLocaleString("id-ID", {
day: "2-digit",
month: "short",
year: "numeric",
hour: "2-digit",
minute: "2-digit",
hour12: false,
})}
</Table.Td>
<Table.Td>{item.deskripsi}</Table.Td>
<Table.Td>{item.status}</Table.Td>
<Table.Td style={{ whiteSpace: "nowrap" }}>
{item.nameUser ? item.nameUser : "-"}
</Table.Td>
<Spoiler maxHeight={200} showLabel="Show more" hideLabel="Hide" transitionDuration={1000}>
<Table>
<Table.Thead>
<Table.Tr>
<Table.Th>Tanggal</Table.Th>
<Table.Th>Deskripsi</Table.Th>
<Table.Th>Status</Table.Th>
<Table.Th>User</Table.Th>
</Table.Tr>
))}
</Table.Tbody>
</Table>
</Table.Thead>
<Table.Tbody>
{data?.map((item: any) => (
<Table.Tr key={item.id}>
<Table.Td style={{ whiteSpace: "nowrap" }}>
{item.createdAt.toLocaleString("id-ID", {
day: "2-digit",
month: "short",
year: "numeric",
hour: "2-digit",
minute: "2-digit",
hour12: false,
})}
</Table.Td>
<Table.Td>{item.deskripsi}</Table.Td>
<Table.Td>{item.status}</Table.Td>
<Table.Td style={{ whiteSpace: "nowrap" }}>
{item.nameUser ? item.nameUser : "-"}
</Table.Td>
</Table.Tr>
))}
</Table.Tbody>
</Table>
</Spoiler>
</Stack>
</Card>
);

View File

@@ -12,6 +12,7 @@ import {
Grid,
Group,
Modal,
Spoiler,
Stack,
Table,
Text,
@@ -420,41 +421,43 @@ function DetailDataHistori({ data }: { data: any }) {
<Stack gap="md">
<Flex align="center" justify="space-between">
<Title order={4} c="gray.2">
Histori Pengaduan
Riwayat Pengaduan
</Title>
</Flex>
<Divider my={0} />
<Table>
<Table.Thead>
<Table.Tr>
<Table.Th>Tanggal</Table.Th>
<Table.Th>Deskripsi</Table.Th>
<Table.Th>Status</Table.Th>
<Table.Th>User</Table.Th>
</Table.Tr>
</Table.Thead>
<Table.Tbody>
{data?.map((item: any) => (
<Table.Tr key={item.id}>
<Table.Td style={{ whiteSpace: "nowrap" }}>
{item.createdAt.toLocaleString("id-ID", {
day: "2-digit",
month: "short",
year: "numeric",
hour: "2-digit",
minute: "2-digit",
hour12: false,
})}
</Table.Td>
<Table.Td>{item.deskripsi}</Table.Td>
<Table.Td>{item.status}</Table.Td>
<Table.Td style={{ whiteSpace: "nowrap" }}>
{item.nameUser ? item.nameUser : "-"}
</Table.Td>
<Spoiler maxHeight={200} showLabel="Show more" hideLabel="Hide" transitionDuration={1000}>
<Table>
<Table.Thead>
<Table.Tr>
<Table.Th>Tanggal</Table.Th>
<Table.Th>Deskripsi</Table.Th>
<Table.Th>Status</Table.Th>
<Table.Th>User</Table.Th>
</Table.Tr>
))}
</Table.Tbody>
</Table>
</Table.Thead>
<Table.Tbody>
{data?.map((item: any) => (
<Table.Tr key={item.id}>
<Table.Td style={{ whiteSpace: "nowrap" }}>
{item.createdAt.toLocaleString("id-ID", {
day: "2-digit",
month: "short",
year: "numeric",
hour: "2-digit",
minute: "2-digit",
hour12: false,
})}
</Table.Td>
<Table.Td>{item.deskripsi}</Table.Td>
<Table.Td>{item.status}</Table.Td>
<Table.Td style={{ whiteSpace: "nowrap" }}>
{item.nameUser ? item.nameUser : "-"}
</Table.Td>
</Table.Tr>
))}
</Table.Tbody>
</Table>
</Spoiler>
</Stack>
</Card>
);

View File

@@ -333,6 +333,8 @@ const PelayananRoute = new Elysia({
.sort((a, b) => a.order - b.order)
.map(({ order, ...rest }) => rest); // hapus order
console.log(dataTextFix)
const dataHistory = await prisma.historyPelayanan.findMany({
where: {
idPengajuanLayanan: data?.id,
@@ -348,6 +350,9 @@ const PelayananRoute = new Elysia({
name: true,
}
}
},
orderBy: {
createdAt: "desc"
}
})

View File

@@ -436,6 +436,9 @@ const PengaduanRoute = new Elysia({
name: true,
}
}
},
orderBy: {
createdAt: "desc"
}
})