diff options
author | eug-vs <eug-vs@keemail.me> | 2021-03-20 00:20:42 +0300 |
---|---|---|
committer | eug-vs <eug-vs@keemail.me> | 2021-03-20 00:20:42 +0300 |
commit | 839c9ccc0e12b7d15611df72baf9acaea19e8480 (patch) | |
tree | 913e84b1b1f12a76a32b0e50cb8b554be0c7d36e /src/containers/TransferForm.tsx | |
parent | 746c0191380aef770f711bcfebc3cbd919c61b7d (diff) | |
download | commercel-ui-839c9ccc0e12b7d15611df72baf9acaea19e8480.tar.gz |
feat: add Transers section
Diffstat (limited to 'src/containers/TransferForm.tsx')
-rw-r--r-- | src/containers/TransferForm.tsx | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/containers/TransferForm.tsx b/src/containers/TransferForm.tsx new file mode 100644 index 0000000..afb2dff --- /dev/null +++ b/src/containers/TransferForm.tsx @@ -0,0 +1,44 @@ +import React from 'react'; +import { Form, FormikProps } from 'formik'; +import moment from 'moment'; +import Input from '../components/Input'; +import Select from '../components/Select'; +import hooks from '../hooks/useAPIClient'; + + +const mapper = (item: any) => ({ key: item._id, label: item.name }); + + +const TransferForm: React.FC<FormikProps> = ({ setFieldValue, values }) => { + const { data: contractors } = hooks.contractors.useList(); + + if (!values.date) setFieldValue('date', moment().format('YYYY-MM-DD')); + if (!values.contractorId && contractors) setFieldValue('contractorId', contractors[0]._id); + + return ( + <Form id="form"> + <div className="grid grid-cols-2"> + <Select + name="contractorId" + label="Контрагент" + options={contractors?.map(mapper)} + required + /> + <Input name="date" type="date" label="Дата" required /> + </div> + <div className="grid grid-cols-2"> + <Select + name="operation" + label="Операция" + options={[ + { key: 'in', label: 'Приход' }, + { key: 'out', label: 'Расход' }, + ]} + /> + <Input name="amount" type="number" label="Сумма" required /> + </div> + </Form> + ); +}; + +export default TransferForm; |