/* eslint-disable no-mixed-spaces-and-tabs */ import { CardCustom } from '@/components/CardCustom' import { Belakang } from '@/components/Layouts' import { Judul, SubJudul } from '@/components/TextCustom' import { TagihanGet, VerifikasiSave } from '@/services/otorisasi/verifikasi-service' import { Formik } from 'formik' import 'moment/locale/id' import Head from 'next/head' import Link from 'next/link' import { useRouter } from 'next/router' import { Accordion, AccordionTab } from 'primereact/accordion' import { BreadCrumb } from 'primereact/breadcrumb' import { Button } from 'primereact/button' import { Card } from 'primereact/card' import { InputText } from 'primereact/inputtext' import { InputTextarea } from 'primereact/inputtextarea' import { RadioButton } from 'primereact/radiobutton' import { TabPanel, TabView } from 'primereact/tabview' import { Toast } from 'primereact/toast' import React, { useEffect, useRef, useState } from 'react' import Swal from 'sweetalert2' export default function FormPengesahan() { const router = useRouter() const { tagihan_id } = router.query const [dataTagihan, setDataTagihan] = useState([]) const [dataDetail, setDataDetail] = useState([]) useEffect(() => { tagihan_id && TagihanGet({ ref_id: tagihan_id }) .then((res) => { setDataTagihan(res.data[0]) setDataDetail(res.data[1]) }) .catch((err) => console.log(err)) }, [tagihan_id]) const toast = useRef(null) const [activeIndex, setActiveIndex] = useState(0) /** * *Breadcrumb */ const items = [{ label: 'Pengesahan', url: '/otorisasi/pengesahan' }, { label: 'Form' }] const home = { icon: 'pi pi-home', url: '/dashboard' } const formikInitialValues = () => { const detail = dataDetail.length > 0 && dataDetail.map((value) => { return { detail_id: value.detail_id, jenis_belanja: value.jenis_belanja, jenis_kegiatan: value.jenis_kegiatan, akun: value.akun_id, keperluan_untuk: value.keperluan, syarat: value.syarat.map((valueSyarat) => { return { syarat_id: valueSyarat.syarat_id, nama_persyaratan: valueSyarat.syarat_dokumen, catatans: { verif: valueSyarat.verif_note, bendahara: valueSyarat.bendahara_note, spm: valueSyarat.spm_note, }, ms: valueSyarat.ms, } }), } }) return { details: detail, persetujuan: false, tagihan_id: tagihan_id } } return ( <> Form Pengesahan
Form Pengesahan
{dataDetail.length > 0 && ( { VerifikasiSave(values) .then((res) => { if (res.status == 'ok') { Swal.fire({ title: 'Success', text: 'Verifikasi berhasil', icon: 'success', timer: 2000, timerProgressBar: true, }).then(() => { router.push('/otorisasi/pengesahan') }) } setSubmitting(false) }) .catch((err) => { console.log(err) setSubmitting(false) }) }} validate={(data) => { let errors = {} data.details.map((values, indexTagihan) => { const indexTagihanx = indexTagihan + 1 values.syarat.map((valuesSyarats, indexSyarat) => { const indexSyaratx = indexSyarat + 1 if (!valuesSyarats.ms) { errors.ms = 'required' toast.current.show({ severity: 'error', summary: 'Error Message', detail: 'Tagihan ' + indexTagihanx + ' Syarat ke ' + indexSyaratx + ' MS/TMS Tidak Boleh Kosong', }) } else if (valuesSyarats.ms === 'tms') { if (!valuesSyarats.catatans.bendahara) { errors.keterangan = 'required' toast.current.show({ severity: 'error', summary: 'Error Message', detail: 'Tagihan ' + indexTagihanx + ' Syarat ke ' + indexSyaratx + ' Catatan Tidak Boleh Kosong', }) } } }) }) return errors }} validateOnChange={false} > {({ values, handleChange, handleSubmit, setFieldValue, isSubmitting }) => { const handleKirim = () => { setFieldValue('persetujuan', true) handleSubmit() } const handleTolak = () => { setFieldValue('persetujuan', false) handleSubmit() } let cekTMSTolak = [] values.details.map((valRekomKabag) => { valRekomKabag.syarat.map((valCekSyarat) => { cekTMSTolak.push(valCekSyarat.ms) }) }) let cekTMSTolakH = cekTMSTolak.find((isi_tms) => isi_tms === 'tms') return ( setActiveIndex(e.index)} className='mt-3 shadow' > {dataDetail.map((dataTagihan, indexTagihan) => { return (
Syarat

Syarat dengan status TMS (Tidak memenuhi syarat)

Syarat dengan catatan

{dataTagihan.syarat.map((valueSyarat, indexSyarat) => { return (
MS TMS
{ handleChange(e) setFieldValue('tolak', false) }} checked={values.details[indexTagihan].syarat[indexSyarat].ms === 'ms'} />
{ handleChange(e) setFieldValue('tolak', true) }} checked={values.details[indexTagihan].syarat[indexSyarat].ms === 'tms'} />

Catatan

) })}
Rekomendasi Kabag
) })}
) }}
)}
) }