Parcourir la source

update application status

master
Anna Ho il y a 1 an
Parent
révision
3f5cc487d7
11 fichiers modifiés avec 777 ajouts et 107 suppressions
  1. +277
    -0
      src/pages/ProofCreate_FromApp/ApplicationDetails.js
  2. +136
    -0
      src/pages/ProofCreate_FromApp/DataGrid.js
  3. +166
    -0
      src/pages/ProofCreate_FromApp/GazetteDetails.js
  4. +81
    -0
      src/pages/ProofCreate_FromApp/index.js
  5. +38
    -70
      src/pages/PublicNotice/ListPanel/PublicNoteStatusUtils.js
  6. +5
    -1
      src/pages/PublicNotice/ListPanel/SearchPublicNoticeForm.js
  7. +4
    -20
      src/pages/PublicNotice/ListPanel/index.js
  8. +11
    -1
      src/pages/PublicNoticeDetail_GLD/ApplicationDetailCard.js
  9. +1
    -1
      src/pages/PublicNoticeSearch_GLD/SearchForm.js
  10. +5
    -0
      src/routes/GLDUserRoutes.js
  11. +53
    -14
      src/utils/ComboData.js

+ 277
- 0
src/pages/ProofCreate_FromApp/ApplicationDetails.js Voir le fichier

@@ -0,0 +1,277 @@
// material-ui
import {
CardContent,
Grid,
Stack,
FormControl,
OutlinedInput,
FormLabel,
} from '@mui/material';
import MainCard from "components/MainCard";
import * as React from "react";
import { useFormik } from 'formik';
// ==============================|| DASHBOARD - DEFAULT ||============================== //


