Anna Ho 1 год назад
Родитель
Сommit
9a86bc4e89
3 измененных файлов: 50 добавлений и 49 удалений
  1. +12
    -7
      src/pages/PublicNoticeDetail_GLD/index.js
  2. +29
    -30
      src/pages/PublicNoticeDetail_GLD/tabTableDetail/ProofTab.js
  3. +9
    -12
      src/pages/PublicNoticeDetail_GLD/tabTableDetail/TabTable.js

+ 12
- 7
src/pages/PublicNoticeDetail_GLD/index.js Просмотреть файл

@@ -43,6 +43,7 @@ const PublicNoticeDetail_GLD = () => {
const params = useParams(); const params = useParams();
// const navigate = useNavigate() // const navigate = useNavigate()
const [applicationDetailData, setApplicationDetailData] = useState({}); const [applicationDetailData, setApplicationDetailData] = useState({});
const [proofList, setProofList] = useState([]);
// const [refApplicationDetailData, setRefApplicationDetailData] = React.useState({}); // const [refApplicationDetailData, setRefApplicationDetailData] = React.useState({});
const [isLoading, setLoading] = useState(false); const [isLoading, setLoading] = useState(false);
const LoadingComponent = Loadable(lazy(() => import('../extra-pages/LoadingComponent'))); const LoadingComponent = Loadable(lazy(() => import('../extra-pages/LoadingComponent')));
@@ -83,7 +84,7 @@ const PublicNoticeDetail_GLD = () => {
const title = groupNo != null ? ("Application / " + appNo + ", " + gazetteIssue + ", " + issueNum + " , " + groupNo) : ("Application / " + appNo + ", " + gazetteIssue + ", " + issueNum) const title = groupNo != null ? ("Application / " + appNo + ", " + gazetteIssue + ", " + issueNum + " , " + groupNo) : ("Application / " + appNo + ", " + gazetteIssue + ", " + issueNum)


useEffect(() => { useEffect(() => {
loadApplicationDetail()
loadApplicationDetail();
}, []); }, []);


// useEffect(() => { // useEffect(() => {
@@ -110,6 +111,7 @@ const PublicNoticeDetail_GLD = () => {
setIssueNum(" No. " + gazetteIssueDetail.issueNo); setIssueNum(" No. " + gazetteIssueDetail.issueNo);
setIssueDate(DateUtils.dateFormat(gazetteIssueDetail.issueDate, "D MMM YYYY (ddd)")); setIssueDate(DateUtils.dateFormat(gazetteIssueDetail.issueDate, "D MMM YYYY (ddd)"));
setGroupNo(response.data.data.groupNo); setGroupNo(response.data.data.groupNo);
setProofList(response.data.proofList);
setLoading(false); setLoading(false);
} }
}) })
@@ -171,9 +173,9 @@ const PublicNoticeDetail_GLD = () => {
onComplatedClick() onComplatedClick()
} else if (getStatus == "withdraw") { } else if (getStatus == "withdraw") {
onWithdrawnClick() onWithdrawnClick()
} else if (getStatus == "notAccepted"){
} else if (getStatus == "notAccepted") {
onNotAcceptClick(getReason); onNotAcceptClick(getReason);
} else if (getStatus == "resubmit"){
} else if (getStatus == "resubmit") {
onReSubmitClick(); onReSubmitClick();
} }
} }
@@ -266,8 +268,8 @@ const PublicNoticeDetail_GLD = () => {
}; };


