| @@ -337,7 +337,7 @@ const FormPanel = ({ formData }) => { | |||||
| <td style={tabelStyle}>{DateUtils.dateFormat(formData.closingDateOff, intl.formatMessage({ id: "dateStrFormat" }))} 5:00 p.m.</td> | <td style={tabelStyle}>{DateUtils.dateFormat(formData.closingDateOff, intl.formatMessage({ id: "dateStrFormat" }))} 5:00 p.m.</td> | ||||
| <td style={tabelStyle}> | <td style={tabelStyle}> | ||||
| <FormattedMessage id="payDnRemark" values={{ | <FormattedMessage id="payDnRemark" values={{ | ||||
| date: DateUtils.dateFormat(formData.closingDate, intl.formatMessage({ id: "dateStrFormat" })) + " 12:30 p.m." | |||||
| date: DateUtils.dateFormat(formData.closingDate, intl.formatMessage({ id: "dateStrFormat" })) + " 12:00 p.m." | |||||
| }} /> | }} /> | ||||
| </td> | </td> | ||||
| </tr> | </tr> | ||||
| @@ -424,7 +424,7 @@ const FormPanel = ({ formData }) => { | |||||
| <td style={tabelStyle}>{DateUtils.dateFormat(formData.closingDateOff, intl.formatMessage({ id: "dateStrFormat" }))} 5:00 p.m.</td> | <td style={tabelStyle}>{DateUtils.dateFormat(formData.closingDateOff, intl.formatMessage({ id: "dateStrFormat" }))} 5:00 p.m.</td> | ||||
| <td style={tabelStyle}> | <td style={tabelStyle}> | ||||
| <FormattedMessage id="payDnRemark" values={{ | <FormattedMessage id="payDnRemark" values={{ | ||||
| date: DateUtils.dateFormat(formData.closingDate, intl.formatMessage({ id: "dateStrFormat" })) + " 12:30 p.m." | |||||
| date: DateUtils.dateFormat(formData.closingDate, intl.formatMessage({ id: "dateStrFormat" })) + " 12:00 p.m." | |||||
| }} /> | }} /> | ||||
| </td> | </td> | ||||
| </tr> | </tr> | ||||
| @@ -333,7 +333,7 @@ const PublicNoticeApplyForm = ({ loadedData, _selections , gazetteIssueList}) => | |||||
| <tr> | <tr> | ||||
| <td style={tabelStyle}><FormattedMessage id="payDn" /></td> | <td style={tabelStyle}><FormattedMessage id="payDn" /></td> | ||||
| <td style={tabelStyle}>{DateUtils.dateFormat(closingDateOff, dft)} 5:00 p.m.</td> | <td style={tabelStyle}>{DateUtils.dateFormat(closingDateOff, dft)} 5:00 p.m.</td> | ||||
| <td style={tabelStyle}>{DateUtils.dateFormat(closeDate, dft)} 12:30 p.m.</td> | |||||
| <td style={tabelStyle}>{DateUtils.dateFormat(closeDate, dft)} 12:00 p.m.</td> | |||||
| </tr> | </tr> | ||||
| <tr> | <tr> | ||||
| <td style={tabelStyle}><FormattedMessage id="payNPGO" /></td> | <td style={tabelStyle}><FormattedMessage id="payNPGO" /></td> | ||||
| @@ -272,11 +272,13 @@ const ApplicationDetailCard = ( | |||||
| // size="large" | // size="large" | ||||
| variant="contained" | variant="contained" | ||||
| onClick={revokeClick()} | onClick={revokeClick()} | ||||
| disabled={currentApplicationDetailData.paymentMethod=="online"||currentApplicationDetailData.paymentMethod==null} | |||||
| sx={{ | sx={{ | ||||
| textTransform: 'capitalize', | textTransform: 'capitalize', | ||||
| alignItems: 'end', | alignItems: 'end', | ||||
| backgroundColor: '#ffa733' | backgroundColor: '#ffa733' | ||||
| }}> | }}> | ||||
| <ReplayIcon /> | <ReplayIcon /> | ||||
| <Typography ml={1} variant="h5">Revoke Payment</Typography> | <Typography ml={1} variant="h5">Revoke Payment</Typography> | ||||
| </Button> | </Button> | ||||
| @@ -219,7 +219,12 @@ export default function SubmittedTab({ setCount, url }) { | |||||
| renderCell: (params) => ( | renderCell: (params) => ( | ||||
| <div> | <div> | ||||
| <FormattedMessage id={utils.getPaymentMethod(params.row.paymentMethod)} /><br /> | <FormattedMessage id={utils.getPaymentMethod(params.row.paymentMethod)} /><br /> | ||||
| <div>{dateStr(params.row.closingDateOff)}</div> | |||||
| <div> | |||||
| {dateStr(params.row.closingDateOff)} | |||||
| {params.row.paymentMethod=="online" ? " 2pm" | |||||
| :params.row.paymentMethod=="demandNote" ? " 12:00pm" | |||||
| : " 12:30pm"} | |||||
| </div> | |||||
| </div> | </div> | ||||
| ) | ) | ||||
| }, | }, | ||||
| @@ -67,7 +67,7 @@ const Index = () => { | |||||
| // } | // } | ||||
| // } | // } | ||||
| dispatch(handleLogin(data)) | dispatch(handleLogin(data)) | ||||
| navigate('iamsmart/loginSucess', {state:{loginMethod:"iAmSmart"}}); | |||||
| navigate('/iamsmart/loginSucess', {state:{loginMethod:"iAmSmart"}}); | |||||
| }, | }, | ||||
| onFail: (response)=>{ | onFail: (response)=>{ | ||||
| console.log("onFail"); | console.log("onFail"); | ||||
| @@ -6,11 +6,12 @@ import { | |||||
| Button | Button | ||||
| } from '@mui/material'; | } from '@mui/material'; | ||||
| import * as React from "react"; | import * as React from "react"; | ||||
| import { FormattedMessage } from "react-intl"; | |||||
| import { FormattedMessage, useIntl } from "react-intl"; | |||||
| import { useLocation } from "react-router-dom"; | import { useLocation } from "react-router-dom"; | ||||
| import { useNavigate } from "react-router-dom"; | import { useNavigate } from "react-router-dom"; | ||||
| import Loadable from 'components/Loadable'; | import Loadable from 'components/Loadable'; | ||||
| const LoadingComponent = Loadable(React.lazy(() => import('pages/extra-pages/LoadingComponent'))); | const LoadingComponent = Loadable(React.lazy(() => import('pages/extra-pages/LoadingComponent'))); | ||||
| import CheckCircleOutlineIcon from '@mui/icons-material/CheckCircleOutline'; | |||||
| import titleBackgroundImg from 'assets/images/dashboard/gazette-bar.png' | import titleBackgroundImg from 'assets/images/dashboard/gazette-bar.png' | ||||
| const BackgroundHead = { | const BackgroundHead = { | ||||
| @@ -26,16 +27,17 @@ const BackgroundHead = { | |||||
| // ==============================|| DASHBOARD - DEFAULT ||============================== // | // ==============================|| DASHBOARD - DEFAULT ||============================== // | ||||
| const Index = () => { | const Index = () => { | ||||
| const intl = useIntl(); | |||||
| const location = useLocation(); | const location = useLocation(); | ||||
| const navigate = useNavigate() | const navigate = useNavigate() | ||||
| const [onReady, setOnReady] = React.useState(false); | const [onReady, setOnReady] = React.useState(false); | ||||
| React.useEffect(() => { | React.useEffect(() => { | ||||
| if("iAmSmart"==location.state.loginMethod){ | |||||
| if ("iAmSmart" == location?.state?.loginMethod) { | |||||
| setOnReady(true); | setOnReady(true); | ||||
| }else{ | |||||
| } else { | |||||
| navigate('/dashboard'); | navigate('/dashboard'); | ||||
| } | |||||
| } | |||||
| }, []); | }, []); | ||||
| return ( | return ( | ||||
| @@ -60,9 +62,10 @@ const Index = () => { | |||||
| <Grid item xs={12} md={12} > | <Grid item xs={12} md={12} > | ||||
| <Grid container justifyContent="flex-start" alignItems="center" > | <Grid container justifyContent="flex-start" alignItems="center" > | ||||
| <center> | <center> | ||||
| <CheckCircleOutlineIcon color="success" sx={{ width: "200px", height: "200px" }} /> | |||||
| <Grid item xs={12} md={12} > | <Grid item xs={12} md={12} > | ||||
| <Typography variant="h3" sx={{ ml: 8, mt: 4, mr: 8, textAlign: "center" }}> | <Typography variant="h3" sx={{ ml: 8, mt: 4, mr: 8, textAlign: "center" }}> | ||||
| <FormattedMessage id="loginSuccessMessage2" /> | |||||
| <div dangerouslySetInnerHTML={{ __html: intl.formatMessage({ id: 'loginSuccessMessage2' }) }} /> | |||||
| </Typography> | </Typography> | ||||
| </Grid> | </Grid> | ||||
| </center> | </center> | ||||
| @@ -77,7 +80,9 @@ const Index = () => { | |||||
| variant="contained" | variant="contained" | ||||
| size="large" | size="large" | ||||
| sx={{ m: 4 }} | sx={{ m: 4 }} | ||||
| onClick={() => { navigate("/dashboard"); }} | |||||
| onClick={() => { | |||||
| navigate("/dashboard"); | |||||
| }} | |||||
| > | > | ||||
| <FormattedMessage id="loginSuccessMessage3" /> | <FormattedMessage id="loginSuccessMessage3" /> | ||||
| </Button> | </Button> | ||||
| @@ -5,7 +5,6 @@ import Loadable from 'components/Loadable'; | |||||
| import { Navigate } from "react-router"; | import { Navigate } from "react-router"; | ||||
| const MainLayout = Loadable(lazy(() => import('layout/MainLayout'))); | const MainLayout = Loadable(lazy(() => import('layout/MainLayout'))); | ||||
| const IAmSmart_SuccessCallback = Loadable(lazy(() => import('pages/iAmSmart/SuccessCallback'))); | |||||
| // ==============================|| MAIN ROUTING ||============================== // | // ==============================|| MAIN ROUTING ||============================== // | ||||
| @@ -41,10 +40,6 @@ const AfterLoginRoutes = { | |||||
| path: 'iamsmart/loginFail', | path: 'iamsmart/loginFail', | ||||
| element: <Navigate to="/dashboard" /> | element: <Navigate to="/dashboard" /> | ||||
| }, | }, | ||||
| { | |||||
| path: 'iamsmart/loginSucess', | |||||
| element: <IAmSmart_SuccessCallback/> | |||||
| }, | |||||
| { | { | ||||
| path: 'verify/:verifyCode/:email', | path: 'verify/:verifyCode/:email', | ||||
| element: <Navigate to="/dashboard" /> | element: <Navigate to="/dashboard" /> | ||||
| @@ -46,7 +46,7 @@ const GLDUserRoutes = { | |||||
| path: '/', | path: '/', | ||||
| children: [ | children: [ | ||||
| { | { | ||||
| path: 'dashboard', | |||||
| path: '/dashboard', | |||||
| element: <DashboardDefault /> | element: <DashboardDefault /> | ||||
| }, | }, | ||||
| { | { | ||||
| @@ -29,6 +29,7 @@ const OrganizationDetailPage = Loadable(lazy(() => import('pages/Organization/De | |||||
| const Msg_Details = Loadable(lazy(() => import('pages/Message/Details'))); | const Msg_Details = Loadable(lazy(() => import('pages/Message/Details'))); | ||||
| const Msg_Search = Loadable(lazy(() => import('pages/Message/Search'))); | const Msg_Search = Loadable(lazy(() => import('pages/Message/Search'))); | ||||
| const AnnouncementSearch = Loadable(lazy(() => import('pages/Announcement/Search_Public'))); | const AnnouncementSearch = Loadable(lazy(() => import('pages/Announcement/Search_Public'))); | ||||
| const IAmSmart_SuccessCallback = Loadable(lazy(() => import('pages/iAmSmart/SuccessCallback'))); | |||||
| // ==============================|| MAIN ROUTING ||============================== // | // ==============================|| MAIN ROUTING ||============================== // | ||||
| @@ -48,6 +49,10 @@ const PublicDashboard = { | |||||
| path: 'dashboard', | path: 'dashboard', | ||||
| element: <DashboardDefault /> | element: <DashboardDefault /> | ||||
| }, | }, | ||||
| { | |||||
| path: 'iamsmart/loginSucess', | |||||
| element: <IAmSmart_SuccessCallback/> | |||||
| }, | |||||
| { | { | ||||
| path: 'setting/manageUser', | path: 'setting/manageUser', | ||||
| element: <ManageOrgUser /> | element: <ManageOrgUser /> | ||||
| @@ -155,7 +155,7 @@ | |||||
| "loginErrorMessage6":"User account not found", | "loginErrorMessage6":"User account not found", | ||||
| "loginSuccessMessage1":"User account not found", | "loginSuccessMessage1":"User account not found", | ||||
| "loginSuccessMessage2":"You are our existing user and successfully linked your existing account. From now on, you can log in through \"iAm Smart\".", | |||||
| "loginSuccessMessage2":"You are our existing user and successfully linked your existing account.<br/>From now on, you can log in through \"iAm Smart\".", | |||||
| "loginSuccessMessage3":"Continue to use e-Service", | "loginSuccessMessage3":"Continue to use e-Service", | ||||
| "newPassword": "New Password", | "newPassword": "New Password", | ||||
| @@ -181,7 +181,7 @@ | |||||
| "loginErrorMessage6":"找不到用户帐户", | "loginErrorMessage6":"找不到用户帐户", | ||||
| "loginSuccessMessage1":"成功连结现有帐户", | "loginSuccessMessage1":"成功连结现有帐户", | ||||
| "loginSuccessMessage2":"你是我们的现有用户,已成功连结现有帐户,以后可以透过「智方便」登入。", | |||||
| "loginSuccessMessage2":"你是我们的现有用户,已成功连结现有帐户。<br/>以后可以透过「智方便」登入。", | |||||
| "loginSuccessMessage3":"继续使用e-Service", | "loginSuccessMessage3":"继续使用e-Service", | ||||
| "newPassword": "新密码", | "newPassword": "新密码", | ||||
| @@ -182,7 +182,7 @@ | |||||
| "loginErrorMessage6":"找不到用戶帳戶", | "loginErrorMessage6":"找不到用戶帳戶", | ||||
| "loginSuccessMessage1":"成功連結現有帳戶", | "loginSuccessMessage1":"成功連結現有帳戶", | ||||
| "loginSuccessMessage2":"你是我們的現有用戶,已成功連結現有帳戶,以後可以透過「智方便」登入。", | |||||
| "loginSuccessMessage2":"你是我們的現有用戶,已成功連結現有帳戶。<br/>以後可以透過「智方便」登入。", | |||||
| "loginSuccessMessage3":"繼續使用e-Service", | "loginSuccessMessage3":"繼續使用e-Service", | ||||
| "newPassword": "新密碼", | "newPassword": "新密碼", | ||||