From 062f10a25d43b875d187cf582b2ecf96d075ec26 Mon Sep 17 00:00:00 2001
From: eug-vs <eug-vs@keemail.me>
Date: Thu, 25 Mar 2021 23:09:49 +0300
Subject: refactor: move services to separate folder

---
 src/services/waybills/WaybillPanel.tsx | 42 ++++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)
 create mode 100644 src/services/waybills/WaybillPanel.tsx

(limited to 'src/services/waybills/WaybillPanel.tsx')

diff --git a/src/services/waybills/WaybillPanel.tsx b/src/services/waybills/WaybillPanel.tsx
new file mode 100644
index 0000000..101a871
--- /dev/null
+++ b/src/services/waybills/WaybillPanel.tsx
@@ -0,0 +1,42 @@
+import React from 'react';
+import { useHistory } from 'react-router-dom';
+import Button from '../../components/Button';
+import { patch, baseURL } from '../../requests';
+import { PanelProps } from '../../containers/Service/ServiceContext';
+
+
+const WaybillPanel: React.FC<PanelProps> = ({ item, mutate }) => {
+  const history = useHistory();
+
+  const handleChangeStatus = (status: any) => patch(`/waybills/${item._id}`, { status })
+    .then(() => {
+      history.push('/waybills');
+      mutate({ ...item, status });
+    });
+
+  const handlePrint = () => window.open(`${baseURL}/spreadsheets/${item._id}`, '_blank');
+
+  const handleExecute = () => handleChangeStatus('executed');
+  const handleCancel = () => handleChangeStatus('cancelled');
+
+  const executed = item.status === 'executed';
+
+  return (
+    <div className="lg:m-4 p-4 flex flex-col lg:pl-16 lg:border-l">
+      <div className="grid lg:grid-cols-2">
+        <Button route={`/contractors/${item.contractorId}`} variant="outlined">
+          Перейти к контрагенту
+        </Button>
+        <Button onClick={handlePrint} variant="outlined">
+          Печать
+        </Button>
+        <span className="text-lg text-center mt-4">Итоговая сумма: ${item.total}</span>
+        <Button onClick={executed ? handleCancel : handleExecute} size="lg">
+          {executed ? 'Откатить' : 'Провести'}
+        </Button>
+      </div>
+    </div>
+  );
+};
+
+export default WaybillPanel;
-- 
cgit v1.2.3

