Fix create admin & progress bar persentase #14

Merged
nicoarya20 merged 1 commits from nico/18-nov-25 into staging 2025-11-18 17:24:53 +08:00
4 changed files with 18 additions and 18 deletions

View File

@@ -53,7 +53,7 @@ function normalizeItem(item: Partial<z.infer<typeof ApbdesItemSchema>>): z.infer
selisih, selisih,
persentase, persentase,
level: item.level || 1, level: item.level || 1,
tipe: item.tipe || "pendapatan", tipe: item.tipe, // biarkan null jika memang null
}; };
} }

View File

@@ -115,8 +115,8 @@ function EditAPBDes() {
if (!kode || !uraian) { if (!kode || !uraian) {
return toast.warn('Kode dan uraian wajib diisi'); return toast.warn('Kode dan uraian wajib diisi');
} }
const finalTipe = level === 1 ? 'pendapatan' : tipe; // Berikan default
const finalTipe = level === 1 ? null : tipe;
const selisih = realisasi - anggaran; const selisih = realisasi - anggaran;
const persentase = anggaran > 0 ? (realisasi / anggaran) * 100 : 0; const persentase = anggaran > 0 ? (realisasi / anggaran) * 100 : 0;

View File

@@ -123,8 +123,7 @@ function CreateAPBDes() {
return toast.warn("Kode dan uraian wajib diisi"); return toast.warn("Kode dan uraian wajib diisi");
} }
const finalTipe = level === 1 ? 'pendapatan' : tipe; // Berikan default const finalTipe = level === 1 ? null : tipe;
const selisih = realisasi - anggaran; const selisih = realisasi - anggaran;
const persentase = anggaran > 0 ? (realisasi / anggaran) * 100 : 0; const persentase = anggaran > 0 ? (realisasi / anggaran) * 100 : 0;
@@ -363,8 +362,9 @@ function CreateAPBDes() {
{ value: 'pendapatan', label: 'Pendapatan' }, { value: 'pendapatan', label: 'Pendapatan' },
{ value: 'belanja', label: 'Belanja' }, { value: 'belanja', label: 'Belanja' },
]} ]}
value={newItem.tipe} value={newItem.level === 1 ? null : newItem.tipe}
onChange={(val) => setNewItem({ ...newItem, tipe: val as any })} onChange={(val) => setNewItem({ ...newItem, tipe: val as any })}
disabled={newItem.level === 1}
/> />
</Group> </Group>
<TextInput <TextInput

View File

@@ -66,8 +66,8 @@ export default async function apbdesCreate(context: Context) {
selisih: item.selisih, selisih: item.selisih,
persentase: item.persentase, persentase: item.persentase,
level: item.level, level: item.level,
tipe: item.tipe, // ✅ sertakan, biar null
apbdesId: apbdes.id, apbdesId: apbdes.id,
// Note: tipe field is not included as it doesn't exist in the model
}; };
return prisma.aPBDesItem.create({ return prisma.aPBDesItem.create({