diff --git a/src/pages/Membership/Membership.js b/src/pages/Membership/Membership.js index 32a275d..9521b40 100644 --- a/src/pages/Membership/Membership.js +++ b/src/pages/Membership/Membership.js @@ -15,26 +15,28 @@ import { Tag, Select, Option, - Typography, + Typography, DatePicker, } from "antd"; import { useStore } from "../../utils/useStore"; import { observer } from "mobx-react-lite"; import { DownloadOutlined, PlusSquareOutlined, - FilterOutlined, + FilterOutlined, ExportOutlined, } from "@ant-design/icons"; import { MembershipModal } from "./MembershipModal"; import { BreadcumbComponent } from "../../component/BreadcumbComponent"; import { LINKS } from "../../routes/app"; import { useHistory } from "react-router-dom"; import { ModalLoaderContext } from "../../utils/modal"; +import moment from "moment"; export const Membership = observer(() => { const history = useHistory(); const { Option } = Select; const { Title } = Typography; const [form] = Form.useForm(); + const [formExport] = Form.useForm(); const store = useStore(); const [visibleModal, setVisibleModal] = useState(false); const [isVisibleTopUpModal, setIsVisibleTopUpModal] = useState(false); @@ -44,6 +46,9 @@ export const Membership = observer(() => { const modalLoader = useContext(ModalLoaderContext); const [filterMembership, setFilterMembership] = useState([]); const [filterPartner, setFilterPartner] = useState([]); + const [filterBuyer, setFilterBuyer] = useState(""); + const [modalExport, setModalExport] = useState(false); + const [filterSupplier, setFilterSupplier] = useState(""); useEffect(() => { const init = async () => { @@ -52,8 +57,10 @@ export const Membership = observer(() => { const isAdmin = store.authentication.userData.role === "Admin"; await getData(); await store.membership.getData(); + await store.membership.getDataFilter(); await store.membership.getDataBySuperior(); await store.partner.getData(); + await store.supplier.getData(); await store.role.getData(isAdmin); modalLoader.setLoading(false); } catch (e) { @@ -167,6 +174,29 @@ export const Membership = observer(() => { setDestination(null); }; + const handleSubmitExport = async () => { + const date = formExport.getFieldsValue(); + const dataAll ={ + dateStart: moment(date.start_date).format("YYYY-MM-DD"), + dateEnd: moment(date.end_date).format("YYYY-MM-DD"), + supplier: filterSupplier, + buyer: filterBuyer + } + modalLoader.setLoading(true); + try { + await store.transaction.exportTransactionAll(dataAll) + // console.log('responseiniyak', response); + // message.success("Success export"); + setModalExport(false); + modalLoader.setLoading(false); + } catch (e) { + setModalExport(false); + console.error(e, "apa errornya"); + message.error(e.response?.body?.message || "Failed to export"); + modalLoader.setLoading(false); + } + }; + const columns = [ { title: "Nama", @@ -344,6 +374,16 @@ export const Membership = observer(() => { Filter )} + {store.authentication.userData.role === "Admin" && ( + + )}