// material-ui import { FormControl, Button, Grid, // InputAdornment, Typography, FormLabel, OutlinedInput, Stack, Dialog, DialogTitle, DialogContent, DialogActions } from '@mui/material'; // import MainCard from "../../components/MainCard"; const MainCard = Loadable(lazy(() => import('components/MainCard'))); import { useForm } from "react-hook-form"; import { useNavigate } from "react-router-dom"; import { useEffect, useState } from "react"; // import Checkbox from "@mui/material/Checkbox"; import Loadable from 'components/Loadable'; import { lazy } from 'react'; const LoadingComponent = Loadable(lazy(() => import('../../extra-pages/LoadingComponent'))); // import {useParams} from "react-router-dom"; import * as HttpUtils from "utils/HttpUtils" import * as UrlUtils from "utils/ApiPathConst" import * as StatusUtils from "utils/statusUtils/PublicNoteStatusUtils"; import * as DateUtils from "utils/DateUtils"; import * as FormatUtils from "utils/FormatUtils"; import { isORGLoggedIn, } from "utils/Utils"; // import BorderColorOutlinedIcon from '@mui/icons-material/BorderColorOutlined'; // import DoneIcon from '@mui/icons-material/Done'; import CloseIcon from '@mui/icons-material/Close'; import EditNoteIcon from '@mui/icons-material/EditNote'; import DownloadIcon from '@mui/icons-material/Download'; import { PNSPS_BUTTON_THEME } from "../../../themes/buttonConst"; import { ThemeProvider } from "@emotion/react"; import * as React from "react"; import { FormattedMessage, useIntl } from "react-intl"; // ==============================|| DASHBOARD - DEFAULT ||============================== // const ApplicationDetailCard = ( { applicationDetailData, setStatus, // updateUserObject, // isNewRecord } ) => { const [isPopUp, setIsPopUp] = useState(false); const [errorText, setErrorText] = useState(""); const [errorPopUp, setErrorPopUp] = useState(false); // const params = useParams(); const [currentApplicationDetailData, setCurrentApplicationDetailData] = useState({}); const [fee, setFee] = useState(0); const [companyName, setCompanyName] = useState({}); const [fileDetail, setfileDetail] = useState({}); const [onReady, setOnReady] = useState(false); const [issueNum, setIssueNum] = useState(""); const [issueDate, setIssueDate] = useState(""); const { register, // getValues } = useForm(); const navigate = useNavigate(); const intl = useIntl(); useEffect(() => { //if user data from parent are not null // console.log(applicationDetailData) if (Object.keys(applicationDetailData).length > 0 && applicationDetailData.data !== null) { setCurrentApplicationDetailData(applicationDetailData.data); setCompanyName(applicationDetailData.companyName); setfileDetail(applicationDetailData.fileDetail); setIssueNum(applicationDetailData.gazetteIssueDetail.volume + "/" + applicationDetailData.gazetteIssueDetail.year + " No. " + applicationDetailData.gazetteIssueDetail.issueNo); setIssueDate(DateUtils.dateFormat(applicationDetailData.gazetteIssueDetail.issueDate, "D MMM YYYY (ddd)")); for (let i = 0; i < applicationDetailData.proofList.length; i++) { if (applicationDetailData.proofList[i].action == true) { setFee(applicationDetailData.proofList[i].fee); } } } }, [applicationDetailData]); useEffect(() => { //if state data are ready and assign to different field // console.log(currentApplicationDetailData) if (Object.keys(currentApplicationDetailData).length > 0) { setOnReady(true); } }, [currentApplicationDetailData]); const onDownloadClick = () => () => { HttpUtils.fileDownload({ fileId: fileDetail?.id, skey: fileDetail?.skey, filename: fileDetail?.filename, }); }; const cancelledClick = () => () => { setStatus("cancel") }; const checkExprityDate = () => { HttpUtils.post({ url: UrlUtils.POST_CHECK_APP_EXPRITY_DATE, params: { ids: [currentApplicationDetailData.id] }, onSuccess: (responData) => { if (responData.success == true) { setIsPopUp(true); return; } setErrorText("公共啟事申請已過期"); setErrorPopUp(true); } }); }; function doPayment() { setIsPopUp(false); navigate('/paymentPage', { state: { amount: fee, appIdList: [currentApplicationDetailData.id] } }); } return ( !onReady ? : { currentApplicationDetailData.status == "confirmed" ? : null }
: : {currentApplicationDetailData.status ? StatusUtils.getStatusByTextIntl(currentApplicationDetailData.status, false, intl) : ""} { currentApplicationDetailData.reason ? : {currentApplicationDetailData.reason} : "" } : {currentApplicationDetailData.orgId === null ? : } : : : : { fee > 0 ? (HK$): {FormatUtils.currencyFormat(fee)} : <> } : : {fileDetail?.filename} {isORGLoggedIn() ? Care Of: {currentApplicationDetailData.careOf} : null } : {currentApplicationDetailData.remarks}
setIsPopUp(false)} PaperProps={{ sx: { minWidth: '40vw', maxWidth: { xs: '90vw', s: '90vw', m: '70vw', lg: '30vw' }, maxHeight: { xs: '90vh', s: '70vh', m: '70vh', lg: '50vh' } } }} > (HK$): {FormatUtils.currencyFormat(fee)}
setErrorPopUp(false)} PaperProps={{ sx: { minWidth: '40vw', maxWidth: { xs: '90vw', s: '90vw', m: '70vw', lg: '70vw' }, maxHeight: { xs: '90vh', s: '70vh', m: '70vh', lg: '60vh' } } }} > 行動失敗 { errorText }
); }; export default ApplicationDetailCard;