| @@ -1,6 +1,7 @@ | |||||
| // material-ui | // material-ui | ||||
| import { useMediaQuery, Container, Link, Typography, Stack } from '@mui/material'; | import { useMediaQuery, Container, Link, Typography, Stack } from '@mui/material'; | ||||
| import bhkLogo from 'assets/images/BHK_logo_rgb_zh-hk.png'; | import bhkLogo from 'assets/images/BHK_logo_rgb_zh-hk.png'; | ||||
| import {FormattedMessage} from "react-intl"; | |||||
| // ==============================|| FOOTER - AUTHENTICATION ||============================== // | // ==============================|| FOOTER - AUTHENTICATION ||============================== // | ||||
| const AuthFooter = () => { | const AuthFooter = () => { | ||||
| @@ -16,7 +17,7 @@ const AuthFooter = () => { | |||||
| alignItems="center" | alignItems="center" | ||||
| > | > | ||||
| <Typography variant="subtitle2" color="secondary" component="span"> | <Typography variant="subtitle2" color="secondary" component="span"> | ||||
| 2024 © 政府物流服務署 | |||||
| 2024 © <FormattedMessage id="HKGLD" /> | |||||
| </Typography> | </Typography> | ||||
| <Typography | <Typography | ||||
| variant="subtitle2" | variant="subtitle2" | ||||
| @@ -26,7 +27,7 @@ const AuthFooter = () => { | |||||
| target="_blank" | target="_blank" | ||||
| underline="hover" | underline="hover" | ||||
| > | > | ||||
| 重要告示 | |||||
| <FormattedMessage id="importantNotice" /> | |||||
| </Typography> | </Typography> | ||||
| <Typography | <Typography | ||||
| variant="subtitle2" | variant="subtitle2" | ||||
| @@ -37,7 +38,7 @@ const AuthFooter = () => { | |||||
| target="_blank" | target="_blank" | ||||
| underline="hover" | underline="hover" | ||||
| > | > | ||||
| 私隱政策 | |||||
| <FormattedMessage id="privacyPolicy" /> | |||||
| </Typography> | </Typography> | ||||
| </Stack> | </Stack> | ||||
| <Stack direction={matchDownSM ? 'column' : 'row'} spacing={matchDownSM ? 1 : 3} textAlign={matchDownSM ? 'center' : 'inherit'} justifyContent={matchDownSM?"center":"flex-end"}> | <Stack direction={matchDownSM ? 'column' : 'row'} spacing={matchDownSM ? 1 : 3} textAlign={matchDownSM ? 'center' : 'inherit'} justifyContent={matchDownSM?"center":"flex-end"}> | ||||
| @@ -13,10 +13,12 @@ import Loadable from 'components/Loadable'; | |||||
| const MainCard = Loadable(React.lazy(() => import('components/MainCard'))); | const MainCard = Loadable(React.lazy(() => import('components/MainCard'))); | ||||
| const LoadingComponent = Loadable(React.lazy(() => import('pages/extra-pages/LoadingComponent'))); | const LoadingComponent = Loadable(React.lazy(() => import('pages/extra-pages/LoadingComponent'))); | ||||
| import DownloadIcon from '@mui/icons-material/Download'; | import DownloadIcon from '@mui/icons-material/Download'; | ||||
| import {FormattedMessage} from "react-intl"; | |||||
| import {FormattedMessage, useIntl} from "react-intl"; | |||||
| // ==============================|| DASHBOARD - DEFAULT ||============================== // | // ==============================|| DASHBOARD - DEFAULT ||============================== // | ||||
| const PaymentDetails = ({ formData,doPrint }) => { | const PaymentDetails = ({ formData,doPrint }) => { | ||||
| const intl = useIntl(); | |||||
| const { locale } = intl; | |||||
| const [data, setData] = React.useState({}); | const [data, setData] = React.useState({}); | ||||
| const [onReady, setOnReady] = React.useState(false); | const [onReady, setOnReady] = React.useState(false); | ||||
| @@ -64,7 +66,12 @@ const PaymentDetails = ({ formData,doPrint }) => { | |||||
| </Grid> | </Grid> | ||||
| <Grid item xs={6} md={5} sx={{ ml:5,textAlign: "left" }}> | <Grid item xs={6} md={5} sx={{ ml:5,textAlign: "left" }}> | ||||
| <FormLabel sx={{ display: 'flex', alignItems: 'center', color: "#000000" }}> | <FormLabel sx={{ display: 'flex', alignItems: 'center', color: "#000000" }}> | ||||
| {PaymentStatus.getStatus_Cht(data.status)} | |||||
| { | |||||
| locale === 'en' ? | |||||
| PaymentStatus.getStatus_Eng(data.status) | |||||
| : | |||||
| PaymentStatus.getStatus_Cht(data.status) | |||||
| } | |||||
| </FormLabel> | </FormLabel> | ||||
| </Grid> | </Grid> | ||||
| </Grid> | </Grid> | ||||
| @@ -73,7 +80,7 @@ const PaymentDetails = ({ formData,doPrint }) => { | |||||
| <Grid container > | <Grid container > | ||||
| <Grid item xs={6} md={6} sx={{ml:-5, textAlign: "right" }}> | <Grid item xs={6} md={6} sx={{ml:-5, textAlign: "right" }}> | ||||
| <FormLabel sx={{ fontSize: "16px", color: "#000000" }}> | <FormLabel sx={{ fontSize: "16px", color: "#000000" }}> | ||||
| 交易號碼: | |||||
| <FormattedMessage id="transactionNo" />: | |||||
| </FormLabel> | </FormLabel> | ||||
| </Grid> | </Grid> | ||||
| <Grid item xs={6} md={5} sx={{ml:5, textAlign: "left" }}> | <Grid item xs={6} md={5} sx={{ml:5, textAlign: "left" }}> | ||||
| @@ -87,7 +94,7 @@ const PaymentDetails = ({ formData,doPrint }) => { | |||||
| <Grid container > | <Grid container > | ||||
| <Grid item xs={6} md={6} sx={{ml:-5, textAlign: "right" }}> | <Grid item xs={6} md={6} sx={{ml:-5, textAlign: "right" }}> | ||||
| <FormLabel sx={{ fontSize: "16px", color: "#000000" }}> | <FormLabel sx={{ fontSize: "16px", color: "#000000" }}> | ||||
| 交易日期: | |||||
| <FormattedMessage id="transactionDate" />: | |||||
| </FormLabel> | </FormLabel> | ||||
| </Grid> | </Grid> | ||||
| <Grid xs={6} md={5} sx={{ml:5,textAlign: "left" }}> | <Grid xs={6} md={5} sx={{ml:5,textAlign: "left" }}> | ||||
| @@ -101,7 +108,7 @@ const PaymentDetails = ({ formData,doPrint }) => { | |||||
| <Grid container > | <Grid container > | ||||
| <Grid item xs={6} md={6} sx={{ml:-5, textAlign: "right" }}> | <Grid item xs={6} md={6} sx={{ml:-5, textAlign: "right" }}> | ||||
| <FormLabel sx={{ fontSize: "16px", color: "#000000" }}> | <FormLabel sx={{ fontSize: "16px", color: "#000000" }}> | ||||
| 交易時間: | |||||
| <FormattedMessage id="transactionTime" />: | |||||
| </FormLabel> | </FormLabel> | ||||
| </Grid> | </Grid> | ||||
| <Grid xs={6} md={5} sx={{ml:5,textAlign: "left" }}> | <Grid xs={6} md={5} sx={{ml:5,textAlign: "left" }}> | ||||
| @@ -115,7 +122,7 @@ const PaymentDetails = ({ formData,doPrint }) => { | |||||
| <Grid container > | <Grid container > | ||||
| <Grid item xs={6} md={6} sx={{ml:-5, textAlign: "right" }}> | <Grid item xs={6} md={6} sx={{ml:-5, textAlign: "right" }}> | ||||
| <FormLabel sx={{ fontSize: "16px", color: "#000000" }}> | <FormLabel sx={{ fontSize: "16px", color: "#000000" }}> | ||||
| 付款參考號碼: | |||||
| <FormattedMessage id="paymentRefCode" />: | |||||
| </FormLabel> | </FormLabel> | ||||
| </Grid> | </Grid> | ||||
| <Grid xs={6} md={5} sx={{ml:5,textAlign: "left" }}> | <Grid xs={6} md={5} sx={{ml:5,textAlign: "left" }}> | ||||
| @@ -18,6 +18,7 @@ export default function SearchPublicNoticeTable({ recordList }) { | |||||
| const theme = useTheme(); | const theme = useTheme(); | ||||
| const isMdOrLg = useMediaQuery(theme.breakpoints.up('md')); | const isMdOrLg = useMediaQuery(theme.breakpoints.up('md')); | ||||
| const intl = useIntl(); | const intl = useIntl(); | ||||
| const { locale } = intl; | |||||
| const _sx = { | const _sx = { | ||||
| padding: "4 2 4 2", | padding: "4 2 4 2", | ||||
| @@ -80,7 +81,10 @@ export default function SearchPublicNoticeTable({ recordList }) { | |||||
| headerName: intl.formatMessage({id: 'payStatus'}), | headerName: intl.formatMessage({id: 'payStatus'}), | ||||
| width: 150, | width: 150, | ||||
| renderCell: (params) => { | renderCell: (params) => { | ||||
| return PaymentStatus.getStatus_Cht(params); | |||||
| return locale === 'en' ? | |||||
| PaymentStatus.getStatus_Eng(params) | |||||
| : | |||||
| PaymentStatus.getStatus_Cht(params); | |||||
| } | } | ||||
| }, | }, | ||||
| { | { | ||||
| @@ -156,8 +156,8 @@ const SearchPublicNoticeForm = ({ applySearch, searchCriteria }) => { | |||||
| filterOptions={(options) => options} | filterOptions={(options) => options} | ||||
| options={ComboData.paymentStatus} | options={ComboData.paymentStatus} | ||||
| value={status} | value={status} | ||||
| getOptionLabel={(option) => option.labelCht} | |||||
| inputValue={status?.labelCht ? status?.labelCht : ""} | |||||
| getOptionLabel={(option) => option.type? intl.formatMessage({ id: option.i18nLabel }) : ""} | |||||
| inputValue={status? intl.formatMessage({ id: status.i18nLabel }) : ""} | |||||
| onChange={(event, newValue) => { | onChange={(event, newValue) => { | ||||
| if (newValue !== null) { | if (newValue !== null) { | ||||
| setStatus(newValue); | setStatus(newValue); | ||||
| @@ -111,7 +111,7 @@ const Index = () => { | |||||
| </Typography> | </Typography> | ||||
| <Typography variant="h4" sx={{ ml: 8, mt: 4, mr: 8, textAlign: "left" }}> | <Typography variant="h4" sx={{ ml: 8, mt: 4, mr: 8, textAlign: "left" }}> | ||||
| 請按以下完成繳費: | |||||
| <FormattedMessage id="pleaseClickToPay" />: | |||||
| </Typography> | </Typography> | ||||
| <Typography variant="h4" sx={{ml:8, textAlign: "left" }}> | <Typography variant="h4" sx={{ml:8, textAlign: "left" }}> | ||||
| @@ -122,7 +122,7 @@ const Index = () => { | |||||
| sx={{ ml: {md:4,lg:4}, mr:4}} | sx={{ ml: {md:4,lg:4}, mr:4}} | ||||
| onClick={() => { setIsPopUp(true) }} | onClick={() => { setIsPopUp(true) }} | ||||
| > | > | ||||
| 即時網上繳費 | |||||
| <FormattedMessage id="payInstantly" /> | |||||
| </Button> | </Button> | ||||
| </ThemeProvider> | </ThemeProvider> | ||||
| @@ -137,9 +137,9 @@ const Index = () => { | |||||
| navigate("/publicNotice"); | navigate("/publicNotice"); | ||||
| }} | }} | ||||
| > | > | ||||
| 稍後繳費 | |||||
| <FormattedMessage id="payLater" /> | |||||
| </Button> | </Button> | ||||
| (返回「我的公共啟事」) | |||||
| (<FormattedMessage id="backToNoticePage" />) | |||||
| </ThemeProvider> | </ThemeProvider> | ||||
| </Typography> | </Typography> | ||||
| </Grid> | </Grid> | ||||
| @@ -99,7 +99,9 @@ const Index = () => { | |||||
| onClick={()=>{ | onClick={()=>{ | ||||
| navigate("/publicNotice"); | navigate("/publicNotice"); | ||||
| }} | }} | ||||
| >返回「我的公共啟事」</Button> | |||||
| > | |||||
| <FormattedMessage id="backToNoticePage" /> | |||||
| </Button> | |||||
| </Typography> | </Typography> | ||||
| </Grid> | </Grid> | ||||
| </center> | </center> | ||||
| @@ -5,11 +5,19 @@ | |||||
| "PNSPS": "PNSPS", | "PNSPS": "PNSPS", | ||||
| "HKSARGOV": "HKSAR Government", | "HKSARGOV": "HKSAR Government", | ||||
| "HKGLD": "Government Logistics Department", | |||||
| "importantNotice": "Important Notice", | |||||
| "privacyPolicy": "Privacy Policy", | |||||
| "Gazette": "Gazette", | "Gazette": "Gazette", | ||||
| "gazetteDate": "GazetteDate", | "gazetteDate": "GazetteDate", | ||||
| "gazetteLength": "length", | "gazetteLength": "length", | ||||
| "gazetteSampleName": "Gazette Supplement No. 6", | "gazetteSampleName": "Gazette Supplement No. 6", | ||||
| "payInstantly": "Instant online payment", | |||||
| "payLater": "Pay later", | |||||
| "backToNoticePage": "Return to \"My Public Notices\"", | |||||
| "pleaseClickToPay": "Please click below to complete the payment", | |||||
| "registerTitle1": "Become", | "registerTitle1": "Become", | ||||
| "registerTitle2": "Gazette Notice", | "registerTitle2": "Gazette Notice", | ||||
| "registerTitle3": "Publisher now", | "registerTitle3": "Publisher now", | ||||
| @@ -199,6 +207,10 @@ | |||||
| "attention": "attention", | "attention": "attention", | ||||
| "to": "To", | "to": "To", | ||||
| "all": "All", | "all": "All", | ||||
| "success": "Success", | |||||
| "reject": "Reject", | |||||
| "cancelledStatus": "Cancelled", | |||||
| "inProgress": "In progress", | |||||
| "replied": "Replied", | "replied": "Replied", | ||||
| "pendingReply": "PendingReply", | "pendingReply": "PendingReply", | ||||
| "processing": "Processing", | "processing": "Processing", | ||||
| @@ -226,7 +238,7 @@ | |||||
| "payConfirm": "Confirm payment", | "payConfirm": "Confirm payment", | ||||
| "payCancel": "Cancel payment", | "payCancel": "Cancel payment", | ||||
| "payTotal": "Payment total", | "payTotal": "Payment total", | ||||
| "payDetail": "Payment details", | |||||
| "payDetail": "Payment Details", | |||||
| "payMethod": "Payment method", | "payMethod": "Payment method", | ||||
| "selectPaymentMethod": "Please select a payment method", | "selectPaymentMethod": "Please select a payment method", | ||||
| "payReceipt": "Payment receipt", | "payReceipt": "Payment receipt", | ||||
| @@ -281,6 +293,11 @@ | |||||
| "upload": "Upload", | "upload": "Upload", | ||||
| "actionFail": "Action failed: Please check the content and submit the reply again", | "actionFail": "Action failed: Please check the content and submit the reply again", | ||||
| "transactionNo": "Transaction number", | |||||
| "transactionDate": "Transaction date", | |||||
| "transactionTime": "Transaction time", | |||||
| "paymentRefCode": "Payment Reference Number", | |||||
| "Dashboard": "Dashboard", | "Dashboard": "Dashboard", | ||||
| "event": "Event" | "event": "Event" | ||||
| } | } | ||||
| @@ -5,11 +5,19 @@ | |||||
| "PNSPS": "公共启事提交及缴费系统", | "PNSPS": "公共启事提交及缴费系统", | ||||
| "HKSARGOV": "香港特别行政区政府", | "HKSARGOV": "香港特别行政区政府", | ||||
| "HKGLD": "政府物流服务署", | |||||
| "importantNotice": "重要告示", | |||||
| "privacyPolicy": "私隐政策", | |||||
| "Gazette": "宪报", | "Gazette": "宪报", | ||||
| "gazetteDate": "宪报日期", | "gazetteDate": "宪报日期", | ||||
| "gazetteLength": "长度", | "gazetteLength": "长度", | ||||
| "gazetteSampleName": "宪报第6号副刊公告", | "gazetteSampleName": "宪报第6号副刊公告", | ||||
| "payInstantly": "即时网上缴费", | |||||
| "payLater": "稍后缴费", | |||||
| "backToNoticePage": "返回「我的公共启事」", | |||||
| "pleaseClickToPay": "请按以下完成缴费", | |||||
| "registerTitle1": "立即成为", | "registerTitle1": "立即成为", | ||||
| "registerTitle2": "宪报刊登公告", | "registerTitle2": "宪报刊登公告", | ||||
| "registerTitle3": "用户", | "registerTitle3": "用户", | ||||
| @@ -199,6 +207,10 @@ | |||||
| "attention": "注意", | "attention": "注意", | ||||
| "to": "到", | "to": "到", | ||||
| "all": "全部", | "all": "全部", | ||||
| "success": "成功", | |||||
| "reject": "拒绝", | |||||
| "cancelledStatus": "取消", | |||||
| "inProgress": "进行中", | |||||
| "replied": "已回覆", | "replied": "已回覆", | ||||
| "pendingReply": "未回覆", | "pendingReply": "未回覆", | ||||
| "processing": "处理中", | "processing": "处理中", | ||||
| @@ -281,6 +293,11 @@ | |||||
| "upload": "上载", | "upload": "上载", | ||||
| "actionFail": "行动失败: 请检查内容并再次提交回覆", | "actionFail": "行动失败: 请检查内容并再次提交回覆", | ||||
| "transactionNo": "交易号码", | |||||
| "transactionDate": "交易日期", | |||||
| "transactionTime": "交易时间", | |||||
| "paymentRefCode": "付款参考号码", | |||||
| "Dashboard": "仪表板", | "Dashboard": "仪表板", | ||||
| "event": "活动" | "event": "活动" | ||||
| } | } | ||||
| @@ -5,11 +5,19 @@ | |||||
| "PNSPS": "公共啟事提交及繳費系統", | "PNSPS": "公共啟事提交及繳費系統", | ||||
| "HKSARGOV": "香港特別行政區政府", | "HKSARGOV": "香港特別行政區政府", | ||||
| "HKGLD": "政府物流服務署", | |||||
| "importantNotice": "重要告示", | |||||
| "privacyPolicy": "私隱政策", | |||||
| "Gazette": "憲報", | "Gazette": "憲報", | ||||
| "gazetteDate": "憲報日期", | "gazetteDate": "憲報日期", | ||||
| "gazetteLength": "長度", | "gazetteLength": "長度", | ||||
| "gazetteSampleName": "憲報第6號副刊公告", | "gazetteSampleName": "憲報第6號副刊公告", | ||||
| "payInstantly": "即時網上繳費", | |||||
| "payLater": "稍後繳費", | |||||
| "backToNoticePage": "返回「我的公共啟事」", | |||||
| "pleaseClickToPay": "請按以下完成繳費", | |||||
| "registerTitle1": "立即成為", | "registerTitle1": "立即成為", | ||||
| "registerTitle2": "憲報刊登公告", | "registerTitle2": "憲報刊登公告", | ||||
| "registerTitle3": "用戶", | "registerTitle3": "用戶", | ||||
| @@ -199,6 +207,10 @@ | |||||
| "attention": "注意", | "attention": "注意", | ||||
| "to": "到", | "to": "到", | ||||
| "all": "全部", | "all": "全部", | ||||
| "success": "成功", | |||||
| "reject": "拒絕", | |||||
| "cancelledStatus": "取消", | |||||
| "inProgress": "進行中", | |||||
| "replied": "已回覆", | "replied": "已回覆", | ||||
| "pendingReply": "未回覆", | "pendingReply": "未回覆", | ||||
| "processing": "處理中", | "processing": "處理中", | ||||
| @@ -281,6 +293,11 @@ | |||||
| "upload": "上載", | "upload": "上載", | ||||
| "actionFail": "行動失敗: 請檢查內容並再次提交回覆", | "actionFail": "行動失敗: 請檢查內容並再次提交回覆", | ||||
| "transactionNo": "交易號碼", | |||||
| "transactionDate": "交易日期", | |||||
| "transactionTime": "交易時間", | |||||
| "paymentRefCode": "付款參考號碼", | |||||
| "Dashboard": "儀表板", | "Dashboard": "儀表板", | ||||
| "event": "活動" | "event": "活動" | ||||
| } | } | ||||
| @@ -98,11 +98,11 @@ export const proofStatus = [ | |||||
| ]; | ]; | ||||
| export const paymentStatus = [ | export const paymentStatus = [ | ||||
| { key: 0, labelCht: '全部', label: 'All', type: 'all' }, | |||||
| { key: 1, labelCht: '成功', label:'Success', type: 'APPR' }, | |||||
| { key: 2, labelCht: '拒絕', label:'Reject', type: 'REJT' }, | |||||
| { key: 3, labelCht: '取消', label:'Cancelled', type: 'CANC' }, | |||||
| { key: 4, labelCht: '進行中', label:'In Progress', type: 'INPR' }, | |||||
| { key: 0, i18nLabel: 'all', labelCht: '全部', label: 'All', type: 'all' }, | |||||
| { key: 1, i18nLabel: 'success', labelCht: '成功', label:'Success', type: 'APPR' }, | |||||
| { key: 2, i18nLabel: 'reject', labelCht: '拒絕', label:'Reject', type: 'REJT' }, | |||||
| { key: 3, i18nLabel: 'cancelledStatus', labelCht: '取消', label:'Cancelled', type: 'CANC' }, | |||||
| { key: 4, i18nLabel: 'inProgress', labelCht: '進行中', label:'In Progress', type: 'INPR' }, | |||||
| ]; | ]; | ||||