// 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 StatusUtils from "utils/statusUtils/PublicNoteStatusUtils"; import * as DateUtils from "utils/DateUtils"; import * as FormatUtils from "utils/FormatUtils"; // 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'; // ==============================|| DASHBOARD - DEFAULT ||============================== // const ApplicationDetailCard = ( { applicationDetailData, setStatus, // updateUserObject, // isNewRecord } ) => { const [isPopUp, setIsPopUp] = 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(); 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") }; function doPayment() { setIsPopUp(false); navigate('/paymentPage', { state: { amount: fee, appIdList: [currentApplicationDetailData.id] } }); } return ( !onReady ? : { currentApplicationDetailData.status == "confirmed" ? { setIsPopUp(true) }} disabled={currentApplicationDetailData.status == "rejected" || currentApplicationDetailData.status == "cancelled" || currentApplicationDetailData.status == "paid"} sx={{ textTransform: 'capitalize', alignItems: 'end' }}> 支付 : null } 取消 公共啟事申請資料 申請編號: 申請狀態: {StatusUtils.getStatusByText(currentApplicationDetailData.status)} { currentApplicationDetailData.reason ? 原因: {currentApplicationDetailData.reason} : "" } 申請人: {currentApplicationDetailData.orgId === null ? : } 憲報期數: 聯絡人: 發布日期: 聯絡電話: { fee > 0 ? 價錢: {FormatUtils.currencyFormat(fee)} : <>> } 傳真號碼: 稿件檔案: {fileDetail.filename} 下載 備註: {currentApplicationDetailData.remarks} setIsPopUp(false)} > 確認付款 總計金額: {FormatUtils.currencyFormat(fee)} setIsPopUp(false)}>Close doPayment()}>確認 ); }; export default ApplicationDetailCard;