@@ -3,8 +3,7 @@ import { | |||||
CardContent, | CardContent, | ||||
Grid, | Grid, | ||||
Stack, | Stack, | ||||
FormControl, | |||||
OutlinedInput, | |||||
TextField, | |||||
FormLabel, | FormLabel, | ||||
} from '@mui/material'; | } from '@mui/material'; | ||||
import MainCard from "components/MainCard"; | import MainCard from "components/MainCard"; | ||||
@@ -13,29 +12,40 @@ import { useFormik } from 'formik'; | |||||
// ==============================|| DASHBOARD - DEFAULT ||============================== // | // ==============================|| DASHBOARD - DEFAULT ||============================== // | ||||
const SearchPublicNoticeForm = (formData) => { | |||||
const SearchPublicNoticeForm = ({formData}) => { | |||||
const [data, setData] = React.useState({}); | |||||
React.useEffect(() => { | |||||
if(formData) | |||||
setData(formData); | |||||
}, [formData]); | |||||
const formik = useFormik({ | const formik = useFormik({ | ||||
enableReinitialize: true, | enableReinitialize: true, | ||||
initialValues: formData, | |||||
initialValues: data, | |||||
}); | }); | ||||
const DisplayField = ({name}) => { | |||||
return <FormControl variant="outlined" fullWidth disabled > | |||||
<OutlinedInput | |||||
fullWidth | |||||
size="small" | |||||
onChange={formik.handleChange} | |||||
id={name} | |||||
name={name} | |||||
sx={{ | |||||
const DisplayField = ({ name, width }) => { | |||||
return <TextField | |||||
fullWidth | |||||
disabled | |||||
size="small" | |||||
onChange={formik.handleChange} | |||||
id={name} | |||||
name={name} | |||||
value={formik.values[name]} | |||||
variant="outlined" | |||||
sx={ | |||||
{ | |||||
"& .MuiInputBase-input.Mui-disabled": { | "& .MuiInputBase-input.Mui-disabled": { | ||||
WebkitTextFillColor: "#000000", | WebkitTextFillColor: "#000000", | ||||
background: "#f8f8f8", | background: "#f8f8f8", | ||||
}, | }, | ||||
}} | |||||
/> | |||||
</FormControl>; | |||||
width: width ? width : '100%' | |||||
} | |||||
} | |||||
/>; | |||||
} | } | ||||
@@ -53,7 +63,7 @@ const SearchPublicNoticeForm = (formData) => { | |||||
</CardContent> | </CardContent> | ||||
{/*row 2*/} | {/*row 2*/} | ||||
<Grid container direction="column"> | |||||
<Grid container direction="column" sx={{ paddingLeft: 4, paddingRight: 4 }}> | |||||
<Grid item xs={12} md={12}> | <Grid item xs={12} md={12}> | ||||
<Grid container direction="row" justifyContent="space-between" | <Grid container direction="row" justifyContent="space-between" | ||||
alignItems="center"> | alignItems="center"> | ||||
@@ -68,38 +78,10 @@ const SearchPublicNoticeForm = (formData) => { | |||||
<DisplayField | <DisplayField | ||||
name='appNo' | 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> | ||||
</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> | ||||
<Grid container direction="row" justifyContent="space-between" | <Grid container direction="row" justifyContent="space-between" | ||||
alignItems="center"> | alignItems="center"> | ||||
@@ -111,34 +93,9 @@ const SearchPublicNoticeForm = (formData) => { | |||||
</Grid> | </Grid> | ||||
<Grid item xs={12} md={9} lg={9}> | <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> | |||||
<DisplayField | |||||
name={formik.values?.orgId ? 'enCompanyName' : 'contactPerson'} | |||||
/> | |||||
</Grid> | </Grid> | ||||
</Grid> | </Grid> | ||||
</Grid> | </Grid> | ||||
@@ -151,39 +108,14 @@ const SearchPublicNoticeForm = (formData) => { | |||||
<Grid item xs={12} md={8} lg={8}> | <Grid item xs={12} md={8} lg={8}> | ||||
<Stack direction="row"> | <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> | |||||
<DisplayField | |||||
name='tel_countryCode' | |||||
width='25%' | |||||
/> | |||||
<DisplayField | |||||
name='phoneNumber' | |||||
width='75%' | |||||
/> | |||||
</Stack> | </Stack> | ||||
</Grid> | </Grid> | ||||
</Grid> | </Grid> | ||||
@@ -199,20 +131,9 @@ const SearchPublicNoticeForm = (formData) => { | |||||
</Grid> | </Grid> | ||||
<Grid item xs={12} md={9} lg={9}> | <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> | |||||
<DisplayField | |||||
name='contactPerson' | |||||
/> | |||||
</Grid> | </Grid> | ||||
</Grid> | </Grid> | ||||
</Grid> | </Grid> | ||||
@@ -225,41 +146,14 @@ const SearchPublicNoticeForm = (formData) => { | |||||
<Grid item xs={12} md={8} lg={8}> | <Grid item xs={12} md={8} lg={8}> | ||||
<Stack direction="row"> | <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> | |||||
<DisplayField | |||||
name='fax_countryCode' | |||||
width='25%' | |||||
/> | |||||
<DisplayField | |||||
name='faxNumber' | |||||
width='75%' | |||||
/> | |||||
</Stack> | </Stack> | ||||
</Grid> | </Grid> | ||||
</Grid> | </Grid> | ||||
@@ -1,9 +1,9 @@ | |||||
// material-ui | // material-ui | ||||
import { | import { | ||||
FormControl, | |||||
Grid, | |||||
FormLabel, | |||||
OutlinedInput, | |||||
Grid, | |||||
CardContent, | |||||
FormLabel, | |||||
TextField, | |||||
} from '@mui/material'; | } from '@mui/material'; | ||||
import MainCard from "components/MainCard"; | import MainCard from "components/MainCard"; | ||||
import * as React from "react"; | import * as React from "react"; | ||||
@@ -11,33 +11,52 @@ import { useFormik } from 'formik'; | |||||
// ==============================|| DASHBOARD - DEFAULT ||============================== // | // ==============================|| DASHBOARD - DEFAULT ||============================== // | ||||
const GazetteDetails = ({formData}) => { | |||||
const GazetteDetails = ({ formData }) => { | |||||
const [data, setData] = React.useState({}); | |||||
React.useEffect(() => { | |||||
if (formData) | |||||
setData(formData); | |||||
}, [formData]); | |||||
const formik = useFormik({ | const formik = useFormik({ | ||||
enableReinitialize: true, | enableReinitialize: true, | ||||
initialValues: formData, | |||||
initialValues: data, | |||||
}); | }); | ||||
// 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; | |||||
// } | |||||
const DisplayField = ({ name, width }) => { | |||||
return <TextField | |||||
fullWidth | |||||
disabled | |||||
size="small" | |||||
onChange={formik.handleChange} | |||||
id={name} | |||||
name={name} | |||||
value={formik.values[name]} | |||||
variant="outlined" | |||||
sx={ | |||||
{ | |||||
"& .MuiInputBase-input.Mui-disabled": { | |||||
WebkitTextFillColor: "#000000", | |||||
background: "#f8f8f8", | |||||
}, | |||||
width: width ? width : '100%' | |||||
} | |||||
} | |||||
/>; | |||||
} | |||||
return ( | return ( | ||||
<MainCard xs={12} md={12} lg={12} | <MainCard xs={12} md={12} lg={12} | ||||
border={false} | border={false} | ||||
content={false}> | |||||
content={false} | |||||
style={{ height: '100%'}} | |||||
> | |||||
<form onSubmit={handleSubmit(onSubmit)}> | |||||
<form style={{ height: '100%'}}> | |||||
{/*row 1*/} | {/*row 1*/} | ||||
<CardContent sx={{ px: 2.5, pt: 3 }}> | <CardContent sx={{ px: 2.5, pt: 3 }}> | ||||
<Grid item justifyContent="space-between" alignItems="center"> | <Grid item justifyContent="space-between" alignItems="center"> | ||||
@@ -46,7 +65,7 @@ const GazetteDetails = ({formData}) => { | |||||
</CardContent> | </CardContent> | ||||
{/*row 2*/} | {/*row 2*/} | ||||
<Grid container direction="column"> | |||||
<Grid container direction="column" sx={{ paddingLeft: 4, paddingRight: 4 }} style={{ height: '100%'}}> | |||||
<Grid item xs={12} md={12}> | <Grid item xs={12} md={12}> | ||||
<Grid container direction="row" justifyContent="space-between" | <Grid container direction="row" justifyContent="space-between" | ||||
alignItems="center"> | alignItems="center"> | ||||
@@ -58,20 +77,10 @@ const GazetteDetails = ({formData}) => { | |||||
</Grid> | </Grid> | ||||
<Grid item xs={12} md={9} lg={9}> | <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> | |||||
<DisplayField | |||||
name="issueNum" | |||||
/> | |||||
</Grid> | </Grid> | ||||
</Grid> | </Grid> | ||||
</Grid> | </Grid> | ||||
@@ -83,20 +92,10 @@ const GazetteDetails = ({formData}) => { | |||||
</Grid> | </Grid> | ||||
<Grid item xs={12} md={9} lg={9}> | <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> | |||||
<DisplayField | |||||
name="gazetteCode" | |||||
/> | |||||
</Grid> | </Grid> | ||||
</Grid> | </Grid> | ||||
</Grid> | </Grid> | ||||
@@ -111,20 +110,10 @@ const GazetteDetails = ({formData}) => { | |||||
</Grid> | </Grid> | ||||
<Grid item xs={12} md={9} lg={9}> | <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> | |||||
<DisplayField | |||||
name="issueDate" | |||||
/> | |||||
</Grid> | </Grid> | ||||
</Grid> | </Grid> | ||||
</Grid> | </Grid> | ||||
@@ -136,20 +125,9 @@ const GazetteDetails = ({formData}) => { | |||||
</Grid> | </Grid> | ||||
<Grid item xs={12} md={9} lg={9}> | <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> | |||||
<DisplayField | |||||
name="groupTitle" | |||||
/> | |||||
</Grid> | </Grid> | ||||
</Grid> | </Grid> | ||||
</Grid> | </Grid> | ||||
@@ -11,7 +11,7 @@ import { useParams } from "react-router-dom"; | |||||
import Loadable from 'components/Loadable'; | import Loadable from 'components/Loadable'; | ||||
const LoadingComponent = Loadable(React.lazy(() => import('pages/extra-pages/LoadingComponent'))); | const LoadingComponent = Loadable(React.lazy(() => import('pages/extra-pages/LoadingComponent'))); | ||||
const ApplicationDetails = Loadable(React.lazy(() => import('./ApplicationDetails'))); | const ApplicationDetails = Loadable(React.lazy(() => import('./ApplicationDetails'))); | ||||
//const GazetteDetails = Loadable(React.lazy(() => import('./GazetteDetails'))); | |||||
const GazetteDetails = Loadable(React.lazy(() => import('./GazetteDetails'))); | |||||
const EventTable = Loadable(React.lazy(() => import('./DataGrid'))); | const EventTable = Loadable(React.lazy(() => import('./DataGrid'))); | ||||
// ==============================|| DASHBOARD - DEFAULT ||============================== // | // ==============================|| DASHBOARD - DEFAULT ||============================== // | ||||
@@ -32,33 +32,48 @@ const Index = () => { | |||||
const loadForm = () => { | const loadForm = () => { | ||||
if(params.id > 0){ | |||||
if (params.id > 0) { | |||||
HttpUtils.get({ | HttpUtils.get({ | ||||
url: UrlUtils.GET_PUBLIC_NOTICE_APPLY_DETAIL+"/"+params.id, | |||||
onSuccess:(responseData)=>{ | |||||
setRecord(responseData); | |||||
url: UrlUtils.GET_PROOF_APP + "/" + params.id, | |||||
onSuccess: (responseData) => { | |||||
responseData.data["phoneNumber"] = JSON.parse(responseData.data.contactTelNo).phoneNumber; | |||||
responseData.data["tel_countryCode"] = JSON.parse(responseData.data.contactTelNo).countryCode; | |||||
responseData.data["faxNumber"] = JSON.parse(responseData.data.contactFaxNo).faxNumber; | |||||
responseData.data["fax_countryCode"] = JSON.parse(responseData.data.contactFaxNo).countryCode; | |||||
setRecord(responseData.data); | |||||
} | } | ||||
}); | }); | ||||
} | } | ||||
} | |||||
} | |||||
return ( | return ( | ||||
!onReady ? | !onReady ? | ||||
<LoadingComponent /> | <LoadingComponent /> | ||||
: | : | ||||
<Grid container sx={{ minHeight: '85vh', backgroundColor: '#eee' }} direction="column" spacing={1} > | |||||
<Grid container sx={{ minHeight: '85vh', backgroundColor: '#eee' }} direction="column" spacing={1} > | |||||
{/*row 1*/} | {/*row 1*/} | ||||
<Grid item xs={12} md={12} lg={12}> | <Grid item xs={12} md={12} lg={12}> | ||||
<Grid container spacing={1}> | |||||
<Grid container direction="row" justify="flex-start" alignItems="stretch" spacing={1}> | |||||
<Grid item xs={12} md={12} lg={8}> | <Grid item xs={12} md={12} lg={8}> | ||||
<ApplicationDetails | <ApplicationDetails | ||||
formData={record} | formData={record} | ||||
style={{ | |||||
display: "flex", | |||||
height: "100%", | |||||
flex: 1 | |||||
}} | |||||
/> | /> | ||||
</Grid> | </Grid> | ||||
<Grid item xs={12} md={12} lg={4}> | |||||
<ApplicationDetails | |||||
<Grid item xs={12} md={12} lg={4} > | |||||
<GazetteDetails | |||||
formData={record} | formData={record} | ||||
style={{ | |||||
display: "flex", | |||||
height: "100%", | |||||
flex: 1 | |||||
}} | |||||
/> | /> | ||||
</Grid> | </Grid> | ||||
</Grid> | </Grid> | ||||
@@ -69,5 +69,8 @@ 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'; | ||||
export const GET_PROOF_APP = apiPath+'/proof/create-from-app'; | |||||
export const GET_LIST_PROOF = apiPath+'/proof/create-from-app'; | |||||
//User Group | //User Group | ||||
export const POST_AND_UPDATE_USER_GROUP = apiPath+'/group/save'; | export const POST_AND_UPDATE_USER_GROUP = apiPath+'/group/save'; |