const SearchPublicNoticeForm = (formData) => {
const formik = useFormik({
enableReinitialize: true,
initialValues: formData,
});

const DisplayField = ({name}) => {
return <FormControl variant="outlined" fullWidth disabled >
<OutlinedInput
fullWidth
size="small"
onChange={formik.handleChange}
id={name}
name={name}
sx={{
"& .MuiInputBase-input.Mui-disabled": {
WebkitTextFillColor: "#000000",
background: "#f8f8f8",
},
}}
/>
</FormControl>;
}


return (
<MainCard xs={12} md={12} lg={12}
border={false}
content={false}>

<form>
{/*row 1*/}
<CardContent sx={{ px: 2.5, pt: 3 }}>
<Grid item justifyContent="space-between" alignItems="center">
Application Details
</Grid>
</CardContent>

{/*row 2*/}
<Grid container direction="column">
<Grid item xs={12} md={12}>
<Grid container direction="row" justifyContent="space-between"
alignItems="center">
<Grid item xs={12} md={6} lg={6} sx={{ mb: 1 }}>
<Grid container alignItems={"center"}>
<Grid item xs={12} md={3} lg={3}
sx={{ display: 'flex', alignItems: 'center' }}>
<FormLabel>Application No:</FormLabel>
</Grid>

<Grid item xs={12} md={9} lg={9}>
<DisplayField
name='appNo'
/>
<FormControl variant="outlined" fullWidth disabled >
<OutlinedInput
fullWidth
size="small"
onChange={formik.handleChange}
id='appNo'
name='appNo'
sx={{
"& .MuiInputBase-input.Mui-disabled": {
WebkitTextFillColor: "#000000",
background: "#f8f8f8",
},
}}
/>
</FormControl>
</Grid>
</Grid>
</Grid>
{/* <Grid item xs={12} md={5} lg={5} sx={{ mb: 1, ml: 1 }}>
<Grid container alignItems={"center"}>
<Grid item xs={12} md={3} lg={3}
sx={{ display: 'flex', alignItems: 'center' }}>
<FormLabel>Status:</FormLabel>
</Grid>

<Grid item xs={12} md={9} lg={9}>
<FormControl variant="outlined" fullWidth >
{StatusUtils.getStatusByTextEng(currentApplicationDetailData.status)}
</FormControl>
</Grid>
</Grid>
</Grid> */}
</Grid>
<Grid container direction="row" justifyContent="space-between"
alignItems="center">
<Grid item xs={12} md={6} lg={6} sx={{ mb: 1 }}>
<Grid container alignItems={"center"}>
<Grid item xs={12} md={3} lg={3}
sx={{ display: 'flex', alignItems: 'center' }}>
<FormLabel>Applicant:</FormLabel>
</Grid>

<Grid item xs={12} md={9} lg={9}>
<FormControl variant="outlined" fullWidth disabled >
{formik.values.orgId === null ?
<OutlinedInput
fullWidth
size="small"
id='contactPerson'
sx={{
"& .MuiInputBase-input.Mui-disabled": {
WebkitTextFillColor: "#000000",
background: "#f8f8f8",
},
}}
/> :
<OutlinedInput
fullWidth
size="small"
id='companyName'
sx={{
"& .MuiInputBase-input.Mui-disabled": {
WebkitTextFillColor: "#000000",
background: "#f8f8f8",
},
}}
/>
}
</FormControl>
</Grid>
</Grid>
</Grid>
<Grid item xs={12} md={5} lg={5} sx={{ mb: 1, ml: 1 }}>
<Grid container alignItems={"center"}>
<Grid item xs={12} md={4} lg={4}
sx={{ display: 'flex', alignItems: 'center' }}>
<FormLabel>Contact Phone:</FormLabel>
</Grid>

<Grid item xs={12} md={8} lg={8}>
<Stack direction="row">
<FormControl variant="outlined" sx={{ width: '25%' }} disabled >
<OutlinedInput
size="small"
id='countryCode'
sx={{
"& .MuiInputBase-input.Mui-disabled": {
WebkitTextFillColor: "#000000",
background: "#f8f8f8",
},
}}
inputProps={{
maxLength: 3,
}}
/>
</FormControl>
<FormControl variant="outlined" sx={{ width: '100%' }} disabled >
<OutlinedInput
size="small"
type="tel"
id='phoneNumber'
sx={{
"& .MuiInputBase-input.Mui-disabled": {
WebkitTextFillColor: "#000000",
background: "#f8f8f8",
},
}}
inputProps={{
maxLength: 11,
}}
/>
</FormControl>
</Stack>
</Grid>
</Grid>
</Grid>
</Grid>
<Grid container direction="row" justifyContent="space-between"
alignItems="center">
<Grid item xs={12} md={6} lg={6} sx={{ mb: 1 }}>
<Grid container alignItems={"center"}>
<Grid item xs={12} md={3} lg={3}
sx={{ display: 'flex', alignItems: 'center' }}>
<FormLabel>Contect Person:</FormLabel>
</Grid>

<Grid item xs={12} md={9} lg={9}>
<FormControl variant="outlined" fullWidth disabled>
<OutlinedInput
fullWidth
size="small"
id='contactPerson'
sx={{
"& .MuiInputBase-input.Mui-disabled": {
WebkitTextFillColor: "#000000",
background: "#f8f8f8",
},
}}
/>
</FormControl>
</Grid>
</Grid>
</Grid>
<Grid item xs={12} md={5} lg={5} sx={{ mb: 1, ml: 1 }}>
<Grid container alignItems={"center"}>
<Grid item xs={12} md={4} lg={4}
sx={{ display: 'flex', alignItems: 'center' }}>
<FormLabel>Contact Fax:</FormLabel>
</Grid>

<Grid item xs={12} md={8} lg={8}>
<Stack direction="row">
<FormControl variant="outlined" sx={{ width: '25%' }} disabled>
<OutlinedInput
size="small"
id='countryCode'
sx={{
"& .MuiInputBase-input.Mui-disabled": {
WebkitTextFillColor: "#000000",
background: "#f8f8f8",
},
}}
inputProps={{
maxLength: 3,
type: "tel"
}}

/>
</FormControl>
<FormControl variant="outlined" sx={{ width: '100%' }} disabled>
<OutlinedInput
size="small"
type="tel"
id='faxNumber'
sx={{
"& .MuiInputBase-input.Mui-disabled": {
WebkitTextFillColor: "#000000",
background: "#f8f8f8",
},
}}
inputProps={{
maxLength: 8,
}}
/>
</FormControl>
</Stack>
</Grid>
</Grid>
</Grid>
</Grid>
</Grid>
</Grid>


</form>
</MainCard>
);
};

export default SearchPublicNoticeForm;

+ 136
- 0
src/pages/ProofCreate_FromApp/DataGrid.js Voir le fichier

