Merge branch 'develop' into 'devops-staging'
Develop See merge request empatnusabangsa/ppob/ppob-frontend!66
This commit is contained in:
commit
de81fd8ccf
|
@ -175,7 +175,7 @@ export const CategoryComponent = observer((props) => {
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<List.Item.Meta
|
<List.Item.Meta
|
||||||
className={["cariparkir-container"].join(" ")}
|
className={[""].join(" ")}
|
||||||
title={item.code}
|
title={item.code}
|
||||||
description={
|
description={
|
||||||
<div style={{}}>
|
<div style={{}}>
|
||||||
|
|
|
@ -265,7 +265,7 @@ export const PartnerComponent = observer((props) => {
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<List.Item.Meta
|
<List.Item.Meta
|
||||||
className={["cariparkir-container"].join(" ")}
|
className={[""].join(" ")}
|
||||||
title={item.code}
|
title={item.code}
|
||||||
description={
|
description={
|
||||||
<div style={{}}>
|
<div style={{}}>
|
||||||
|
@ -275,7 +275,7 @@ export const PartnerComponent = observer((props) => {
|
||||||
<small>Npwp : {item.npwp}</small> <br />
|
<small>Npwp : {item.npwp}</small> <br />
|
||||||
<small>Address : {item.address}</small>
|
<small>Address : {item.address}</small>
|
||||||
</div>
|
</div>
|
||||||
<Space size="middle">
|
<Space size="small">
|
||||||
<Button
|
<Button
|
||||||
type={
|
type={
|
||||||
item?.status === true ? "danger" : "primary"
|
item?.status === true ? "danger" : "primary"
|
||||||
|
@ -359,7 +359,7 @@ export const PartnerComponent = observer((props) => {
|
||||||
rules={[
|
rules={[
|
||||||
idData
|
idData
|
||||||
? { required: false }
|
? { required: false }
|
||||||
: { required: true, message: "Please input password name!" },
|
: { required: true, message: "Please input name!" },
|
||||||
]}
|
]}
|
||||||
>
|
>
|
||||||
<Input />
|
<Input />
|
||||||
|
|
|
@ -343,7 +343,7 @@ export const ProductComponent = observer((props) => {
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<List.Item.Meta
|
<List.Item.Meta
|
||||||
className={["cariparkir-container"].join(" ")}
|
className={[""].join(" ")}
|
||||||
title={item.product_code}
|
title={item.product_code}
|
||||||
description={
|
description={
|
||||||
<div style={{}}>
|
<div style={{}}>
|
||||||
|
|
|
@ -178,7 +178,7 @@ export const SubcategoryComponent = observer((props) => {
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<List.Item.Meta
|
<List.Item.Meta
|
||||||
className={["cariparkir-container"].join(" ")}
|
className={[""].join(" ")}
|
||||||
title={item.code}
|
title={item.code}
|
||||||
description={
|
description={
|
||||||
<div style={{}}>
|
<div style={{}}>
|
||||||
|
|
|
@ -281,7 +281,7 @@ export const SupplierComponent = observer((props) => {
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<List.Item.Meta
|
<List.Item.Meta
|
||||||
className={["cariparkir-container"].join(" ")}
|
className={[""].join(" ")}
|
||||||
title={item.code}
|
title={item.code}
|
||||||
description={
|
description={
|
||||||
<div style={{}}>
|
<div style={{}}>
|
||||||
|
|
|
@ -48,56 +48,7 @@ export const Home = observer(() => {
|
||||||
? await store.membership.getData()
|
? await store.membership.getData()
|
||||||
: await store.membership.getDataBySuperior();
|
: await store.membership.getDataBySuperior();
|
||||||
};
|
};
|
||||||
const columns = [
|
|
||||||
{
|
|
||||||
title: "Name",
|
|
||||||
dataIndex: "name",
|
|
||||||
key: "name",
|
|
||||||
render: (text, record) => record?.name ?? record?.username,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "Role",
|
|
||||||
dataIndex: "roleName",
|
|
||||||
key: "role",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "Saldo",
|
|
||||||
dataIndex: ["coa", "amount"],
|
|
||||||
key: ["coa", "amount"],
|
|
||||||
width: "20%",
|
|
||||||
render: (text) =>
|
|
||||||
new Intl.NumberFormat("id-ID", {
|
|
||||||
style: "currency",
|
|
||||||
currency: "IDR",
|
|
||||||
}).format(text),
|
|
||||||
},
|
|
||||||
// {
|
|
||||||
// title: "Action",
|
|
||||||
// key: "action",
|
|
||||||
// render: (text, record) => (
|
|
||||||
// <Space size="middle">
|
|
||||||
// <Button
|
|
||||||
// onClick={() => {
|
|
||||||
// setDestination(record?.id);
|
|
||||||
// console.log(record?.id);
|
|
||||||
// setIsVisibleTopUpModal(true);
|
|
||||||
// }}
|
|
||||||
// >
|
|
||||||
// <DownloadOutlined /> Top Up Saldo
|
|
||||||
// </Button>
|
|
||||||
// <Button
|
|
||||||
// onClick={async () => {
|
|
||||||
// await store.transaction.getDataHistoryTopUp(record.id);
|
|
||||||
// history.push(LINKS.USER_DETAIL.replace(":id", record.id));
|
|
||||||
// console.log(record.id);
|
|
||||||
// }}
|
|
||||||
// >
|
|
||||||
// Detail
|
|
||||||
// </Button>
|
|
||||||
// </Space>
|
|
||||||
// ),
|
|
||||||
// },
|
|
||||||
];
|
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
{store.ui.mediaQuery.isDesktop &&
|
{store.ui.mediaQuery.isDesktop &&
|
||||||
|
@ -328,28 +279,6 @@ export const Home = observer(() => {
|
||||||
</PageHeader>
|
</PageHeader>
|
||||||
</Row>
|
</Row>
|
||||||
</Card>
|
</Card>
|
||||||
{/*<Card*/}
|
|
||||||
{/* className={"shadow"}*/}
|
|
||||||
{/* hoverable*/}
|
|
||||||
{/* style={{*/}
|
|
||||||
{/* marginLeft: 20,*/}
|
|
||||||
{/* height: 200,*/}
|
|
||||||
{/* marginBottom: 10,*/}
|
|
||||||
{/* borderColor: "salmon",*/}
|
|
||||||
{/* width: "30%",*/}
|
|
||||||
{/* }}*/}
|
|
||||||
{/*>*/}
|
|
||||||
{/* <Row>*/}
|
|
||||||
{/* <PageHeader title={<span>Total Keuntungan B2C</span>}>*/}
|
|
||||||
{/* <span>*/}
|
|
||||||
{/* {new Intl.NumberFormat("id-ID", {*/}
|
|
||||||
{/* style: "currency",*/}
|
|
||||||
{/* currency: "IDR",*/}
|
|
||||||
{/* }).format(store.authentication.profileData?.wallet || 0)}*/}
|
|
||||||
{/* </span>*/}
|
|
||||||
{/* </PageHeader>*/}
|
|
||||||
{/* </Row>*/}
|
|
||||||
{/*</Card>*/}
|
|
||||||
</Row>
|
</Row>
|
||||||
)}
|
)}
|
||||||
{store.ui.mediaQuery.isMobile &&
|
{store.ui.mediaQuery.isMobile &&
|
||||||
|
@ -497,28 +426,6 @@ export const Home = observer(() => {
|
||||||
</Row>
|
</Row>
|
||||||
</Row>
|
</Row>
|
||||||
</Card>
|
</Card>
|
||||||
{/*<Card*/}
|
|
||||||
{/* className={"shadow"}*/}
|
|
||||||
{/* hoverable*/}
|
|
||||||
{/* style={{*/}
|
|
||||||
{/* marginLeft: 20,*/}
|
|
||||||
{/* height: 200,*/}
|
|
||||||
{/* marginBottom: 10,*/}
|
|
||||||
{/* borderColor: "salmon",*/}
|
|
||||||
{/* width: "30%",*/}
|
|
||||||
{/* }}*/}
|
|
||||||
{/*>*/}
|
|
||||||
{/* <Row>*/}
|
|
||||||
{/* <PageHeader title={<span>Total Keuntungan B2C</span>}>*/}
|
|
||||||
{/* <span>*/}
|
|
||||||
{/* {new Intl.NumberFormat("id-ID", {*/}
|
|
||||||
{/* style: "currency",*/}
|
|
||||||
{/* currency: "IDR",*/}
|
|
||||||
{/* }).format(store.authentication.profileData?.wallet || 0)}*/}
|
|
||||||
{/* </span>*/}
|
|
||||||
{/* </PageHeader>*/}
|
|
||||||
{/* </Row>*/}
|
|
||||||
{/*</Card>*/}
|
|
||||||
</Row>
|
</Row>
|
||||||
)}
|
)}
|
||||||
{store.ui.mediaQuery.isMobile &&
|
{store.ui.mediaQuery.isMobile &&
|
||||||
|
@ -579,241 +486,8 @@ export const Home = observer(() => {
|
||||||
</PageHeader>
|
</PageHeader>
|
||||||
</Row>
|
</Row>
|
||||||
</Card>
|
</Card>
|
||||||
{/*<Card*/}
|
|
||||||
{/* className={"shadow"}*/}
|
|
||||||
{/* hoverable*/}
|
|
||||||
{/* style={{*/}
|
|
||||||
{/* marginLeft: 20,*/}
|
|
||||||
{/* height: 200,*/}
|
|
||||||
{/* marginBottom: 10,*/}
|
|
||||||
{/* borderColor: "salmon",*/}
|
|
||||||
{/* width: "30%",*/}
|
|
||||||
{/* }}*/}
|
|
||||||
{/*>*/}
|
|
||||||
{/* <Row>*/}
|
|
||||||
{/* <PageHeader title={<span>Total Keuntungan B2C</span>}>*/}
|
|
||||||
{/* <span>*/}
|
|
||||||
{/* {new Intl.NumberFormat("id-ID", {*/}
|
|
||||||
{/* style: "currency",*/}
|
|
||||||
{/* currency: "IDR",*/}
|
|
||||||
{/* }).format(store.authentication.profileData?.wallet || 0)}*/}
|
|
||||||
{/* </span>*/}
|
|
||||||
{/* </PageHeader>*/}
|
|
||||||
{/* </Row>*/}
|
|
||||||
{/*</Card>*/}
|
|
||||||
</Row>
|
</Row>
|
||||||
)}
|
)}
|
||||||
{/*{store.authentication.userData.role === "Admin" &&*/}
|
|
||||||
{/* store.ui.mediaQuery.isDesktop && (*/}
|
|
||||||
{/* <Row style={{ marginLeft: 50, marginTop: 10 }}>*/}
|
|
||||||
{/* <Card*/}
|
|
||||||
{/* className={"shadow"}*/}
|
|
||||||
{/* title="List Transaksi B2B"*/}
|
|
||||||
{/* style={{*/}
|
|
||||||
{/* marginBottom: 30,*/}
|
|
||||||
{/* marginRight: 20,*/}
|
|
||||||
{/* borderColor: "salmon",*/}
|
|
||||||
{/* width: "47%",*/}
|
|
||||||
{/* }}*/}
|
|
||||||
{/* >*/}
|
|
||||||
{/* <Table*/}
|
|
||||||
{/* key="1"*/}
|
|
||||||
{/* hasEmpty*/}
|
|
||||||
{/* size="large"*/}
|
|
||||||
{/* columns={columns}*/}
|
|
||||||
{/* dataSource={store.membership.data}*/}
|
|
||||||
{/* bordered*/}
|
|
||||||
{/* pagination={{*/}
|
|
||||||
{/* pageSize: store.membership.pageSize,*/}
|
|
||||||
{/* total: store.membership.totalData,*/}
|
|
||||||
{/* current: store.membership.page + 1,*/}
|
|
||||||
{/* showSizeChanger: true,*/}
|
|
||||||
{/* simple: false,*/}
|
|
||||||
{/* }}*/}
|
|
||||||
{/* onChange={async (page) => {*/}
|
|
||||||
{/* let pageNumber = page.current;*/}
|
|
||||||
{/* store.membership.pageSize = page.pageSize;*/}
|
|
||||||
{/* store.membership.page = pageNumber - 1;*/}
|
|
||||||
{/* modalLoader.setLoading(true);*/}
|
|
||||||
{/* await getData();*/}
|
|
||||||
{/* modalLoader.setLoading(false);*/}
|
|
||||||
{/* }}*/}
|
|
||||||
{/* />*/}
|
|
||||||
{/* </Card>*/}
|
|
||||||
{/* <Card*/}
|
|
||||||
{/* className={"shadow"}*/}
|
|
||||||
{/* title="List Transaksi B2C"*/}
|
|
||||||
{/* style={{*/}
|
|
||||||
{/* marginBottom: 30,*/}
|
|
||||||
{/* borderColor: "salmon",*/}
|
|
||||||
{/* width: "47%",*/}
|
|
||||||
{/* }}*/}
|
|
||||||
{/* >*/}
|
|
||||||
{/* <Table*/}
|
|
||||||
{/* key="1"*/}
|
|
||||||
{/* hasEmpty*/}
|
|
||||||
{/* size="large"*/}
|
|
||||||
{/* columns={columns}*/}
|
|
||||||
{/* dataSource={store.membership.data}*/}
|
|
||||||
{/* bordered*/}
|
|
||||||
{/* pagination={{*/}
|
|
||||||
{/* pageSize: store.membership.pageSize,*/}
|
|
||||||
{/* total: store.membership.totalData,*/}
|
|
||||||
{/* current: store.membership.page + 1,*/}
|
|
||||||
{/* showSizeChanger: true,*/}
|
|
||||||
{/* simple: false,*/}
|
|
||||||
{/* }}*/}
|
|
||||||
{/* onChange={async (page) => {*/}
|
|
||||||
{/* let pageNumber = page.current;*/}
|
|
||||||
{/* store.membership.pageSize = page.pageSize;*/}
|
|
||||||
{/* store.membership.page = pageNumber - 1;*/}
|
|
||||||
{/* modalLoader.setLoading(true);*/}
|
|
||||||
{/* await getData();*/}
|
|
||||||
{/* modalLoader.setLoading(false);*/}
|
|
||||||
{/* }}*/}
|
|
||||||
{/* />*/}
|
|
||||||
{/* </Card>*/}
|
|
||||||
{/* </Row>*/}
|
|
||||||
{/* )}*/}
|
|
||||||
{/*{store.ui.mediaQuery.isMobile && (*/}
|
|
||||||
{/* <div style={{ marginTop: 10 }}>*/}
|
|
||||||
{/* <Card*/}
|
|
||||||
{/* className={"shadow"}*/}
|
|
||||||
{/* hoverable*/}
|
|
||||||
{/* style={{*/}
|
|
||||||
{/* marginLeft: 20,*/}
|
|
||||||
{/* height: 200,*/}
|
|
||||||
{/* marginBottom: 10,*/}
|
|
||||||
{/* marginRight: 20,*/}
|
|
||||||
{/* borderColor: "salmon",*/}
|
|
||||||
{/* }}*/}
|
|
||||||
{/* >*/}
|
|
||||||
{/* <Row>*/}
|
|
||||||
{/* <BarChartOutlined style={{ fontSize: 25,marginRight:80 }} />*/}
|
|
||||||
{/* <PageHeader title={<span>Total Transaksi</span>}>*/}
|
|
||||||
{/* <p>*/}
|
|
||||||
{/* <h4>{store.transaction.dataTransaction} Transaksi</h4>*/}
|
|
||||||
{/* </p>*/}
|
|
||||||
{/* </PageHeader>*/}
|
|
||||||
{/* </Row>*/}
|
|
||||||
{/* </Card>*/}
|
|
||||||
{/* <Card*/}
|
|
||||||
{/* className={"shadow"}*/}
|
|
||||||
{/* hoverable*/}
|
|
||||||
{/* style={{*/}
|
|
||||||
{/* marginLeft: 20,*/}
|
|
||||||
{/* height: 200,*/}
|
|
||||||
{/* marginBottom: 10,*/}
|
|
||||||
{/* marginRight: 20,*/}
|
|
||||||
{/* borderColor: "salmon",*/}
|
|
||||||
{/* }}*/}
|
|
||||||
{/* >*/}
|
|
||||||
{/* <Row>*/}
|
|
||||||
{/* <DropboxOutlined style={{ fontSize: 25 }} />*/}
|
|
||||||
{/* <PageHeader title={<span>Total Keuntungan B2B</span>}>*/}
|
|
||||||
{/* <span>*/}
|
|
||||||
{/* {new Intl.NumberFormat("id-ID", {*/}
|
|
||||||
{/* style: "currency",*/}
|
|
||||||
{/* currency: "IDR",*/}
|
|
||||||
{/* }).format(store.authentication.profileData?.wallet || 0)}*/}
|
|
||||||
{/* </span>*/}
|
|
||||||
{/* </PageHeader>*/}
|
|
||||||
{/* </Row>*/}
|
|
||||||
{/* </Card>*/}
|
|
||||||
{/* <Card*/}
|
|
||||||
{/* className={"shadow"}*/}
|
|
||||||
{/* hoverable*/}
|
|
||||||
{/* style={{*/}
|
|
||||||
{/* marginLeft: 20,*/}
|
|
||||||
{/* height: 200,*/}
|
|
||||||
{/* marginBottom: 10,*/}
|
|
||||||
{/* marginRight: 20,*/}
|
|
||||||
{/* borderColor: "salmon",*/}
|
|
||||||
{/* }}*/}
|
|
||||||
{/* >*/}
|
|
||||||
{/* <Row>*/}
|
|
||||||
{/* <DollarCircleOutlined style={{ fontSize: 25 }} />*/}
|
|
||||||
{/* <PageHeader title={<span>Total Keuntungan B2C</span>}>*/}
|
|
||||||
{/* <span>*/}
|
|
||||||
{/* {new Intl.NumberFormat("id-ID", {*/}
|
|
||||||
{/* style: "currency",*/}
|
|
||||||
{/* currency: "IDR",*/}
|
|
||||||
{/* }).format(store.authentication.profileData?.wallet || 0)}*/}
|
|
||||||
{/* </span>*/}
|
|
||||||
{/* </PageHeader>*/}
|
|
||||||
{/* </Row>*/}
|
|
||||||
{/* </Card>*/}
|
|
||||||
{/* </div>*/}
|
|
||||||
{/*)}*/}
|
|
||||||
{/*{store.authentication.userData.role === "Admin" &&*/}
|
|
||||||
{/* store.ui.mediaQuery.isMobile && (*/}
|
|
||||||
{/* <Row style={{ marginLeft: 20, marginRight: 20, marginTop: 10 }}>*/}
|
|
||||||
{/* <Card*/}
|
|
||||||
{/* className={"shadow"}*/}
|
|
||||||
{/* title="List Transaksi B2B"*/}
|
|
||||||
{/* style={{*/}
|
|
||||||
{/* marginBottom: 10,*/}
|
|
||||||
{/* borderColor: "salmon",*/}
|
|
||||||
{/* }}*/}
|
|
||||||
{/* >*/}
|
|
||||||
{/* <Table*/}
|
|
||||||
{/* key="1"*/}
|
|
||||||
{/* hasEmpty*/}
|
|
||||||
{/* size="small"*/}
|
|
||||||
{/* columns={columns}*/}
|
|
||||||
{/* dataSource={store.membership.data}*/}
|
|
||||||
{/* bordered*/}
|
|
||||||
{/* pagination={{*/}
|
|
||||||
{/* pageSize: store.membership.pageSize,*/}
|
|
||||||
{/* total: store.membership.totalData,*/}
|
|
||||||
{/* current: store.membership.page + 1,*/}
|
|
||||||
{/* showSizeChanger: true,*/}
|
|
||||||
{/* simple: false,*/}
|
|
||||||
{/* }}*/}
|
|
||||||
{/* onChange={async (page) => {*/}
|
|
||||||
{/* let pageNumber = page.current;*/}
|
|
||||||
{/* store.membership.pageSize = page.pageSize;*/}
|
|
||||||
{/* store.membership.page = pageNumber - 1;*/}
|
|
||||||
{/* modalLoader.setLoading(true);*/}
|
|
||||||
{/* await getData();*/}
|
|
||||||
{/* modalLoader.setLoading(false);*/}
|
|
||||||
{/* }}*/}
|
|
||||||
{/* />*/}
|
|
||||||
{/* </Card>*/}
|
|
||||||
{/* <Card*/}
|
|
||||||
{/* className={"shadow"}*/}
|
|
||||||
{/* title="List Transaksi B2C"*/}
|
|
||||||
{/* style={{*/}
|
|
||||||
{/* marginBottom: 30,*/}
|
|
||||||
{/* borderColor: "salmon",*/}
|
|
||||||
{/* }}*/}
|
|
||||||
{/* >*/}
|
|
||||||
{/* <Table*/}
|
|
||||||
{/* key="1"*/}
|
|
||||||
{/* hasEmpty*/}
|
|
||||||
{/* size="small"*/}
|
|
||||||
{/* columns={columns}*/}
|
|
||||||
{/* dataSource={store.membership.data}*/}
|
|
||||||
{/* bordered*/}
|
|
||||||
{/* pagination={{*/}
|
|
||||||
{/* pageSize: store.membership.pageSize,*/}
|
|
||||||
{/* total: store.membership.totalData,*/}
|
|
||||||
{/* current: store.membership.page + 1,*/}
|
|
||||||
{/* showSizeChanger: true,*/}
|
|
||||||
{/* simple: false,*/}
|
|
||||||
{/* }}*/}
|
|
||||||
{/* onChange={async (page) => {*/}
|
|
||||||
{/* let pageNumber = page.current;*/}
|
|
||||||
{/* store.membership.pageSize = page.pageSize;*/}
|
|
||||||
{/* store.membership.page = pageNumber - 1;*/}
|
|
||||||
{/* modalLoader.setLoading(true);*/}
|
|
||||||
{/* await getData();*/}
|
|
||||||
{/* modalLoader.setLoading(false);*/}
|
|
||||||
{/* }}*/}
|
|
||||||
{/* />*/}
|
|
||||||
{/* </Card>*/}
|
|
||||||
{/* </Row>*/}
|
|
||||||
{/* )}*/}
|
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
|
@ -280,7 +280,7 @@ export const DetailUser = observer(() => {
|
||||||
"detail gambar"
|
"detail gambar"
|
||||||
);
|
);
|
||||||
return (
|
return (
|
||||||
<div className={["ppob-container"].join(" ")}>
|
<div className={[""].join(" ")}>
|
||||||
<BreadcumbComponent data={routeData} />
|
<BreadcumbComponent data={routeData} />
|
||||||
<Card>
|
<Card>
|
||||||
<Row style={{ marginBottom: 10 }}>
|
<Row style={{ marginBottom: 10 }}>
|
||||||
|
@ -337,6 +337,9 @@ export const DetailUser = observer(() => {
|
||||||
console.log(
|
console.log(
|
||||||
store.membership.dataDetail.userDetail.image_identity
|
store.membership.dataDetail.userDetail.image_identity
|
||||||
);
|
);
|
||||||
|
console.log(
|
||||||
|
store.membership.dataDetail.userDetail.image_store,"ini store"
|
||||||
|
);
|
||||||
console.log(store.membership.dataDetail.username);
|
console.log(store.membership.dataDetail.username);
|
||||||
setVisibleModal(true);
|
setVisibleModal(true);
|
||||||
}}
|
}}
|
||||||
|
|
|
@ -442,7 +442,7 @@ export const Membership = observer(() => {
|
||||||
<small>Role : {item.roles?.name}</small> <br />
|
<small>Role : {item.roles?.name}</small> <br />
|
||||||
<small>Saldo : {item.coa?.amount}</small> <br />
|
<small>Saldo : {item.coa?.amount}</small> <br />
|
||||||
<Button
|
<Button
|
||||||
style={{ marginRight: 10 }}
|
style={{ marginRight: 10,marginTop:7 }}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
setDestination(item?.id);
|
setDestination(item?.id);
|
||||||
console.log(item?.id);
|
console.log(item?.id);
|
||||||
|
|
|
@ -15,7 +15,6 @@ import { useStore } from "../../utils/useStore";
|
||||||
import { appConfig } from "../../config/app";
|
import { appConfig } from "../../config/app";
|
||||||
import { LoadingOutlined, PlusOutlined } from "@ant-design/icons";
|
import { LoadingOutlined, PlusOutlined } from "@ant-design/icons";
|
||||||
|
|
||||||
const { Title, Text } = Typography;
|
|
||||||
export const MembershipModal = ({
|
export const MembershipModal = ({
|
||||||
visible,
|
visible,
|
||||||
onCreate,
|
onCreate,
|
||||||
|
|
|
@ -1,141 +0,0 @@
|
||||||
import React from 'react';
|
|
||||||
import { Image, Modal, Upload, message } from 'antd';
|
|
||||||
import { PlusOutlined } from '@ant-design/icons';
|
|
||||||
import { http } from "../utils/http";
|
|
||||||
|
|
||||||
function getBase64(file) {
|
|
||||||
return new Promise((resolve, reject) => {
|
|
||||||
const reader = new FileReader();
|
|
||||||
reader.readAsDataURL(file);
|
|
||||||
reader.onload = () => resolve(reader.result);
|
|
||||||
reader.onerror = error => reject(error);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
export class PicturesWall extends React.Component {
|
|
||||||
state = {
|
|
||||||
previewVisible: false,
|
|
||||||
previewImage: '',
|
|
||||||
previewTitle: '',
|
|
||||||
fileList: [],
|
|
||||||
};
|
|
||||||
|
|
||||||
handleCancel = () => this.setState({ previewVisible: false });
|
|
||||||
|
|
||||||
handlePreview = async file => {
|
|
||||||
if (!file.url && !file.preview) {
|
|
||||||
file.preview = await getBase64(file.originFileObj);
|
|
||||||
}
|
|
||||||
|
|
||||||
this.setState({
|
|
||||||
previewImage: file.url || file.preview,
|
|
||||||
previewTitle: file.name || file.url.substring(file.url.lastIndexOf('/') + 1),
|
|
||||||
previewVisible: true,
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
handlePreviewCancel = () => {
|
|
||||||
this.setState({
|
|
||||||
previewVisible: false,
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
handleChange = ({ fileList }, info) => {
|
|
||||||
|
|
||||||
// if (this.props.maxUpload) {
|
|
||||||
// if (fileList.length > this.props.maxUpload) {
|
|
||||||
// fileList.splice(0, 1)
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// if (info.file.status !== 'uploading') {
|
|
||||||
// console.log(info.file, info.fileList);
|
|
||||||
// }
|
|
||||||
// if (info.file.status === 'done') {
|
|
||||||
// message.success(`${info.file.name} file uploaded successfully`);
|
|
||||||
// } else if (info.file.status === 'error') {
|
|
||||||
// message.error(`${info.file.name} file upload failed.`);
|
|
||||||
// }
|
|
||||||
|
|
||||||
this.setState({ fileList })
|
|
||||||
};
|
|
||||||
|
|
||||||
render() {
|
|
||||||
const { previewVisible, previewImage, fileList, previewTitle, handlePreviewCancel } = this.state;
|
|
||||||
const uploadButton = (
|
|
||||||
<div>
|
|
||||||
<PlusOutlined />
|
|
||||||
<div style={{ marginTop: 8 }}>Upload</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
|
|
||||||
return (
|
|
||||||
<>
|
|
||||||
<Upload
|
|
||||||
action="https://www.mocky.io/v2/5cc8019d300000980a055e76"
|
|
||||||
listType="picture-card"
|
|
||||||
fileList={fileList}
|
|
||||||
accept={'.png, .jpg, .jpeg, .PNG, .JPG, .JPEG'}
|
|
||||||
onPreview={this.handlePreview}
|
|
||||||
onChange={this.handleChange}
|
|
||||||
beforeUpload={(file) => {
|
|
||||||
console.log({ file })
|
|
||||||
http.uploadAntd({
|
|
||||||
file,
|
|
||||||
onError() {
|
|
||||||
|
|
||||||
},
|
|
||||||
onProgress(event) {
|
|
||||||
console.log({ event })
|
|
||||||
},
|
|
||||||
onSuccess: (res) => {
|
|
||||||
if (this.props.onUpload) {
|
|
||||||
const { fileList } = this.state
|
|
||||||
const index = fileList.findIndex(d => d.uid === file.uid)
|
|
||||||
|
|
||||||
if (fileList.length > this.props.maxUpload) {
|
|
||||||
this.setState({
|
|
||||||
fileList: []
|
|
||||||
}) && this.props.onUpload()
|
|
||||||
message.error('Upload foto tidak boleh melebihi batas maksimal!');
|
|
||||||
} else {
|
|
||||||
fileList[index].path = res.body.path
|
|
||||||
this.setState({
|
|
||||||
...fileList
|
|
||||||
})
|
|
||||||
this.props.onUpload(fileList)
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
return false;
|
|
||||||
}}
|
|
||||||
{...(this.props.uploadProps || {})}
|
|
||||||
>
|
|
||||||
{/* {fileList.length > this.props.maxUpload ?
|
|
||||||
this.setState({
|
|
||||||
fileList: []
|
|
||||||
}) && this.props.onUpload() && null
|
|
||||||
:
|
|
||||||
''} */}
|
|
||||||
{fileList.length >= this.props.maxUpload ? '' : uploadButton}
|
|
||||||
</Upload>
|
|
||||||
|
|
||||||
<Modal
|
|
||||||
visible={previewVisible}
|
|
||||||
title={previewTitle}
|
|
||||||
footer={null}
|
|
||||||
onCancel={this.handleCancel}
|
|
||||||
>
|
|
||||||
<Image
|
|
||||||
onClick={this.handleCancel}
|
|
||||||
src={previewImage}
|
|
||||||
/>
|
|
||||||
</Modal>
|
|
||||||
</>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export default PicturesWall;
|
|
|
@ -366,7 +366,7 @@ export const Payback = observer(() => {
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<List.Item.Meta
|
<List.Item.Meta
|
||||||
className={["cariparkir-container"].join(" ")}
|
className={[""].join(" ")}
|
||||||
title={item.userData_name}
|
title={item.userData_name}
|
||||||
description={
|
description={
|
||||||
<div style={{}}>
|
<div style={{}}>
|
||||||
|
|
|
@ -304,11 +304,39 @@ export const PaybackCreated = observer(() => {
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<List.Item.Meta
|
<List.Item.Meta
|
||||||
className={["cariparkir-container"].join(" ")}
|
className={[""].join(" ")}
|
||||||
title={item.name}
|
title={item.name}
|
||||||
description={
|
description={
|
||||||
<div style={{}}>
|
<div style={{marginBottom:10}}>
|
||||||
<small>Amount: {item.amount}</small>
|
<small>Amount: {item.amount}</small>
|
||||||
|
<br/>
|
||||||
|
<div style={{marginTop:5}}>
|
||||||
|
<small>Status : </small>
|
||||||
|
<Tag
|
||||||
|
color={
|
||||||
|
item.status === 0
|
||||||
|
? "purple"
|
||||||
|
: item.status === 1
|
||||||
|
? "blue"
|
||||||
|
: item.status === 2
|
||||||
|
? "warning"
|
||||||
|
: item.status === 3
|
||||||
|
? "success"
|
||||||
|
: "red"
|
||||||
|
}
|
||||||
|
>
|
||||||
|
{item.status === 0
|
||||||
|
? "Pending"
|
||||||
|
: item.status === 1
|
||||||
|
? "Success"
|
||||||
|
: item.status === 2
|
||||||
|
? "Failed"
|
||||||
|
: item.status === 3
|
||||||
|
? "Approved"
|
||||||
|
: "Rejected"}
|
||||||
|
</Tag>
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -46,7 +46,7 @@ export const Category = observer(() => {
|
||||||
];
|
];
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className={["ppob-container"].join(" ")}>
|
<div className={[""].join(" ")}>
|
||||||
<BreadcumbComponent data={routeData} />
|
<BreadcumbComponent data={routeData} />
|
||||||
<Card>
|
<Card>
|
||||||
<Row style={{ marginBottom: 20 }}>
|
<Row style={{ marginBottom: 20 }}>
|
||||||
|
|
|
@ -152,7 +152,7 @@ export const Product = observer(() => {
|
||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className={["ppob-container"].join(" ")}>
|
<div className={[""].join(" ")}>
|
||||||
<BreadcumbComponent data={routeData}/>
|
<BreadcumbComponent data={routeData}/>
|
||||||
<Card>
|
<Card>
|
||||||
<div>
|
<div>
|
||||||
|
|
|
@ -1,18 +1,18 @@
|
||||||
import React, {useContext, useEffect} from "react";
|
import React, { useContext, useEffect } from "react";
|
||||||
import {Card, Col, Row, Table, Typography} from "antd";
|
import { Card, Col, Row, Table, Typography, Tag } from "antd";
|
||||||
import {BreadcumbComponent} from "../../component/BreadcumbComponent";
|
import { BreadcumbComponent } from "../../component/BreadcumbComponent";
|
||||||
import {LINKS} from "../../routes/app";
|
import { LINKS } from "../../routes/app";
|
||||||
import {useStore} from "../../utils/useStore";
|
import { useStore } from "../../utils/useStore";
|
||||||
import {observer} from "mobx-react-lite";
|
import { observer } from "mobx-react-lite";
|
||||||
import {format, parseISO} from "date-fns";
|
import { format, parseISO } from "date-fns";
|
||||||
import {ModalLoaderContext} from "../../utils/modal";
|
import { ModalLoaderContext } from "../../utils/modal";
|
||||||
import {useParams} from "react-router-dom";
|
import { useParams } from "react-router-dom";
|
||||||
|
|
||||||
const {Title, Text} = Typography;
|
const { Title, Text } = Typography;
|
||||||
|
|
||||||
export const ProductDetail = observer(() => {
|
export const ProductDetail = observer(() => {
|
||||||
const store = useStore();
|
const store = useStore();
|
||||||
const {id} = useParams();
|
const { id } = useParams();
|
||||||
const modalLoader = useContext(ModalLoaderContext);
|
const modalLoader = useContext(ModalLoaderContext);
|
||||||
|
|
||||||
const routeData = [
|
const routeData = [
|
||||||
|
@ -25,8 +25,8 @@ export const ProductDetail = observer(() => {
|
||||||
name: <span style={{ fontWeight: "bold" }}>Produk</span>,
|
name: <span style={{ fontWeight: "bold" }}>Produk</span>,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
route: LINKS.PRODUCT_DETAIL.replace(':id', `${id}`),
|
route: LINKS.PRODUCT_DETAIL.replace(":id", `${id}`),
|
||||||
name: <span style={{fontWeight: "bold"}}>Detail Produk</span>,
|
name: <span style={{ fontWeight: "bold" }}>Detail Produk</span>,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -68,7 +68,7 @@ export const ProductDetail = observer(() => {
|
||||||
key: "startDate",
|
key: "startDate",
|
||||||
render: (text) => {
|
render: (text) => {
|
||||||
return (
|
return (
|
||||||
<Text>{text ? format(parseISO(text), "dd MMMM yyyy") : "-"}</Text>
|
<Text>{text ? format(parseISO(text), "dd MMMM yyyy") : "-"}</Text>
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -78,7 +78,9 @@ export const ProductDetail = observer(() => {
|
||||||
key: "endDate",
|
key: "endDate",
|
||||||
render: (text) => {
|
render: (text) => {
|
||||||
return (
|
return (
|
||||||
<Text>{text ? format(parseISO(text), "dd MMMM yyyy") : "Sampai Sekarang"}</Text>
|
<Text>
|
||||||
|
{text ? format(parseISO(text), "dd MMMM yyyy") : "Sampai Sekarang"}
|
||||||
|
</Text>
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -99,7 +101,7 @@ export const ProductDetail = observer(() => {
|
||||||
: null;
|
: null;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className={["ppob-container"].join(" ")}>
|
<div className={[""].join(" ")}>
|
||||||
<BreadcumbComponent data={routeData} />
|
<BreadcumbComponent data={routeData} />
|
||||||
<Card>
|
<Card>
|
||||||
<Title strong>Product Detail</Title>
|
<Title strong>Product Detail</Title>
|
||||||
|
@ -157,24 +159,24 @@ export const ProductDetail = observer(() => {
|
||||||
Filter
|
Filter
|
||||||
</Button> */}
|
</Button> */}
|
||||||
<Table
|
<Table
|
||||||
columns={columns}
|
columns={columns}
|
||||||
dataSource={store.product.dataPriceHistory}
|
dataSource={store.product.dataPriceHistory}
|
||||||
bordered
|
bordered
|
||||||
pagination={{
|
pagination={{
|
||||||
pageSize: store.product.pageSizePriceHistory,
|
pageSize: store.product.pageSizePriceHistory,
|
||||||
total: store.product.totalDataPriceHistory,
|
total: store.product.totalDataPriceHistory,
|
||||||
current: store.product.pagePriceHistory + 1,
|
current: store.product.pagePriceHistory + 1,
|
||||||
showSizeChanger: true,
|
showSizeChanger: true,
|
||||||
simple: false,
|
simple: false,
|
||||||
}}
|
}}
|
||||||
onChange={async (page) => {
|
onChange={async (page) => {
|
||||||
let pageNumber = page.current;
|
let pageNumber = page.current;
|
||||||
store.product.pageSizePriceHistory = page.pageSize;
|
store.product.pageSizePriceHistory = page.pageSize;
|
||||||
store.product.pagePriceHistory = pageNumber - 1;
|
store.product.pagePriceHistory = pageNumber - 1;
|
||||||
modalLoader.setLoading(true);
|
modalLoader.setLoading(true);
|
||||||
await store.product.getPriceHistoryByProduct(id);
|
await store.product.getPriceHistoryByProduct(id);
|
||||||
modalLoader.setLoading(false);
|
modalLoader.setLoading(false);
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</Col>
|
</Col>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user