import React, { useContext, useEffect, useState } from "react"; import { Button, Card, Col, Divider, Image, Input, List, message, DatePicker, Row, Table, Tag, Typography, Select, Form, Modal, } from "antd"; import { useStore } from "../../utils/useStore"; import { observer } from "mobx-react-lite"; import { FilterOutlined, PlusSquareOutlined } from "@ant-design/icons"; import { PaybackModal } from "./PaybackModal"; import { BreadcumbComponent } from "../../component/BreadcumbComponent"; import { LINKS } from "../../routes/app"; import { ModalLoaderContext } from "../../utils/modal"; import { appConfig } from "../../config/app"; import { PAYBACK_STATUS } from "../../constants/payback"; import moment from 'moment'; const { Search } = Input; export const PaybackCreated = observer(() => { const { Option } = Select; const { Title } = Typography; const [form] = Form.useForm(); const store = useStore(); const [filterMembership, setFilterMembership] = useState([]); const [initialData, setInitialData] = useState({}); const modalLoader = useContext(ModalLoaderContext); useEffect(() => { const init = async () => { try { modalLoader.setLoading(true); await Promise.allSettled([ store.payback.getDataCreated(), store.authentication.getProfile(), ]); 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 columns = [ { title: "Picture", dataIndex: "image_prove", key: "image_prove", render: (text, record) => ( {record.id} ), }, { title: "Amount", dataIndex: "amount", key: "amount", render: (text) => new Intl.NumberFormat("id-ID", { style: "currency", currency: "IDR", }).format(text), }, { title: "Status", dataIndex: "status", key: "status", width: "10%", render: (text) => ( {PAYBACK_STATUS[text]} ), }, ]; const routeData = [ { route: LINKS.HOME, name: "Beranda", }, { route: LINKS.PAYBACK_CREATED, name: Buat Pembayaran, }, ]; const handleRemoveFilter = async () => { store.payback.filterStart = null; store.payback.filterEnd = null; form.resetFields(); await store.payback.getDataCreated(); store.payback.visibleModalFilterCreate = false; }; const handleCancelFilter = async () => { store.payback.filterStart = null; store.payback.filterEnd = null; store.payback.visibleModalFilterCreate = false; await store.payback.getDataCreated(); }; const handleSubmitFilter = async () => { const data = form.getFieldsValue(); console.log(data); //store.payback.filterMembership = filterMembership; // const awal = format(parseISO(data.start_date), "dd-MM-yyyy") // const akhir = format(parseISO(data.start_date), "dd-MM-yyyy") //const awal= format(startOfDay(date.start_date()), 'yyyy-MM-dd 00:00') const awal=store.payback.filterStart = moment(data.start_date).format('YYYY-MM-DD HH:mm:ss'); const akhir=store.payback.filterEnd = moment(data.end_date).format('YYYY-MM-DD HH:mm:ss'); console.log(awal) console.log(akhir) modalLoader.setLoading(true); await store.payback.getDataCreated(); modalLoader.setLoading(false); // form.resetFields(); // setFilterMembership([]); store.payback.visibleModalFilterCreate = false; }; // const handleFilterCategory = async (value) => { // if (value) { // store.product.filterCategory = value; // await store.product.getDataSubCategories(); // } else { // store.product.filterCategory = null; // await store.product.getDataSubCategories(); // } // }; const footerLayoutFilter = [ , , , ]; return (
{/* */} {store.authentication.userData.role !== "Admin" && ( )} {store.ui.mediaQuery.isDesktop && ( { let pageNumber = page.current; store.payback.pageSizeCreated = page.pageSize; store.payback.pageCreated = pageNumber - 1; modalLoader.setLoading(true); await store.payback.getDataCreated(); modalLoader.setLoading(false); }} /> )} {store.ui.mediaQuery.isMobile && ( { store.payback.pageSizeCreated = page.pageSize; store.payback.pageCreated = page.current - 1; modalLoader.setLoading(true); await store.payback.getDataCreated(); modalLoader.setLoading(false); }, pageSize: store.payback.pageSizeCreated, total: store.payback.totalDataCreated, current: store.payback.pageCreated + 1, style: { marginBottom: "1rem", marginRight: "1rem" }, }} dataSource={store.payback.dataCreated} style={{ padding: 0 }} renderItem={(item) => { return (
} />

{item.amount}

); }} /> )} { //form.resetFields(); store.payback.filterStart = null; store.payback.filterEnd = null; store.payback.visibleModalFilterCreate = false; await store.payback.getDataCreated(); }} >
); });