瀏覽代碼

Merge branch 'New_Enhancement' of https://git.2fi-solutions.com/alex/PNSPS-frontend-MaterialUI into New_Enhancement

CR003
Alex Cheung 1 年之前
父節點
當前提交
55f9a1d78f
共有 10 個文件被更改,包括 306 次插入217 次删除
  1. +1
    -0
      src/components/FiDataGrid.js
  2. +75
    -14
      src/pages/DemandNote/Search/DataGrid.js
  3. +0
    -1
      src/pages/DemandNote/Search/index.js
  4. +18
    -2
      src/pages/Proof/Payment/Pay_Office.js
  5. +129
    -126
      src/pages/Proof/Reply_Public/ProofForm.js
  6. +70
    -68
      src/pages/PublicNotice/ApplyForm/PublicNoticeApplyForm.js
  7. +4
    -2
      src/translations/en.json
  8. +4
    -2
      src/translations/zh-CN.json
  9. +4
    -2
      src/translations/zh-HK.json
  10. +1
    -0
      src/utils/ApiPathConst.js

+ 1
- 0
src/components/FiDataGrid.js 查看文件

@@ -127,6 +127,7 @@ export function FiDataGrid({ rows, columns, sx, autoHeight,
<DataGrid
{...props}
rows={_rows}
rowCount={rowCount?rowCount:0}
columns={_columns}
paginationMode="server"
disableColumnMenu


+ 75
- 14
src/pages/DemandNote/Search/DataGrid.js 查看文件

@@ -19,7 +19,8 @@ import {
DEMAND_NOTE_SEND,
DEMAND_NOTE_ATTACH,
DEMAND_NOTE_MARK_PAID,
DEMAND_NOTE_LIST_ALL
DEMAND_NOTE_LIST_ALL,
DEMAND_NOTE_REVOKE_PAID
} from "utils/ApiPathConst";
import * as HttpUtils from "utils/HttpUtils";
import { PNSPS_BUTTON_THEME } from "themes/buttonConst";
@@ -27,16 +28,17 @@ import { ThemeProvider } from "@emotion/react";
import { isGrantedAny } from "auth/utils";
// ==============================|| EVENT TABLE ||============================== //

export default function SearchDemandNote({ searchCriteria, applySearch }) {
export default function SearchDemandNote({ applySearch, searchCriteria }) {

const [isConfirmPopUp, setConfirmPopUp] = useState(false);
const [isRevokePopUp, setRevokePopUp] = useState(false);
const [isSendPopUp, setSendPopUp] = useState(false);
const [isErrorPopUp, setIsErrorPopUp] = useState(false);
const [selectonWarning, setSelectonWarning] = useState(false);
const [wait, setWait] = useState(false);
const [reload, setReload] = useState(new Date());
const [rows, setRows] = useState([]);
const [_searchCriteria, set_searchCriteria] = useState(searchCriteria);
const [_searchCriteria, set_searchCriteria] = useState({});
const [selectedRowItems, setSelectedRowItems] = useState([]);
const navigate = useNavigate()

@@ -44,6 +46,7 @@ export default function SearchDemandNote({ searchCriteria, applySearch }) {
set_searchCriteria(searchCriteria);
}, [searchCriteria]);


const handleDnClick = (params) => () => {
navigate('/paymentPage/demandNote/details/' + params.id);
};
@@ -109,7 +112,7 @@ export default function SearchDemandNote({ searchCriteria, applySearch }) {
dnIdList: idList
},
onSuccess: () => {
if (reloadFun) reloadFun();
setReload(new Date());
}
});

@@ -133,13 +136,36 @@ export default function SearchDemandNote({ searchCriteria, applySearch }) {
},
files: [file],
onSuccess() {
setWait(false);
if (reloadFun) reloadFun();
setReload(new Date());
},
});
document.getElementById("uploadFileBtn").value = "";
}

const revokePaid = () => {
setRevokePopUp(false);
let idList = [];
const datas = rows?.filter((row) =>
selectedRowItems.includes(row.id)
);
if (datas?.length < 1) {
setSelectonWarning(true);
return;
}
for (var i = 0; i < datas?.length; i++) {
idList.push(datas[i].id);
}
HttpUtils.post({
url: DEMAND_NOTE_REVOKE_PAID,
params: {
dnIdList: idList
},
onSuccess: () => {
setReload(new Date());
}
});
}

