From 7ad15665cc8403be4bf9874dc81ebf82fa6b42d1 Mon Sep 17 00:00:00 2001 From: "ajat91.sudrajat" Date: Tue, 28 Dec 2021 13:46:52 +0700 Subject: [PATCH] Perbaikan Project PPOB --- src/component/PartnerComponent.js | 15 +- src/pages/App/DesktopLayout.js | 116 ++++++++----- src/pages/App/MenuList.js | 60 ++++--- src/pages/Membership/Membership.js | 6 +- src/pages/Membership/MembershipModal.js | 221 +++++++++++++----------- src/pages/Payback/Payback.js | 81 ++++++++- 6 files changed, 319 insertions(+), 180 deletions(-) diff --git a/src/component/PartnerComponent.js b/src/component/PartnerComponent.js index d75496b..7dd2f90 100644 --- a/src/component/PartnerComponent.js +++ b/src/component/PartnerComponent.js @@ -20,6 +20,7 @@ import { ModalLoaderContext } from "../utils/modal"; export const PartnerComponent = observer((props) => { const store = useStore(); + const [value, setValue] = useState(); const [form] = Form.useForm(); const history = useHistory(); const [idData, setIdData] = useState(""); @@ -415,9 +416,21 @@ export const PartnerComponent = observer((props) => { required: true, message: "Please input password phone number!", }, + { + pattern: /^(?:\d*)$/, + message: "Value should contain just number", + }, + { + pattern: /^[\d]{0,12}$/, + message: "Value should be less than 12 character", + }, ]} > - + { + setValue(value); + }} + /> )} {!isChangePassword && ( diff --git a/src/pages/App/DesktopLayout.js b/src/pages/App/DesktopLayout.js index cc46bbf..1921f50 100644 --- a/src/pages/App/DesktopLayout.js +++ b/src/pages/App/DesktopLayout.js @@ -118,23 +118,30 @@ export const DesktopLayout = observer(() => { }} > - {store.authentication.userData.role !== "Admin Partner" && ( - - - - Beranda + {/* {store.authentication.userData.role !== "Admin Partner" && ( */} + + + + Beranda + + + {/* )} */} + {store.authentication.userData.role === "Admin" && ( + + + + Keanggotaan + + + )} + {store.authentication.userData.role === "Supervisor" && ( + + + + Keanggotaan )} - {store.authentication.userData.role !== "Retail" || - (store.authentication.userData.role !== "Admin Partner" && ( - - - - Keanggotaan - - - ))} {store.authentication.userData.role === "Admin" && ( { )} )} - {store.authentication.userData.role !== "Admin" && ( + {store.authentication.userData.role === "Supervisor" && ( @@ -200,39 +207,54 @@ export const DesktopLayout = observer(() => { )} - {store.authentication.userData.role === "Retail" || - (store.authentication.userData.role === "Admin Partner" && ( - - - - Transaksi - - - ))} - {store.authentication.userData.role !== "Admin Partner" && ( - } - title="Pembayaran" - > - {store.authentication.userData.role !== "Retail" && ( - - - - Konfirmasi - - - )} - {store.authentication.userData.role !== "Admin" && ( - - - - Dibuat oleh Saya - - - )} - + {store.authentication.userData.role === "Admin Partner" && ( + + + + Produk + + )} + {store.authentication.userData.role === "Admin Partner" && ( + + + + Transaksi + + + )} + {store.authentication.userData.role === "Retail" && ( + + + + Transaksi + + + )} + {store.authentication.userData.role !== "Admin Partner" && store.authentication.userData.role !== "Retail" && ( + } + title="Pembayaran" + > + {store.authentication.userData.role !== "Retail" && ( + + + + Konfirmasi + + + )} + {store.authentication.userData.role !== "Admin" && ( + + + + Dibuat oleh Saya + + + )} + + )} {store.authentication.userData.role !== "Admin" && ( diff --git a/src/pages/App/MenuList.js b/src/pages/App/MenuList.js index e66c3e0..126c7f3 100644 --- a/src/pages/App/MenuList.js +++ b/src/pages/App/MenuList.js @@ -15,7 +15,7 @@ import { SlackOutlined, CodepenOutlined, WindowsOutlined, - AliyunOutlined + AliyunOutlined, } from "@ant-design/icons"; import { observer } from "mobx-react-lite"; import { useStore } from "../../utils/useStore"; @@ -48,23 +48,30 @@ export const MenuList = observer((props) => { overflowedIndicator={0} forceSubMenuRender={true} > + {/* {store.authentication.userData.role === "Admin" && ( */} + + + + Beranda + + + {/* )} */} {store.authentication.userData.role === "Admin" && ( - - - - Beranda + + + + Keanggotaan + + + )} + {store.authentication.userData.role === "Supervisor" && ( + + + + Keanggotaan )} - {store.authentication.userData.role !== "Retail" && - store.authentication.userData.role !== "Admin Partner" && ( - - - - Keanggotaan - - - )} {store.authentication.userData.role === "Admin" && ( } title="Config"> @@ -129,15 +136,22 @@ export const MenuList = observer((props) => { )} - {store.authentication.userData.role === "Retail" || - (store.authentication.userData.role === "Admin Partner" && ( - - - - Transaksi - - - ))} + {store.authentication.userData.role === "Admin Partner" && ( + + + + Transaksi + + + )} + {store.authentication.userData.role === "Retail" && ( + + + + Transaksi + + + )} {store.authentication.userData.role !== "Retail" && store.authentication.userData.role !== "Admin Partner" && ( { : (response = await store.transaction.distribute(data)); response?.body?.statusCode === 201 - ? message.success("Success Top Up") - : message.error("Failed Top Up"); + ? message.success("Sukses Top Up") + : message.error("Saldo Tidak Mencukupi"); modalLoader.setLoading(false); await getData(); } catch (e) { console.log(e, "apa errornya"); modalLoader.setLoading(false); - message.error("Failed Top Up"); + message.error("Gagal Top Up"); } setConfirmLoading(false); setIsVisibleTopUpModal(false); diff --git a/src/pages/Membership/MembershipModal.js b/src/pages/Membership/MembershipModal.js index 169850f..273c6cc 100644 --- a/src/pages/Membership/MembershipModal.js +++ b/src/pages/Membership/MembershipModal.js @@ -1,107 +1,122 @@ -import React from "react"; -import {Form, Input, Modal, Select} from "antd"; -import {useStore} from "../../utils/useStore"; +import React, { useState } from "react"; +import { Form, Input, Modal, Select, InputNumber } from "antd"; +import { useStore } from "../../utils/useStore"; export const MembershipModal = ({ - visible, - onCreate, - onCancel, - initialData, - }) => { - const [form] = Form.useForm(); - const {Option} = Select; - const store = useStore(); + visible, + onCreate, + onCancel, + initialData, +}) => { + const [form] = Form.useForm(); + const { Option } = Select; + const store = useStore(); + const [value, setValue] = useState(); - return ( - { - form.resetFields(); - onCancel(); - }} - onOk={() => { - form - .validateFields() - .then((values) => { - onCreate(values); - form.resetFields(); - }) - .catch((info) => { - console.log("Validate Failed:", info); - }); - }} - > -
- {((initialData.id && !initialData.isChangePassword) || - !initialData.id) && ( - - - - )} - {!initialData.id && ( - - - - )} - {((initialData.id && initialData.isChangePassword) || - !initialData.id) && ( - - - - )} - {((initialData.id && !initialData.isChangePassword) || - !initialData.id) && ( - - - - )} - {((initialData.id && !initialData.isChangePassword) || - !initialData.id) && ( - - - - )} -
-
- ); + return ( + { + form.resetFields(); + onCancel(); + }} + onOk={() => { + form + .validateFields() + .then((values) => { + onCreate(values); + form.resetFields(); + }) + .catch((info) => { + console.log("Validate Failed:", info); + }); + }} + > +
+ {((initialData.id && !initialData.isChangePassword) || + !initialData.id) && ( + + + + )} + {!initialData.id && ( + + + + )} + {((initialData.id && initialData.isChangePassword) || + !initialData.id) && ( + + + + )} + {((initialData.id && !initialData.isChangePassword) || + !initialData.id) && ( + + { + setValue(value); + }} + /> + + )} + {((initialData.id && !initialData.isChangePassword) || + !initialData.id) && ( + + + + )} +
+
+ ); }; diff --git a/src/pages/Payback/Payback.js b/src/pages/Payback/Payback.js index cffe75b..7ffebc2 100644 --- a/src/pages/Payback/Payback.js +++ b/src/pages/Payback/Payback.js @@ -175,7 +175,7 @@ export const Payback = observer(() => { modalLoader.setLoading(true); try { const response = await store.payback.confirmPayback(id, type); - console.log(response) + console.log(response); response.body.statusCode !== 201 && response.body.statusCode !== 200 ? message.error( response?.body?.message || `Failed ${capitalize(type)} Payback` @@ -288,7 +288,79 @@ export const Payback = observer(() => { title={item.name} description={
- +

+ {item.userData_name} +
+ Amount: {item.amount} +
+ {PAYBACK_STATUS[item.status] === + PAYBACK_STATUS[0] ? ( + + + + + ) : ( + + {PAYBACK_STATUS[item.status]} + + )} +

} /> @@ -299,7 +371,10 @@ export const Payback = observer(() => { margin: 0, }} > - {item.amount} +