@@ -0,0 +1,136 @@
// material-ui
import * as React from 'react';
import {
Button
} from '@mui/material';
import * as DateUtils from "utils/DateUtils";
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()

React.useEffect(() => {
setRows(recordList);
}, [recordList]);

const handleEditClick = (params) => () => {
navigate('/application/'+ params.id);
};


const columns = [
{
field: 'actions',
headerName: 'Proof No.',
width: 150,
cellClassName: 'actions',
renderCell: (params) => {
return <Button onClick={handleEditClick(params)}><u>{params.row.refNo}</u></Button>;
},
},
{
id: 'appId',
field: 'appId',
headerName: 'Application No./ Gazette Code/ Gazette Issue',
flex: 1,
renderCell: (params) => {
let appNo = "";
let code = "";
let isssue = params.row.issueYear
+" Vol. "+zeroPad(params.row.issueVolume,3)
+", No. "+zeroPad(params.row.issueNo,2)
+", "+DateUtils.dateFormat(params.row.issueDate, "D MMM YYYY (ddd)");

return [appNo+" ("+code+")"+isssue]
},
},
{
id: 'created',
field: 'created',
headerName: 'Proof Date',
flex: 1,
valueGetter: (params) => {
return DateUtils.datetimeStr(params?.value);
}
},
{
id: 'created',
field: 'created',
headerName: 'Confirmed/Return Date',
flex: 1,
valueGetter: (params) => {
return DateUtils.datetimeStr(params?.value);
}
},
{
id: 'contactPerson',
field: 'contactPerson',
headerName: 'Contact Person',
flex: 1,
renderCell: (params) => {
let company = params.row.enCompanyName!= null ?" ("+(params.row.enCompanyName)+")":"";

let phone = JSON.parse(params.row.contactTelNo);
let faxNo = JSON.parse(params.row.contactFaxNo);

let contact = "";
if (phone) {
contact = "Phone No.: " + phone?.countryCode + " " + phone?.phoneNumber
}

if (faxNo && faxNo?.faxNumber) {
if (contact != "")
contact = contact + ", "
contact = contact + "Fax No.:" + faxNo?.countryCode + " " + faxNo?.faxNumber
}

return (<>
{params?.value + company}<br />
{contact}
</>);
}
},
{
id: 'groupNo',
field: 'groupNo',
headerName: 'Gazette Group',
flex: 1,
valueGetter: (params) => {
return (params?.value)?(params?.value):"";
}
},
{
id: 'fee',
field: 'fee',
headerName: 'Fee',
flex: 1,
valueGetter: (params) => {
return (params?.value)?(params?.value):"";
}
},
];

function zeroPad(num, places) {
num=num?num:0;
var zero = places - num.toString().length + 1;
return Array(+(zero > 0 && zero)).join("0") + num;
}

return (
<div style={{ height: 400, width: '100%' }}>

<FiDataGrid
rows={rows}
columns={columns}
initialState={{
pagination: {
paginationModel: { page: 0, pageSize: 5 },
},
}}
/>
</div>
);
}

+ 166
- 0
src/pages/ProofCreate_FromApp/GazetteDetails.js Voir le fichier

@@ -0,0 +1,166 @@
// material-ui
import {
FormControl,
Grid,
FormLabel,
OutlinedInput,
} from '@mui/material';
import MainCard from "components/MainCard";
import * as React from "react";
import { useFormik } from 'formik';
// ==============================|| DASHBOARD - DEFAULT ||============================== //