useEffect(() => { useEffect(() => {
const status = applicationDetailData.data!=undefined?applicationDetailData.data.status:""
if(status === "submitted" && params.id > 0 && getUploadStatus){
const status = applicationDetailData.data != undefined ? applicationDetailData.data.status : ""
if (status === "submitted" && params.id > 0 && getUploadStatus) {
axios.get(`${SET_PUBLIC_NOTICE_STATUS_REVIEWED}/${params.id}`) axios.get(`${SET_PUBLIC_NOTICE_STATUS_REVIEWED}/${params.id}`)
.then((response) => { .then((response) => {
if (response.status === 204) { if (response.status === 204) {
@@ -279,7 +281,7 @@ const PublicNoticeDetail_GLD = () => {
console.log(error); console.log(error);
return false; return false;
}); });
}else{
} else {
setUploadStatus(false); setUploadStatus(false);
} }
}, [getUploadStatus]); }, [getUploadStatus]);
@@ -346,7 +348,10 @@ const PublicNoticeDetail_GLD = () => {
</Grid> </Grid>
<Grid item xs={12} md={10}> <Grid item xs={12} md={10}>
<Box xs={12} ml={4} mt={3}> <Box xs={12} ml={4} mt={3}>
<TabTableDetail applicationDetailData={applicationDetailData} />
<TabTableDetail
applicationDetailData={applicationDetailData}
proofList={proofList}
/>
</Box> </Box>
</Grid> </Grid>
</Grid> </Grid>


+ 29
- 30
src/pages/PublicNoticeDetail_GLD/tabTableDetail/ProofTab.js Просмотреть файл

@@ -1,54 +1,53 @@
// material-ui // material-ui
import * as React from 'react'; import * as React from 'react';
import * as DateUtils from "utils/DateUtils";
import {FiDataGrid} from "components/FiDataGrid"; import {FiDataGrid} from "components/FiDataGrid";
import {
Button
} from '@mui/material';
// ==============================|| EVENT TABLE ||============================== // // ==============================|| EVENT TABLE ||============================== //


export default function ProofTab({rows}) { export default function ProofTab({rows}) {


function currencyFormat(num) {
return num.toLocaleString('en-US', {
minimumFractionDigits: 2
});
}


const columns = [ const columns = [
{ {
id: 'proofRef',
field: 'proofRef',
headerName: 'Proof Ref.',
id: 'refNo',
field: 'refNo',
headerName: 'Proof No.',
flex: 1, flex: 1,
}, },
{ {
id: 'proofSent',
field: 'proofSent',
headerName: 'Proof Return',
id: 'created',
field: 'created',
headerName: 'Proof Date',
flex: 1, flex: 1,
valueGetter: (params) => {
return DateUtils.datetimeStr(params?.value);
}
}, },
{ {
id: 'proofReturn',
field: 'proofReturn',
headerName: 'Proof Return',
flex: 1,
},
{
id: 'status',
field: 'status',
headerName: 'Status',
id: 'replyDate',
field: 'replyDate',
headerName: 'Confirmed/Return Date',
flex: 1, flex: 1,
valueGetter: (params) => {
return params?.value?DateUtils.datetimeStr(params?.value):"";
}
}, },
{ {
id: 'fee', id: 'fee',
field: 'fee', field: 'fee',
headerName: 'Fee (HKD)',
flex: 2,
headerName: 'Fee',
flex: 1,
valueGetter: (params) => {
return (params?.value)?"$ "+currencyFormat(params?.value):"";
}
}, },
{
field: 'detail',
type: 'actions',
headerName: '',
width: 50,
cellClassName: 'actions',
renderCell: () => {
return <Button onClick={()=>{}}>查看詳細</Button>;
},
}
]; ];


return ( return (


+ 9
- 12
src/pages/PublicNoticeDetail_GLD/tabTableDetail/TabTable.js Просмотреть файл

@@ -21,31 +21,28 @@ const ProofTab = Loadable(lazy(() => import('./ProofTab')));


// ==============================|| DASHBOARD - DEFAULT ||============================== // // ==============================|| DASHBOARD - DEFAULT ||============================== //


const PublicNotice = ({applicationDetailData}) => {
const [submittedList, ] = React.useState([]);
const [inProgressList, ] = React.useState([]);
const PublicNotice = ({applicationDetailData, proofList}) => {
const [_proofList, setProofList] = React.useState([]);
const [inProgressList,] = React.useState([]);
const [onReady,setOnReady] = React.useState(false); const [onReady,setOnReady] = React.useState(false);
const [selectedTab, setSelectedTab] = React.useState("1"); const [selectedTab, setSelectedTab] = React.useState("1");
// const navigate = useNavigate(); // const navigate = useNavigate();
const [statusHistoryList, setStatusHistoryList] = React.useState([]); const [statusHistoryList, setStatusHistoryList] = React.useState([]);



// useEffect(() => {
// loadData();
// }, []);

const reloadPage = () => { const reloadPage = () => {
window.location.reload(false); window.location.reload(false);
} }


React.useEffect(() => { React.useEffect(() => {
//if user data from parent are not null
// console.log(applicationDetailData)
if (Object.keys(applicationDetailData).length > 0) { if (Object.keys(applicationDetailData).length > 0) {
setStatusHistoryList(applicationDetailData.statusHistoryList); setStatusHistoryList(applicationDetailData.statusHistoryList);
} }
}, [applicationDetailData]); }, [applicationDetailData]);


React.useEffect(() => {
setProofList(proofList);
}, [proofList]);

React.useEffect(() => { React.useEffect(() => {
//if state data are ready and assign to different field //if state data are ready and assign to different field
if (statusHistoryList.length > 0) { if (statusHistoryList.length > 0) {
@@ -75,14 +72,14 @@ const PublicNotice = ({applicationDetailData}) => {
<TabContext value={selectedTab}> <TabContext value={selectedTab}>
<Box sx={{ borderBottom: 1, borderColor: 'divider' }}> <Box sx={{ borderBottom: 1, borderColor: 'divider' }}>
<TabList onChange={handleChange} aria-label="lab API tabs example"> <TabList onChange={handleChange} aria-label="lab API tabs example">
<Tab label={"Proof(" + submittedList.length + ")"} value="1" />
<Tab label={"Proof(" + (_proofList?.length?_proofList?.length:0) + ")"} value="1" />
<Tab label={"Payment(" + inProgressList.length + ")"} value="2" /> <Tab label={"Payment(" + inProgressList.length + ")"} value="2" />
<Tab label={"Status History(" + statusHistoryList.length + ")"} value="3" /> <Tab label={"Status History(" + statusHistoryList.length + ")"} value="3" />
</TabList> </TabList>
</Box> </Box>
<TabPanel value="1"> <TabPanel value="1">
<ProofTab <ProofTab
rows={submittedList}
rows={_proofList}
reloadFunction={reloadPage} reloadFunction={reloadPage}
/> />
</TabPanel> </TabPanel>


Загрузка…
Отмена
Сохранить