diff --git a/src/pages/Membership/MembershipModal.js b/src/pages/Membership/MembershipModal.js
index 77e3550..752cbe0 100644
--- a/src/pages/Membership/MembershipModal.js
+++ b/src/pages/Membership/MembershipModal.js
@@ -102,8 +102,8 @@ export const MembershipModal = ({
},
{
//pattern: /^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#\$%\^&\*])(?=.{8,})/,
- pattern: /^[\d]{2,12}$/,
- message: "Phone number should be less than 12 character",
+ pattern: /^[\d]{10,12}$/,
+ message: "Phone number should be 10 - 12 character",
},
]}
>
diff --git a/src/pages/Payback/Payback.js b/src/pages/Payback/Payback.js
index bdf6545..0f85258 100644
--- a/src/pages/Payback/Payback.js
+++ b/src/pages/Payback/Payback.js
@@ -234,9 +234,9 @@ export const Payback = observer(() => {
const handleSubmitFilter = async () => {
const data = form.getFieldsValue();
//console.log(data);
- store.transaction.filterMembership = filterMembership;
- store.transaction.filterStart = data.start_date;
- store.transaction.filterEnd = data.end_date;
+ store.payback.filterMembership = filterMembership;
+ store.payback.filterStart = data.start_date;
+ store.payback.filterEnd = data.end_date;
modalLoader.setLoading(true);
await store.payback.getDataConfirmation();
modalLoader.setLoading(false);
diff --git a/src/pages/Payback/PaybackCreated.js b/src/pages/Payback/PaybackCreated.js
index 1ba7bbe..c189717 100644
--- a/src/pages/Payback/PaybackCreated.js
+++ b/src/pages/Payback/PaybackCreated.js
@@ -1,19 +1,40 @@
-import React, {useContext, useEffect, useState} from "react";
-import {Button, Card, Col, Divider, Image, Input, List, message, Row, Table, Tag,} 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 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";
-const {Search} = Input;
+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);
@@ -45,11 +66,11 @@ export const PaybackCreated = observer(() => {
dataIndex: "image_prove",
key: "image_prove",
render: (text, record) => (
-
+
),
},
{
@@ -57,23 +78,24 @@ export const PaybackCreated = observer(() => {
dataIndex: "amount",
key: "amount",
render: (text) =>
- new Intl.NumberFormat("id-ID", {
- style: "currency",
- currency: "IDR",
- }).format(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]}
-
+ width: "10%",
+ render: (text) => (
+
+ {PAYBACK_STATUS[text]}
+
+ ),
},
];
@@ -84,23 +106,91 @@ export const PaybackCreated = observer(() => {
},
{
route: LINKS.PAYBACK_CREATED,
- name: Buat Pembayaran,
+ 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;
+ store.payback.filterStart = data.start_date;
+ store.payback.filterEnd = data.end_date;
+ 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.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);
- }}
+ key="1"
+ hasEmpty
+ columns={columns}
+ dataSource={store.payback.dataCreated}
+ bordered
+ pagination={{
+ pageSize: store.payback.pageSizeCreated,
+ total: store.payback.totalDataCreated,
+ current: store.payback.pageCreated + 1,
+ showSizeChanger: true,
+ simple: false,
+ }}
+ onChange={async (page) => {
+ let pageNumber = page.current;
+ store.payback.pageSizeCreated = page.pageSize;
+ store.payback.pageCreated = pageNumber - 1;
+ modalLoader.setLoading(true);
+ await store.payback.getDataCreated();
+ modalLoader.setLoading(false);
+ }}
/>
)}
@@ -161,10 +251,10 @@ export const PaybackCreated = observer(() => {
pageSize: store.payback.pageSizeCreated,
total: store.payback.totalDataCreated,
current: store.payback.pageCreated + 1,
- style: {marginBottom: "1rem", marginRight: "1rem"},
+ style: { marginBottom: "1rem", marginRight: "1rem" },
}}
dataSource={store.payback.dataCreated}
- style={{padding: 0}}
+ style={{ padding: 0 }}
renderItem={(item) => {
return (
@@ -185,11 +275,11 @@ export const PaybackCreated = observer(() => {
title={item.name}
description={
-
+
}
/>
-
);
}}
@@ -208,10 +298,40 @@ export const PaybackCreated = observer(() => {
)}
-
-
+ {
+ //form.resetFields();
+ store.payback.filterStart = null;
+ store.payback.filterEnd = null;
+ store.payback.visibleModalFilterCreate = false;
+ await store.payback.getDataCreated();
+ }}
+ >
+
+
+
+
+
+
+
+
+
+
+
+
+
);
});
diff --git a/src/store/payback.js b/src/store/payback.js
index 74b0624..a3399b2 100644
--- a/src/store/payback.js
+++ b/src/store/payback.js
@@ -20,6 +20,9 @@ export class Payback {
filterMembership=null;
filterStart=null;
filterEnd=null;
+
+ //filter created
+ visibleModalFilterCreate=false
constructor(ctx) {
this.ctx = ctx;
makeAutoObservable(this);