const markPaid = () => {
setConfirmPopUp(false);
let idList = [];
@@ -159,7 +185,7 @@ export default function SearchDemandNote({ searchCriteria, applySearch }) {
dnIdList: idList
},
onSuccess: () => {
if (reloadFun) reloadFun();
setReload(new Date());
}
});
}
@@ -240,9 +266,11 @@ export default function SearchDemandNote({ searchCriteria, applySearch }) {
width: 300,
renderCell: (params) => {
return (<table>
<tr><td>Issue:</td><td>{DateUtils.dateStr(params?.row.issueDate)}</td></tr>
<tr><td>Due:</td><td>{params?.value ? DateUtils.dateStr(params?.value) : "--"}</td></tr>
<tr><td>Sent:</td><td>{params.row.sentDate ? <> {DateUtils.datetimeStr(params.row.sentDate)} - {params.row.sentBy} </> : <> To be sent</>}</td></tr>
<tbody>
<tr><td>Issue:</td><td>{DateUtils.dateStr(params?.row.issueDate)}</td></tr>
<tr><td>Due:</td><td>{params?.value ? DateUtils.dateStr(params?.value) : "--"}</td></tr>
<tr><td>Sent:</td><td>{params.row.sentDate ? DateUtils.datetimeStr(params.row.sentDate) - params.row.sentBy : "To be sent"}</td></tr>
</tbody>
</table>);
}
},
@@ -262,7 +290,7 @@ export default function SearchDemandNote({ searchCriteria, applySearch }) {
headerName: 'Status',
width: 175,
renderCell: (params) => {
return [StatusUtils.getStatus_Eng(params)]
return StatusUtils.getStatus_Eng(params)
},
},
];
@@ -300,6 +328,7 @@ export default function SearchDemandNote({ searchCriteria, applySearch }) {
</Button>
</label>
</Grid>

<Grid item sx={{ ml: 3, mr: 3, mb: 3, mt: 3 }}>
<Button
variant="contained"
@@ -334,13 +363,23 @@ export default function SearchDemandNote({ searchCriteria, applySearch }) {
Mark as Paid
</Button>
</Grid>

<Grid item sx={{ ml: 3, mr: 3, mb: 3, mt: 3 }}>
<Button
variant="contained"
onClick={() => setRevokePopUp(true)}
>
Revoke as To be Paid
</Button>
</Grid>

</ThemeProvider>
</Grid>
: <></>
}
<Box sx={{ backgroundColor: "#fff", ml: 2 }} width="98%">
<FiDataGrid
checkboxSelection = {isGrantedAny(["MAINTAIN_DEMANDNOTE"])}
checkboxSelection={isGrantedAny(["MAINTAIN_DEMANDNOTE"])}
disableRowSelectionOnClick
onRowSelectionModelChange={(newSelection) => {
setSelectedRowItems(newSelection);
@@ -355,7 +394,7 @@ export default function SearchDemandNote({ searchCriteria, applySearch }) {
callback: function (responseData) {
setRows(responseData?.records);
}
}), [_searchCriteria])}
}), [_searchCriteria, reload])}
/>
</Box>
<div>
@@ -422,6 +461,28 @@ export default function SearchDemandNote({ searchCriteria, applySearch }) {
</DialogActions>
</Dialog>
</div>
<div>
<Dialog
open={isRevokePopUp}
onClose={() => setRevokePopUp(false)}
PaperProps={{
sx: {
minWidth: '40vw',
maxWidth: { xs: '90vw', s: '90vw', m: '70vw', lg: '70vw' },
maxHeight: { xs: '90vh', s: '70vh', m: '70vh', lg: '60vh' }
}
}}
>
<DialogTitle><Typography variant="h3">Confirm</Typography></DialogTitle>
<DialogContent style={{ display: 'flex', }}>
<Typography variant="h4" style={{ padding: '16px' }}>Are you sure to revoke DN as To Be Paid?</Typography>
</DialogContent>
<DialogActions>
<Button onClick={() => setRevokePopUp(false)}><Typography variant="h5">Cancel</Typography></Button>
<Button onClick={() => revokePaid()}><Typography variant="h5">Confirm</Typography></Button>
</DialogActions>
</Dialog>
</div>
<div>
<Dialog
open={isSendPopUp}


+ 0
- 1
src/pages/DemandNote/Search/index.js 查看文件

@@ -72,7 +72,6 @@ const UserSearchPage_Individual = () => {
});
}