const GazetteDetails = ({formData}) => {

const formik = useFormik({
enableReinitialize: true,
initialValues: formData,
});

// function getIssueLabel(data) {
// if (data == {}) return "";
// return data.year
// + " Vol. " + zeroPad(data.volume, 3)
// + ", No. " + zeroPad(data.issueNo, 2)
// + ", " + DateUtils.dateFormat(data.issueDate, "D MMM YYYY (ddd)");
// }

// function zeroPad(num, places) {
// num = num ? num : 0;
// var zero = places - num.toString().length + 1;
// return Array(+(zero > 0 && zero)).join("0") + num;
// }

return (
<MainCard xs={12} md={12} lg={12}
border={false}
content={false}>

<form onSubmit={handleSubmit(onSubmit)}>
{/*row 1*/}
<CardContent sx={{ px: 2.5, pt: 3 }}>
<Grid item justifyContent="space-between" alignItems="center">
Gazette Details
</Grid>
</CardContent>

{/*row 2*/}
<Grid container direction="column">
<Grid item xs={12} md={12}>
<Grid container direction="row" justifyContent="space-between"
alignItems="center">
<Grid item xs={12} md={6} lg={6} sx={{ mb: 1 }}>
<Grid container alignItems={"center"}>
<Grid item xs={12} md={3} lg={3}
sx={{ display: 'flex', alignItems: 'center' }}>
<FormLabel>Issue Number:</FormLabel>
</Grid>

<Grid item xs={12} md={9} lg={9}>
<FormControl variant="outlined" fullWidth disabled >
<OutlinedInput
fullWidth
size="small"
id='issueNum'
onChange={formik.handleChange}
sx={{
"& .MuiInputBase-input.Mui-disabled": {
WebkitTextFillColor: "#000000",
background: "#f8f8f8",
},
}}
/>
</FormControl>
</Grid>
</Grid>
</Grid>
<Grid item xs={12} md={5} lg={5} sx={{ mb: 1, ml: 1 }}>
<Grid container alignItems={"center"}>
<Grid item xs={12} md={3} lg={3}
sx={{ display: 'flex', alignItems: 'center' }}>
<FormLabel>Gazette Code:</FormLabel>
</Grid>

<Grid item xs={12} md={9} lg={9}>
<FormControl variant="outlined" fullWidth disabled >
<OutlinedInput
fullWidth
size="small"
id='gazetteCode'
sx={{
"& .MuiInputBase-input.Mui-disabled": {
WebkitTextFillColor: "#000000",
background: "#f8f8f8",
},
}}
/>
</FormControl>
</Grid>
</Grid>
</Grid>
</Grid>
<Grid container direction="row" justifyContent="space-between"
alignItems="center">
<Grid item xs={12} md={6} lg={6} sx={{ mb: 1 }}>
<Grid container alignItems={"center"}>
<Grid item xs={12} md={3} lg={3}
sx={{ display: 'flex', alignItems: 'center' }}>
<FormLabel>Issue Date:</FormLabel>
</Grid>

<Grid item xs={12} md={9} lg={9}>
<FormControl variant="outlined" fullWidth disabled >
<OutlinedInput
fullWidth
size="small"
id='issueDate'
sx={{
"& .MuiInputBase-input.Mui-disabled": {
WebkitTextFillColor: "#000000",
background: "#f8f8f8",
},
}}
/>
</FormControl>
</Grid>
</Grid>
</Grid>
<Grid item xs={12} md={5} lg={5} sx={{ mb: 1, ml: 1 }}>
<Grid container alignItems={"center"}>
<Grid item xs={12} md={3} lg={3}
sx={{ display: 'flex', alignItems: 'center' }}>
<FormLabel>Group Title:</FormLabel>
</Grid>

<Grid item xs={12} md={9} lg={9}>
<FormControl variant="outlined" fullWidth disabled >
<OutlinedInput
fullWidth
size="small"
id='groupTitle'
sx={{
"& .MuiInputBase-input.Mui-disabled": {
WebkitTextFillColor: "#000000",
background: "#f8f8f8",
},
}}
/>
</FormControl>
</Grid>
</Grid>
</Grid>
</Grid>
</Grid>
</Grid>


</form>
</MainCard>
);
};

export default GazetteDetails;

+ 81
- 0
src/pages/ProofCreate_FromApp/index.js Voir le fichier

@@ -0,0 +1,81 @@
// material-ui
import {
Grid,
} 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 { useParams } from "react-router-dom";

import Loadable from 'components/Loadable';
const LoadingComponent = Loadable(React.lazy(() => import('pages/extra-pages/LoadingComponent')));
const ApplicationDetails = Loadable(React.lazy(() => import('./ApplicationDetails')));
//const GazetteDetails = Loadable(React.lazy(() => import('./GazetteDetails')));
const EventTable = Loadable(React.lazy(() => import('./DataGrid')));

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

const Index = () => {
const params = useParams();

const [record, setRecord] = 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.GET_PUBLIC_NOTICE_APPLY_DETAIL+"/"+params.id,
onSuccess:(responseData)=>{
setRecord(responseData);
}
});
}
}

