// material-ui import { Grid, Typography, FormLabel, Button, Dialog, DialogTitle, DialogContent, DialogActions, Box } from '@mui/material'; import * as React from "react"; import * as FormatUtils from "utils/FormatUtils"; import * as PaymentStatus from "utils/statusUtils/PaymentStatus"; import * as DateUtils from "utils/DateUtils"; import * as HttpUtils from "utils/HttpUtils"; import { PAYMENT_MARK_AS_PAID } from "utils/ApiPathConst"; import Loadable from 'components/Loadable'; const MainCard = Loadable(React.lazy(() => import('components/MainCard'))); const LoadingComponent = Loadable(React.lazy(() => import('pages/extra-pages/LoadingComponent'))); import DownloadIcon from '@mui/icons-material/Download'; import {useIntl} from "react-intl"; // ==============================|| DASHBOARD - DEFAULT ||============================== // const PaymentDetails = ({ formData, doPrint, onDownload, onRefresh }) => { const intl = useIntl(); const [data, setData] = React.useState({}); const [onReady, setOnReady] = React.useState(false); const [confirmOpen, setConfirmOpen] = React.useState(false); const [markingPaid, setMarkingPaid] = React.useState(false); // const { locale } = intl; React.useEffect(() => { if (formData != null && formData != undefined && Object.keys(formData).length > 0) { setData(formData); } }, [formData]); React.useEffect(() => { if (formData != null && formData != undefined && Object.keys(formData).length > 0) { setOnReady(data != {}); } }, [data]); const getPaymentMethod=()=>{ let paymentmethod = data.payload?.paymentdetail.paymentmethod; if("01" == paymentmethod) return "PPS"; if("02" == paymentmethod || "03" == paymentmethod) return "Credit Card"; if("04" == paymentmethod) return "FPS"; if (data.payMethod === "04,BCFP,FPS") return "FPS"; return paymentmethod; } const showMarkAsPaid = data.status === "REJT" && getPaymentMethod() === "FPS"; const handleMarkAsPaid = () => { setMarkingPaid(true); HttpUtils.post({ url: PAYMENT_MARK_AS_PAID + "/" + data.id, onSuccess: () => { setConfirmOpen(false); setMarkingPaid(false); if (onRefresh) { onRefresh(); } }, onError: () => { setMarkingPaid(false); } }); }; return ( !onReady ? : Payment Details {showMarkAsPaid && ( )}
Status: {PaymentStatus.getStatus_Eng(data.status)} Payment No.: {data.payload?.transactionid} Payment Date: {DateUtils.dateFormat(data.transDateStr, intl.formatMessage({id: "dateStrFormat"})) +" ("+intl.formatMessage({id: "dateStrFormat"})+")"} Payment Time: {data.transTimeStr + " (HH:MI:SS)"} Payment Reference No.: {data.egisRefNo} Payment Amount: {"$ " + FormatUtils.currencyFormat(data.payload?.amount)} Payment Method: {getPaymentMethod()} { data.status == "APPR" ? Payment Receipt: : null }
!markingPaid && setConfirmOpen(false)} > Confirm {`Are you sure to mark as paid for Payment No. ${data.transNo || data.payload?.transactionid} ?`}
); }; export default PaymentDetails;