| @@ -4,6 +4,7 @@ import { | |||
| Typography, | |||
| Stack, | |||
| Button, | |||
| Dialog, DialogTitle, DialogContent, DialogActions | |||
| } from '@mui/material'; | |||
| import * as UrlUtils from "utils/ApiPathConst"; | |||
| import * as React from "react"; | |||
| @@ -11,6 +12,7 @@ import * as HttpUtils from "utils/HttpUtils"; | |||
| import { useParams } from "react-router-dom"; | |||
| import { useNavigate } from "react-router-dom"; | |||
| import * as DateUtils from "utils/DateUtils" | |||
| import * as FormatUtils from "utils/FormatUtils"; | |||
| import Loadable from 'components/Loadable'; | |||
| const LoadingComponent = Loadable(React.lazy(() => import('pages/extra-pages/LoadingComponent'))); | |||
| @@ -26,14 +28,20 @@ const BackgroundHead = { | |||
| backgroundPosition: 'right' | |||
| } | |||
| import { | |||
| // useEffect, | |||
| useState | |||
| } from "react"; | |||
| // ==============================|| DASHBOARD - DEFAULT ||============================== // | |||
| const Index = () => { | |||
| const params = useParams(); | |||
| const navigate = useNavigate() | |||
| const [fee, setFee] = useState(0); | |||
| const [record, setRecord] = React.useState(); | |||
| const [onReady, setOnReady] = React.useState(false); | |||
| const [isPopUp, setIsPopUp] = useState(false); | |||
| React.useEffect(() => { | |||
| loadForm(); | |||
| @@ -53,11 +61,17 @@ const Index = () => { | |||
| navigate("/proof/search"); | |||
| } | |||
| setRecord(responseData.data); | |||
| setFee(responseData.data.fee); | |||
| } | |||
| }); | |||
| } | |||
| } | |||
| function doPayment() { | |||
| setIsPopUp(false); | |||
| navigate('/paymentPage', { state: { amount: fee, appIdList: [record.id] } }); | |||
| } | |||
| return ( | |||
| !onReady ? | |||
| <LoadingComponent /> | |||
| @@ -95,6 +109,7 @@ const Index = () => { | |||
| variant="contained" | |||
| size="large" | |||
| sx={{ m: 4}} | |||
| onClick={() => { setIsPopUp(true) }} | |||
| ><Typography variant="h5">即時網上繳費</Typography></Button> | |||
| 或 | |||
| @@ -113,6 +128,21 @@ const Index = () => { | |||
| </center> | |||
| </Grid> | |||
| </Grid> | |||
| <div> | |||
| <Dialog open={isPopUp} onClose={() => setIsPopUp(false)} > | |||
| <DialogTitle></DialogTitle> | |||
| <Typography variant="h3" style={{ padding: '16px' }}>確認付款</Typography> | |||
| <DialogContent style={{ display: 'flex', }}> | |||
| <Stack direction="column" justifyContent="space-between"> | |||
| <Typography variant="h4">總計金額: {FormatUtils.currencyFormat(fee)}</Typography> | |||
| </Stack> | |||
| </DialogContent> | |||
| <DialogActions> | |||
| <Button onClick={() => setIsPopUp(false)}><Typography variant="h5">Close</Typography></Button> | |||
| <Button onClick={() => doPayment()}><Typography variant="h5">確認</Typography></Button> | |||
| </DialogActions> | |||
| </Dialog> | |||
| </div> | |||
| {/*row 2*/} | |||
| </Grid > | |||