return (
!onReady ?
<LoadingComponent />
:
<Grid container sx={{ minHeight: '85vh', backgroundColor: '#eee' }} direction="column" spacing={1} >
{/*row 1*/}
<Grid item xs={12} md={12} lg={12}>
<Grid container spacing={1}>
<Grid item xs={12} md={12} lg={8}>
<ApplicationDetails
formData={record}
/>
</Grid>
<Grid item xs={12} md={12} lg={4}>
<ApplicationDetails
formData={record}
/>
</Grid>
</Grid>
</Grid>
{/*row 2*/}
<Grid item xs={12} md={12} lg={12}>
<MainCard elevation={0}
border={false}
content={false}
>
<EventTable
recordList={record}
/>
</MainCard>
</Grid>
</Grid>
);
};

export default Index;

+ 38
- 70
src/pages/PublicNotice/ListPanel/PublicNoteStatusUtils.js Voir le fichier

@@ -1,101 +1,69 @@


export function getStatus(params) {
switch (params.row.status) {
case "submitted":
return getStatusTag({ color: "#f5a83d", text: "已提交" })
case "rejected":
return getStatusTag({ color: "#d9372b", text: "已拒絕" })
case "cancelled":
return getStatusTag({ color: "#757373", text: "已取消" })
case "accepted":
return getStatusTag({ color: "#22a13f", text: "處理中" })
case "confirmed":
return getStatusTag({ color: "#22a13f", text: "待付款" })
case "paid":
return getStatusTag({ color: "#22a13f", text: "待發布" })
case "published":
return getStatusTag({ color: "#f5a83d", text: "待付款" })
case "withdrawn":
return getStatusTag({ color: "#8a8784", text: "已撤回" })
case "complated":
return getStatusTag({ color: "#8a8784", text: "已完成" })
default:
return getStatusTag({ text: params.row.status })
}
return getStatusByText(params.row.status);
}

export function getStatusByText(status) {
switch (status) {
case "submitted":
return getStatusTag({ color: "#f5a83d", text: "已提交" })
case "rejected":
return getStatusTag({ color: "#d9372b", text: "已拒絕" })
case "cancelled":
return getStatusTag({ color: "#757373", text: "已取消" })
case "accepted":
return getStatusTag({ color: "#22a13f", text: "處理中" })
return getStatusTag({ color: "#f5a83d", text: "處理中" })
case "reviewed":
return getStatusTag({ color: "#f5a83d", text: "處理中" })
case "confirmed":
if (localStorage.getItem('userData').creditor)
return getStatusTag({ color: "#22a13f", text: "待發布" })
else
return getStatusTag({ color: "#22a13f", text: "待付款" })
case "published":
return getStatusTag({ color: "#22a13f", text: "待付款" })
case "paid":
return getStatusTag({ color: "#22a13f", text: "待發布" })
case "published":
return getStatusTag({ color: "#f5a83d", text: "待付款" })
case "withdrawn":
return getStatusTag({ color: "#8a8784", text: "已撤回" })
case "complated":
return getStatusTag({ color: "#8a8784", text: "已完成" })
default:
return getStatusTag({ text: params.row.status })
}
}
export function getStatusEng(params) {
switch (params.row.status) {
case "submitted":
return getStatusTag({ color: "#f5a83d", text: "Submitted" })
case "rejected":
return getStatusTag({ color: "#d9372b", text: "Rejected" })
case "notAccepted":
return getStatusTag({ color: "#d9372b", text: "不接受" })
case "resubmit":
return getStatusTag({ color: "#757373", text: "需重新提交" })
case "cancelled":
return getStatusTag({ color: "#757373", text: "Cancelled" })
case "accepted":
return getStatusTag({ color: "#22a13f", text: "Processing" })
case "confirmed":
return getStatusTag({ color: "#22a13f", text: "Pending Payment" })
case "paid":
return getStatusTag({ color: "#22a13f", text: "To be published" })
case "published":
return getStatusTag({ color: "#f5a83d", text: "Pending Payment" })
return getStatusTag({ color: "#f5a83d", text: "已取消" })
case "withdrawn":
return getStatusTag({ color: "#8a8784", text: "Withdrawn" })
case "completed":
return getStatusTag({ color: "#8a8784", text: "Completed" })
return getStatusTag({ color: "#8a8784", text: "已撤銷" })
default:
return getStatusTag({ text: params.row.status })
return getStatusTag({ text: status })
}
}