function applySearch(input) {
setSearchCriteria(input);
}


+ 18
- 2
src/pages/Proof/Payment/Pay_Office.js 查看文件

@@ -68,11 +68,27 @@ const Index = ({ record }) => {
},
)
}} />
<br />
<br />
<div dangerouslySetInnerHTML={{
__html: intl.formatMessage(
{
id: 'proofPaymentBody_office3'
}
)
}} />
<br />
<div dangerouslySetInnerHTML={{
__html: intl.formatMessage(
{
id: 'proofPaymentBody_office4'
}
)
}} />
<br />
<div dangerouslySetInnerHTML={{
__html: intl.formatMessage(
{
id: 'proofPaymentBody_office5'
},
{
paymentDeadline: DateUtils.dateStr(record?.closingDate),
@@ -83,7 +99,7 @@ const Index = ({ record }) => {
<div dangerouslySetInnerHTML={{
__html: intl.formatMessage(
{
id: 'proofPaymentBody_office4'
id: 'proofPaymentBody_office6'
}
)
}} />


+ 129
- 126
src/pages/Proof/Reply_Public/ProofForm.js 查看文件

@@ -319,86 +319,7 @@ const FormPanel = ({ formData }) => {
isDummyLoggedIn() ?
<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="300" align="left"><FormattedMessage id="paymentMeans" /></th>
<th style={tabelStyle} width="300" align="left"><FormattedMessage id="confirmingDealine" /></th>
<th style={tabelStyle} width="400" align="left"><FormattedMessage id="PaymentCoonpletDealine" /></th>
</tr>
<tr>
<td style={tabelStyle}>
<Checkbox
checked={paymentMethod == "demandNote"}
onChange={() => {
set_paymentMethod("demandNote")
}}
/>
</td>
<td style={tabelStyle}>
<FormattedMessage id="payDn" />
<br /><a href="#payOnlineDetails" color='#fff' onClick={() => {
setWarningTitle(intl.formatMessage({ id: "payDn" }))
setWarningText(
<><FormattedMessage id="paymentMethodMeans" />
<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>
</>
);
setIsWarningPopUp(true);
}}><FormattedMessage id="viewDetail" /></a>
</td>
<td style={tabelStyle}>{DateUtils.dateFormat(formData.closingDateOff, intl.formatMessage({ id: "dateStrFormat" }))} 5:00 p.m.</td>
<td style={tabelStyle}>
<FormattedMessage id="payDnRemark" values={{
date: DateUtils.dateFormat(formData.closingDate, intl.formatMessage({ id: "dateStrFormat" })) + " 12:00 p.m."
}} />
</td>
</tr>
<tr>
<td style={tabelStyle}>
<Checkbox
checked={paymentMethod == "office"}
onChange={() => {
set_paymentMethod("office")
}}
/>
</td>
<td style={tabelStyle}>
<FormattedMessage id="payNPGO" />
<br /><a href="#payOnlineDetails" color='#fff' onClick={() => {
setWarningTitle(intl.formatMessage({ id: "payNPGO" }))
setWarningText(
<><FormattedMessage id="paymentMethodMeans" />
<ul>
<li><FormattedMessage id="cheque" /></li>
<li><FormattedMessage id="cash" /></li>
</ul>
</>
);
setIsWarningPopUp(true);
}}><FormattedMessage id="viewDetail" /></a>
</td>
<td style={tabelStyle}>{DateUtils.dateFormat(formData.closingDate, intl.formatMessage({ id: "dateStrFormat" }))} 12:00 p.m.</td>
<td style={tabelStyle}>
<FormattedMessage id="payNPGORemark" values={{
date: DateUtils.dateFormat(formData.closingDate, intl.formatMessage({ id: "dateStrFormat" })) + " 12:30 p.m."
}} />
</td>
</tr>
</table>
</Grid> :
<>
<Grid item xs={12} sx={{ mb: 1, }}>
<table style={tabelStyle}>
<tbody>
<tr style={tabelStyle}>
<th style={tabelStyle} width="50" align="left"></th>
<th style={tabelStyle} width="300" align="left"><FormattedMessage id="paymentMeans" /></th>
@@ -408,43 +329,12 @@ const FormPanel = ({ formData }) => {
<tr>
<td style={tabelStyle}>
<Checkbox
checked={paymentMethod == "online"}
checked={paymentMethod == "demandNote"}
onChange={() => {
set_paymentMethod("online")
set_paymentMethod("demandNote")
}}
/>
</td>
<td style={tabelStyle}>
<FormattedMessage id="payOnline" />
<br /><a href="#payOnlineDetails" color='#fff' onClick={() => {
setWarningTitle(intl.formatMessage({ id: "payOnline" }))
setWarningText(
<><FormattedMessage id="paymentMethodMeans" />
<ul>
<li><FormattedMessage id="fps" /></li>
<li><FormattedMessage id="card" /></li>
<li><FormattedMessage id="pps" /></li>
</ul>
</>
);
setIsWarningPopUp(true);
}}><FormattedMessage id="viewDetail" /></a>
</td>
<td style={tabelStyle}>{DateUtils.dateFormat(formData.proofPaymentDeadline, intl.formatMessage({ id: "paymentMethodDatetimeStrFormat" }))?.replace("am", "a.m.")?.replace("pm", "p.m.")}</td>
<td style={tabelStyle}>{DateUtils.dateFormat(formData.expiryDate, intl.formatMessage({ id: "paymentMethodDatetimeStrFormat" }))?.replace("am", "a.m.")?.replace("pm", "p.m.")}</td>
</tr>
<tr>
<td style={tabelStyle}>
{isOverDnReviseDeadline() ?
<></> :
<Checkbox
checked={paymentMethod == "demandNote"}
onChange={() => {
set_paymentMethod("demandNote")
}}
/>
}
</td>
<td style={tabelStyle}>
<FormattedMessage id="payDn" />
<br /><a href="#payOnlineDetails" color='#fff' onClick={() => {
@@ -467,7 +357,6 @@ const FormPanel = ({ formData }) => {
setIsWarningPopUp(true);
}}><FormattedMessage id="viewDetail" /></a>
</td>

<td style={tabelStyle}>{DateUtils.dateFormat(formData.closingDateOff, intl.formatMessage({ id: "dateStrFormat" }))} 5:00 p.m.</td>
<td style={tabelStyle}>
<FormattedMessage id="payDnRemark" values={{
@@ -475,19 +364,14 @@ const FormPanel = ({ formData }) => {
}} />
</td>
</tr>

<tr>
<td style={tabelStyle}>
{
isOverNpgoReviseDeadline() ?
<></> :
<Checkbox
checked={paymentMethod == "office"}
onChange={() => {
set_paymentMethod("office")
}}
/>
}
<Checkbox
checked={paymentMethod == "office"}
onChange={() => {
set_paymentMethod("office")
}}
/>
</td>
<td style={tabelStyle}>
<FormattedMessage id="payNPGO" />
@@ -511,7 +395,126 @@ const FormPanel = ({ formData }) => {
}} />
</td>
</tr>

</tbody>
</table>
</Grid> :
<>
<Grid item xs={12} sx={{ mb: 1, }}>
<table style={tabelStyle}>
<tbody>
<tr style={tabelStyle}>
<th style={tabelStyle} width="50" align="left"></th>
<th style={tabelStyle} width="300" align="left"><FormattedMessage id="paymentMeans" /></th>
<th style={tabelStyle} width="300" align="left"><FormattedMessage id="confirmingDealine" /></th>
<th style={tabelStyle} width="400" 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" />
<br /><a href="#payOnlineDetails" color='#fff' onClick={() => {
setWarningTitle(intl.formatMessage({ id: "payOnline" }))
setWarningText(
<><FormattedMessage id="paymentMethodMeans" />
<ul>
<li><FormattedMessage id="fps" /></li>
<li><FormattedMessage id="card" /></li>
<li><FormattedMessage id="pps" /></li>
</ul>
</>
);
setIsWarningPopUp(true);
}}><FormattedMessage id="viewDetail" /></a>
</td>
<td style={tabelStyle}>{DateUtils.dateFormat(formData.proofPaymentDeadline, intl.formatMessage({ id: "paymentMethodDatetimeStrFormat" }))?.replace("am", "a.m.")?.replace("pm", "p.m.")}</td>
<td style={tabelStyle}>{DateUtils.dateFormat(formData.expiryDate, intl.formatMessage({ id: "paymentMethodDatetimeStrFormat" }))?.replace("am", "a.m.")?.replace("pm", "p.m.")}</td>
</tr>
<tr>
<td style={tabelStyle}>
{isOverDnReviseDeadline() ?
<></> :
<Checkbox
checked={paymentMethod == "demandNote"}
onChange={() => {
set_paymentMethod("demandNote")
}}
/>
}
</td>
<td style={tabelStyle}>
<FormattedMessage id="payDn" />
<br /><a href="#payOnlineDetails" color='#fff' onClick={() => {
setWarningTitle(intl.formatMessage({ id: "payDn" }))
setWarningText(
<><FormattedMessage id="paymentMethodMeans" />
<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>
</>
);
setIsWarningPopUp(true);
}}><FormattedMessage id="viewDetail" /></a>
</td>

<td style={tabelStyle}>{DateUtils.dateFormat(formData.closingDateOff, intl.formatMessage({ id: "dateStrFormat" }))} 5:00 p.m.</td>
<td style={tabelStyle}>
<FormattedMessage id="payDnRemark" values={{
date: DateUtils.dateFormat(formData.closingDate, intl.formatMessage({ id: "dateStrFormat" })) + " 12:00 p.m."
}} />
</td>
</tr>

<tr>
<td style={tabelStyle}>
{
isOverNpgoReviseDeadline() ?
<></> :
<Checkbox
checked={paymentMethod == "office"}
onChange={() => {
set_paymentMethod("office")
}}
/>
}
</td>
<td style={tabelStyle}>
<FormattedMessage id="payNPGO" />
<br /><a href="#payOnlineDetails" color='#fff' onClick={() => {
setWarningTitle(intl.formatMessage({ id: "payNPGO" }))
setWarningText(
<><FormattedMessage id="paymentMethodMeans" />
<ul>
<li><FormattedMessage id="cheque" /></li>
<li><FormattedMessage id="cash" /></li>
</ul>
</>
);
setIsWarningPopUp(true);
}}><FormattedMessage id="viewDetail" /></a>
</td>
<td style={tabelStyle}>{DateUtils.dateFormat(formData.closingDate, intl.formatMessage({ id: "dateStrFormat" }))} 12:00 p.m.</td>
<td style={tabelStyle}>
<FormattedMessage id="payNPGORemark" values={{
date: DateUtils.dateFormat(formData.closingDate, intl.formatMessage({ id: "dateStrFormat" })) + " 12:30 p.m."
}} />
</td>
</tr>
</tbody>

</table>
</Grid>


+ 70
- 68
src/pages/PublicNotice/ApplyForm/PublicNoticeApplyForm.js 查看文件

@@ -328,74 +328,76 @@ const PublicNoticeApplyForm = ({ loadedData, _selections, gazetteIssueList }) =>

<Grid item xs={12} alignItems={"center"} sx={{ p: 2 }}>
<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 style={tabelStyle}>
<FormattedMessage id="payOnline" />
<br /><a href="#payOnlineDetails" color='#fff' onClick={() => {
setWarningTitle(intl.formatMessage({ id: "payOnline" }))
setWarningText(
<><FormattedMessage id="paymentMethodMeans" />
<ul>
<li><FormattedMessage id="fps" /></li>
<li><FormattedMessage id="card" /></li>
<li><FormattedMessage id="pps" /></li>
</ul>
</>
);
setIsWarningPopUp(true);
}}><FormattedMessage id="viewDetail" /></a>
</td>
<td style={tabelStyle}>{DateUtils.dateFormat(closeDate, dft)} 2:00 p.m.</td>
<td style={tabelStyle}>{DateUtils.dateFormat(closeDate, dft)} 2:30 p.m.</td>
</tr>
<tr>
<td style={tabelStyle}><FormattedMessage id="payDn" />
<br /><a href="#payDnDetails" onClick={() => {
setWarningTitle(intl.formatMessage({ id: "payDn" }))
setWarningText(
<><FormattedMessage id="paymentMethodMeans" />
<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>
</>
);
setIsWarningPopUp(true);
}}><FormattedMessage id="viewDetail" /></a>
</td>
<td style={tabelStyle}>{DateUtils.dateFormat(closingDateOff, dft)} 5:00 p.m.</td>
<td style={tabelStyle}>{DateUtils.dateFormat(closeDate, dft)} 12:00 p.m.</td>
</tr>
<tr>
<td style={tabelStyle}><FormattedMessage id="payNPGO" />
<br /><a href="#payNPGODetails" onClick={() => {
setWarningTitle(intl.formatMessage({ id: "payNPGO" }))
setWarningText(
<><FormattedMessage id="paymentMethodMeans" />
<ul>
<li><FormattedMessage id="cheque" /></li>
<li><FormattedMessage id="cash" /></li>
</ul>
</>
);
setIsWarningPopUp(true);
}}><FormattedMessage id="viewDetail" /></a>
</td>
<td style={tabelStyle}>{DateUtils.dateFormat(closeDate, dft)} 12:00 p.m.</td>
<td style={tabelStyle}>{DateUtils.dateFormat(closeDate, dft)} 12:30 p.m.</td>
</tr>
<tbody>
<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 style={tabelStyle}>
<FormattedMessage id="payOnline" />
<br /><a href="#payOnlineDetails" color='#fff' onClick={() => {
setWarningTitle(intl.formatMessage({ id: "payOnline" }))
setWarningText(
<><FormattedMessage id="paymentMethodMeans" />
<ul>
<li><FormattedMessage id="fps" /></li>
<li><FormattedMessage id="card" /></li>
<li><FormattedMessage id="pps" /></li>
</ul>
</>
);
setIsWarningPopUp(true);
}}><FormattedMessage id="viewDetail" /></a>
</td>
<td style={tabelStyle}>{DateUtils.dateFormat(closeDate, dft)} 2:00 p.m.</td>
<td style={tabelStyle}>{DateUtils.dateFormat(closeDate, dft)} 2:30 p.m.</td>
</tr>
<tr>
<td style={tabelStyle}><FormattedMessage id="payDn" />
<br /><a href="#payDnDetails" onClick={() => {
setWarningTitle(intl.formatMessage({ id: "payDn" }))
setWarningText(
<><FormattedMessage id="paymentMethodMeans" />
<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>
</>
);
setIsWarningPopUp(true);
}}><FormattedMessage id="viewDetail" /></a>
</td>
<td style={tabelStyle}>{DateUtils.dateFormat(closingDateOff, dft)} 5:00 p.m.</td>
<td style={tabelStyle}>{DateUtils.dateFormat(closeDate, dft)} 12:00 p.m.</td>
</tr>
<tr>
<td style={tabelStyle}><FormattedMessage id="payNPGO" />
<br /><a href="#payNPGODetails" onClick={() => {
setWarningTitle(intl.formatMessage({ id: "payNPGO" }))
setWarningText(
<><FormattedMessage id="paymentMethodMeans" />
<ul>
<li><FormattedMessage id="cheque" /></li>
<li><FormattedMessage id="cash" /></li>
</ul>
</>
);
setIsWarningPopUp(true);
}}><FormattedMessage id="viewDetail" /></a>
</td>
<td style={tabelStyle}>{DateUtils.dateFormat(closeDate, dft)} 12:00 p.m.</td>
<td style={tabelStyle}>{DateUtils.dateFormat(closeDate, dft)} 12:30 p.m.</td>
</tr>
</tbody>
</table>

</Grid>


+ 4
- 2
src/translations/en.json 查看文件

@@ -119,8 +119,10 @@
"proofPaymentHeader_office": "Public Notice: Proofreading Completed and Payment Means Selected",
"proofPaymentBody_office": "We have received the manuscript proofreading confirmation and printing instructions for application number: {appNo}",
"proofPaymentBody_office2": "You have selected to make payment at North Point Government Offices Collection Office:<center><br/>Collection Office at Accounts Section<br/>10/F North Point Government Offices<br/>333 Java Road North Point</center>",
"proofPaymentBody_office3": "Please print out this page or present your application details on screen at our Collection Office, and complete the payment by {paymentDeadline}.",
"proofPaymentBody_office4": "We will process the publication after receiving payment confirmation.",
"proofPaymentBody_office3": "The office hours of the Collection Office is from Monday to Friday: 8:30 a.m. to 1 p.m., 2 p.m. to 5 p.m.",
"proofPaymentBody_office4": "Cheques, drafts or cashier’s orders should be made payable to “The Government of the Hong Kong Special Administrative Region” or “The Government of the HKSAR” and crossed. They must not be made payable to any individual officer. Payment is valid only after the cheque, draft or cashier’s order is cleared.",
"proofPaymentBody_office5": "Please print out this page or present your application details on screen at our Collection Office, and complete the payment by {paymentDeadline}.",
"proofPaymentBody_office6": "We will process the publication after receiving payment confirmation.",

"proofPaymentHeader_online": "Public Notice: Proofreading Completed and Payment Means Selected",
"proofPaymentBody_online": "We have received the manuscript proofreading confirmation and printing instructions for application number: {appNo}",


+ 4
- 2
src/translations/zh-CN.json 查看文件

@@ -148,8 +148,10 @@
"proofPaymentHeader_office": "公共启事: 已完成校对并已选择付款方式",
"proofPaymentBody_office": "我们已收到以下申请编号的稿件校对确认和印刷指示。<br/>{appNo}",
"proofPaymentBody_office2": "您已选择在北角政府合署收款处付款:<center><br/>香港北角渣华道333号<br/>北角政府合署10楼<br/>会计部收款处</center>",
"proofPaymentBody_office3": "请打印此页面或使用电子屏幕设备向收款处职员展示申请详情,并在{paymentDeadline}前完成付款。",
"proofPaymentBody_office4": "我们将在收到付款确认通知后处理刊登事宜。",
"proofPaymentBody_office3": "收款处的办公时间为星期一至五上午八时三十分至下午一时及下午二时至五时。",
"proofPaymentBody_office4": "凡支票、汇票或本票均须书明支付「香港特别行政区政府」并加划线,抬头人不应为个别职员。客户以支票、汇票或本票方式付款,须待其兑现后方为有效。",
"proofPaymentBody_office5": "请打印此页面或使用电子屏幕设备向收款处职员展示申请详情,并在{paymentDeadline}前完成付款。",
"proofPaymentBody_office6": "我们将在收到付款确认通知后处理刊登事宜。",

"proofPaymentHeader_online": "公共启事: 已完成校对并已选择付款方式",
"proofPaymentBody_online": "我们已收到以下申请编号的稿件校对确认和印刷指示。<br/>{appNo}",


+ 4
- 2
src/translations/zh-HK.json 查看文件

@@ -146,8 +146,10 @@
"proofPaymentHeader_office": "公共啟事: 已完成校對並已選擇付款方式",
"proofPaymentBody_office": "我們已收到以下申請編號的稿件校對確認和印刷指示。<br/>{appNo}",
"proofPaymentBody_office2": "您已選擇在北角政府合署收款處付款:<center><br/>香港北角渣華道333號<br/>北角政府合署10樓<br/>會計部收款處</center>",
"proofPaymentBody_office3": "請列印此頁面或使用電子屏幕設備向收款處職員展示申請詳情,並在{paymentDeadline}之前完成付款。",
"proofPaymentBody_office4": "我們將在收到付款確認通知後處理刊登事宜。",
"proofPaymentBody_office3": "收款處的辦公時間為星期一至五上午八時三十分至下午一時及下午二時至五時。",
"proofPaymentBody_office4": "凡支票、匯票或本票均須書明支付「香港特別行政區政府」並加劃線,抬頭人不應為個別職員。客戶以支票、匯票或本票方式付款,須待其兌現後方為有效。",
"proofPaymentBody_office5": "請列印此頁面或使用電子屏幕設備向收款處職員展示申請詳情,並在{paymentDeadline}之前完成付款。",
"proofPaymentBody_office6": "我們將在收到付款確認通知後處理刊登事宜。",

"proofPaymentHeader_online": "公共啟事: 已完成校對並已選擇付款方式",
"proofPaymentBody_online": "我們已收到以下申請編號的稿件校對確認和印刷指示。<br/>{appNo}",


+ 1
- 0
src/utils/ApiPathConst.js 查看文件

@@ -185,6 +185,7 @@ export const DEMAND_NOTE_LIST_ALL = apiPath+'/demandNote/listAll';//GET gld
export const DEMAND_NOTE_LOAD = apiPath+'/demandNote/load';//GET
export const DEMAND_NOTE_SEND = apiPath+'/demandNote/send-dn';//POST
export const DEMAND_NOTE_MARK_PAID = apiPath+'/demandNote/mark-as-paid';//POST
export const DEMAND_NOTE_REVOKE_PAID = apiPath+'/demandNote/revoke-paid';//POST
export const DEMAND_NOTE_ATTACH = apiPath+'/demandNote/attach';//POST
export const DEMAND_NOTE_EXPORT = apiPath+'/demandNote/export';//POST



Loading…
取消
儲存