import { PlusOutlined } from '@ant-design/icons'; import { t } from '@lingui/macro'; import { Button, DatePicker, Form, Modal, Select } from 'antd'; import { SbtPageHeader } from 'components/page-header'; import ReportTable from 'components/report-detail/report-table'; import { Dayjs } from 'dayjs'; import { useMakeReport } from 'queries/report'; import { useState } from 'react'; export interface ReportFormValues { dateRange: [Dayjs, Dayjs]; subsidiary: string; } const ReportsPage = () => { const [form] = Form.useForm(); const [isModalOpen, setIsModalOpen] = useState(false); const makeReportMutation = useMakeReport(); const showModal = () => { setIsModalOpen(true); }; const handleOk = () => { form .validateFields() .then((values) => { makeReportMutation .mutateAsync({ end_date: values.dateRange[1].format('YYYY-MM-DDTHH:mm:ssZ'), start_date: values.dateRange[0].format('YYYY-MM-DDTHH:mm:ssZ'), subsidiary: values.subsidiary, }) .then((data) => { if (!!data && data?.report_id) { form.resetFields(); setIsModalOpen(false); window.location.reload(); } }) .catch((error) => { console.log(error); }); }) .catch((info) => { console.log('Validate Failed:', info); }); }; const handleCancel = () => { setIsModalOpen(false); }; return ( <> } > {t`New Report`} } /> { handleOk(); }} onCancel={handleCancel} >