import { JenisBelanjaList } from '@/services/referensi/jenisBelanja-service' import { JenisKegiatanList } from '@/services/referensi/jenisKegiatan-service' import { JenisTagihanList } from '@/services/referensi/jenisTagihan-service' import { PersyaratanCreate, PersyaratanUpdate } from '@/services/referensi/persyaratan-service' import { FieldArray, Formik } from 'formik' import { Button } from 'primereact/button' import { Dialog } from 'primereact/dialog' import { Dropdown } from 'primereact/dropdown' import { InputText } from 'primereact/inputtext' import { InputTextarea } from 'primereact/inputtextarea' import { useEffect, useState } from 'react' export default function FormPersyaratan({ dialogForm, setDialogForm, dataEdit, setDataEdit, refresh, toast }) { const [optionJenisTagihan, setOptionJenisTagihan] = useState([]) const [optionJenisBelanja, setOptionJenisBelanja] = useState([]) const [optionJenisKegiatan, setOptionJenisKegiatan] = useState([]) useEffect(() => { JenisTagihanList({ draw: 0 }).then((res) => setOptionJenisTagihan(res.data)) JenisBelanjaList({ draw: 0 }).then((res) => setOptionJenisBelanja(res.data)) JenisKegiatanList({ draw: 0 }).then((res) => setOptionJenisKegiatan(res.data)) }, []) return ( <> { let errors = {} if (!data.jenis_tagihan) errors.jenis_tagihan = 'Jenis Tagihan is required.' if (!data.jenis_belanja) errors.jenis_belanja = 'Jenis Belanja is required.' if (!data.jenis_kegiatan) errors.jenis_kegiatan = 'Jenis Kegiatan is required.' // if (!data.syarat) errors.syarat = 'Syarat Dokumen is required.' // if (!data.keterangan) errors.keterangan = 'Keterangan is required.' return errors }} onSubmit={(data) => { if (data.syarat_id) { PersyaratanUpdate(data).then((res) => { if (res.status === 'success') { refresh(Math.random) setDataEdit([]) setDialogForm(false) toast.current.show({ severity: 'success', detail: res.message, closable: false, }) } else { setDialogForm(false) toast.current.show({ severity: 'error', detail: res.message, closable: false, }) } }) } else { PersyaratanCreate(data).then((res) => { if (res.status === 'success') { refresh(Math.random) setDataEdit([]) setDialogForm(false) toast.current.show({ severity: 'success', detail: res.message, closable: false, }) } else { setDialogForm(false) toast.current.show({ severity: 'error', detail: res.message, closable: false, }) } }) } }} validateOnChange={false} > {({ values, errors, handleChange, handleSubmit, isSubmitting, resetForm }) => { const dialogFooter = (
) return (
{errors.jenis_tagihan &&
{errors.jenis_tagihan}
}
{errors.jenis_belanja &&
{errors.jenis_belanja}
}
{errors.jenis_kegiatan &&
{errors.jenis_kegiatan}
}
(
{values.syarat.map((syarat, index) => (
{errors.syarat && errors.syarat[index] && (
{errors.syarat[index].syarat}
)}
{index > 0 && (
))}
)} />
) }}
) }