From 056248a65194724cb0ee0085506679449780fb4c Mon Sep 17 00:00:00 2001 From: caturbgs Date: Tue, 21 Dec 2021 16:04:01 +0700 Subject: [PATCH 1/6] feat: handler modal payback after create and fix payback paging --- src/pages/Payback/Payback.js | 56 ++++++++++++++-------------- src/pages/Payback/PaybackFromUser.js | 28 +------------- src/pages/Payback/PaybackModal.js | 45 +++++++++++----------- src/store/payback.js | 6 +-- 4 files changed, 56 insertions(+), 79 deletions(-) diff --git a/src/pages/Payback/Payback.js b/src/pages/Payback/Payback.js index a87baff..729ccb7 100644 --- a/src/pages/Payback/Payback.js +++ b/src/pages/Payback/Payback.js @@ -158,21 +158,21 @@ export const Payback = observer(() => { columns={columns} dataSource={store.payback.data} bordered - pagination={{ - pageSize: store.payback.page, - total: store.payback.total_data, - current: store.payback.pageSize + 1, - showSizeChanger: true, - simple: false - }} - onChange={async (page) => { - let pageNumber = page.current; - store.payback.pageSize = page.pageSize; - store.payback.page = pageNumber - 1; - modalLoader.setLoading(true); - await store.payback.getData(); - modalLoader.setLoading(false); - }} + // pagination={{ + // pageSize: store.payback.page, + // total: store.payback.total_data, + // current: store.payback.pageSize + 1, + // showSizeChanger: true, + // simple: false + // }} + // onChange={async (page) => { + // let pageNumber = page.current; + // store.payback.pageSize = page.pageSize; + // store.payback.page = pageNumber - 1; + // modalLoader.setLoading(true); + // await store.payback.getData(); + // modalLoader.setLoading(false); + // }} /> )} @@ -180,19 +180,19 @@ export const Payback = observer(() => { { - store.payback.pageSize = page.pageSize; - store.payback.page = page.current; - modalLoader.setLoading(true); - await store.payback.getData(); - modalLoader.setLoading(false); - }, - pageSize: store.payback.pageSize, - total: store.payback.total_data, - current: store.payback.page, - style: {marginBottom: "1rem", marginRight: "1rem"}, - }} + // pagination={{ + // onChange: async (page) => { + // store.payback.pageSize = page.pageSize; + // store.payback.page = page.current; + // modalLoader.setLoading(true); + // await store.payback.getData(); + // modalLoader.setLoading(false); + // }, + // pageSize: store.payback.pageSize, + // total: store.payback.total_data, + // current: store.payback.page, + // style: {marginBottom: "1rem", marginRight: "1rem"}, + // }} dataSource={store.payback.data} style={{padding: 0}} renderItem={(item) => { diff --git a/src/pages/Payback/PaybackFromUser.js b/src/pages/Payback/PaybackFromUser.js index cc258f2..e2a5e1a 100644 --- a/src/pages/Payback/PaybackFromUser.js +++ b/src/pages/Payback/PaybackFromUser.js @@ -12,7 +12,6 @@ const {Search} = Input; export const PaybackFromUser = observer(() => { const store = useStore(); - const [visibleModal, setVisibleModal] = useState(false); const [initialData, setInitialData] = useState({}); const modalLoader = useContext(ModalLoaderContext); @@ -71,23 +70,6 @@ export const PaybackFromUser = observer(() => { }, ]; - const onSubmit = async (data) => { - modalLoader.setLoading(true); - try { - // await store.membership.create(data); - // message.success("Success Add New Member"); - // await store.membership.getData(); - } catch (e) { - console.error(e, "apa errornya"); - message.error("Failed Add Member"); - } - modalLoader.setLoading(false); - setVisibleModal(false); - }; - - const handleAction = async (record, type) => { - }; - return (
@@ -113,7 +95,7 @@ export const PaybackFromUser = observer(() => {
); diff --git a/src/pages/Payback/PaybackModal.js b/src/pages/Payback/PaybackModal.js index 9079ad9..e792c3e 100644 --- a/src/pages/Payback/PaybackModal.js +++ b/src/pages/Payback/PaybackModal.js @@ -6,7 +6,7 @@ import {ModalLoaderContext} from "../../utils/modal"; import {http} from "../../utils/http"; import {appConfig} from "../../config/app"; -export const PaybackModal = ({visible, onCreate, onCancel, initialData}) => { +export const PaybackModal = ({initialData}) => { const [form] = Form.useForm(); const store = useStore(); const [image, setImage] = useState(""); @@ -58,40 +58,51 @@ export const PaybackModal = ({visible, onCreate, onCancel, initialData}) => { ); const handleSubmit = async (data) => { - console.log(data, "isi data2"); + modalLoader.setLoading(true); try { - modalLoader.setLoading(true); - await store.payback.create(data); - modalLoader.setLoading(false); + const request = { + ...data, + destination: store.authentication.profileData.superior?.id + } + await store.payback.create(request); message.success("Success Add Payback"); - await store.payback.getData(); } catch (e) { - modalLoader.setLoading(false); if (e.response?.body?.message) { message.error(e.response.body.message); return; } message.error(e.message); } + modalLoader.setLoading(false); form.resetFields(); + store.payback.visibleModalPayback = false; + setImage(""); + setFileList([]); + setPreviewImage(""); + setPreviewVisible(false); }; + const handleCancel = () => { + form.resetFields(); + store.payback.visibleModalPayback = false; + setImage(""); + setFileList([]); + setPreviewImage(""); + setPreviewVisible(false); + } + return ( { - form.resetFields(); - onCancel(); - }} + onCancel={handleCancel} onOk={() => { form .validateFields() .then((values) => { handleSubmit(values); - console.log(values); form.resetFields(); }) .catch((info) => { @@ -105,14 +116,6 @@ export const PaybackModal = ({visible, onCreate, onCancel, initialData}) => { name="form_in_modal" initialValues={initialData} > - - - Date: Tue, 21 Dec 2021 16:07:47 +0700 Subject: [PATCH 2/6] style: change color tab pane active --- src/index.css | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/index.css b/src/index.css index 8911c18..3c1a8ed 100644 --- a/src/index.css +++ b/src/index.css @@ -63,6 +63,11 @@ code { .ant-menu-submenu-arrow{ padding-right: 40px !important; } -.ant-breadcrumb{ +.ant-breadcrumb { margin-bottom: 10px !important; +} + +.ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn { + color: #ed1f24 !important; + border-color: #ed1f24 !important; } \ No newline at end of file From 88260e97b2221c610f7dd324b0df5a13db4660c4 Mon Sep 17 00:00:00 2001 From: caturbgs Date: Tue, 21 Dec 2021 16:16:27 +0700 Subject: [PATCH 3/6] fix: handler error buy producy --- src/pages/Transaction/Product.js | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/src/pages/Transaction/Product.js b/src/pages/Transaction/Product.js index 5e23868..ed47dd3 100644 --- a/src/pages/Transaction/Product.js +++ b/src/pages/Transaction/Product.js @@ -61,12 +61,16 @@ export const Product = observer(() => { modalLoader.setLoading(true); try { const response = await store.transaction.buyProduct({productCode: data}); - // if (response.status === 200) { - message.success("Success Buy Product"); - // } else { - //message.error("Failed Buy Product"); - //} + if (response.status === 200) { + message.success("Success Buy Product"); + } else { + message.error("Failed Buy Product", 3); + } } catch (e) { + if (e.response?.body?.message) { + message.error(e.response.body.message); + return; + } console.log(e, "apa errornya"); message.error("Failed Buy Product"); } @@ -148,11 +152,11 @@ export const Product = observer(() => { )} {productData.length !== 0 && ( - - - + + + )} ); From 90d862a47d5a42602af5ab0e71744e76afeb5150 Mon Sep 17 00:00:00 2001 From: caturbgs Date: Tue, 21 Dec 2021 16:17:09 +0700 Subject: [PATCH 4/6] fix: handler error buy producy --- src/pages/Transaction/Product.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/Transaction/Product.js b/src/pages/Transaction/Product.js index ed47dd3..eadaa80 100644 --- a/src/pages/Transaction/Product.js +++ b/src/pages/Transaction/Product.js @@ -61,7 +61,7 @@ export const Product = observer(() => { modalLoader.setLoading(true); try { const response = await store.transaction.buyProduct({productCode: data}); - if (response.status === 200) { + if (response.status === 201) { message.success("Success Buy Product"); } else { message.error("Failed Buy Product", 3); From 69efeca588fde50abfe9549347053740f83046a8 Mon Sep 17 00:00:00 2001 From: caturbgs Date: Tue, 21 Dec 2021 16:28:09 +0700 Subject: [PATCH 5/6] fix: product page --- src/pages/Transaction/Product.js | 82 +++++++++++----------------- src/pages/Transaction/Transaction.js | 12 ++-- 2 files changed, 37 insertions(+), 57 deletions(-) diff --git a/src/pages/Transaction/Product.js b/src/pages/Transaction/Product.js index eadaa80..1bc7a67 100644 --- a/src/pages/Transaction/Product.js +++ b/src/pages/Transaction/Product.js @@ -1,4 +1,4 @@ -import React, {useContext, useEffect, useState} from "react"; +import React, {useContext, useEffect} from "react"; import {useStore} from "../../utils/useStore"; import {Button, Card, Col, Input, message, Modal, Row, Select} from "antd"; import {observer} from "mobx-react-lite"; @@ -10,8 +10,6 @@ const {Option} = Select; export const Product = observer(() => { const store = useStore(); - - const [productData, setProductData] = useState([]); const modalLoader = useContext(ModalLoaderContext); useEffect(() => { @@ -36,20 +34,6 @@ export const Product = observer(() => { init(); }, []); - // data - useEffect(() => { - console.log("⚡ transaction data store", store.transaction.data); - setProductData(store.transaction.data); - }, [store.transaction.data]); - - // Subcategory - useEffect(() => { - console.log( - "⚡ transaction subcategory store", - store.transaction.dataSubCategories - ); - }, [store.transaction.dataSubCategories]); - const handleChangeSubcategory = async (item) => { store.transaction.filterSubCategory = item; modalLoader.setLoading(true); @@ -111,47 +95,47 @@ export const Product = observer(() => { - {productData.length != 0 && ( - - {productData.map((item, index) => ( - - { - Modal.confirm({ - title: `Are you sure buy ${item.name}?`, - icon: , - okText: "Confirm", - cancelText: "Cancel", - okType: "primary", - onOk() { - handleBuyProduct(item.code) - }, - onCancel() { - console.log("Cancel"); - }, - }); - }} - style={{cursor: "pointer"}} - > - {item.name} -
- + {store.transaction.data.length != 0 && ( + + {store.transaction.data.map((item, index) => ( + + { + Modal.confirm({ + title: `Are you sure buy ${item.name}?`, + icon: , + okText: "Confirm", + cancelText: "Cancel", + okType: "primary", + onOk() { + handleBuyProduct(item.code) + }, + onCancel() { + console.log("Cancel"); + }, + }); + }} + style={{cursor: "pointer"}} + > + {item.name} +
+ {new Intl.NumberFormat("id-ID", { style: "currency", currency: "IDR", }).format(item?.currentPrice?.mark_up_price)} -
- - ))} -
+
+ + ))} +
)} - {productData.length !== 0 && ( + {store.transaction.data.length !== 0 && (