export function getStatusEng(params) {
return getStatusByTextEng(params.row.status);
}
export function getStatusByTextEng(status) {
switch (status) {
case "submitted":
return getStatusTag({ color: "#f5a83d", text: "Submitted" })
case "rejected":
return getStatusTag({ color: "#d9372b", text: "Rejected" })
case "cancelled":
return getStatusTag({ color: "#757373", text: "Cancelled" })
case "accepted":
return getStatusTag({ color: "#22a13f", text: "Processing" })
return getStatusTag({ color: "#f5a83d", text: "Processing" })
case "reviewed":
return getStatusTag({ color: "#f5a83d", text: "Processing" })
case "confirmed":
if (localStorage.getItem('userData').creditor)
return getStatusTag({ color: "#22a13f", text: "Pending Publish" })
else
return getStatusTag({ color: "#22a13f", text: "Pending Payment" })
case "published":
return getStatusTag({ color: "#22a13f", text: "Pending Payment" })
case "paid":
return getStatusTag({ color: "#22a13f", text: "To Be Published" })
case "published":
return getStatusTag({ color: "#f5a83d", text: "Pending Payment" })
return getStatusTag({ color: "#22a13f", text: "Pending Publish" })
case "complated":
return getStatusTag({ color: "#8a8784", text: "Completed" })
case "notAccepted":
return getStatusTag({ color: "#d9372b", text: "Not accepted" })
case "resubmit":
return getStatusTag({ color: "#757373", text: "Re-submit Required" })
case "cancelled":
return getStatusTag({ color: "#f5a83d", text: "Cancelled" })
case "withdrawn":
return getStatusTag({ color: "#8a8784", text: "Withdrawn" })
case "completed":
return getStatusTag({ color: "#8a8784", text: "Completed" })
default:
return getStatusTag({ text: params.row.status })
return getStatusTag({ text: status })
}
}



+ 5
- 1
src/pages/PublicNotice/ListPanel/SearchPublicNoticeForm.js Voir le fichier

