Browse Source

update status ui

master
Alex Cheung 1 year ago
parent
commit
9ac3e11f82
7 changed files with 131 additions and 67 deletions
  1. +2
    -2
      src/pages/PublicNotice/ListPanel/PublicNoteStatusUtils.js
  2. +11
    -2
      src/pages/PublicNoticeDetail/ApplicationDetailCard.js
  3. +6
    -4
      src/pages/PublicNoticeDetail_GLD/ApplicationDetailCard.js
  4. +38
    -2
      src/pages/PublicNoticeDetail_GLD/GazetteDetailCard.js
  5. +15
    -21
      src/pages/PublicNoticeDetail_GLD/StatusChangeDialog.js
  6. +56
    -35
      src/pages/PublicNoticeDetail_GLD/index.js
  7. +3
    -1
      src/utils/ApiPathConst.js

+ 2
- 2
src/pages/PublicNotice/ListPanel/PublicNoteStatusUtils.js View File

@@ -40,9 +40,9 @@ export function getStatusEng(params) {
export function getStatusByTextEng(status) { export function getStatusByTextEng(status) {
switch (status) { switch (status) {
case "submitted": case "submitted":
return getStatusTag({ color: "#f5a83d", text: "Processing" })
return getStatusTag({ color: "#f5a83d", text: "Submitted" })
case "reviewed": case "reviewed":
return getStatusTag({ color: "#f5a83d", text: "Processing" })
return getStatusTag({ color: "#0C489E", text: "Reviewed" })
case "confirmed": case "confirmed":
if (localStorage.getItem('userData').creditor) if (localStorage.getItem('userData').creditor)
return getStatusTag({ color: "#22a13f", text: "Pending Publish" }) return getStatusTag({ color: "#22a13f", text: "Pending Publish" })


+ 11
- 2
src/pages/PublicNoticeDetail/ApplicationDetailCard.js View File

@@ -175,11 +175,20 @@ const ApplicationDetailCard = (
<FormLabel>申請狀態:</FormLabel> <FormLabel>申請狀態:</FormLabel>
</Grid> </Grid>


<Grid item xs={12} md={9} lg={9}>
<FormControl variant="outlined" fullWidth >
<Grid item xs={12} md={2} lg={2}>
<FormControl variant="outlined">
{StatusUtils.getStatusByText(currentApplicationDetailData.status)} {StatusUtils.getStatusByText(currentApplicationDetailData.status)}
</FormControl> </FormControl>
</Grid> </Grid>
<Grid item xs={12} md={7} lg={7}>
<Stack direction="row" justifyContent="flex-start" alignItems="center">
<FormControl variant="outlined" fullWidth disabled>
<Typography id='reason'>
{currentApplicationDetailData.reason}
</Typography>
</FormControl>
</Stack>
</Grid>
</Grid> </Grid>
</Grid> </Grid>
</Grid> </Grid>


+ 6
- 4
src/pages/PublicNoticeDetail_GLD/ApplicationDetailCard.js View File

@@ -31,6 +31,7 @@ import ReplayIcon from '@mui/icons-material/Replay';
const ApplicationDetailCard = ( const ApplicationDetailCard = (
{ applicationDetailData, { applicationDetailData,
setStatus, setStatus,
setUploadStatus
} }
) => { ) => {


@@ -72,6 +73,7 @@ const ApplicationDetailCard = (
skey: fileDetail.skey, skey: fileDetail.skey,
filename: fileDetail.filename, filename: fileDetail.filename,
}); });
setUploadStatus(true)
}; };




@@ -109,7 +111,7 @@ const ApplicationDetailCard = (
border={false} border={false}
content={false} content={false}
> >
{verified && currentApplicationDetailData.status != "rejected" ?
{verified && currentApplicationDetailData.status != "notAccepted" ?
<Grid container spacing={4} direction="row"> <Grid container spacing={4} direction="row">
<Grid item xs={12} md={4} > <Grid item xs={12} md={4} >
<Stack <Stack
@@ -119,7 +121,7 @@ const ApplicationDetailCard = (
spacing={2} spacing={2}
mb={2} mb={2}
> >
{currentApplicationDetailData.status == "accepted" ?
{currentApplicationDetailData.status == "reviewed" ?
<Button <Button
// size="large" // size="large"
variant="contained" variant="contained"
@@ -143,7 +145,7 @@ const ApplicationDetailCard = (
spacing={2} spacing={2}
mb={2} mb={2}
> >
{currentApplicationDetailData.status == "submitted" ?
{currentApplicationDetailData.status == "submitted"||currentApplicationDetailData.status == "reviewed" ?
<> <>
<Button <Button
// size="large" // size="large"
@@ -243,7 +245,7 @@ const ApplicationDetailCard = (
</Grid> </Grid>


<Grid item xs={12} md={9} lg={9}> <Grid item xs={12} md={9} lg={9}>
<FormControl variant="outlined" fullWidth >
<FormControl variant="outlined">
{StatusUtils.getStatusByTextEng(currentApplicationDetailData.status)} {StatusUtils.getStatusByTextEng(currentApplicationDetailData.status)}
</FormControl> </FormControl>
</Grid> </Grid>


+ 38
- 2
src/pages/PublicNoticeDetail_GLD/GazetteDetailCard.js View File

@@ -1,9 +1,9 @@
// material-ui // material-ui
import { import {
FormControl, FormControl,
// Button,
Button,
Grid, Grid,
// InputAdornment,
Stack,
Typography, FormLabel, Typography, FormLabel,
OutlinedInput, OutlinedInput,
} from '@mui/material'; } from '@mui/material';
@@ -20,10 +20,12 @@ import { lazy } from 'react';
const LoadingComponent = Loadable(lazy(() => import('../extra-pages/LoadingComponent'))); const LoadingComponent = Loadable(lazy(() => import('../extra-pages/LoadingComponent')));
//import {useParams} from "react-router-dom"; //import {useParams} from "react-router-dom";
import * as DateUtils from "utils/DateUtils"; import * as DateUtils from "utils/DateUtils";
import EditNoteIcon from '@mui/icons-material/EditNote';


// ==============================|| DASHBOARD - DEFAULT ||============================== // // ==============================|| DASHBOARD - DEFAULT ||============================== //
const GazetteDetailCard = ( const GazetteDetailCard = (
{ applicationDetailData, { applicationDetailData,
setStatus
// isCollectData, // isCollectData,
// updateUserObject, // updateUserObject,
// isNewRecord // isNewRecord
@@ -36,6 +38,9 @@ const GazetteDetailCard = (
const [issueDate,setIssueDate] = useState(""); const [issueDate,setIssueDate] = useState("");
const [gazetteCode,setGazetteCode] = useState(""); const [gazetteCode,setGazetteCode] = useState("");
const [groupTitle,setGroupTitle] = useState(""); const [groupTitle,setGroupTitle] = useState("");
const [verified, setVerified] = useState(null);
const [currentStatus, setCurrentStatus] = useState({});

const {register, const {register,
// getValues // getValues
} = useForm() } = useForm()
@@ -44,6 +49,8 @@ const GazetteDetailCard = (
//if user data from parent are not null //if user data from parent are not null
// console.log(applicationDetailData) // console.log(applicationDetailData)
if (Object.keys(applicationDetailData).length > 0) { if (Object.keys(applicationDetailData).length > 0) {
setCurrentStatus(applicationDetailData.data.status);
setVerified(applicationDetailData.userData.verifiedBy ? true : false);
setIssueNum(applicationDetailData.gazetteIssueDetail.volume+"/"+applicationDetailData.gazetteIssueDetail.year setIssueNum(applicationDetailData.gazetteIssueDetail.volume+"/"+applicationDetailData.gazetteIssueDetail.year
+" No. "+applicationDetailData.gazetteIssueDetail.issueNo); +" No. "+applicationDetailData.gazetteIssueDetail.issueNo);
setIssueDate(DateUtils.dateFormat(applicationDetailData.gazetteIssueDetail.issueDate, "D MMM YYYY (ddd)")); setIssueDate(DateUtils.dateFormat(applicationDetailData.gazetteIssueDetail.issueDate, "D MMM YYYY (ddd)"));
@@ -60,6 +67,10 @@ const GazetteDetailCard = (
} }
}, [issueNum]); }, [issueNum]);


const groupDetailClick = () => () => {
setStatus("genGazetteCode")
};

// useEffect(() => { // useEffect(() => {
// //upload latest data to parent // //upload latest data to parent
// const values = getValues(); // const values = getValues();
@@ -79,6 +90,31 @@ const GazetteDetailCard = (
border={false} border={false}
content={false} content={false}
> >
{verified && currentStatus != "notAccepted" ?
<Grid container spacing={4} direction="row">
<Grid item xs={12} md={4} >
<Stack
direction="row"
justifyContent="space-between"
alignItems="center"
spacing={2}
mb={2}
>
<Button
// size="large"
variant="contained"
onClick={groupDetailClick()}
sx={{
textTransform: 'capitalize',
alignItems: 'end'
}}>
<EditNoteIcon />
<Typography ml={1}> Gen Gazette Code</Typography>
</Button>
</Stack>
</Grid>
</Grid>
:null}
<Typography variant="h5" sx={{mb: 2, borderBottom: "1px solid black"}}> <Typography variant="h5" sx={{mb: 2, borderBottom: "1px solid black"}}>
Gazette Details Gazette Details
</Typography> </Typography>


+ 15
- 21
src/pages/PublicNoticeDetail_GLD/StatusChangeDialog.js View File

@@ -30,21 +30,10 @@ const StatusChangeDialog = (props) => {
const [prositiveBtnText, setPrositiveBtnText] = useState("Confirm"); const [prositiveBtnText, setPrositiveBtnText] = useState("Confirm");
const [remarks, setRemarks] = useState(""); const [remarks, setRemarks] = useState("");
const [helperText, setHelperText] = useState(""); const [helperText, setHelperText] = useState("");
// const [selectedGazetteGroupInputType, setSelectedGazetteGroupInputType] = useState("");
const [comboInputValue, setComboInputValue] = useState("");
const groupTitleComboList = ComboData.groupTitle; const groupTitleComboList = ComboData.groupTitle;


useEffect(() => { useEffect(() => {
// console.log(Object.keys(!props.selectedGazetteGroup).length)
// if (props.getStatus == "resubmit") {
// setStatus("Accept")
// } else if (props.getStatus == "reject") {
// setStatus("Reject")
// } else if (props.getStatus == "complete") {
// setStatus("Complete")
// } else if (props.getStatus == "withdraw") {
// setStatus("Withdraw")
// }

if (props.getStatus == "genGazetteCode") { if (props.getStatus == "genGazetteCode") {
setDialogTitle("Gen Gazette Code"); setDialogTitle("Gen Gazette Code");
setPrositiveBtnText("Gen"); setPrositiveBtnText("Gen");
@@ -59,21 +48,24 @@ const StatusChangeDialog = (props) => {
let str = "Are you sure you want to "+props.getStatus+" this application?" let str = "Are you sure you want to "+props.getStatus+" this application?"
return getConfirmContent(str); return getConfirmContent(str);
} }



}, [props.getStatus]); }, [props.getStatus]);


const acceptedHandle = () => () => { const acceptedHandle = () => () => {
// console.log(selectedGazetteGroup)
if(props.getStatus == "notAccepted"){
const getStatus = props.getStatus.status;
if(getStatus == "notAccepted"){
if(!remarks || remarks=="" ) if(!remarks || remarks=="" )
setHelperText("Please enter reason"); setHelperText("Please enter reason");
} }
if(!helperText){ if(!helperText){
props.onWindowCallback(props.getStatus,{"reason": remarks});
props.setReason({"reason": remarks});
if (remarks!=null&&remarks!=""){
console.log(remarks)
// props.setStatusWindowAccepted(true);
}
} }
if(getStatus != "notAccepted"){
props.setStatusWindowAccepted(true); props.setStatusWindowAccepted(true);
}
}; };




@@ -107,7 +99,7 @@ const StatusChangeDialog = (props) => {
placeholder="Please enter reason" placeholder="Please enter reason"
helperText={helperText} helperText={helperText}
onChange={(newValues)=>{ onChange={(newValues)=>{
setRemarks(newValues);
setRemarks(newValues.target.value);
setHelperText(""); setHelperText("");
}} }}
> >
@@ -144,10 +136,12 @@ const StatusChangeDialog = (props) => {
id="gazetteGroup" id="gazetteGroup"
options={groupTitleComboList} options={groupTitleComboList}
filterOptions={(options) => options} filterOptions={(options) => options}
inputValue={props.selectedGazetteGroupInputType}
inputValue={comboInputValue.label}
onChange={(event, newValue) => { onChange={(event, newValue) => {
if (newValue != null && newValue != {}) { if (newValue != null && newValue != {}) {
console.log(comboInputValue)
props.setSelectedGazetteGroupInputType(newValue.label); props.setSelectedGazetteGroupInputType(newValue.label);
setComboInputValue(newValue);
props.setSelectedGazetteGroup(newValue); props.setSelectedGazetteGroup(newValue);
formik.setFieldValue("gazetteGroup", "") formik.setFieldValue("gazetteGroup", "")
} else { } else {
@@ -198,7 +192,7 @@ const StatusChangeDialog = (props) => {
</Button> </Button>
</DialogActions> </DialogActions>
<DialogActions> <DialogActions>
<Button variant="contained" color="success" onClick={acceptedHandle()} autoFocus disabled={Object.keys(props.selectedGazetteGroup).length === 0 && status === "Accept"}>
<Button variant="contained" color="success" onClick={acceptedHandle()} autoFocus disabled={Object.keys(props.selectedGazetteGroup).length === 0 && props.getStatus === "genGazetteCode"}>
{prositiveBtnText} {prositiveBtnText}
</Button> </Button>
</DialogActions> </DialogActions>


+ 56
- 35
src/pages/PublicNoticeDetail_GLD/index.js View File

@@ -26,10 +26,12 @@ const TabTableDetail = Loadable(lazy(() => import('./tabTableDetail/TabTable')))
import { import {
GET_PUBLIC_NOTICE_APPLY_DETAIL, GET_PUBLIC_NOTICE_APPLY_DETAIL,
UPDATE_PUBLIC_NOTICE_APPLY_DETAIL, UPDATE_PUBLIC_NOTICE_APPLY_DETAIL,
SET_PUBLIC_NOTICE_STATUS_ACCEPTED,
SET_PUBLIC_NOTICE_GROUP_DETAIL,
SET_PUBLIC_NOTICE_STATUS_NOT_ACCEPT, SET_PUBLIC_NOTICE_STATUS_NOT_ACCEPT,
SET_PUBLIC_NOTICE_STATUS_COMPLATED, SET_PUBLIC_NOTICE_STATUS_COMPLATED,
SET_PUBLIC_NOTICE_STATUS_WITHDRAW
SET_PUBLIC_NOTICE_STATUS_WITHDRAW,
SET_PUBLIC_NOTICE_STATUS_RESUBMIT,
SET_PUBLIC_NOTICE_STATUS_REVIEWED
} from "utils/ApiPathConst"; } from "utils/ApiPathConst";
const StatusChangeDialog = Loadable(lazy(() => import('./StatusChangeDialog'))); const StatusChangeDialog = Loadable(lazy(() => import('./StatusChangeDialog')));
import * as DateUtils from "utils/DateUtils"; import * as DateUtils from "utils/DateUtils";
@@ -44,6 +46,7 @@ const PublicNoticeDetail_GLD = () => {
// 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')));
const [getUploadStatus, setUploadStatus] = useState(false);


//pageTitle //pageTitle
const [appNo, setAapNo] = useState(""); const [appNo, setAapNo] = useState("");
@@ -59,6 +62,7 @@ const PublicNoticeDetail_GLD = () => {
const [statusWindowAccepted, setStatusWindowAccepted] = useState(false); const [statusWindowAccepted, setStatusWindowAccepted] = useState(false);
const [selectedGazetteGroup, setSelectedGazetteGroup] = useState({}); const [selectedGazetteGroup, setSelectedGazetteGroup] = useState({});
const [selectedGazetteGroupInputType, setSelectedGazetteGroupInputType] = useState(""); const [selectedGazetteGroupInputType, setSelectedGazetteGroupInputType] = useState("");
const [getReason, setReason] = useState({});


//editMode //editMode
const [updateApplicationObject, setUpdateApplicationObject] = useState({}); const [updateApplicationObject, setUpdateApplicationObject] = useState({});
@@ -156,37 +160,28 @@ const PublicNoticeDetail_GLD = () => {
const handleReset = () => { const handleReset = () => {
setSelectedGazetteGroupInputType("") setSelectedGazetteGroupInputType("")
setSelectedGazetteGroup({}); setSelectedGazetteGroup({});
setReason({});
}; };


useEffect(() => { useEffect(() => {
if (statusWindowAccepted) { if (statusWindowAccepted) {
if (getStatus == "accept") {
if (getStatus == "genGazetteCode") {
onAcceptedClick() onAcceptedClick()
} else if (getStatus == "reject") {
onNotAcceptClick()
} else if (getStatus == "complete") { } else if (getStatus == "complete") {
onComplatedClick() onComplatedClick()
} else if (getStatus == "withdraw") { } else if (getStatus == "withdraw") {
onWithdrawnClick() onWithdrawnClick()
} else if (getStatus == "notAccepted"){
onNotAcceptClick(getReason);
} else if (getStatus == "resubmit"){
onReSubmitClick();
} }
} }
}, [statusWindowAccepted]); }, [statusWindowAccepted]);


const onWindowCallback = (status, data) => {
if (status == "genGazetteCode") {
onAcceptedClick()
} else if (getStatus == "notAccepted") {
onNotAcceptClick(data.reason);
} else if (getStatus == "complete") {
onComplatedClick()
} else if (getStatus == "withdraw") {
onWithdrawnClick()
}
}

const onAcceptedClick = () => { const onAcceptedClick = () => {
if (params.id > 0) { if (params.id > 0) {
axios.post(`${SET_PUBLIC_NOTICE_STATUS_ACCEPTED}/${params.id}`,
axios.post(`${SET_PUBLIC_NOTICE_GROUP_DETAIL}/${params.id}`,
{ {
"groupTitle": selectedGazetteGroup.title, "groupTitle": selectedGazetteGroup.title,
"groupNo": selectedGazetteGroup.type, "groupNo": selectedGazetteGroup.type,
@@ -210,26 +205,13 @@ const PublicNoticeDetail_GLD = () => {
if (params.id <= 0) return; if (params.id <= 0) return;
HttpUtils.post({ HttpUtils.post({
url: `${SET_PUBLIC_NOTICE_STATUS_NOT_ACCEPT}/${params.id}`, url: `${SET_PUBLIC_NOTICE_STATUS_NOT_ACCEPT}/${params.id}`,
params: {
reason: reason
},
params: reason,
onSuccess: function () { onSuccess: function () {
setOpen(false);
handleClose();
location.reload(); location.reload();
} }
}); });
// axios.get(`${SET_PUBLIC_NOTICE_STATUS_REJRCTED}/${params.id}`)
// .then((response) => {
// if (response.status === 204) {
// setOpen(false);
// handleClose();
// location.reload();
// }
// })
// .catch(error => {
// console.log(error);
// return false;
// });
// }
} }


const onComplatedClick = () => { const onComplatedClick = () => {
@@ -266,16 +248,53 @@ const PublicNoticeDetail_GLD = () => {
} }
}; };


const onReSubmitClick = () => {
if (params.id > 0) {
axios.get(`${SET_PUBLIC_NOTICE_STATUS_RESUBMIT}/${params.id}`)
.then((response) => {
if (response.status === 204) {
setOpen(false);
handleClose();
location.reload();
}
})
.catch(error => {
console.log(error);
return false;
});
}
};

useEffect(() => {
const status = applicationDetailData.data!=undefined?applicationDetailData.data.status:""
if(status === "submitted" && params.id > 0 && getUploadStatus){
axios.get(`${SET_PUBLIC_NOTICE_STATUS_REVIEWED}/${params.id}`)
.then((response) => {
if (response.status === 204) {
setUploadStatus(false);
location.reload();
}
})
.catch(error => {
console.log(error);
return false;
});
}else{
setUploadStatus(false);
}
}, [getUploadStatus]);

return ( return (
<Grid container sx={{ maxnHeight: '500vh', backgroundColor: '#ffffff' }} direction="column"> <Grid container sx={{ maxnHeight: '500vh', backgroundColor: '#ffffff' }} direction="column">
<StatusChangeDialog open={open} <StatusChangeDialog open={open}
handleClose={handleClose} handleClose={handleClose}
onWindowCallback={onWindowCallback}
setReason={setReason}
setStatusWindowAccepted={setStatusWindowAccepted} setStatusWindowAccepted={setStatusWindowAccepted}
getStatus={getStatus} getStatus={getStatus}
issueDate={issueDate} issueDate={issueDate}
issueNum={issueNum} issueNum={issueNum}
gazetteIssue={gazetteIssue} gazetteIssue={gazetteIssue}
//combo value
selectedGazetteGroup={selectedGazetteGroup} selectedGazetteGroup={selectedGazetteGroup}
setSelectedGazetteGroup={setSelectedGazetteGroup} setSelectedGazetteGroup={setSelectedGazetteGroup}
selectedGazetteGroupInputType={selectedGazetteGroupInputType} selectedGazetteGroupInputType={selectedGazetteGroupInputType}
@@ -305,6 +324,7 @@ const PublicNoticeDetail_GLD = () => {
applicationDetailData={applicationDetailData} applicationDetailData={applicationDetailData}
setStatus={setStatus} setStatus={setStatus}
// setReload = {setReload} // setReload = {setReload}
setUploadStatus={setUploadStatus}
setUpdateApplicationObject={setUpdateApplicationObject} setUpdateApplicationObject={setUpdateApplicationObject}
isEditMode={isEditMode} isEditMode={isEditMode}
setiIsSave={setiIsSave} setiIsSave={setiIsSave}
@@ -318,6 +338,7 @@ const PublicNoticeDetail_GLD = () => {
<GazetteDetailCard <GazetteDetailCard
// updateUserObject={updateUserObject} // updateUserObject={updateUserObject}
applicationDetailData={applicationDetailData} applicationDetailData={applicationDetailData}
setStatus={setStatus}
// isCollectData={isCollectData} // isCollectData={isCollectData}
// isNewRecord={isNewRecord} // isNewRecord={isNewRecord}
/> />


+ 3
- 1
src/utils/ApiPathConst.js View File

@@ -58,11 +58,13 @@ export const POST_PUBLIC_NOTICE_APPLY = apiPath+'/application/apply';
export const POST_ADMIN_USER_REGISTER = apiPath+'/user/registry'; export const POST_ADMIN_USER_REGISTER = apiPath+'/user/registry';
export const DELETE_USER = apiPath+'/user'; export const DELETE_USER = apiPath+'/user';
export const GET_PUBLIC_NOTICE_APPLY_DETAIL = apiPath+'/application/application-detail'; export const GET_PUBLIC_NOTICE_APPLY_DETAIL = apiPath+'/application/application-detail';
export const SET_PUBLIC_NOTICE_STATUS_ACCEPTED = apiPath+'/application/application-detail-status-accepted';
export const SET_PUBLIC_NOTICE_GROUP_DETAIL = apiPath+'/application/application-group-detail';
export const SET_PUBLIC_NOTICE_STATUS_NOT_ACCEPT = apiPath+'/application/application-detail-status-not-accept'; export const SET_PUBLIC_NOTICE_STATUS_NOT_ACCEPT = apiPath+'/application/application-detail-status-not-accept';
export const SET_PUBLIC_NOTICE_STATUS_CANCELLED = apiPath+'/application/application-detail-status-cancelled'; export const SET_PUBLIC_NOTICE_STATUS_CANCELLED = apiPath+'/application/application-detail-status-cancelled';
export const SET_PUBLIC_NOTICE_STATUS_COMPLATED = apiPath+'/application/application-detail-status-complated'; export const SET_PUBLIC_NOTICE_STATUS_COMPLATED = apiPath+'/application/application-detail-status-complated';
export const SET_PUBLIC_NOTICE_STATUS_WITHDRAW = apiPath+'/application/application-detail-status-withdrawn'; export const SET_PUBLIC_NOTICE_STATUS_WITHDRAW = apiPath+'/application/application-detail-status-withdrawn';
export const SET_PUBLIC_NOTICE_STATUS_RESUBMIT = apiPath+'/application/application-detail-status-resubmit';
export const SET_PUBLIC_NOTICE_STATUS_REVIEWED = apiPath+'/application/application-detail-status-reviewed';
export const UPDATE_PUBLIC_NOTICE_APPLY_DETAIL = apiPath+'/application/save'; export const UPDATE_PUBLIC_NOTICE_APPLY_DETAIL = apiPath+'/application/save';


export const GET_ISSUE_COMBO = apiPath+'/gazette-issue/combo'; export const GET_ISSUE_COMBO = apiPath+'/gazette-issue/combo';


Loading…
Cancel
Save