@@ -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": "新密碼", | ||||