import React, { useEffect } from 'react' import NumberFormat from 'react-number-format' import DatePicker from 'react-datepicker' import { useForm } from '@inertiajs/inertia-react' import { toast } from 'react-toastify' import EmployeeSelectInput from '@/Selects/EmployeeSelectInput' import { formatIDR } from '@/utils' export default function FormPayrollModal(props) { const { isOpen, toggle = () => {}, payroll = null } = props const { data, setData, post, put, processing, errors, reset, clearErrors } = useForm({ employee_id: null, employee_name: '', date: new Date(), amount: 0, cuts: 0, bonus: 0, item_count: 0, }) const recived = +data.amount + +data.bonus - +data.cuts const handleSelectedEmployee = (employee) => { setData({ ...data, employee_id: employee.id, employee_name: employee.name, amount: employee.basic_salary }) } const handleReset = () => { setData({ employee_id: null, employee_name: '', date: new Date(), amount: 0, cuts: 0, bonus: 0, item_count: 0, }) clearErrors() } const handleCancel = () => { handleReset() toggle() } const handleSubmit = () => { if (payroll !== null) { put(route('payrolls.update', payroll), { onSuccess: () => Promise.all([ handleReset(), toggle(), toast.success('The Data has been changed'), ]), }) return } post(route('payrolls.store'), { onSuccess: () => Promise.all([ handleReset(), toggle(), toast.success('The Data has been saved'), ]), }) } useEffect(() => { setData({ employee_id: payroll?.employee?.id, employee_name: payroll?.employee?.name, date: payroll?.date ? new Date(payroll.date) : new Date(), amount: payroll?.amount ? payroll.amount : 0, cuts: payroll?.cuts ? payroll.cuts : 0, bonus: payroll?.bonus ? payroll.bonus : 0, item_count: payroll?.item_count ? (payroll.item_count) : 0, }) }, [payroll]) return (

Gaji

setData('date', date)} format="dd/mm/yyyy" className={`input input-bordered ${ errors.date ? 'input-error' : '' }`} nextMonthButtonLabel=">" previousMonthButtonLabel="<" />
setData('amount', value)} placeholder="gaji pokok" />
setData('cuts', value)} placeholder="potongan" />
setData('bonus', value)} placeholder="bonus" />
setData('item_count', value) } placeholder="jumlah item" />
Simpan
Batal
) }