Fix Tabs Pegawai, Submenu Struktur & Organisasi, Menu Ekonomi
This commit is contained in:
@@ -55,10 +55,6 @@ export default function EditPegawai() {
|
|||||||
isActive: true,
|
isActive: true,
|
||||||
});
|
});
|
||||||
|
|
||||||
const statusOptions = [
|
|
||||||
{ value: true, label: 'Aktif' },
|
|
||||||
{ value: false, label: 'Tidak Aktif' },
|
|
||||||
];
|
|
||||||
|
|
||||||
// Format date to YYYY-MM-DD for date input
|
// Format date to YYYY-MM-DD for date input
|
||||||
const formatDateForInput = (dateString: string) => {
|
const formatDateForInput = (dateString: string) => {
|
||||||
@@ -121,6 +117,8 @@ export default function EditPegawai() {
|
|||||||
isActive: formData.isActive,
|
isActive: formData.isActive,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (id && !stateOrganisasi.edit.id) {
|
if (id && !stateOrganisasi.edit.id) {
|
||||||
stateOrganisasi.edit.id = id;
|
stateOrganisasi.edit.id = id;
|
||||||
}
|
}
|
||||||
@@ -134,6 +132,9 @@ export default function EditPegawai() {
|
|||||||
console.error("Error updating pegawai:", error);
|
console.error("Error updating pegawai:", error);
|
||||||
toast.error(error instanceof Error ? error.message : "Gagal memperbarui data pegawai");
|
toast.error(error instanceof Error ? error.message : "Gagal memperbarui data pegawai");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
@@ -254,16 +255,17 @@ export default function EditPegawai() {
|
|||||||
/>
|
/>
|
||||||
<Select
|
<Select
|
||||||
label="Status Pegawai"
|
label="Status Pegawai"
|
||||||
data={statusOptions.map((s) => ({
|
data={[
|
||||||
value: String(s.value),
|
{ value: 'true', label: 'Aktif' },
|
||||||
label: s.label,
|
{ value: 'false', label: 'Tidak Aktif' },
|
||||||
}))}
|
]}
|
||||||
value={String(formData.isActive)}
|
value={String(formData.isActive)} // 'true' atau 'false'
|
||||||
onChange={(val) => {
|
onChange={(val) => {
|
||||||
setFormData({ ...formData, isActive: val === 'true' });
|
setFormData({ ...formData, isActive: val === 'true' });
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
|
||||||
<Group>
|
<Group>
|
||||||
<Button
|
<Button
|
||||||
onClick={handleSubmit}
|
onClick={handleSubmit}
|
||||||
|
|||||||
@@ -32,7 +32,6 @@ function ListPegawai({ search }: { search: string }) {
|
|||||||
|
|
||||||
useShallowEffect(() => {
|
useShallowEffect(() => {
|
||||||
const loadData = async () => {
|
const loadData = async () => {
|
||||||
console.log('1. Starting to load pegawai data...');
|
|
||||||
try {
|
try {
|
||||||
// Clear existing data to ensure we see the loading state
|
// Clear existing data to ensure we see the loading state
|
||||||
stateOrganisasi.findMany.data = [];
|
stateOrganisasi.findMany.data = [];
|
||||||
@@ -40,12 +39,8 @@ function ListPegawai({ search }: { search: string }) {
|
|||||||
// Load new data
|
// Load new data
|
||||||
await stateOrganisasi.findMany.load();
|
await stateOrganisasi.findMany.load();
|
||||||
|
|
||||||
// Log the raw response and state
|
|
||||||
console.log('2. Raw API response:', stateOrganisasi.findMany.data);
|
|
||||||
|
|
||||||
// Type guard to ensure data is an array
|
// Type guard to ensure data is an array
|
||||||
const data = stateOrganisasi.findMany.data || [];
|
const data = stateOrganisasi.findMany.data || [];
|
||||||
console.log(`3. Loaded ${data.length} pegawai records`);
|
|
||||||
if (data.length > 0) {
|
if (data.length > 0) {
|
||||||
console.log('4. First record sample:', data[0]);
|
console.log('4. First record sample:', data[0]);
|
||||||
}
|
}
|
||||||
@@ -75,7 +70,6 @@ function ListPegawai({ search }: { search: string }) {
|
|||||||
|
|
||||||
// Handle loading state
|
// Handle loading state
|
||||||
if (stateOrganisasi.findMany.data === null) {
|
if (stateOrganisasi.findMany.data === null) {
|
||||||
console.log('Showing loading state');
|
|
||||||
return (
|
return (
|
||||||
<Stack py={10}>
|
<Stack py={10}>
|
||||||
<Skeleton height={300} />
|
<Skeleton height={300} />
|
||||||
@@ -86,7 +80,6 @@ function ListPegawai({ search }: { search: string }) {
|
|||||||
// Check if data is an empty array
|
// Check if data is an empty array
|
||||||
const data = stateOrganisasi.findMany.data || [];
|
const data = stateOrganisasi.findMany.data || [];
|
||||||
if (data.length === 0) {
|
if (data.length === 0) {
|
||||||
console.log('No data available to display');
|
|
||||||
return (
|
return (
|
||||||
<Box py={10}>
|
<Box py={10}>
|
||||||
<Paper p="md" ta="center">
|
<Paper p="md" ta="center">
|
||||||
|
|||||||
@@ -119,7 +119,6 @@ function CreatePolsekTerdekat() {
|
|||||||
body: JSON.stringify({ nama: namaLayananBaru }),
|
body: JSON.stringify({ nama: namaLayananBaru }),
|
||||||
});
|
});
|
||||||
const data = await res.json();
|
const data = await res.json();
|
||||||
console.log("data setelah create:", data);
|
|
||||||
|
|
||||||
if (data.success) {
|
if (data.success) {
|
||||||
const newLayanan = {
|
const newLayanan = {
|
||||||
@@ -150,7 +149,6 @@ function CreatePolsekTerdekat() {
|
|||||||
body: JSON.stringify({ nama: namaBaru }),
|
body: JSON.stringify({ nama: namaBaru }),
|
||||||
});
|
});
|
||||||
const data = await res.json();
|
const data = await res.json();
|
||||||
console.log("data setelah update:", data);
|
|
||||||
|
|
||||||
if (data.success) {
|
if (data.success) {
|
||||||
await fetchLayanan(); // Refresh list
|
await fetchLayanan(); // Refresh list
|
||||||
@@ -174,7 +172,6 @@ function CreatePolsekTerdekat() {
|
|||||||
method: "DELETE",
|
method: "DELETE",
|
||||||
});
|
});
|
||||||
const data = await res.json();
|
const data = await res.json();
|
||||||
console.log("data setelah delete:", data);
|
|
||||||
|
|
||||||
if (data.success) {
|
if (data.success) {
|
||||||
await fetchLayanan(); // Refresh list
|
await fetchLayanan(); // Refresh list
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ const Pegawai = new Elysia({
|
|||||||
telepon: t.Optional(t.String()),
|
telepon: t.Optional(t.String()),
|
||||||
alamat: t.Optional(t.String()),
|
alamat: t.Optional(t.String()),
|
||||||
posisiId: t.Optional(t.String()),
|
posisiId: t.Optional(t.String()),
|
||||||
aktif: t.Optional(t.Boolean()),
|
isActive: t.Optional(t.Boolean()),
|
||||||
}),
|
}),
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -25,10 +25,7 @@ export default async function pegawaiUpdate(context: Context) {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
if (typeof body.isActive !== 'boolean') {
|
body.isActive = String(body.isActive).toLowerCase() === 'true';
|
||||||
body.isActive = true; // fallback
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const updated = await prisma.pegawai.update({
|
const updated = await prisma.pegawai.update({
|
||||||
|
|||||||
Reference in New Issue
Block a user