diff --git a/src/pages/Transaction/Transaction.js b/src/pages/Transaction/Transaction.js index cb902a5..a1f9567 100644 --- a/src/pages/Transaction/Transaction.js +++ b/src/pages/Transaction/Transaction.js @@ -10,6 +10,8 @@ import { Modal, Row, DatePicker, + Form, + Input, } from "antd"; import { BreadcumbComponent } from "../../component/BreadcumbComponent"; import { Product } from "./Product"; @@ -24,12 +26,16 @@ export const Transaction = observer(() => { const { Title } = Typography; const { Option } = Select; const modalLoader = useContext(ModalLoaderContext); + const [form] = Form.useForm(); + const [visibleModalBuy, setVisibleModalBuy] = useState(false); + const [barang, setBarang] = useState({}); useEffect(() => { const init = async () => { try { modalLoader.setLoading(true); await store.transaction.getDataCategories(); + await store.transaction.getDataSubCategories(); modalLoader.setLoading(false); } catch (e) { modalLoader.setLoading(false); @@ -44,22 +50,96 @@ export const Transaction = observer(() => { init(); }, []); - const handleChangeTabs = async (key) => { + const routeData = [ + { + route: LINKS.TRANSACTION, + name: "Transaksi", + }, + ]; + + + const handleChangeTabs = async (item) => { modalLoader.setLoading(true); store.transaction.dataSubCategories = []; store.transaction.data = []; store.transaction.filterSubCategory = null; - store.transaction.filterCategory = key; + store.transaction.filterCategory = item; await store.transaction.getDataSubCategories(); modalLoader.setLoading(false); }; - const routeData = [ - { - route: LINKS.TRANSACTION, - name: "Transaksi" - }, - ]; + const handleChangeSubcategory = async (item) => { + store.transaction.filterSubCategory = item; + modalLoader.setLoading(true); + await store.transaction.getData(); + modalLoader.setLoading(false); + }; + + + const handleBuyProduct = async (data, productCode) => { + modalLoader.setLoading(true); + try { + const response = await store.transaction.buyProd({ + ...data, + productCode: productCode, + }); + + if (response.status === 201) { + message.success(response?.body?.message || "Berhasil Beli Produk"); + } else { + message.error(response?.body?.error || "Gagal Beli Produk", 3); + } + } catch (e) { + console.log("testingan"); + console.log(e.response, "testingan"); + console.log(e.result, "testingan1"); + if (e.response?.body?.error) { + message.error(e.response.body.error); + setVisibleModalBuy(false); + modalLoader.setLoading(false); + return; + } + console.log(e, "apa errornya"); + message.error("Gagal Beli Product"); + } + setVisibleModalBuy(false); + modalLoader.setLoading(false); + }; + + const handleBuyStag = async (data, productCode) => { + modalLoader.setLoading(true); + try { + const response = await store.transaction.buyProduct({ + ...data, + productCode: productCode, + }); + if (response.status === 201) { + message.success(response?.body?.message || "Berhasil Beli Produk"); + } else { + message.error(response?.body?.error || "Gagal Beli Produk", 3); + } + } catch (e) { + console.log("testingan"); + console.log(e.response, "testingan"); + console.log(e.result, "testingan1"); + if (e.response?.body?.error) { + message.error(e.response.body.error); + setVisibleModalBuy(false); + modalLoader.setLoading(false); + return; + } + console.log(e, "apa errornya"); + message.error("Gagal Beli Product"); + } + // setDataProd(false); + // setDataStag(false); + setVisibleModalBuy(false); + modalLoader.setLoading(false); + }; + const handleCancel = () => { + form.resetFields(); + setVisibleModalBuy(false); + }; return (