diff --git a/src/layout/MainLayout/Header/index.js b/src/layout/MainLayout/Header/index.js
index 1c93bed..c39c03a 100644
--- a/src/layout/MainLayout/Header/index.js
+++ b/src/layout/MainLayout/Header/index.js
@@ -83,7 +83,7 @@ function Header(props) {
Proof
- Payment
+ Payment
Client
diff --git a/src/pages/Payment/Details_GLD/DataGrid.js b/src/pages/Payment/Details_GLD/DataGrid.js
new file mode 100644
index 0000000..b9458a8
--- /dev/null
+++ b/src/pages/Payment/Details_GLD/DataGrid.js
@@ -0,0 +1,64 @@
+// material-ui
+import {
+ Typography,
+} from '@mui/material';
+
+import * as React from 'react';
+import * as FormatUtils from "utils/FormatUtils"
+import { FiDataGrid } from "components/FiDataGrid";
+// ==============================|| EVENT TABLE ||============================== //
+
+export default function SearchPublicNoticeTable({ recordList }) {
+ const [rows, setRows] = React.useState(recordList);
+ const [total, setTotal] = React.useState(0);
+
+ React.useEffect(() => {
+ setRows(recordList);
+ let countTotal = 0;
+ recordList.forEach(item => {
+ countTotal+=item.fee;
+ });
+
+ setTotal(countTotal)
+ }, [recordList]);
+
+ const columns = [
+ {
+ id: 'appNo',
+ field: 'appNo',
+ headerName: 'App No.',
+ flex: 1,
+ renderCell: (params) => {
+ let appNo = params.row.appNo;
+ return {appNo}
{params.row.remarks}
+ },
+ },
+ {
+ id: 'fee',
+ field: 'fee',
+ headerName: 'Amount (HK$)',
+ width: 150,
+ valueGetter: (params) => {
+ return (params?.value) ? "$ " + FormatUtils.currencyFormat(params?.value) : "";
+ }
+ },
+ ];
+
+ return (
+
+
+
+
+ Total Amount: HK$ {FormatUtils.currencyFormat(total)}
+
+ );
+}
diff --git a/src/pages/Payment/Details_GLD/PaymentDetails.js b/src/pages/Payment/Details_GLD/PaymentDetails.js
new file mode 100644
index 0000000..0a4bbfe
--- /dev/null
+++ b/src/pages/Payment/Details_GLD/PaymentDetails.js
@@ -0,0 +1,151 @@
+// material-ui
+import {
+ Grid,
+ Typography,
+ FormLabel,
+} from '@mui/material';
+
+import * as React from "react";
+import * as FormatUtils from "utils/FormatUtils";
+import * as PaymentStatus from "utils/statusUtils/PaymentStatus";
+import Loadable from 'components/Loadable';
+const MainCard = Loadable(React.lazy(() => import('components/MainCard')));
+const LoadingComponent = Loadable(React.lazy(() => import('pages/extra-pages/LoadingComponent')));
+// ==============================|| DASHBOARD - DEFAULT ||============================== //
+const PaymentDetails = ({ formData, }) => {
+
+ const [data, setData] = React.useState({});
+ const [onReady, setOnReady] = React.useState(false);
+
+ React.useEffect(() => {
+ if (formData != null && formData != undefined && Object.keys(formData).length > 0) {
+ setData(formData);
+ }
+ }, [formData]);
+
+ React.useEffect(() => {
+ if (formData != null && formData != undefined && Object.keys(formData).length > 0) {
+ setOnReady(data != {});
+ }
+ }, [data]);
+
+
+ return (
+ !onReady ?
+
+ :
+
+
+ Payment Details
+
+
+
+ );
+};
+
+export default PaymentDetails;
diff --git a/src/pages/Payment/Details_GLD/index.js b/src/pages/Payment/Details_GLD/index.js
new file mode 100644
index 0000000..b5fd143
--- /dev/null
+++ b/src/pages/Payment/Details_GLD/index.js
@@ -0,0 +1,114 @@
+// material-ui
+import {
+ Grid,
+ Typography,
+ Stack,
+ Box
+} from '@mui/material';
+import * as UrlUtils from "utils/ApiPathConst";
+import * as React from "react";
+import * as HttpUtils from "utils/HttpUtils";
+import * as DateUtils from "utils/DateUtils";
+import { useParams } from "react-router-dom";
+import { useNavigate } from "react-router-dom";
+
+import Loadable from 'components/Loadable';
+const LoadingComponent = Loadable(React.lazy(() => import('pages/extra-pages/LoadingComponent')));
+const PaymentDetails = Loadable(React.lazy(() => import('./PaymentDetails')));
+const DataGrid = Loadable(React.lazy(() => import('./DataGrid')));
+import titleBackgroundImg from 'assets/images/dashboard/gazette-bar.png'
+const BackgroundHead = {
+ backgroundImage: `url(${titleBackgroundImg})`,
+ width: '100%',
+ height: '100%',
+ backgroundSize: 'contain',
+ backgroundRepeat: 'no-repeat',
+ backgroundColor: '#0C489E',
+ backgroundPosition: 'right'
+}
+
+// ==============================|| DASHBOARD - DEFAULT ||============================== //
+
+const Index = () => {
+ const params = useParams();
+ const navigate = useNavigate()
+
+ const [record, setRecord] = React.useState();
+ const [itemList, setItemList] = React.useState([]);
+ const [onReady, setOnReady] = React.useState(false);
+
+ React.useEffect(() => {
+ loadForm();
+ }, []);
+
+ React.useEffect(() => {
+ setOnReady(true);
+ }, [record]);
+
+
+ const loadForm = () => {
+ if (params.id > 0) {
+
+ HttpUtils.get({
+ url: UrlUtils.PAYMENT_LOAD + "/" + params.id,
+ onSuccess: (responseData) => {
+ if (!responseData.data?.id) {
+ navigate("/paymentPage/search");
+ }
+ responseData.data["transDateStr"] = DateUtils.dateFormat(responseData.data.transDateTime, "DD/MM/YYYY");
+ responseData.data["transTimeStr"] = DateUtils.dateFormat(responseData.data.transDateTime, "HH:mm:ss");
+ setItemList(responseData.paymentItemList)
+ setRecord(responseData.data);
+ }
+ });
+ }
+ }
+
+ return (
+ !onReady ?
+
+ :
+ (
+
+
+
+
+ Payment Details
+
+
+
+ {/*row 1*/}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {/*row 2*/}
+
+
+
+ )
+
+
+ );
+};
+
+export default Index;
diff --git a/src/pages/Payment/Search_GLD/DataGrid.js b/src/pages/Payment/Search_GLD/DataGrid.js
new file mode 100644
index 0000000..e7bb4af
--- /dev/null
+++ b/src/pages/Payment/Search_GLD/DataGrid.js
@@ -0,0 +1,106 @@
+// material-ui
+import * as React from 'react';
+import {
+ Button
+} from '@mui/material';
+import * as DateUtils from "utils/DateUtils";
+import * as FormatUtils from "utils/FormatUtils"
+import * as PaymentStatus from "utils/statusUtils/PaymentStatus"
+import { useNavigate } from "react-router-dom";
+import { FiDataGrid } from "components/FiDataGrid";
+// ==============================|| EVENT TABLE ||============================== //
+
+export default function SearchPublicNoticeTable({ recordList }) {
+ const [rows, setRows] = React.useState(recordList);
+ const navigate = useNavigate()
+
+ const _sx = {
+ padding: "4 2 4 2",
+ boxShadow: 1,
+ border: 1,
+ borderColor: '#DDD',
+ '& .MuiDataGrid-cell': {
+ borderTop: 1,
+ borderBottom: 1,
+ borderColor: "#EEE"
+ },
+ '& .MuiDataGrid-footerContainer': {
+ border: 1,
+ borderColor: "#EEE"
+ }
+ }
+
+ React.useEffect(() => {
+ setRows(recordList);
+ }, [recordList]);
+
+ const handleEditClick = (params) => () => {
+ navigate('/paymentPage/details/' + params.row.id);
+ };
+
+ const columns = [
+ {
+ field: 'actions',
+ headerName: 'Trans. No.',
+ flex: 1,
+ cellClassName: 'actions',
+ renderCell: (params) => {
+ return ;
+ },
+ },
+ {
+ id: 'appNos',
+ field: 'appNos',
+ headerName: 'App No.',
+ flex: 1,
+ renderCell: (params) => {
+ let appNo = params.row.appNos;
+ return {appNo}
+ },
+ },
+ {
+ id: 'transDateTime',
+ field: 'transDateTime',
+ headerName: 'Trans. Date',
+ flex: 1,
+ valueGetter: (params) => {
+ return DateUtils.datetimeStr(params?.value);
+ }
+ },
+ {
+ field: 'action',
+ headerName: 'Status',
+ width: 150,
+ renderCell: (params) => {
+ return PaymentStatus.getStatus_Cht(params);
+ }
+ },
+ {
+ id: 'payAmount',
+ field: 'payAmount',
+ headerName: 'Amount',
+ width: 150,
+ valueGetter: (params) => {
+ return (params?.value) ? "$ " + FormatUtils.currencyFormat(params?.value) : "";
+ }
+ },
+ ];
+
+ return (
+
+
+
+
+ );
+}
diff --git a/src/pages/Payment/Search_GLD/SearchForm.js b/src/pages/Payment/Search_GLD/SearchForm.js
new file mode 100644
index 0000000..d348365
--- /dev/null
+++ b/src/pages/Payment/Search_GLD/SearchForm.js
@@ -0,0 +1,156 @@
+// material-ui
+import {
+ Button,
+ CardContent,
+ Grid, TextField,
+ Typography
+} from '@mui/material';
+import MainCard from "components/MainCard";
+import { useForm } from "react-hook-form";
+import * as React from "react";
+import * as DateUtils from "utils/DateUtils";
+// ==============================|| DASHBOARD - DEFAULT ||============================== //
+
+
+const SearchPublicNoticeForm = ({ applySearch, searchCriteria }) => {
+
+ const [minDate, setMinDate] = React.useState(searchCriteria.dateFrom);
+ const [maxDate, setMaxDate] = React.useState(searchCriteria.dateTo);
+
+ const _sx = {
+ padding: "4 2 4 2",
+ boxShadow: 1,
+ border: 1,
+ borderColor: '#DDD',
+ '& .MuiDataGrid-cell': {
+ borderTop: 1,
+ borderBottom: 1,
+ borderColor: "#EEE"
+ },
+ '& .MuiDataGrid-footerContainer': {
+ border: 1,
+ borderColor: "#EEE"
+ }
+ }
+
+ const { reset, register, handleSubmit } = useForm()
+
+ const onSubmit = (data) => {
+ const temp = {
+ code: data.code,
+ dateFrom: data.dateFrom,
+ dateTo: data.dateTo,
+ };
+ applySearch(temp);
+ };
+
+ function resetForm() {
+ reset();
+ }
+
+
+ return (
+
+
+
+
+ );
+};
+
+export default SearchPublicNoticeForm;
diff --git a/src/pages/Payment/Search_GLD/index.js b/src/pages/Payment/Search_GLD/index.js
new file mode 100644
index 0000000..5364cfc
--- /dev/null
+++ b/src/pages/Payment/Search_GLD/index.js
@@ -0,0 +1,97 @@
+// material-ui
+import {
+ Grid,
+ Typography,
+ Stack
+} from '@mui/material';
+import MainCard from "components/MainCard";
+import * as UrlUtils from "utils/ApiPathConst";
+import * as React from "react";
+import * as HttpUtils from "utils/HttpUtils";
+import * as DateUtils from "utils/DateUtils";
+
+import Loadable from 'components/Loadable';
+const LoadingComponent = Loadable(React.lazy(() => import('pages/extra-pages/LoadingComponent')));
+const SearchForm = Loadable(React.lazy(() => import('./SearchForm')));
+const EventTable = Loadable(React.lazy(() => import('./DataGrid')));
+import titleBackgroundImg from 'assets/images/dashboard/gazette-bar.png'
+
+const BackgroundHead = {
+ backgroundImage: `url(${titleBackgroundImg})`,
+ width: '100%',
+ height: '100%',
+ backgroundSize:'contain',
+ backgroundRepeat: 'no-repeat',
+ backgroundColor: '#0C489E',
+ backgroundPosition: 'right'
+}
+
+// ==============================|| DASHBOARD - DEFAULT ||============================== //
+
+const Index = () => {
+
+ const [record,setRecord] = React.useState([]);
+ const [searchCriteria, setSearchCriteria] = React.useState({
+ dateTo: DateUtils.dateStr(new Date()),
+ dateFrom: DateUtils.dateStr(new Date().setDate(new Date().getDate()-14)),
+ });
+ const [onReady, setOnReady] = React.useState(false);
+
+ React.useEffect(() => {
+ setOnReady(true);
+ }, [record]);
+
+ React.useEffect(() => {
+ loadGrid();
+ }, [searchCriteria]);
+
+ function loadGrid(){
+ HttpUtils.get({
+ url: UrlUtils.PAYMENT_LIST,
+ params: searchCriteria,
+ onSuccess: function(responseData){
+ setRecord(responseData);
+ }
+ });
+ }
+
+
+ function applySearch(input) {
+ setSearchCriteria(input);
+ }
+
+ return (
+ !onReady ?
+
+ :
+
+
+
+
+ Payment Record
+
+
+
+ {/*row 1*/}
+
+
+
+ {/*row 2*/}
+
+
+
+
+
+
+ );
+};
+
+export default Index;
diff --git a/src/pages/PublicNotice/Details_GLD/index.js b/src/pages/PublicNotice/Details_GLD/index.js
index 4af9ca5..c812e32 100644
--- a/src/pages/PublicNotice/Details_GLD/index.js
+++ b/src/pages/PublicNotice/Details_GLD/index.js
@@ -47,6 +47,7 @@ const PublicNoticeDetail_GLD = () => {
const navigate = useNavigate()
const [applicationDetailData, setApplicationDetailData] = useState({});
const [proofList, setProofList] = useState([]);
+ const [paymentList, setPaymentList] = useState([]);
// const [refApplicationDetailData, setRefApplicationDetailData] = React.useState({});
const [isLoading, setLoading] = useState(false);
const LoadingComponent = Loadable(lazy(() => import('../../extra-pages/LoadingComponent')));
@@ -115,6 +116,7 @@ const PublicNoticeDetail_GLD = () => {
setIssueDate(DateUtils.dateFormat(gazetteIssueDetail.issueDate, "D MMM YYYY (ddd)"));
setGroupNo(response.data.data.groupNo);
setProofList(response.data.proofList);
+ setPaymentList(response.data.paymentList);
setLoading(false);
}
})
@@ -371,6 +373,7 @@ const PublicNoticeDetail_GLD = () => {
diff --git a/src/pages/PublicNotice/Details_GLD/tabTableDetail/BaseGrid.js b/src/pages/PublicNotice/Details_GLD/tabTableDetail/BaseGrid.js
deleted file mode 100644
index d28a428..0000000
--- a/src/pages/PublicNotice/Details_GLD/tabTableDetail/BaseGrid.js
+++ /dev/null
@@ -1,84 +0,0 @@
-// material-ui
-import * as React from 'react';
-import {FiDataGrid} from "components/FiDataGrid";
-import {
- Button
-} from '@mui/material';
-import * as DateUtils from "utils/DateUtils"
-// ==============================|| EVENT TABLE ||============================== //
-
-export default function BaseGrid({rows}) {
- const columns = [
- {
- id: 'appNo',
- field: 'appNo',
- headerName: 'Application No.',
- flex: 1,
- },
- {
- id: 'created',
- field: 'created',
- headerName: 'Created',
- flex: 1,
- valueGetter:(params)=>{
- return DateUtils.datetimeStr(params?.value);
- }
- },
- {
- id: 'contactPerson',
- field: 'contactPerson',
- headerName: 'Contact Person',
- flex: 2,
- renderCell: (params) => {
- let phone = JSON.parse(params.row.contactTelNo);
- let faxNo = JSON.parse(params.row.contactFaxNo);
-
- let contact = "";
- if (phone) {
- contact = "電話: " + phone?.countryCode + " " + phone?.phoneNumber
- }
-
- if (faxNo) {
- if (contact != "")
- contact = contact + ", "
- contact = contact + "傳真:" + faxNo?.countryCode + " " + faxNo?.faxNumber
- }
-
- return (<>
- {params?.value}
- {contact}
- >);
- }
- },
- {
- id: 'remarks',
- field: 'remarks',
- headerName: 'remarks',
- flex: 3,
- },
- {
- field: 'actions',
- type: 'actions',
- headerName: '',
- width: 50,
- cellClassName: 'actions',
- renderCell: () => {
- return ;
- },
- }
- ];
-
- return (
-
-
-
- );
-}
diff --git a/src/pages/PublicNotice/Details_GLD/tabTableDetail/PaymentTab.js b/src/pages/PublicNotice/Details_GLD/tabTableDetail/PaymentTab.js
new file mode 100644
index 0000000..d01779f
--- /dev/null
+++ b/src/pages/PublicNotice/Details_GLD/tabTableDetail/PaymentTab.js
@@ -0,0 +1,79 @@
+// material-ui
+import * as React from 'react';
+import {
+ Button
+} from '@mui/material';
+import { useNavigate } from "react-router-dom";
+import {FiDataGrid} from "components/FiDataGrid";
+import * as FormatUtils from "utils/FormatUtils"
+import * as DateUtils from "utils/DateUtils"
+import * as PaymentStatus from "utils/statusUtils/PaymentStatus"
+// import * as StatusUtils from "./PublicNoteStatusUtils";
+// ==============================|| EVENT TABLE ||============================== //
+
+export default function SubmittedTab({ rows }) {
+
+ const navigate = useNavigate()
+
+ const handleEditClick = (params) => () => {
+ navigate('/paymentPage/details/' + params.row.id);
+ };
+
+ const columns = [
+ {
+ field: 'actions',
+ headerName: 'Trans. No.',
+ flex: 1,
+ cellClassName: 'actions',
+ renderCell: (params) => {
+ return ;
+ },
+ },
+ {
+ id: 'transDateTime',
+ field: 'transDateTime',
+ headerName: 'Trans. Date',
+ flex: 1,
+ valueGetter: (params) => {
+ return DateUtils.datetimeStr(params.value);
+ }
+ },
+ {
+ id: 'status',
+ field: 'status',
+ headerName: 'Status',
+ flex: 1,
+ renderCell: (params) => {
+ return PaymentStatus.getStatus_Eng(params);
+ }
+ },
+ {
+ id: 'payAmount',
+ field: 'payAmount',
+ headerName: 'Amount',
+ width: 150,
+ valueGetter: (params) => {
+ return (params?.value) ? "$ " + FormatUtils.currencyFormat(params?.value) : "";
+ }
+ },
+ ];
+
+ return (
+ <>
+
+
+
+ >
+ );
+
+
+
+}
diff --git a/src/pages/PublicNotice/Details_GLD/tabTableDetail/PendingPaymentTab.js b/src/pages/PublicNotice/Details_GLD/tabTableDetail/PendingPaymentTab.js
deleted file mode 100644
index 4722af2..0000000
--- a/src/pages/PublicNotice/Details_GLD/tabTableDetail/PendingPaymentTab.js
+++ /dev/null
@@ -1,135 +0,0 @@
-// material-ui
-import * as React from 'react';
-import {FiDataGrid} from "components/FiDataGrid";
-import {
- Stack,
- Typography,
- Button,
- Dialog, DialogTitle, DialogContent, DialogActions
-} from '@mui/material';
-import * as DateUtils from "utils/DateUtils"
-// import * as StatusUtils from "./PublicNoteStatusUtils";
-// ==============================|| EVENT TABLE ||============================== //
-
-export default function SubmittedTab({ rows }) {
- const [selectedRowItems, setSelectedRowItems] = React.useState([]);
- const [isPopUp, setIsPopUp] = React.useState(false);
-
-
- const columns = [
- {
- id: 'appNo',
- field: 'appNo',
- headerName: '申請編號',
- flex: 1,
- },
- {
- id: 'created',
- field: 'created',
- headerName: '提交日期',
- flex: 1,
- valueGetter: (params) => {
- return DateUtils.datetimeStr(params.value);
- }
- },
- {
- id: 'contactPerson',
- field: 'contactPerson',
- headerName: '聯絡人',
- flex: 2,
- renderCell: (params) => {
- let phone = JSON.parse(params.row.contactTelNo);
- let faxNo = JSON.parse(params.row.contactFaxNo);
-
- let contact = "";
- if (phone) {
- contact = "電話: " + phone?.countryCode + " " + phone?.phoneNumber
- }
-
- if (faxNo) {
- if (contact != "")
- contact = contact + ", "
- contact = contact + "傳真:" + faxNo?.countryCode + " " + faxNo?.faxNumber
- }
-
- return (<>
- {params?.value}
- {contact}
- >);
- }
- },
- {
- id: 'remarks',
- field: 'remarks',
- headerName: '我的備註',
- flex: 3,
-
- },
- {
- field: 'actions',
- type: 'actions',
- headerName: '',
- width: 50,
- cellClassName: 'actions',
- renderCell: () => {
- return ;
- },
- }
- ];
-
- const getWindowContent = () => {
- var content = [];
- const datas = rows?.filter((row) =>
- selectedRowItems.includes(row.id)
- );
- for (var i = 0; i < datas?.length; i++) {
- content.push(<>
- 申請編號: {datas[i].appNo}({DateUtils.datetimeStr(datas[i].created)})
- 備註: {datas[i].remarks}
-
- >);
- }
- return content;
- }
-
- return (
- <>
-
- {
- setSelectedRowItems(newSelection);
- }}
- />
-
-
-
-
-
-
- >
- );
-
-
-
-}
diff --git a/src/pages/PublicNotice/Details_GLD/tabTableDetail/ProofTab.js b/src/pages/PublicNotice/Details_GLD/tabTableDetail/ProofTab.js
index d025ea8..d3ad0cf 100644
--- a/src/pages/PublicNotice/Details_GLD/tabTableDetail/ProofTab.js
+++ b/src/pages/PublicNotice/Details_GLD/tabTableDetail/ProofTab.js
@@ -1,21 +1,41 @@
// material-ui
import * as React from 'react';
+import {
+ Button,
+} from '@mui/material';
+import { useNavigate } from "react-router-dom";
import * as DateUtils from "utils/DateUtils";
+import * as ProofStatus from "utils/statusUtils/ProofStatus";
import {FiDataGrid} from "components/FiDataGrid";
import * as FormatUtils from "utils/FormatUtils"
// ==============================|| EVENT TABLE ||============================== //
export default function ProofTab({rows}) {
+ const navigate = useNavigate()
+ const handleEditClick = (params) => () => {
+ navigate('/proof/reply/' + params.row.id);
+ };
const columns = [
{
- id: 'refNo',
- field: 'refNo',
+ field: 'actions',
headerName: 'Proof No.',
+ width: 200,
+ cellClassName: 'actions',
+ renderCell: (params) => {
+ return ;
+ },
+ },
+ {
+ id: 'actions',
+ headerName: 'Status',
flex: 1,
+ renderCell: (params) => {
+ return ProofStatus.getStatus_Eng(params);
+ },
},
{
id: 'created',
diff --git a/src/pages/PublicNotice/Details_GLD/tabTableDetail/TabTable.js b/src/pages/PublicNotice/Details_GLD/tabTableDetail/TabTable.js
index b5f40e1..3dc6277 100644
--- a/src/pages/PublicNotice/Details_GLD/tabTableDetail/TabTable.js
+++ b/src/pages/PublicNotice/Details_GLD/tabTableDetail/TabTable.js
@@ -13,17 +13,17 @@ import * as React from "react";
import Loadable from 'components/Loadable';
import { lazy } from 'react';
-const BaseGrid = Loadable(lazy(() => import('./BaseGrid')));
const StatusHistoryTab = Loadable(lazy(() => import('./StatusHistoryTab')));
const LoadingComponent = Loadable(lazy(() => import('../../../extra-pages/LoadingComponent')));
const ProofTab = Loadable(lazy(() => import('./ProofTab')));
+const PaymentTab = Loadable(lazy(() => import('./PaymentTab')));
// ==============================|| DASHBOARD - DEFAULT ||============================== //
-const PublicNotice = ({ applicationDetailData, proofList }) => {
+const PublicNotice = ({ applicationDetailData, proofList, paymentList }) => {
const [_proofList, setProofList] = React.useState([]);
- const [inProgressList,] = React.useState([]);
+ const [_paymentList, setPaymentList] = React.useState([]);
const [onReady, setOnReady] = React.useState(false);
const [selectedTab, setSelectedTab] = React.useState("1");
// const navigate = useNavigate();
@@ -43,6 +43,10 @@ const PublicNotice = ({ applicationDetailData, proofList }) => {
setProofList(proofList);
}, [proofList]);
+ React.useEffect(() => {
+ setPaymentList(paymentList);
+ }, [paymentList]);
+
React.useEffect(() => {
//if state data are ready and assign to different field
if (statusHistoryList.length > 0) {
@@ -73,7 +77,7 @@ const PublicNotice = ({ applicationDetailData, proofList }) => {
-
+
@@ -84,8 +88,8 @@ const PublicNotice = ({ applicationDetailData, proofList }) => {
/>
-
diff --git a/src/routes/GLDUserRoutes.js b/src/routes/GLDUserRoutes.js
index 8aef188..cf4ece2 100644
--- a/src/routes/GLDUserRoutes.js
+++ b/src/routes/GLDUserRoutes.js
@@ -12,6 +12,8 @@ const ApplicationSearch = Loadable(lazy(() => import('pages/PublicNotice/Search_
const ProofSearch = Loadable(lazy(() => import('pages/Proof/Search_GLD')));
const ProofCreate_FromApp = Loadable(lazy(() => import('pages/Proof/Create_FromApp')));
const ProofReply_GLD = Loadable(lazy(() => import('pages/Proof/Reply_GLD')));
+const PaymentSearch_GLD = Loadable(lazy(() => import('pages/Payment/Search_GLD')));
+const PaymentDetails_GLD = Loadable(lazy(() => import('pages/Payment/Details_GLD')));
// ==============================|| MAIN ROUTING ||============================== //
const GLDUserRoutes = {
@@ -48,6 +50,14 @@ const GLDUserRoutes = {
{
path: '/proof/reply/:id',
element:
+ },
+ {
+ path: '/paymentPage/search',
+ element:
+ },
+ {
+ path: '/paymentPage/details/:id',
+ element:
}
]
},