// material-ui import { FormControl, Grid, Typography, FormLabel, TextField, Button, Stack, Dialog, DialogTitle, DialogContent, DialogActions, CircularProgress, } from '@mui/material'; import { useFormik } from 'formik'; import { useIntl } from 'react-intl'; import {isGranted} from "auth/utils"; import {useState, useEffect, useRef, lazy} from "react"; import * as HttpUtils from "utils/HttpUtils" import * as UrlUtils from "utils/ApiPathConst" import * as DateUtils from "utils/DateUtils" import * as FormatUtils from "utils/FormatUtils" import { useParams } from "react-router-dom"; import Loadable from 'components/Loadable'; const MainCard = Loadable(lazy(() => import('components/MainCard'))); import * as StatusUtils from "utils/statusUtils/PublicNoteStatusUtils"; import FileList from "components/FileList" // ==============================|| DASHBOARD - DEFAULT ||============================== // const ApplicationDetailCard = ({ formData, showCancelBtn, showProofBtn // setBackButtonPos }) => { const params = useParams(); const intl = useIntl(); const [data, setData] = useState({}); const [cancelPopUp, setCancelPopUp] = useState(false); const [cancelLoading, setCancelLoading] = useState(false); const cancellingRef = useRef(false); const [onDownload, setOnDownload] = useState(false); const [alertMsg, setAlertMsg] = useState(''); const [showAlert, setShowAlert] = useState(false); useEffect(() => { if (formData) { setData(formData); } }, [formData]); const formik = useFormik({ enableReinitialize: true, initialValues: data, }); const DisplayField = ({ name, width, dummyUser }) => { return <> {dummyUser? : } } const confirmCancel = () => { if (cancellingRef.current) return; cancellingRef.current = true; setCancelLoading(true); HttpUtils.get({ url: UrlUtils.CANCEL_PROOF + "/" + params.id, onSuccess: function (responseData) { cancellingRef.current = false; setCancelLoading(false); if (responseData && responseData.success === false) { setCancelPopUp(false); const msg = responseData.msg ? intl.formatMessage({ id: responseData.msg }) : intl.formatMessage({ id: 'proofAlreadyCancelled' }); setAlertMsg(msg); setShowAlert(true); } else { window.location.reload(false); } }, onFail: () => { cancellingRef.current = false; setCancelLoading(false); }, onError: () => { cancellingRef.current = false; setCancelLoading(false); } }); } const doCancel = () => { setCancelPopUp(true); } const genProof = () => { setOnDownload(true) HttpUtils.fileDownload({ url: UrlUtils.GEN_GAZETTE_PROOF + "/" + params.id, onResponse:()=>{ setOnDownload(false) }, onError:()=>{ setOnDownload(false) } }); } return ( Public Notice: Proofreading Reply {data.appMode != "offline"? <> { isGranted(["MAINTAIN_PROOF"]) ? : <> } :null }
App. No.: App. Status: {StatusUtils.getStatusByTextEng(data.appStatus, data.creditor)} Applicant: {data?.orgId? : } Issue No: Contact Person: Issue Date: {/* Remarks: */} Print file: Deadline for proof with revision: Before {DateUtils.datetimeStr(data.reviseDeadline)} Deadline for confirm proof and payment: Before {DateUtils.datetimeStr(data.proofPaymentDeadline)} Fee: {FormatUtils.currencyFormat(data.fee)} { formik.values.groupType == "Private Bill" ? ( {data.noOfPages} {data.noOfPages === 1 ? 'page' : 'pages'} x $6,552 ) : ( {data.length} cm x {data.colCount == 2 ? "$364 Double Column" : "$182 Single Column"} ) }
{ if (cancelLoading) return; setCancelPopUp(false); }} > Confirm Are you sure you want to cancel this proof? setShowAlert(false)}> {intl.formatMessage({ id: 'attention' })} {alertMsg}
); }; export default ApplicationDetailCard;