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