import React, { useContext, useEffect, useState } from "react"; import { useStore } from "../../utils/useStore"; import { Card, Tabs, Col, Button, Typography, Select, Modal, Row, DatePicker, Form, message, Input } from "antd"; import { BreadcumbComponent } from "../../component/BreadcumbComponent"; import { Product } from "./Product"; import { LINKS } from "../../routes/app"; import { observer } from "mobx-react-lite"; import { ModalLoaderContext } from "../../utils/modal"; import { FilterOutlined } from "@ant-design/icons"; const { TabPane } = Tabs; export const Transaction = observer(() => { const store = useStore(); 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); if (e.response?.body?.message) { message.error(e.response.body.message); return; } message.error(e.message); } }; init(); }, []); 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 = item; await store.transaction.getDataSubCategories(); modalLoader.setLoading(false); }; const handleChangeSubcategory = async (item) => { store.transaction.filterSubCategory = item; modalLoader.setLoading(true); await store.transaction.getData(); modalLoader.setLoading(false); }; const handleBuyProduct = async (data, productCode, productId) => { modalLoader.setLoading(true); try { const response = await store.transaction.buyProd({ ...data, productCode: productCode, productId: productId }); if (response.status === 201) { message.success(response?.body?.message || "Berhasil Beli Produk"); } else { message.error(response?.body?.error || "Gagal Beli Produk", 3); } setVisibleModalBuy(false); } 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"); } // message.success("Berhasil Beli Produk"); 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 (