diff options
Diffstat (limited to 'src/containers/WaybillPanel.tsx')
-rw-r--r-- | src/containers/WaybillPanel.tsx | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/containers/WaybillPanel.tsx b/src/containers/WaybillPanel.tsx new file mode 100644 index 0000000..ca40169 --- /dev/null +++ b/src/containers/WaybillPanel.tsx @@ -0,0 +1,44 @@ +import React from 'react'; +import { useHistory } from 'react-router-dom'; +import Input from '../components/Input'; +import Button from '../components/Button'; +import Paper from '../components/Paper'; +import { post } from '../requests'; +import { PanelProps } from './Service/ServiceContext'; + + +const WaybillPanel: React.FC<PanelProps> = ({ item }) => { + const history = useHistory(); + + const handleExecute = () => post(`/waybills/${item._id}/execute`) + .then(() => history.push('/waybills')); + + const handleCancel = () => post(`/waybills/${item._id}/cancel`) + .then(() => history.push('/waybills')); + + const executed = item.status === 'executed'; + const total = item.product.price * item.quantity; + + return ( + <div className="m-4 p-4 pl-16 border-l flex flex-col"> + <p className="text-lg"> + Итоговая сумма: ${total} + </p> + <div> + <Button route={`/contractors/${item.contractorId}`} variant="outlined"> + Перейти к контрагенту + </Button> + <Button route={`/products/${item.productId}`} variant="outlined"> + Перейти к продукту + </Button> + </div> + { + executed + ? <Button onClick={handleCancel}>Откатить</Button> + : <Button onClick={handleExecute}>Провести</Button> + } + </div> + ); +}; + +export default WaybillPanel; |