Perbaikan PPOB
This commit is contained in:
parent
b24ea23e3d
commit
a9d0d199d1
|
@ -8,6 +8,8 @@ import {
|
|||
Select,
|
||||
Space,
|
||||
Table,
|
||||
List,
|
||||
Divider
|
||||
} from "antd";
|
||||
import { observer } from "mobx-react-lite";
|
||||
import { useHistory } from "react-router-dom";
|
||||
|
@ -115,28 +117,95 @@ export const CategoryComponent = observer((props) => {
|
|||
|
||||
return (
|
||||
<div>
|
||||
<Table
|
||||
style={{ textAlign: "center" }}
|
||||
columns={columns}
|
||||
dataSource={store.category.data}
|
||||
bordered
|
||||
pagination={{
|
||||
pageSize: store.category.pageSize,
|
||||
total: store.category.total_data,
|
||||
current: store.category.page + 1,
|
||||
showSizeChanger: true,
|
||||
simple: false,
|
||||
}}
|
||||
onChange={async (page) => {
|
||||
let pageNumber = page.current;
|
||||
store.category.pageSize = page.pageSize;
|
||||
store.category.page = pageNumber - 1;
|
||||
modalLoader.setLoading(true);
|
||||
await store.category.getData();
|
||||
modalLoader.setLoading(false);
|
||||
}}
|
||||
/>
|
||||
|
||||
{store.ui.mediaQuery.isDesktop && (
|
||||
<Table
|
||||
style={{ textAlign: "center" }}
|
||||
columns={columns}
|
||||
dataSource={store.category.data}
|
||||
bordered
|
||||
pagination={{
|
||||
pageSize: store.category.pageSize,
|
||||
total: store.category.total_data,
|
||||
current: store.category.page + 1,
|
||||
showSizeChanger: true,
|
||||
simple: false,
|
||||
}}
|
||||
onChange={async (page) => {
|
||||
let pageNumber = page.current;
|
||||
store.category.pageSize = page.pageSize;
|
||||
store.category.page = pageNumber - 1;
|
||||
modalLoader.setLoading(true);
|
||||
await store.category.getData();
|
||||
modalLoader.setLoading(false);
|
||||
}}
|
||||
/>
|
||||
)}
|
||||
{store.ui.mediaQuery.isMobile && (
|
||||
<List
|
||||
itemLayout="horizontal"
|
||||
position={"top"}
|
||||
pagination={{
|
||||
onChange: async (page, pageSize) => {
|
||||
store.category.pageSize = pageSize;
|
||||
store.category.page = page - 1;
|
||||
modalLoader.setLoading(true);
|
||||
await store.category.getData();
|
||||
modalLoader.setLoading(false);
|
||||
},
|
||||
pageSize: store.category.pageSize,
|
||||
total: store.category.total_data,
|
||||
current: store.category.page + 1,
|
||||
style: { marginBottom: "1rem", marginRight: "1rem" },
|
||||
}}
|
||||
dataSource={store.category.data}
|
||||
style={{ padding: 0 }}
|
||||
renderItem={(item) => {
|
||||
return (
|
||||
<div>
|
||||
<List.Item
|
||||
key={item.id}
|
||||
style={{
|
||||
backgroundColor: "#ffffff",
|
||||
paddingTop: 0,
|
||||
paddingBottom: 0,
|
||||
display: "flex",
|
||||
flexDirection: "row",
|
||||
alignItems: "center",
|
||||
justifyContent: "center",
|
||||
}}
|
||||
>
|
||||
<List.Item.Meta
|
||||
className={["cariparkir-container"].join(" ")}
|
||||
title={item.code}
|
||||
description={
|
||||
<div style={{}}>
|
||||
<p>
|
||||
<small>Category : {item.name}</small>
|
||||
<br />
|
||||
</p>
|
||||
<p></p>
|
||||
</div>
|
||||
}
|
||||
/>
|
||||
<div style={{ marginRight: 16 }}>
|
||||
<p
|
||||
style={{
|
||||
fontSize: 9,
|
||||
margin: 0,
|
||||
}}
|
||||
>
|
||||
<Button onClick={() => handleEditButton(item)}>
|
||||
Edit
|
||||
</Button>
|
||||
</p>
|
||||
</div>
|
||||
</List.Item>
|
||||
<Divider plain style={{ margin: 0 }} />
|
||||
</div>
|
||||
);
|
||||
}}
|
||||
/>
|
||||
)}
|
||||
<Modal
|
||||
visible={store.category.visibleModalCategory}
|
||||
title={idData ? "Edit Category" : "Create a new Category"}
|
||||
|
|
|
@ -235,9 +235,9 @@ export const PartnerComponent = observer((props) => {
|
|||
itemLayout="horizontal"
|
||||
position={"top"}
|
||||
pagination={{
|
||||
onChange: async (page) => {
|
||||
store.partner.pageSize = page.pageSize;
|
||||
store.partner.page = page.current - 1;
|
||||
onChange: async (page, pageSize) => {
|
||||
store.partner.pageSize = pageSize;
|
||||
store.partner.page = page - 1;
|
||||
modalLoader.setLoading(true);
|
||||
await store.partner.getData();
|
||||
modalLoader.setLoading(false);
|
||||
|
@ -270,9 +270,11 @@ export const PartnerComponent = observer((props) => {
|
|||
description={
|
||||
<div style={{}}>
|
||||
<p>
|
||||
<small>Nama : {item.name}</small> <br />
|
||||
<small>Npwp : {item.npwp}</small> <br />
|
||||
<small>Address : {item.address}</small>
|
||||
<div style={{ marginBottom: 10 }}>
|
||||
<small>Nama : {item.name}</small> <br />
|
||||
<small>Npwp : {item.npwp}</small> <br />
|
||||
<small>Address : {item.address}</small>
|
||||
</div>
|
||||
<Space size="middle">
|
||||
<Button
|
||||
type={
|
||||
|
@ -402,7 +404,7 @@ export const PartnerComponent = observer((props) => {
|
|||
},
|
||||
]}
|
||||
>
|
||||
<Input.Password />
|
||||
<Input.Password />
|
||||
</Form.Item>
|
||||
)}
|
||||
{!idData && (
|
||||
|
|
|
@ -313,9 +313,9 @@ export const ProductComponent = observer((props) => {
|
|||
itemLayout="horizontal"
|
||||
position={"top"}
|
||||
pagination={{
|
||||
onChange: async (page) => {
|
||||
store.product.pageSize = page.pageSize;
|
||||
store.product.page = page.current - 1;
|
||||
onChange: async (page,pageSize) => {
|
||||
store.product.pageSize = pageSize;
|
||||
store.product.page = page - 1;
|
||||
modalLoader.setLoading(true);
|
||||
await store.product.getData();
|
||||
modalLoader.setLoading(false);
|
||||
|
|
|
@ -148,9 +148,9 @@ export const SubcategoryComponent = observer((props) => {
|
|||
itemLayout="horizontal"
|
||||
position={"top"}
|
||||
pagination={{
|
||||
onChange: async (page) => {
|
||||
store.subcategory.pageSize = page.pageSize;
|
||||
store.subcategory.page = page.current - 1;
|
||||
onChange: async (page,pageSize) => {
|
||||
store.subcategory.pageSize = pageSize;
|
||||
store.subcategory.page = page - 1;
|
||||
modalLoader.setLoading(true);
|
||||
await store.subcategory.getData();
|
||||
modalLoader.setLoading(false);
|
||||
|
|
|
@ -251,9 +251,9 @@ export const SupplierComponent = observer((props) => {
|
|||
itemLayout="horizontal"
|
||||
position={"top"}
|
||||
pagination={{
|
||||
onChange: async (page) => {
|
||||
store.supplier.pageSize = page.pageSize;
|
||||
store.supplier.page = page.current - 1;
|
||||
onChange: async (page,pageSize) => {
|
||||
store.supplier.pageSize = pageSize;
|
||||
store.supplier.page = page - 1;
|
||||
modalLoader.setLoading(true);
|
||||
await store.supplier.getData();
|
||||
modalLoader.setLoading(false);
|
||||
|
|
|
@ -205,24 +205,20 @@ export const DesktopLayout = observer(() => {
|
|||
<span>Produk</span>
|
||||
</Link>
|
||||
</Menu.Item>
|
||||
{store.authentication.userData.role === "Admin" && (
|
||||
<Menu.Item key="sub-category">
|
||||
<Link to={LINKS.SUBCATEGORY}>
|
||||
<FileSyncOutlined />
|
||||
<span>Sub Kategori</span>
|
||||
</Link>
|
||||
</Menu.Item>
|
||||
)}
|
||||
<Menu.Item key="sub-category">
|
||||
<Link to={LINKS.SUBCATEGORY}>
|
||||
<FileSyncOutlined />
|
||||
<span>Sub Kategori</span>
|
||||
</Link>
|
||||
</Menu.Item>
|
||||
<Menu.Item key="category">
|
||||
<Link to={LINKS.CATEGORY}>
|
||||
<FileAddOutlined />
|
||||
<span>Kategori</span>
|
||||
</Link>
|
||||
</Menu.Item>
|
||||
</SubMenu>
|
||||
)}
|
||||
{store.authentication.userData.role === "Admin" && (
|
||||
<Menu.Item key="category">
|
||||
<Link to={LINKS.CATEGORY}>
|
||||
<FileAddOutlined />
|
||||
<span>Kategori</span>
|
||||
</Link>
|
||||
</Menu.Item>
|
||||
)}
|
||||
{store.authentication.userData.role === "Supervisor" && (
|
||||
<Menu.Item key="product">
|
||||
<Link to={LINKS.PRODUCT}>
|
||||
|
|
|
@ -43,6 +43,7 @@ export const DetailUser = observer(() => {
|
|||
modalLoader.setLoading(false);
|
||||
})();
|
||||
|
||||
|
||||
return () => {
|
||||
store.membership.dataDetail = {};
|
||||
store.transaction.dataHistoryTopUp = [];
|
||||
|
@ -265,6 +266,9 @@ export const DetailUser = observer(() => {
|
|||
justifyContent: "center",
|
||||
}
|
||||
: null;
|
||||
console.log(JSON.parse(store.authentication.dataProfit.userDetail?.image_store)," ini dia")
|
||||
const data = JSON.parse(store.authentication.dataProfit.userDetail?.image_store)
|
||||
console.log(data,"ini data")
|
||||
return (
|
||||
<div className={["ppob-container"].join(" ")}>
|
||||
<BreadcumbComponent data={routeData} />
|
||||
|
@ -412,7 +416,7 @@ export const DetailUser = observer(() => {
|
|||
<Text>
|
||||
<Image
|
||||
src={
|
||||
store.authentication.dataProfit.profileData
|
||||
store.authentication.dataProfit.userDetail
|
||||
?.image_identity
|
||||
? `${appConfig.apiUrl}/config/image/${store.authentication.dataProfit.userDetail?.image_identity}`
|
||||
: "https://st4.depositphotos.com/14953852/24787/v/600/depositphotos_247872612-stock-illustration-no-image-available-icon-vector.jpg"
|
||||
|
@ -421,19 +425,25 @@ export const DetailUser = observer(() => {
|
|||
/>
|
||||
</Text>
|
||||
</Col>
|
||||
|
||||
<Col span={12}>
|
||||
<Text>
|
||||
<Image
|
||||
src={
|
||||
store.authentication.dataProfit.profileData
|
||||
?.image_store
|
||||
? `${appConfig.apiUrl}/config/image/${store.authentication.dataProfit.userDetail?.image_store}`
|
||||
: "https://st4.depositphotos.com/14953852/24787/v/600/depositphotos_247872612-stock-illustration-no-image-available-icon-vector.jpg"
|
||||
}
|
||||
style={{ width: "10vw" }}
|
||||
/>
|
||||
</Text>
|
||||
|
||||
<Text>
|
||||
{data.map((item)=>{
|
||||
<Image
|
||||
src={
|
||||
store.authentication.dataProfit.userDetail
|
||||
?.image_store
|
||||
? `${appConfig.apiUrl}/config/image/${item}`
|
||||
: "https://st4.depositphotos.com/14953852/24787/v/600/depositphotos_247872612-stock-illustration-no-image-available-icon-vector.jpg"
|
||||
}
|
||||
style={{ width: "10vw" }}
|
||||
/>
|
||||
})}
|
||||
</Text>
|
||||
|
||||
</Col>
|
||||
|
||||
</Row>
|
||||
)}
|
||||
{store.authentication.userData.role === "Admin" && (
|
||||
|
@ -448,7 +458,7 @@ export const DetailUser = observer(() => {
|
|||
<Text>
|
||||
<Image
|
||||
src={
|
||||
store.authentication.dataProfit.profileData?.image_identity
|
||||
store.authentication.dataProfit.userDetail?.image_identity
|
||||
? "https://st4.depositphotos.com/14953852/24787/v/600/depositphotos_247872612-stock-illustration-no-image-available-icon-vector.jpg"
|
||||
: `${appConfig.apiUrl}/config/image/${store.authentication.dataProfit.userDetail?.image_identity}`}
|
||||
style={{ width: "10vw" }}
|
||||
|
@ -459,7 +469,7 @@ export const DetailUser = observer(() => {
|
|||
<Text>
|
||||
<Image
|
||||
src={
|
||||
store.authentication.dataProfit.profileData
|
||||
store.authentication.dataProfit.userDetail
|
||||
?.image_store
|
||||
?"https://st4.depositphotos.com/14953852/24787/v/600/depositphotos_247872612-stock-illustration-no-image-available-icon-vector.jpg"
|
||||
: `${appConfig.apiUrl}/config/image/${store.authentication.dataProfit.userDetail?.image_store}` }
|
||||
|
@ -479,7 +489,7 @@ export const DetailUser = observer(() => {
|
|||
<Text>
|
||||
<Image
|
||||
src={
|
||||
store.authentication.dataProfit.profileData
|
||||
store.authentication.dataProfit.userDetail
|
||||
?.image_identity
|
||||
? `${appConfig.apiUrl}/config/image/${store.authentication.profileData.userDetail?.image_identity}`
|
||||
: "https://st4.depositphotos.com/14953852/24787/v/600/depositphotos_247872612-stock-illustration-no-image-available-icon-vector.jpg"
|
||||
|
@ -629,9 +639,9 @@ export const DetailUser = observer(() => {
|
|||
itemLayout="horizontal"
|
||||
position={"top"}
|
||||
pagination={{
|
||||
onChange: async (page) => {
|
||||
store.transaction.pageSize = page.pageSize;
|
||||
store.transaction.page = page.current - 1;
|
||||
onChange: async (page,pageSize) => {
|
||||
store.transaction.pageSize = pageSize;
|
||||
store.transaction.page = page - 1;
|
||||
modalLoader.setLoading(true);
|
||||
await getData();
|
||||
modalLoader.setLoading(false);
|
||||
|
|
|
@ -30,6 +30,7 @@ import { LINKS } from "../../routes/app";
|
|||
import { useHistory } from "react-router-dom";
|
||||
import { ModalLoaderContext } from "../../utils/modal";
|
||||
|
||||
|
||||
export const Membership = observer(() => {
|
||||
const history = useHistory();
|
||||
const { Option } = Select;
|
||||
|
@ -291,7 +292,7 @@ export const Membership = observer(() => {
|
|||
const request = {
|
||||
...data,
|
||||
image_identity: image,
|
||||
image_store: imageStore,
|
||||
image_store: JSON.stringify(imageStore),
|
||||
};
|
||||
const response = await store.membership.create(request);
|
||||
response?.body?.statusCode === 201 || response?.body?.statusCode === 200
|
||||
|
@ -308,6 +309,7 @@ export const Membership = observer(() => {
|
|||
setConfirmLoading(false);
|
||||
setVisibleModal(false);
|
||||
setInitialData({});
|
||||
form.resetFields();
|
||||
}
|
||||
};
|
||||
return (
|
||||
|
@ -385,9 +387,9 @@ export const Membership = observer(() => {
|
|||
itemLayout="horizontal"
|
||||
position={"top"}
|
||||
pagination={{
|
||||
onChange: async (page) => {
|
||||
store.membership.pageSize = page.pageSize;
|
||||
store.membership.page = page.current - 1;
|
||||
onChange: async (page, pageSize) => {
|
||||
store.membership.pageSize = pageSize;
|
||||
store.membership.page = page -1;
|
||||
modalLoader.setLoading(true);
|
||||
await getData();
|
||||
modalLoader.setLoading(false);
|
||||
|
|
|
@ -36,7 +36,7 @@ export const MembershipModal = ({
|
|||
const [responseFilenameStore, setResponseFilenameStore] = useState("");
|
||||
const [loading, setLoading] = useState(false);
|
||||
const [loadingStore, setLoadingStore] = useState(false);
|
||||
|
||||
|
||||
const beforeUpload = (file) => {
|
||||
let isLt2M;
|
||||
let allowedFile = ["image/jpeg", "image/png"];
|
||||
|
@ -87,15 +87,14 @@ export const MembershipModal = ({
|
|||
const res = await store.payback.uploadImages(file);
|
||||
console.log(res, "ini respon 2");
|
||||
setImageStore(`${appConfig.apiUrl}/config/image/${res.body.filename}`);
|
||||
setResponseFilenameStore(res.body.filename);
|
||||
setFileStore([
|
||||
{
|
||||
uid: "-1",
|
||||
name: res.body.filename,
|
||||
status: "done",
|
||||
url: `${appConfig.apiUrl}/config/image/${res.body.filename}`,
|
||||
},
|
||||
]);
|
||||
setResponseFilenameStore([...responseFilenameStore, res.body.filename]);
|
||||
setFileStore([...fileStore, {
|
||||
uid: "-1",
|
||||
name: res.body.filename,
|
||||
status: "done",
|
||||
url: `${appConfig.apiUrl}/config/image/${res.body.filename}`,
|
||||
} ]);
|
||||
|
||||
setLoadingStore(false);
|
||||
};
|
||||
|
||||
|
@ -159,6 +158,15 @@ export const MembershipModal = ({
|
|||
.then((values) => {
|
||||
onCreate(values,responseFilename,responseFilenameStore);
|
||||
form.resetFields();
|
||||
setFileStore([])
|
||||
setImage("");
|
||||
setFileList([]);
|
||||
setPreviewImage("");
|
||||
setResponseFilename("");
|
||||
setImageStore("");
|
||||
setFileStore([]);
|
||||
setPreviewImageStore("");
|
||||
setResponseFilenameStore("");
|
||||
})
|
||||
.catch((info) => {
|
||||
console.log("Validate Failed:", info);
|
||||
|
@ -435,13 +443,14 @@ export const MembershipModal = ({
|
|||
onChange={handleChangeStore}
|
||||
beforeUpload={(file) => beforeUploadStore(file)}
|
||||
customRequest={(args) => uploadHandlerStore(args)}
|
||||
maxCount={3}
|
||||
onRemove={(file) => {
|
||||
setImageStore("");
|
||||
setLoadingStore(false);
|
||||
setFileStore([]);
|
||||
}}
|
||||
>
|
||||
{imageStore === "" ? uploadButtonStore : null}
|
||||
{fileStore.length >= 3 ? null:uploadButtonStore }
|
||||
</Upload>
|
||||
<h5
|
||||
style={{
|
||||
|
|
141
src/pages/Membership/Picture.js
Normal file
141
src/pages/Membership/Picture.js
Normal file
|
@ -0,0 +1,141 @@
|
|||
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;
|
|
@ -367,12 +367,10 @@ export const Payback = observer(() => {
|
|||
>
|
||||
<List.Item.Meta
|
||||
className={["cariparkir-container"].join(" ")}
|
||||
title={item.name}
|
||||
title={item.userData_name}
|
||||
description={
|
||||
<div style={{}}>
|
||||
<p>
|
||||
<span>{item.userData_name}</span>
|
||||
<br />
|
||||
<small>Amount: {item.amount}</small>
|
||||
<br />
|
||||
{PAYBACK_STATUS[item.status] ===
|
||||
|
|
|
@ -274,9 +274,9 @@ export const PaybackCreated = observer(() => {
|
|||
itemLayout="horizontal"
|
||||
position={"top"}
|
||||
pagination={{
|
||||
onChange: async (page) => {
|
||||
store.payback.pageSizeCreated = page.pageSize;
|
||||
store.payback.pageCreated = page.current - 1;
|
||||
onChange: async (page, pageSize) => {
|
||||
store.payback.pageSizeCreated = pageSize;
|
||||
store.payback.pageCreated = page - 1;
|
||||
modalLoader.setLoading(true);
|
||||
await store.payback.getDataCreated();
|
||||
modalLoader.setLoading(false);
|
||||
|
@ -308,7 +308,7 @@ export const PaybackCreated = observer(() => {
|
|||
title={item.name}
|
||||
description={
|
||||
<div style={{}}>
|
||||
<Image src={item.image_prove} preview={false} />
|
||||
<small>Amount: {item.amount}</small>
|
||||
</div>
|
||||
}
|
||||
/>
|
||||
|
@ -319,7 +319,12 @@ export const PaybackCreated = observer(() => {
|
|||
margin: 0,
|
||||
}}
|
||||
>
|
||||
{item.amount}
|
||||
{" "}
|
||||
<Image
|
||||
src={`${appConfig.apiUrl}/config/image/${item.image_prove}`}
|
||||
style={{ width: "20vw" }}
|
||||
preview={true}
|
||||
/>
|
||||
</p>
|
||||
</div>
|
||||
</List.Item>
|
||||
|
|
|
@ -401,20 +401,19 @@ export const Profile = observer(() => {
|
|||
position={"top"}
|
||||
dataSource={store.transaction.dataHistoryTransaction}
|
||||
pagination={{
|
||||
onChange: async (page, pageSize) => {
|
||||
console.log(page,'Page')
|
||||
console.log(pageSize,'Page size')
|
||||
store.transaction.pageSizeHistoryTransaction = pageSize;
|
||||
store.transaction.pageHistoryTransaction = page -1;
|
||||
modalLoader.setLoading(true);
|
||||
await store.transaction.getDataHistoryTransaction();
|
||||
modalLoader.setLoading(false);
|
||||
},
|
||||
pageSize: store.transaction.pageSizeHistoryTransaction,
|
||||
total: store.transaction.total_dataHistoryTransaction,
|
||||
total:store.transaction.total_dataHistoryTransaction,
|
||||
current: store.transaction.pageHistoryTransaction + 1,
|
||||
showSizeChanger: true,
|
||||
simple: false,
|
||||
}}
|
||||
onChange={async (page) => {
|
||||
let pageNumber = page.current;
|
||||
store.transaction.pageSizeHistoryTransaction =
|
||||
page.pageSize;
|
||||
store.transaction.pageHistoryTransaction = pageNumber - 1;
|
||||
modalLoader.setLoading(true);
|
||||
await store.transaction.getDataHistoryTransaction();
|
||||
modalLoader.setLoading(false);
|
||||
style: { marginBottom: "1rem", marginRight: "1rem" },
|
||||
}}
|
||||
style={{ padding: 0 }}
|
||||
renderItem={(item) => {
|
||||
|
@ -472,6 +471,10 @@ export const Profile = observer(() => {
|
|||
No.Seri : {item.seri_number}
|
||||
</small>{" "}
|
||||
<br />
|
||||
<small>
|
||||
Alasan Gagal : {item.failed_reason}
|
||||
</small>{" "}
|
||||
<br />
|
||||
<small>
|
||||
IDTrx Mitra :{" "}
|
||||
{item.partner_transaction_code}
|
||||
|
|
|
@ -48,6 +48,7 @@ export class Product {
|
|||
}) ?? []
|
||||
|
||||
this.total_data = response?.body?.count ?? 0
|
||||
//console.log(this.total_data)
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
}
|
||||
|
|
|
@ -135,6 +135,7 @@ export class Transaction {
|
|||
console.log(response);
|
||||
this.dataHistoryTransaction = response.body.data ?? [];
|
||||
this.total_dataHistoryTransaction = response?.body?.count ?? 0;
|
||||
console.log(this.total_dataHistoryTransaction)
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user