@@ -10,20 +10,20 @@ import { | |||
import { useFormik } from 'formik'; | |||
import * as React from "react"; | |||
import * as DateUtils from "utils/DateUtils" | |||
//import * as DateUtils from "utils/DateUtils" | |||
import * as FormatUtils from "utils/FormatUtils" | |||
import { useParams } from "react-router-dom"; | |||
import Loadable from 'components/Loadable'; | |||
const MainCard = Loadable(React.lazy(() => import('components/MainCard'))); | |||
import * as StatusUtils from "utils/statusUtils/PublicNoteStatusUtils"; | |||
import FileList from "components/FileList" | |||
import {FormattedMessage, useIntl} from "react-intl"; | |||
import { FormattedMessage, useIntl } from "react-intl"; | |||
// ==============================|| DASHBOARD - DEFAULT ||============================== // | |||
const ApplicationDetailCard = ({ formData, }) => { | |||
const params = useParams(); | |||
const intl = useIntl(); | |||
const { locale } = intl; | |||
//const { locale } = intl; | |||
const [data, setData] = React.useState({}); | |||
//const [proofId, setProofId] = React.useState(); | |||
@@ -68,7 +68,7 @@ const ApplicationDetailCard = ({ formData, }) => { | |||
content={false} | |||
> | |||
<Typography variant="h4" sx={{ textAlign: "left", mb: 2, borderBottom: "1px solid black" }}> | |||
<FormattedMessage id="publicNoticePaymentProofInfo"/> | |||
<FormattedMessage id="publicNoticePaymentProofInfo" /> | |||
</Typography> | |||
<form> | |||
<Grid container direction="column"> | |||
@@ -80,7 +80,7 @@ const ApplicationDetailCard = ({ formData, }) => { | |||
<Grid item xs={12} md={3} lg={3} | |||
sx={{ display: 'flex', alignItems: 'center' }}> | |||
<FormLabel><Typography variant="pnspsFormParagraph"> | |||
<FormattedMessage id="applicationId"/>: | |||
<FormattedMessage id="applicationId" />: | |||
</Typography></FormLabel> | |||
</Grid> | |||
@@ -89,12 +89,12 @@ const ApplicationDetailCard = ({ formData, }) => { | |||
</Grid> | |||
</Grid> | |||
</Grid> | |||
<Grid item xs={12} md={5} lg={5} sx={{ mb: 1}}> | |||
<Grid item xs={12} md={5} lg={5} sx={{ mb: 1 }}> | |||
<Grid container alignItems={"left"}> | |||
<Grid item xs={12} md={3} lg={3} | |||
sx={{ display: 'flex', alignItems: 'center' }}> | |||
<FormLabel><Typography variant="pnspsFormParagraph"> | |||
<FormattedMessage id="applyStatus"/>: | |||
<FormattedMessage id="applyStatus" />: | |||
</Typography></FormLabel> | |||
</Grid> | |||
@@ -113,7 +113,7 @@ const ApplicationDetailCard = ({ formData, }) => { | |||
<Grid item xs={12} md={3} lg={3} | |||
sx={{ display: 'flex', alignItems: 'center' }}> | |||
<FormLabel><Typography variant="pnspsFormParagraph"> | |||
<FormattedMessage id="applyPerson"/>: | |||
<FormattedMessage id="applyPerson" />: | |||
</Typography></FormLabel> | |||
</Grid> | |||
@@ -128,12 +128,12 @@ const ApplicationDetailCard = ({ formData, }) => { | |||
</Grid> | |||
</Grid> | |||
</Grid> | |||
<Grid item xs={12} md={5} lg={5} sx={{ mb: 1, ml: {xs:0, sm:0, md:1, lg:1} }}> | |||
<Grid item xs={12} md={5} lg={5} sx={{ mb: 1, ml: { xs: 0, sm: 0, md: 1, lg: 1 } }}> | |||
<Grid container alignItems={"center"}> | |||
<Grid item xs={12} md={3} lg={3} | |||
sx={{ display: 'flex', alignItems: 'center' }}> | |||
<FormLabel><Typography variant="pnspsFormParagraph"> | |||
<FormattedMessage id="gazetteCount"/>: | |||
<FormattedMessage id="gazetteCount" />: | |||
</Typography></FormLabel> | |||
</Grid> | |||
@@ -150,7 +150,7 @@ const ApplicationDetailCard = ({ formData, }) => { | |||
<Grid item xs={12} md={3} lg={3} | |||
sx={{ display: 'flex', alignItems: 'center' }}> | |||
<FormLabel><Typography variant="pnspsFormParagraph"> | |||
<FormattedMessage id="contactPerson"/>: | |||
<FormattedMessage id="contactPerson" />: | |||
</Typography></FormLabel> | |||
</Grid> | |||
@@ -160,7 +160,7 @@ const ApplicationDetailCard = ({ formData, }) => { | |||
</Grid> | |||
</Grid> | |||
</Grid> | |||
<Grid item xs={12} md={5} lg={5} sx={{ mb: 1, ml: {xs:0, sm:0, md:1, lg:1} }}> | |||
<Grid item xs={12} md={5} lg={5} sx={{ mb: 1, ml: { xs: 0, sm: 0, md: 1, lg: 1 } }}> | |||
<Grid container alignItems={"center"}> | |||
<Grid item xs={12} md={3} lg={3} | |||
sx={{ display: 'flex', alignItems: 'center' }}> | |||
@@ -182,7 +182,7 @@ const ApplicationDetailCard = ({ formData, }) => { | |||
<Grid item xs={12} md={3} lg={3} | |||
sx={{ display: 'flex', alignItems: 'center' }}> | |||
<FormLabel><Typography variant="pnspsFormParagraph"> | |||
<FormattedMessage id="myRemarks"/>: | |||
<FormattedMessage id="myRemarks" />: | |||
</Typography></FormLabel> | |||
</Grid> | |||
@@ -196,20 +196,20 @@ const ApplicationDetailCard = ({ formData, }) => { | |||
</Grid> | |||
<Grid container | |||
direction="row" | |||
justifyContent="space-between" | |||
alignItems="center" | |||
width="auto" | |||
direction="row" | |||
justifyContent="space-between" | |||
alignItems="center" | |||
width="auto" | |||
> | |||
<Grid item xs={12} sm={12} md={6} lg={6} sx={{mb: 1}}> | |||
<Grid item xs={12} sm={12} md={6} lg={6} sx={{ mb: 1 }}> | |||
<Grid container alignItems={"center"}> | |||
<Grid item xs={12} sm={12} md={12} lg={12} sx={{ alignItems: 'center',wordBreak: 'break-word' }}> | |||
<Grid item xs={12} sm={12} md={12} lg={12} sx={{ alignItems: 'center', wordBreak: 'break-word' }}> | |||
<Typography><Typography variant="pnspsFormParagraph"> | |||
<FormattedMessage id="pleaseCheckReminder" />: | |||
</Typography></Typography> | |||
</Grid> | |||
<Grid item xs={12} sm={12} md={12} lg={12} sx={{ width:'95%', maxWidth: {xs:'70vw', sm:'72vw', md:'75vw',lg:'80vw'}}}> | |||
<Grid item xs={12} sm={12} md={12} lg={12} sx={{ width: '95%', maxWidth: { xs: '70vw', sm: '72vw', md: '75vw', lg: '80vw' } }}> | |||
<FileList | |||
lang="ch" | |||
refId={params.id} | |||
@@ -228,25 +228,23 @@ const ApplicationDetailCard = ({ formData, }) => { | |||
<Grid item xs={12} md={5} lg={5} sx={{ mb: 1, }}> | |||
<Grid container alignItems={"center"}> | |||
<Grid item xs={12} md={12} lg={12} | |||
{/* <Grid item xs={12} md={12} lg={12} | |||
sx={{ display: 'flex', alignItems: 'center' }}> | |||
<Typography variant="h5" display="inline"> | |||
{/* <Typography variant="h5" style={{color:'red'}} display="inline"> | |||
<FormattedMessage id="payAnd" /> | |||
</Typography> */} | |||
<FormattedMessage id="commentDeadline" />: | |||
</Typography> | |||
</Grid> | |||
<Grid item xs={12} md={12} lg={12} sx={{ mb: 4, display: 'flex', alignItems: 'center' }}> | |||
<Typography variant="h5">  | |||
{locale === 'en' ? | |||
`${intl.formatMessage({id: 'before'})} ${DateUtils.datetimeStr(data.reviseDeadline)} ` | |||
: | |||
`${DateUtils.datetimeStr_Cht(data.reviseDeadline)} ${intl.formatMessage({id: 'before'})}` | |||
} | |||
`${intl.formatMessage({ id: 'before' })} ${DateUtils.datetimeStr(data.reviseDeadline)} ` | |||
: | |||
`${DateUtils.datetimeStr_Cht(data.reviseDeadline)} ${intl.formatMessage({ id: 'before' })}` | |||
} | |||
</Typography> | |||
</Grid> | |||
</Grid> */} | |||
{/* | |||
<Grid item xs={12} md={12} lg={12} | |||
sx={{ display: 'flex', alignItems: 'center' }}> | |||
<Typography variant="h5" display="inline"> | |||
@@ -256,17 +254,17 @@ const ApplicationDetailCard = ({ formData, }) => { | |||
<Grid item xs={12} md={12} lg={12} sx={{ mb: 4, display: 'flex', alignItems: 'center' }}> | |||
<Typography variant="h5">  | |||
{locale === 'en' ? | |||
`${intl.formatMessage({id: 'before'})} ${DateUtils.datetimeStr(data.proofPaymentDeadline)} ` | |||
: | |||
`${DateUtils.datetimeStr_Cht(data.proofPaymentDeadline)} ${intl.formatMessage({id: 'before'})}` | |||
} | |||
`${intl.formatMessage({ id: 'before' })} ${DateUtils.datetimeStr(data.proofPaymentDeadline)} ` | |||
: | |||
`${DateUtils.datetimeStr_Cht(data.proofPaymentDeadline)} ${intl.formatMessage({ id: 'before' })}` | |||
} | |||
</Typography> | |||
</Grid> | |||
</Grid> */} | |||
<Grid item xs={12} sm={3} md={3} lg={3} | |||
sx={{ mb: 1, display: 'flex', alignItems: 'center' }}> | |||
<Typography variant="pnspsFormParagraph"> | |||
<FormattedMessage id="payFeeFor"/>: | |||
<FormattedMessage id="payFeeFor" />: | |||
</Typography> | |||
</Grid> | |||
<Grid item xs={12} sm={9} md={9} lg={9} sx={{ mb: 1, display: 'flex', alignItems: 'center' }}> | |||
@@ -276,17 +274,16 @@ const ApplicationDetailCard = ({ formData, }) => { | |||
{ | |||
formik.values.groupType === "Private Bill" | |||
? | |||
<Typography variant="pnspsFormParagraph">( {data.noOfPages} {intl.formatMessage({id: 'page'})} x $6,552 )</Typography> | |||
<Typography variant="pnspsFormParagraph">( {data.noOfPages} {intl.formatMessage({ id: 'page' })} x $6,552 )</Typography> | |||
: | |||
<Typography variant="pnspsFormParagraph">( {data.length} cm x {data.colCount === 2 ? | |||
"$364 "+intl.formatMessage({id: 'doubleCol'}) : | |||
"$182 "+intl.formatMessage({id: 'singleCol'})} )</Typography> | |||
"$364 " + intl.formatMessage({ id: 'doubleCol' }) : | |||
"$182 " + intl.formatMessage({ id: 'singleCol' })} )</Typography> | |||
} | |||
</Grid> | |||
</Grid> | |||
</Grid> | |||
</Grid> | |||
</Grid> | |||
</Grid> | |||
</form> | |||
@@ -7,6 +7,7 @@ import { | |||
TextField, | |||
FormLabel, | |||
Button, | |||
Checkbox, | |||
RadioGroup, Radio, | |||
FormControlLabel | |||
} from '@mui/material'; | |||
@@ -25,6 +26,7 @@ import { notifyActionSuccess } from 'utils/CommonFunction'; | |||
import { PNSPS_BUTTON_THEME } from "themes/buttonConst"; | |||
import { ThemeProvider } from "@emotion/react"; | |||
import { FormattedMessage, useIntl } from "react-intl"; | |||
const UploadFileTable = Loadable(React.lazy(() => import('./UploadFileTable'))); | |||
//import * as ProofStatus from "utils/statusUtils/ProofStatus"; | |||
@@ -35,6 +37,7 @@ const FormPanel = ({ formData }) => { | |||
const intl = useIntl(); | |||
const { locale } = intl; | |||
const [data, setData] = React.useState({}); | |||
const [paymentMethod, set_paymentMethod] = React.useState(""); | |||
const [attachments, setAttachments] = React.useState([]); | |||
const [actionValue, setActionValue] = React.useState(true); | |||
@@ -45,6 +48,13 @@ const FormPanel = ({ formData }) => { | |||
const navigate = useNavigate() | |||
const params = useParams(); | |||
const tabelStyle = { | |||
border: "2px solid gray", | |||
borderCollapse: "collapse", | |||
padding: "right" | |||
} | |||
React.useEffect(() => { | |||
if (formData) { | |||
setData(formData); | |||
@@ -84,6 +94,7 @@ const FormPanel = ({ formData }) => { | |||
id: data.id, | |||
action: actionValue, | |||
vaild: values.vaild, | |||
paymentMethod: paymentMethod | |||
}, | |||
files: attachments ? attachments : [], | |||
onSuccess: function (responseData) { | |||
@@ -145,7 +156,27 @@ const FormPanel = ({ formData }) => { | |||
} | |||
const isOverReviseDeadline = () => { | |||
if (paymentMethod == "dn") return isOverDnReviseDeadline(); | |||
if (paymentMethod == "npgo") return isOverNpgoReviseDeadline(); | |||
//online payment | |||
let reviseDeadline = DateUtils.convertToDate(formik.values?.reviseDeadline); | |||
reviseDeadline?.setTime(reviseDeadline?.getTime() + (14 * 60 * 60 * 1000));// 14:00 | |||
if (!reviseDeadline) return true; | |||
let current = new Date(); | |||
return current.getTime() > reviseDeadline; | |||
} | |||
const isOverDnReviseDeadline = () => { | |||
let reviseDeadline = DateUtils.convertToDate(formData.beforeClosingDate); | |||
reviseDeadline?.setTime(reviseDeadline?.getTime() + (17 * 60 * 60 * 1000));// 17:00 | |||
if (!reviseDeadline) return true; | |||
let current = new Date(); | |||
return current.getTime() > reviseDeadline; | |||
} | |||
const isOverNpgoReviseDeadline = () => { | |||
let reviseDeadline = DateUtils.convertToDate(formik.values?.reviseDeadline); | |||
reviseDeadline?.setTime(reviseDeadline?.getTime() + (12 * 60 * 60 * 1000));// 12:00 | |||
if (!reviseDeadline) return true; | |||
let current = new Date(); | |||
return current.getTime() > reviseDeadline; | |||
@@ -153,6 +184,7 @@ const FormPanel = ({ formData }) => { | |||
return ( | |||
<MainCard xs={12} sm={12} md={12} lg={12} | |||
border={false} | |||
@@ -252,11 +284,104 @@ const FormPanel = ({ formData }) => { | |||
{ | |||
actionValue ? | |||
null | |||
<Grid item xs={12} sx={{ mb: 1, }}> | |||
<table style={tabelStyle}> | |||
<tr style={tabelStyle}> | |||
<th style={tabelStyle} width="50" align="left"></th> | |||
<th style={tabelStyle} width="400" align="left"><FormattedMessage id="paymentMeans" /></th> | |||
<th style={tabelStyle} width="400" align="left"><FormattedMessage id="paymentMethodMeans" /></th> | |||
<th style={tabelStyle} width="300" align="left"><FormattedMessage id="confirmingDealine" /></th> | |||
<th style={tabelStyle} width="300" align="left"><FormattedMessage id="PaymentCoonpletDealine" /></th> | |||
</tr> | |||
<tr> | |||
<td style={tabelStyle}> | |||
<Checkbox | |||
checked={paymentMethod == "online"} | |||
onChange={() => { | |||
set_paymentMethod("online") | |||
}} | |||
/> | |||
</td> | |||
<td style={tabelStyle}><FormattedMessage id="payOnline" /></td> | |||
<td style={tabelStyle}> | |||
<ul> | |||
<li><FormattedMessage id="fps" /></li> | |||
<li><FormattedMessage id="card" /></li> | |||
<li><FormattedMessage id="pps" /></li> | |||
</ul> | |||
</td> | |||
<td style={tabelStyle}>{DateUtils.dateFormat(formData.closingDate, "YYYY年MM月DD日")} 2:00 p.m.</td> | |||
<td style={tabelStyle}>{DateUtils.dateFormat(formData.closingDate, "YYYY年MM月DD日")} 2:30 p.m.</td> | |||
</tr> | |||
{ | |||
isOverDnReviseDeadline() ? | |||
<></> : | |||
<tr> | |||
<td style={tabelStyle}> | |||
<Checkbox | |||
checked={paymentMethod == "dn"} | |||
onChange={() => { | |||
set_paymentMethod("dn") | |||
}} | |||
/> | |||
</td> | |||
<td style={tabelStyle}><FormattedMessage id="payDn" /></td> | |||
<td style={tabelStyle}> | |||
<ul> | |||
<li><FormattedMessage id="atm" /></li> | |||
<li><FormattedMessage id="pps" /></li> | |||
<li><FormattedMessage id="eBank" /></li> | |||
<li><FormattedMessage id="phoneBank" /></li> | |||
<li><FormattedMessage id="eCheque" /></li> | |||
<li><FormattedMessage id="fps" /></li> | |||
<li><FormattedMessage id="hkpo" /></li> | |||
<li><FormattedMessage id="store" /></li> | |||
<li><FormattedMessage id="post" /></li> | |||
</ul> | |||
</td> | |||
<td style={tabelStyle}>{DateUtils.dateFormat(formData.beforeClosingDate, "YYYY年MM月DD日")} 5:00 p.m.</td> | |||
<td style={tabelStyle}> | |||
<FormattedMessage id="payDnRemark" values={{ | |||
date: DateUtils.dateFormat(formData.closingDate, "YYYY年MM月DD日") + " 12:30 p.m." | |||
}} /> | |||
</td> | |||
</tr> | |||
} | |||
{ | |||
isOverNpgoReviseDeadline() ? | |||
<></> : | |||
<tr> | |||
<td style={tabelStyle}> | |||
<Checkbox | |||
checked={paymentMethod == "npgo"} | |||
onChange={() => { | |||
set_paymentMethod("npgo") | |||
}} | |||
/> | |||
</td> | |||
<td style={tabelStyle}><FormattedMessage id="payNPGO" /></td> | |||
<td style={tabelStyle}> | |||
<ul> | |||
<li><FormattedMessage id="cheque" /></li> | |||
<li><FormattedMessage id="cash" /></li> | |||
</ul> | |||
</td> | |||
<td style={tabelStyle}>{DateUtils.dateFormat(formData.closingDate, "YYYY年MM月DD日")} 12:00 p.m.</td> | |||
<td style={tabelStyle}> | |||
<FormattedMessage id="payNPGORemark" values={{ | |||
date: DateUtils.dateFormat(formData.closingDate, "YYYY年MM月DD日") + " 12:30 p.m." | |||
}} /> | |||
</td> | |||
</tr> | |||
} | |||
</table> | |||
</Grid> | |||
: | |||
isOverReviseDeadline() ? | |||
<Grid item xs={12} md={12} textAlign="left"> | |||
<Typography variant="h5" style={{color:"red"}}> | |||
<Typography variant="h5" style={{ color: "red" }}> | |||
<FormattedMessage id="MSG.overReviseDeadline" /> | |||
</Typography> | |||
</Grid> | |||
@@ -332,7 +457,6 @@ const FormPanel = ({ formData }) => { | |||
</Stack> | |||
</Grid> | |||
<Grid item xs={12} md={12} textAlign="left"> | |||
<ThemeProvider theme={PNSPS_BUTTON_THEME}> | |||
<Button | |||
@@ -58,6 +58,12 @@ const PublicNoticeApplyForm = ({ loadedData, _selections , gazetteIssueList}) => | |||
backgroundPosition: 'right' | |||
} | |||
const tabelStyle = { | |||
border: "2px solid gray", | |||
borderCollapse: "collapse", | |||
padding: "right" | |||
} | |||
function getMaxErrStr(num, fieldname) { | |||
return intl.formatMessage({ id: 'noMoreThenNWords' }, { num: num, fieldname: fieldname ? intl.formatMessage({ id: fieldname }) + ": " : "" }); | |||
} | |||
@@ -276,26 +282,26 @@ const PublicNoticeApplyForm = ({ loadedData, _selections , gazetteIssueList}) => | |||
</Grid> | |||
<Grid item xs={12} alignItems={"center"} sx={{ p: 2}}> | |||
<table style={{border: "2px solid gray", padding: "right"}}> | |||
<tr style={{border: "2px solid gray"}}> | |||
<th width="300" align="left"><FormattedMessage id="paymentMeans"/></th> | |||
<th width="250" align="left"><FormattedMessage id="confirmingDealine" /></th> | |||
<th width="250" align="left"><FormattedMessage id="PaymentCoonpletDealine" /></th> | |||
<table style={tabelStyle}> | |||
<tr style={tabelStyle}> | |||
<th style={tabelStyle} width="400" align="left"><FormattedMessage id="paymentMeans"/></th> | |||
<th style={tabelStyle} width="300" align="left"><FormattedMessage id="confirmingDealine" /></th> | |||
<th style={tabelStyle} width="300" align="left"><FormattedMessage id="PaymentCoonpletDealine" /></th> | |||
</tr> | |||
<tr> | |||
<td><FormattedMessage id="payOnline" /></td> | |||
<td>{DateUtils.dateFormat(closeDate, "YYYY年MM月DD日")} 2:00 p.m.</td> | |||
<td>{DateUtils.dateFormat(closeDate, "YYYY年MM月DD日")} 2:30 p.m.</td> | |||
<td style={tabelStyle}><FormattedMessage id="payOnline" /></td> | |||
<td style={tabelStyle}>{DateUtils.dateFormat(closeDate, "YYYY年MM月DD日")} 2:00 p.m.</td> | |||
<td style={tabelStyle}>{DateUtils.dateFormat(closeDate, "YYYY年MM月DD日")} 2:30 p.m.</td> | |||
</tr> | |||
<tr> | |||
<td><FormattedMessage id="payDn" /></td> | |||
<td>{DateUtils.dateFormat(beforeClosingDate, "YYYY年MM月DD日")} 5:00 p.m.</td> | |||
<td>{DateUtils.dateFormat(closeDate, "YYYY年MM月DD日")} 12:30 p.m.</td> | |||
<td style={tabelStyle}><FormattedMessage id="payDn" /></td> | |||
<td style={tabelStyle}>{DateUtils.dateFormat(beforeClosingDate, "YYYY年MM月DD日")} 5:00 p.m.</td> | |||
<td style={tabelStyle}>{DateUtils.dateFormat(closeDate, "YYYY年MM月DD日")} 12:30 p.m.</td> | |||
</tr> | |||
<tr> | |||
<td><FormattedMessage id="payNPGO" /></td> | |||
<td>{DateUtils.dateFormat(closeDate, "YYYY年MM月DD日")} 12:00 p.m.</td> | |||
<td>{DateUtils.dateFormat(closeDate, "YYYY年MM月DD日")} 12:30 p.m.</td> | |||
<td style={tabelStyle}><FormattedMessage id="payNPGO" /></td> | |||
<td style={tabelStyle}>{DateUtils.dateFormat(closeDate, "YYYY年MM月DD日")} 12:00 p.m.</td> | |||
<td style={tabelStyle}>{DateUtils.dateFormat(closeDate, "YYYY年MM月DD日")} 12:30 p.m.</td> | |||
</tr> | |||
</table> | |||
@@ -384,10 +384,26 @@ | |||
"paymentDeadline": "Deadline for confirm proof and payment", | |||
"confirmingDealine": "Deadline for Confirming Proof", | |||
"PaymentCoonpletDealine": "Deadline for Payment Completeion", | |||
"payOnline":"Pay online via this system GPNSPS", | |||
"payDn":"Pay by issuance of General Demand Note", | |||
"payOnline":"Pay online via this system PNSPS", | |||
"payDn":"Pay by issuance of General Demand Note (Note)", | |||
"payNPGO":"Pay at NPGO Collection Office", | |||
"paymentMeans":"Payment Means", | |||
"paymentMethodMeans":"Payment Methods Available Under the Payment Means", | |||
"fps":"Faster Payment System (FPS)", | |||
"card":"Credit Card (Visa, Master, UnionPay, JCB)", | |||
"pps":"PPS", | |||
"atm":"Bank Automated Teller Machine (ATM)", | |||
"eBank":"Internet Banking", | |||
"phoneBank":"Phone Banking (for selected banks only)", | |||
"eCheque":"E-Cheque", | |||
"hkpo":"At Post Office", | |||
"store":"At Convenience Store", | |||
"post":"By Post", | |||
"cheque":"Cheque", | |||
"cash":"Cash", | |||
"payDnRemark": "Payment proof (e.g. ATM receipt, internet banking record) to be sent to [email protected] by {date}", | |||
"payNPGORemark" :"Payment to be completed at Collection Office by {date}", | |||
"before": "Before", | |||
"page": "Page", | |||
@@ -40,6 +40,22 @@ | |||
"payDn":"透过发出一般缴款单付款", | |||
"payNPGO":"在 NPGO 收款办公室付款", | |||
"paymentMeans":"付款方式", | |||
"paymentMethodMeans":"可用的付款方式", | |||
"fps":"转数快 (FPS)", | |||
"card":"信用卡 (Visa, Master, UnionPay, JCB)", | |||
"pps":"PPS", | |||
"atm":"银行自动柜员机 (ATM)", | |||
"eBank":"网上银行", | |||
"phoneBank":"电话银行 (仅限指定银行)", | |||
"eCheque":"电子支票", | |||
"hkpo":"在邮局", | |||
"store":"在便利店", | |||
"post":"通过邮寄", | |||
"cheque":"支票", | |||
"cash":"现金", | |||
"payDnRemark": "在{date}之前将付款证明(如自动柜员机收据、网路银行记录)寄至 [email protected] ", | |||
"payNPGORemark" :"在{date}之前在收款办公室完成付款", | |||
"MSG.registerIAmSmart": "你可点击「智方便」按钮,系统会自动输入个人资料,或自行输入个人资料,以即时启动 公共启事提交及缴费系统 帐户。<br/>如欲使用「智方便」提供个人资料,请先下载「智方便」流动应用程式并登记成为「智方便」用户。", | |||
"MSG.registerPersonal": "需上载身份证明文件数码档案以进行网上申请。 <br/>如:香港身份证; 护照; 中国内地身份证; 专业执业证书等", | |||
@@ -40,6 +40,22 @@ | |||
"payDn":"透過發出一般繳款單付款", | |||
"payNPGO":"在 NPGO 收款辦公室付款", | |||
"paymentMeans":"付款方式", | |||
"paymentMethodMeans":"可用的付款方式", | |||
"fps":"轉數快 (FPS)", | |||
"card":"信用卡 (Visa, Master, UnionPay, JCB)", | |||
"pps":"PPS", | |||
"atm":"銀行自動櫃員機 (ATM)", | |||
"eBank":"網上銀行", | |||
"phoneBank":"電話銀行 (僅限指定銀行)", | |||
"eCheque":"電子支票", | |||
"hkpo":"在郵局", | |||
"store":"在便利商店", | |||
"post":"透過郵寄", | |||
"cheque":"支票", | |||
"cash":"現金", | |||
"payDnRemark": "在{date}之前將付款證明(如自動櫃員機收據、網路銀行記錄)寄至 [email protected] ", | |||
"payNPGORemark" :"在{date}之前在收款辦公室完成付款", | |||
"MSG.registerIAmSmart": "你可點擊「智方便」按鈕,系統會自動輸入個人資料,或自行輸入個人資料,以即時啟動 公共啟事提交及繳費系統 帳戶。<br/>如欲使用「智方便」提供個人資料,請先下載「智方便」流動應用程式並登記成為「智方便」用戶。", | |||
"MSG.registerPersonal": "需上載身份證明文件數碼檔案以進行網上申請。<br/>如:香港身份證; 護照; 中國內地身份證; 專業執業証書等", | |||