@@ -129,7 +129,11 @@ const SearchPublicNoticeForm = ({ applySearch, searchCriteria }) => {
disablePortal
id="status"
filterOptions={(options)=>options}
options={ComboData.publicNoticeStatic}
options={
localStorage.getItem('userData').creditor?
ComboData.publicNoticeStatic_Creditor:
ComboData.publicNoticeStatic
}
values={status}
inputValue={status?.label}
onChange={(event, newValue) => {


+ 4
- 20
src/pages/PublicNotice/ListPanel/index.js Voir le fichier

@@ -29,7 +29,6 @@ import titleBackgroundImg from 'assets/images/dashboard/gazette-bar.png'

const PublicNotice = () => {
const [submittedList, setSubmittedList] = useState([]);
const [inProgressList, setInProgressList] = useState([]);
const [pendingPaymentList, setPendingPaymentList] = useState([]);
const [pendingPublishList, setPendingPublishList] = useState([]);
const [isLoading, setLoding] = useState(true);
@@ -60,7 +59,6 @@ const PublicNotice = () => {
url: `${UrlUtils.GET_PUBLIC_NOTICE_LIST_ListByStatus}`,
onSuccess: function (response) {
setSubmittedList(response["submitted"]);
setInProgressList(response["inProgress"]);
setPendingPaymentList(response["pendingPayment"]);
setPendingPublishList(response["pendingPublish"]);
}
@@ -106,9 +104,8 @@ const PublicNotice = () => {
<TabContext value={selectedTab}>
<Box sx={{ borderBottom: 1, borderColor: 'divider' }}>
<TabList onChange={handleChange} aria-label="lab API tabs example">
<Tab label={"已提交(" + submittedList?.length + ")"} value="1" />
<Tab label={"處理中(" + inProgressList?.length + ")"} value="2" />
<Tab label={"待發佈(" + pendingPublishList?.length + ")"} value="3" />
<Tab label={"處理中(" + submittedList?.length + ")"} value="1" />
<Tab label={"待發布(" + pendingPublishList?.length + ")"} value="3" />
<Tab label={"待付款(" + pendingPaymentList?.length + ")"} value="4" />
<Tab label="搜尋申請記錄" value="5" />
</TabList>
@@ -119,12 +116,6 @@ const PublicNotice = () => {
reloadFunction={reloadPage}
/>
</TabPanel>
<TabPanel value="2">
<BaseGrid
rows={inProgressList}
reloadFunction={reloadPage}
/>
</TabPanel>
<TabPanel value="3">
<BaseGrid
rows={pendingPublishList}
@@ -150,10 +141,9 @@ const PublicNotice = () => {
<TabContext value={selectedTab}>
<Box sx={{ borderBottom: 1, borderColor: 'divider' }}>
<TabList onChange={handleChange} aria-label="lab API tabs example">
<Tab label={"已提交(" + submittedList.length + ")"} value="1" />
<Tab label={"處理中(" + inProgressList.length + ")"} value="2" />
<Tab label={"處理中(" + submittedList.length + ")"} value="1" />
<Tab label={"待付款(" + pendingPaymentList.length + ")"} value="3" />
<Tab label={"待發(" + pendingPublishList.length + ")"} value="4" />
<Tab label={"待發(" + pendingPublishList.length + ")"} value="4" />
<Tab label="搜尋申請記錄" value="5" />
</TabList>
</Box>
@@ -163,12 +153,6 @@ const PublicNotice = () => {
reloadFunction={reloadPage}
/>
</TabPanel>
<TabPanel value="2">
<BaseGrid
rows={inProgressList}
reloadFunction={reloadPage}
/>
</TabPanel>
<TabPanel value="3">
<PendingPaymentTab
rows={pendingPaymentList}


+ 11
- 1
src/pages/PublicNoticeDetail_GLD/ApplicationDetailCard.js Voir le fichier

@@ -155,6 +155,16 @@ const ApplicationDetailCard = (
setStatus("withdraw")
};

const onProofClick=()=>{
window.open("/proof/create/" + currentApplicationDetailData.id, "_blank", "noreferrer");
window.addEventListener("focus", onFocus)
}

const onFocus = () => {
location.reload();
window.removeEventListener("focus", onFocus)
}

return (
!onReady ?
<LoadingComponent />
@@ -224,7 +234,7 @@ const ApplicationDetailCard = (
<Button
// size="large"
variant="contained"
// onClick={handleNewUserClick}
onClick={()=>{onProofClick()}}
sx={{
textTransform: 'capitalize',
alignItems: 'end'


+ 1
- 1
src/pages/PublicNoticeSearch_GLD/SearchForm.js Voir le fichier

@@ -167,7 +167,7 @@ const SearchPublicNoticeForm = ({ applySearch, orgComboData, searchCriteria,issu
disablePortal
id="status"
filterOptions={(options) => options}
options={ComboData.publicNoticeStaticEng}
options={ComboData.publicNoticeStatic_GLD}
value={status}
inputValue={status?.label}
onChange={(event, newValue) => {


+ 5
- 0
src/routes/GLDUserRoutes.js Voir le fichier

@@ -10,6 +10,7 @@ const DashboardDefault = Loadable(lazy(() => import('pages/gldDashboard')));
const ApplicationDetail = Loadable(lazy(() => import('pages/PublicNoticeDetail_GLD')));
const ApplicationSearch = Loadable(lazy(() => import('pages/PublicNoticeSearch_GLD')));
const ProofSearch = Loadable(lazy(() => import('pages/ProofSearch')));
const ProofCreate_FromApp = Loadable(lazy(() => import('pages/ProofCreate_FromApp')));
// ==============================|| MAIN ROUTING ||============================== //

const GLDUserRoutes = {
@@ -38,6 +39,10 @@ const GLDUserRoutes = {
{
path: '/proof/search',
element: <ProofSearch/>
},
{
path: '/proof/create/:id',
element: <ProofCreate_FromApp/>
}
]
},


+ 53
- 14
src/utils/ComboData.js Voir le fichier

@@ -13,28 +13,67 @@ export const accountFilter = [{ id: 1, key: 1, label: 'Active', type: 'active'

export const publicNoticeStatic = [
{ key: 0, label: '全部', type: 'all' },
{ key: 1, label: '已提交', type: 'submitted' },
{ key: 2, label: '已拒絕', type: 'rejected' },
{ key: 3, label: '已取消', type: 'cancelled' },
{ key: 4, label: '已接受', type: 'accepted' },
{ key: 5, label: '已確認', type: 'confirmed' },
{ key: 6, label: '已付費', type: 'paid' },
{ key: 7, label: '已發表', type: 'published' },
{ key: 1, label: '處理中', type: 'processing' }, // submitted and reviewed
{ key: 2, label: '待付款', type: 'confirmed' },
{ key: 3, label: '待發布', type: 'paid' },
{ key: 4, label: '已完成', type: 'completed' },
{ key: 5, label: '不接受', type: 'notAccepted' },
{ key: 6, label: '需重新提交', type: 'resubmit' },
{ key: 7, label: '已取消', type: 'cancelled' },
{ key: 8, label: '已撤銷', type: 'withdrawn' },
];

export const publicNoticeStatic_Creditor = [
{ key: 0, label: '全部', type: 'all' },
{ key: 1, label: '處理中', type: 'processing' }, // submitted and reviewed
{ key: 2, label: '待發布', type: 'confirmed' },
{ key: 3, label: '待付款', type: 'published' },
{ key: 4, label: '已完成', type: 'completed' },
{ key: 5, label: '不接受', type: 'notAccepted' },
{ key: 6, label: '需重新提交', type: 'resubmit' },
{ key: 7, label: '已取消', type: 'cancelled' },
{ key: 8, label: '已撤銷', type: 'withdrawn' },
];

export const publicNoticeStaticEng = [
{ key: 0, label: 'All', type: 'all' },
{ key: 1, label: 'Submitted', type: 'submitted' },
{ key: 2, label: 'Rejected', type: 'rejected' },
{ key: 3, label: 'Cancelled', type: 'cancelled' },
{ key: 4, label: 'Accepted', type: 'accepted' },
{ key: 5, label: 'Confirmed', type: 'confirmed' },
{ key: 6, label: 'Paid', type: 'paid' },
{ key: 7, label: 'Published', type: 'published' },
{ key: 1, label: 'Processing', type: 'processing' }, // submitted and reviewed
{ key: 2, label: 'Pending Payment', type: 'confirmed' },
{ key: 3, label: 'To be published', type: 'paid' },
{ key: 4, label: 'Completed', type: 'completed' },
{ key: 5, label: 'Not accepted', type: 'notAccepted' },
{ key: 6, label: 'Re-submit Required', type: 'resubmit' },
{ key: 7, label: 'Cancelled', type: 'cancelled' },
{ key: 8, label: 'Withdrawn', type: 'withdrawn' },
];

export const publicNoticeStaticEng_Creditor = [
{ key: 0, label: 'All', type: 'all' },
{ key: 1, label: 'Processing', type: 'processing' }, // submitted and reviewed
{ key: 2, label: 'To be published', type: 'confirmed' },
{ key: 3, label: 'Pending Payment', type: 'published' },
{ key: 4, label: 'Completed', type: 'completed' },
{ key: 5, label: 'Not accepted', type: 'notAccepted' },
{ key: 6, label: 'Re-submit Required', type: 'resubmit' },
{ key: 7, label: 'Cancelled', type: 'cancelled' },
{ key: 8, label: 'Withdrawn', type: 'withdrawn' },
];

export const publicNoticeStatic_GLD = [
{ key: 0, label: 'All', type: 'all' },
{ key: 1, label: 'Submitted', type: 'submitted' },
{ key: 2, label: 'Reviewed', type: 'reviewed' },
{ key: 3, label: 'Confirmed', type: 'confirmed' },
{ key: 3, label: 'Paid', type: 'paid' },
{ key: 4, label: 'Published', type: 'published' },
{ key: 5, label: 'Completed', type: 'completed' },
{ key: 6, label: 'Not accepted', type: 'notAccepted' },
{ key: 7, label: 'Re-submit required', type: 'resubmit' },
{ key: 8, label: 'Cancelled', type: 'cancelled' },
{ key: 9, label: 'Withdrawn', type: 'withdrawn' },
];


export const groupTitle = [
{ key: 1, label: 'A - Private Bill', title: 'Private Bill', type: 'A'},
{ key: 2, label: 'B - Companies Ordinance', title: 'Companies Ordinance', type: 'B' },


Chargement…
Annuler
Enregistrer