Przeglądaj źródła

update get application detail by backend

master
Alex Cheung 1 rok temu
rodzic
commit
3fae7a6ada
7 zmienionych plików z 448 dodań i 218 usunięć
  1. +25
    -0
      src/pages/PublicNotice/ListPanel/PublicNoteStatusUtils.js
  2. +101
    -61
      src/pages/gldApplicationDetailPage/ApplicationDetailCard.js
  3. +240
    -118
      src/pages/gldApplicationDetailPage/ClientDetailCard.js
  4. +41
    -31
      src/pages/gldApplicationDetailPage/GazetteDetailCard.js
  5. +39
    -7
      src/pages/gldApplicationDetailPage/index.js
  6. +1
    -1
      src/pages/gldApplicationDetailPage/tabTableDetail/BaseGrid.js
  7. +1
    -0
      src/utils/ApiPathConst.js

+ 25
- 0
src/pages/PublicNotice/ListPanel/PublicNoteStatusUtils.js Wyświetl plik

@@ -22,7 +22,32 @@ export function getStatus(params) {
return getStatusTag({ text: 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: "已接受" })
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: "已撤銷" })
default:
return getStatusTag({ text: params.row.status })
}

}

export function getStatusTag({ color = "#000", textColor = "#FFF", text = "" }) {


+ 101
- 61
src/pages/gldApplicationDetailPage/ApplicationDetailCard.js Wyświetl plik

@@ -8,18 +8,22 @@ import {
OutlinedInput,
Stack
} from '@mui/material';
import MainCard from "../../components/MainCard";
import * as React from "react";
// import MainCard from "../../components/MainCard";
const MainCard = Loadable(lazy(() => import('components/MainCard')));
import {useForm} from "react-hook-form";
import {
// useEffect,
useEffect,
useState
} from "react";
// import Checkbox from "@mui/material/Checkbox";
import Loadable from 'components/Loadable';

import { lazy } from 'react';
const LoadingComponent = Loadable(lazy(() => import('../extra-pages/LoadingComponent')));
//import {useParams} from "react-router-dom";
// import {useParams} from "react-router-dom";
import * as HttpUtils from "utils/HttpUtils"
import * as StatusUtils from "../PublicNotice/ListPanel/PublicNoteStatusUtils";

import BorderColorOutlinedIcon from '@mui/icons-material/BorderColorOutlined';
import DoneIcon from '@mui/icons-material/Done';
import CloseIcon from '@mui/icons-material/Close';
@@ -27,34 +31,46 @@ import EditNoteIcon from '@mui/icons-material/EditNote';
import DownloadIcon from '@mui/icons-material/Download';
// ==============================|| DASHBOARD - DEFAULT ||============================== //
const ApplicationDetailCard = (
// {isCollectData, updateUserObject,userData,isNewRecord}
{ applicationDetailData,
// isCollectData,
// updateUserObject,
// isNewRecord
}
) => {
// const params = useParams();
const [currentApplicationDetailData, ] = React.useState({});
// const [locked, setLocked] = useState(false);
const [onReady,] = useState(true);
const [currentApplicationDetailData, setCurrentApplicationDetailData] = useState({});
const [companyName, setCompanyName] = useState({});
const [fileDetail, setfileDetail] = useState({});
const [onReady,setOnReady] = useState(false);
const {register,
// getValues
} = useForm()

// useEffect(() => {
// //if user data from parent are not null
// if (Object.keys(userData).length > 0 && userData !== undefined) {
// setCurrentUserData(userData.data);
// }
// }, []);
useEffect(() => {
//if user data from parent are not null
// console.log(applicationDetailData)
if (Object.keys(applicationDetailData).length > 0) {
setCurrentApplicationDetailData(applicationDetailData.data);
setCompanyName(applicationDetailData.companyName);
setfileDetail(applicationDetailData.fileDetail);
}
}, [applicationDetailData]);

// useEffect(() => {
// //if state data are ready and assign to different field
// if (Object.keys(userData).length > 0 &&currentApplicationDetailData !== undefined&&currentApplicationDetailData.id!==undefined) {
// setLocked(currentApplicationDetailData.locked);
// setOnReady(true);
// }else if(isNewRecord){
// setLocked(false);
// setOnReady(true);
// }
// }, [currentApplicationDetailData]);
useEffect(() => {
//if state data are ready and assign to different field
// console.log(currentApplicationDetailData)
if (Object.keys(currentApplicationDetailData).length > 0) {
setOnReady(true);
}
}, [currentApplicationDetailData]);

const onDownloadClick = () => () => {
HttpUtils.fileDownload({
fileId:fileDetail.id,
skey:fileDetail.skey,
filename:fileDetail.filename,
});
};
// useEffect(() => {
// //upload latest data to parent
// const values = getValues();
@@ -205,15 +221,7 @@ const ApplicationDetailCard = (

<Grid item xs={12} md={9} lg={9}>
<FormControl variant="outlined" fullWidth >
<OutlinedInput
fullWidth
size="small"
{...register("status",
{
value: currentApplicationDetailData.status,
})}
id='status'
/>
{StatusUtils.getStatusByText(currentApplicationDetailData.status)}
</FormControl>
</Grid>
</Grid>
@@ -230,15 +238,26 @@ const ApplicationDetailCard = (

<Grid item xs={12} md={9} lg={9}>
<FormControl variant="outlined" fullWidth >
{ currentApplicationDetailData.orgId===null?
<OutlinedInput
fullWidth
size="small"
{...register("userName",
{...register("contactPerson",
{
value: currentApplicationDetailData.userName,
value: currentApplicationDetailData.contactPerson,
})}
id='userName'
id='contactPerson'
/>:
<OutlinedInput
fullWidth
size="small"
{...register("companyName",
{
value: companyName.enCompanyName,
})}
id='companyName'
/>
}
</FormControl>
</Grid>
</Grid>
@@ -251,17 +270,28 @@ const ApplicationDetailCard = (
</Grid>

<Grid item xs={12} md={8} lg={8}>
<FormControl variant="outlined" fullWidth >
<OutlinedInput
fullWidth
size="small"
{...register("contactTelNo",
{
value: currentApplicationDetailData.contactTelNo,
})}
id='contactTelNo'
/>
</FormControl>
<Stack direction="row">
<FormControl variant="outlined" sx={{width:'25%'}}>
<OutlinedInput
size="small"
{...register("countryCode",
{
value: currentApplicationDetailData.contactTelNo.countryCode,
})}
id='countryCode'
/>
</FormControl>
<FormControl variant="outlined" sx={{width:'100%'}}>
<OutlinedInput
size="small"
{...register("phoneNumber",
{
value: currentApplicationDetailData.contactTelNo.phoneNumber,
})}
id='phoneNumber'
/>
</FormControl>
</Stack>
</Grid>
</Grid>
</Grid>
@@ -298,17 +328,28 @@ const ApplicationDetailCard = (
</Grid>

<Grid item xs={12} md={8} lg={8}>
<FormControl variant="outlined" fullWidth >
<OutlinedInput
fullWidth
size="small"
{...register("contactFaxNo",
{
value: currentApplicationDetailData.contactFaxNo,
})}
id='contactFaxNo'
/>
</FormControl>
<Stack direction="row">
<FormControl variant="outlined" sx={{width:'25%'}}>
<OutlinedInput
size="small"
{...register("countryCode",
{
value: currentApplicationDetailData.contactFaxNo.countryCode,
})}
id='countryCode'
/>
</FormControl>
<FormControl variant="outlined" sx={{width:'100%'}}>
<OutlinedInput
size="small"
{...register("faxNumber",
{
value: currentApplicationDetailData.contactFaxNo.faxNumber,
})}
id='faxNumber'
/>
</FormControl>
</Stack>
</Grid>
</Grid>
</Grid>
@@ -331,7 +372,7 @@ const ApplicationDetailCard = (
fullWidth
id='fileName'
>
Manuscript File Final.pdf
{fileDetail.filename}
</Typography>
</FormControl>
</Grid>
@@ -339,7 +380,7 @@ const ApplicationDetailCard = (
<Button
size="small"
variant="contained"
// onClick={handleNewUserClick}
onClick={onDownloadClick()}
sx={{
textTransform: 'capitalize',
alignItems: 'end',
@@ -349,7 +390,6 @@ const ApplicationDetailCard = (
</Grid>
</Grid>
</Grid>

</Grid>
</Grid>
</Grid>


+ 240
- 118
src/pages/gldApplicationDetailPage/ClientDetailCard.js Wyświetl plik

@@ -12,7 +12,7 @@ import MainCard from "../../components/MainCard";
import * as React from "react";
import {useForm} from "react-hook-form";
import {
// useEffect,
useEffect,
useState
} from "react";
// import Checkbox from "@mui/material/Checkbox";
@@ -21,35 +21,40 @@ import { lazy } from 'react';
const LoadingComponent = Loadable(lazy(() => import('../extra-pages/LoadingComponent')));
//import {useParams} from "react-router-dom";
import ContentPasteSearchIcon from '@mui/icons-material/ContentPasteSearch';
import CheckCircleOutline from '@mui/icons-material/CheckCircleOutline';
import HighlightOff from '@mui/icons-material/HighlightOff';

// ==============================|| DASHBOARD - DEFAULT ||============================== //
const ClientDetailCard = (
// {isCollectData, updateUserObject,userData,isNewRecord}
{ applicationDetailData,
// isCollectData,
// updateUserObject,
// isNewRecord
}
) => {
// const params = useParams();
const [currentApplicationDetailData, ] = React.useState({});
// const [locked, setLocked] = useState(false);
const [onReady,] = useState(true);
const [currentApplicationDetailData, setCurrentApplicationDetailData] = useState({});
const [onReady,setOnReady] = useState(false);
const [companyName, setCompanyName] = useState({});
const {register,
// getValues
} = useForm()

// useEffect(() => {
// //if user data from parent are not null
// if (Object.keys(userData).length > 0 && userData !== undefined) {
// setCurrentUserData(userData.data);
// }
// }, []);
useEffect(() => {
//if user data from parent are not null
if (Object.keys(applicationDetailData).length > 0 && applicationDetailData !== undefined) {
setCurrentApplicationDetailData(applicationDetailData.userData);
setCompanyName(applicationDetailData.companyName);
}
}, [applicationDetailData]);

// useEffect(() => {
// //if state data are ready and assign to different field
// if (Object.keys(userData).length > 0 &&currentApplicationDetailData !== undefined&&currentApplicationDetailData.id!==undefined) {
// setLocked(currentApplicationDetailData.locked);
// setOnReady(true);
// }else if(isNewRecord){
// setLocked(false);
// setOnReady(true);
// }
// }, [currentApplicationDetailData]);
useEffect(() => {
//if state data are ready and assign to different field
// console.log(currentApplicationDetailData)
if (Object.keys(currentApplicationDetailData).length > 0) {
setOnReady(true);
}
}, [currentApplicationDetailData]);

// useEffect(() => {
// //upload latest data to parent
@@ -61,7 +66,6 @@ const ClientDetailCard = (
// updateUserObject(objectData);
// }, [isCollectData]);


return (
!onReady ?
<LoadingComponent/>
@@ -69,9 +73,9 @@ const ClientDetailCard = (
<MainCard elevation={0}
border={false}
content={false}
>
sx={{xs:"12", md:"7"}}>
<Grid container spacing={1} direction="row">
<Grid item xs={12} md={7} lg={7} >
<Grid item xs={12} md={7} >
<Stack
direction="row"
justifyContent="flex-start"
@@ -100,9 +104,20 @@ const ClientDetailCard = (
<Grid container direction="column" justifyContent="flex-start"
alignItems="flex-start">
<Grid item xs={12} md={12} lg={12} mb={1} >
<Typography>
{currentApplicationDetailData.status}
</Typography>
{currentApplicationDetailData.verifiedBy!==null?
<Stack direction="row">
<Typography>
Verified
</Typography>
<CheckCircleOutline color="success"/>
</Stack>:
<Stack direction="row">
<Typography>
Not Verified
</Typography>
<HighlightOff color="error"/>
</Stack>
}
</Grid>
</Grid>
<Grid container direction="column" justifyContent="flex-start"
@@ -110,114 +125,221 @@ const ClientDetailCard = (
<Grid item xs={12} md={12} lg={12} mb={1} >
<FormLabel>Client Type:</FormLabel>
</Grid>
<Grid item xs={12} md={12} lg={12} mb={1} >
<FormControl variant="outlined" >
<Grid item xs={12} md={12} lg={12} mb={1} sx={{width:'100%'}} >
<FormControl variant="outlined" sx={{width:'100%'}} >
<OutlinedInput
size="small"
{...register("userType",
{...register("type",
{
value: currentApplicationDetailData.userType,
value: currentApplicationDetailData.type,
})}
id='userType'
id='type'
/>
</FormControl>
</Grid>
</Grid>
<Grid container direction="column" justifyContent="flex-start"
alignItems="flex-start">
<Grid item xs={12} md={12} lg={12} mb={1}
sx={{display: 'flex', alignItems: 'center'}}>
<FormLabel>Company Name (English):</FormLabel>
</Grid>
<Grid item xs={12} md={12} lg={12} mb={1} >
<FormControl variant="outlined" >
<OutlinedInput
size="small"
{...register("enCompanyName",
{
value: currentApplicationDetailData.enCompanyName,
})}
id='enCompanyName'
/>
</FormControl>
{currentApplicationDetailData.type==="ORG"?
<>
<Grid container direction="column" justifyContent="flex-start"
alignItems="flex-start">
<Grid item xs={12} md={12} lg={12} mb={1}
sx={{display: 'flex', alignItems: 'center'}}>
<FormLabel>Company Name (English):</FormLabel>
</Grid>
<Grid item xs={12} md={12} lg={12} mb={1} sx={{width:'100%'}} >
<FormControl variant="outlined" sx={{width:'100%'}} >
<OutlinedInput
size="small"
{...register("enCompanyName",
{
value: companyName.enCompanyName ,
})}
id='enCompanyName'
/>
</FormControl>
</Grid>
</Grid>
</Grid>
<Grid container direction="column" justifyContent="flex-start"
alignItems="flex-start">
<Grid item xs={12} md={12} lg={12} mb={1}
sx={{display: 'flex', alignItems: 'center'}}>
<FormLabel>Company Name (Chinese):</FormLabel>
<Grid container direction="column" justifyContent="flex-start"
alignItems="flex-start">
<Grid item xs={12} md={12} lg={12} mb={1}
sx={{display: 'flex', alignItems: 'center'}}>
<FormLabel>Company Name (Chinese):</FormLabel>
</Grid>
<Grid item xs={12} md={12} lg={12} mb={1} sx={{width:'100%'}} >
<FormControl variant="outlined" sx={{width:'100%'}} >
<OutlinedInput
size="small"
{...register("chCompanyName",
{
value: companyName.chCompanyName,
})}
id='chCompanyName'
/>
</FormControl>
</Grid>
</Grid>
<Grid item xs={12} md={12} lg={12} mb={1} >
<FormControl variant="outlined" >
<OutlinedInput
size="small"
{...register("chCompanyName",
{
value: currentApplicationDetailData.chCompanyName,
})}
id='chCompanyName'
/>
</FormControl>
<Grid container direction="column" justifyContent="flex-start"
alignItems="flex-start">
<Grid item xs={12} md={12} lg={12} mb={1}
sx={{display: 'flex', alignItems: 'center'}}>
<FormLabel>English Name:</FormLabel>
</Grid>
<Grid item xs={12} md={12} lg={12} mb={1} sx={{width:'100%'}} >
<FormControl variant="outlined" sx={{width:'100%'}} >
<OutlinedInput
size="small"
{...register("contactPerson",
{
value: currentApplicationDetailData.contactPerson,
})}
id='contactPerson'
/>
</FormControl>
</Grid>
</Grid>
</Grid>
<Grid container direction="column" justifyContent="flex-start"
alignItems="flex-start">
<Grid item xs={12} md={12} lg={12} mb={1}
sx={{display: 'flex', alignItems: 'center'}}>
<FormLabel>English Name:</FormLabel>
<Grid container direction="column" justifyContent="flex-start"
alignItems="flex-start">
<Grid item xs={12} md={12} lg={12} mb={1}
sx={{display: 'flex', alignItems: 'center'}}>
<FormLabel>Contact Phone:</FormLabel>
</Grid>
<Grid item xs={12} md={12} lg={12} mb={1} >
<Stack direction="row">
<FormControl variant="outlined" sx={{width:'40%'}}>
<OutlinedInput
size="small"
{...register("countryCode",
{
value: currentApplicationDetailData.contactTel.countryCode,
})}
id='countryCode'
/>
</FormControl>
<FormControl variant="outlined" sx={{width:'100%'}}>
<OutlinedInput
size="small"
{...register("phoneNumber",
{
value: currentApplicationDetailData.contactTel.phoneNumber,
})}
id='phoneNumber'
/>
</FormControl>
</Stack>
</Grid>
</Grid>
<Grid item xs={12} md={12} lg={12} mb={1} >
<FormControl variant="outlined" >
<OutlinedInput
size="small"
{...register("contactPerson",
{
value: currentApplicationDetailData.contactPerson,
})}
id='contactPerson'
/>
</FormControl>
<Grid container direction="column" justifyContent="flex-start"
alignItems="flex-start">
<Grid item xs={12} md={12} lg={12} mb={1}
sx={{display: 'flex', alignItems: 'center'}}>
<FormLabel>Email:</FormLabel>
</Grid>
<Grid item xs={12} md={12} lg={12} mb={1} sx={{width:'100%'}} >
<FormControl variant="outlined" sx={{width:'100%'}} >
<OutlinedInput
size="small"
{...register("emailBus",
{
value: currentApplicationDetailData.emailBus,
})}
id='emailBus'
/>
</FormControl>
</Grid>
</Grid>
</Grid>
<Grid container direction="column" justifyContent="flex-start"
alignItems="flex-start">
<Grid item xs={12} md={12} lg={12} mb={1}
sx={{display: 'flex', alignItems: 'center'}}>
<FormLabel>Contact Phone:</FormLabel>
</>:
<>
<Grid container direction="column" justifyContent="flex-start"
alignItems="flex-start">
<Grid item xs={12} md={12} lg={12} mb={1}
sx={{display: 'flex', alignItems: 'center'}}>
<FormLabel>English Name:</FormLabel>
</Grid>
<Grid item xs={12} md={12} lg={12} mb={1} sx={{width:'100%'}} >
<FormControl variant="outlined" sx={{width:'100%'}} >
<OutlinedInput
size="small"
{...register("enName",
{
value: currentApplicationDetailData.enName,
})}
id='enName'
/>
</FormControl>
</Grid>
</Grid>
<Grid item xs={12} md={12} lg={12} mb={1} >
<FormControl variant="outlined" >
<OutlinedInput
size="small"
{...register("phoneNumber",
{
value: currentApplicationDetailData.phoneNumber,
})}
id='phoneNumber'
/>
</FormControl>
<Grid container direction="column" justifyContent="flex-start"
alignItems="flex-start">
<Grid item xs={12} md={12} lg={12} mb={1}
sx={{display: 'flex', alignItems: 'center'}}>
<FormLabel>Chinese Name:</FormLabel>
</Grid>
<Grid item xs={12} md={12} lg={12} mb={1} sx={{width:'100%'}} >
<FormControl variant="outlined" sx={{width:'100%'}} >
<OutlinedInput
size="small"
{...register("chName",
{
value: currentApplicationDetailData.chName,
})}
id='chName'
/>
</FormControl>
</Grid>
</Grid>
</Grid>
<Grid container direction="column" justifyContent="flex-start"
alignItems="flex-start">
<Grid item xs={12} md={12} lg={12} mb={1}
sx={{display: 'flex', alignItems: 'center'}}>
<FormLabel>Email:</FormLabel>
<Grid container direction="column" justifyContent="flex-start"
alignItems="flex-start">
<Grid item xs={12} md={12} lg={12} mb={1}
sx={{display: 'flex', alignItems: 'center'}}>
<FormLabel>Contact Phone:</FormLabel>
</Grid>
<Grid item xs={12} md={12} lg={12} mb={1} sx={{width:'100%'}} >
<Stack direction="row">
<FormControl variant="outlined" sx={{width:'40%'}}>
<OutlinedInput
size="small"
{...register("countryCode",
{
value: currentApplicationDetailData.mobileNumber.countryCode,
})}
id='countryCode'
/>
</FormControl>
<FormControl variant="outlined" sx={{width:'100%'}}>
<OutlinedInput
size="small"
{...register("phoneNumber",
{
value: currentApplicationDetailData.mobileNumber.phoneNumber,
})}
id='phoneNumber'
/>
</FormControl>
</Stack>
</Grid>
</Grid>
<Grid item xs={12} md={12} lg={12} mb={1} >
<FormControl variant="outlined" >
<OutlinedInput
size="small"
{...register("emailBus",
{
value: currentApplicationDetailData.emailBus,
})}
id='emailBus'
/>
</FormControl>
<Grid container direction="column" justifyContent="flex-start"
alignItems="flex-start">
<Grid item xs={12} md={12} lg={12} mb={1}
sx={{display: 'flex', alignItems: 'center'}}>
<FormLabel>Email:</FormLabel>
</Grid>
<Grid item xs={12} md={12} lg={12} mb={1} sx={{width:'100%'}} >
<FormControl variant="outlined" sx={{width:'100%'}} >
<OutlinedInput
size="small"
{...register("emailAddress",
{
value: currentApplicationDetailData.emailAddress,
})}
id='emailAddress'
/>
</FormControl>
</Grid>
</Grid>
</Grid>
</>
}
</form>
</MainCard>
);


+ 41
- 31
src/pages/gldApplicationDetailPage/GazetteDetailCard.js Wyświetl plik

@@ -11,7 +11,7 @@ import MainCard from "../../components/MainCard";
import * as React from "react";
import {useForm} from "react-hook-form";
import {
// useEffect,
useEffect,
useState
} from "react";
// import Checkbox from "@mui/material/Checkbox";
@@ -19,36 +19,46 @@ import Loadable from 'components/Loadable';
import { lazy } from 'react';
const LoadingComponent = Loadable(lazy(() => import('../extra-pages/LoadingComponent')));
//import {useParams} from "react-router-dom";
import * as DateUtils from "utils/DateUtils";

// ==============================|| DASHBOARD - DEFAULT ||============================== //
const GazetteDetailCard = (
// {isCollectData, updateUserObject,userData,isNewRecord}
{ applicationDetailData,
// isCollectData,
// updateUserObject,
// isNewRecord
}
) => {
// const params = useParams();
const [currentApplicationDetailData, ] = React.useState({});
// const [locked, setLocked] = useState(false);
const [onReady,] = useState(true);
// const [currentApplicationDetailData, setCurrentApplicationDetailData] = useState({});
const [onReady,setOnReady] = useState(false);
const [issueNum,setIssueNum] = useState("");
const [issueDate,setIssueDate] = useState("");
const [gazetteCode,setGazetteCode] = useState("");
const [groupTitle,setGroupTitle] = useState("");
const {register,
// getValues
} = useForm()

// useEffect(() => {
// //if user data from parent are not null
// if (Object.keys(userData).length > 0 && userData !== undefined) {
// setCurrentUserData(userData.data);
// }
// }, []);
useEffect(() => {
//if user data from parent are not null
// console.log(applicationDetailData)
if (Object.keys(applicationDetailData).length > 0) {
setIssueNum(applicationDetailData.gazetteIssueDetail.volume+"/"+applicationDetailData.gazetteIssueDetail.year
+" No. "+applicationDetailData.gazetteIssueDetail.issueNo);
setIssueDate(DateUtils.dateFormat(applicationDetailData.gazetteIssueDetail.issueDate, "D MMM YYYY (ddd)"));
setGazetteCode(applicationDetailData.data.groupNo)
setGroupTitle(applicationDetailData.data.groupTitle)
}
}, [applicationDetailData]);

// useEffect(() => {
// //if state data are ready and assign to different field
// if (Object.keys(userData).length > 0 &&currentApplicationDetailData !== undefined&&currentApplicationDetailData.id!==undefined) {
// setLocked(currentApplicationDetailData.locked);
// setOnReady(true);
// }else if(isNewRecord){
// setLocked(false);
// setOnReady(true);
// }
// }, [currentApplicationDetailData]);
useEffect(() => {
//if state data are ready and assign to different field
// console.log(currentApplicationDetailData)
if (issueNum.length > 0) {
setOnReady(true);
}
}, [issueNum]);

// useEffect(() => {
// //upload latest data to parent
@@ -89,11 +99,11 @@ const GazetteDetailCard = (
<OutlinedInput
fullWidth
size="small"
{...register("issueNo",
{...register("issueNum",
{
value: currentApplicationDetailData.issueNo,
value: issueNum,
})}
id='issueNo'
id='issueNum'
/>
</FormControl>
</Grid>
@@ -111,11 +121,11 @@ const GazetteDetailCard = (
<OutlinedInput
fullWidth
size="small"
{...register("issueNo",
{...register("gazetteCode",
{
value: currentApplicationDetailData.issueNo,
value: gazetteCode,
})}
id='issueNo'
id='gazetteCode'
/>
</FormControl>
</Grid>
@@ -138,7 +148,7 @@ const GazetteDetailCard = (
size="small"
{...register("issueDate",
{
value: currentApplicationDetailData.issueDate,
value: issueDate,
})}
id='issueDate'
/>
@@ -158,11 +168,11 @@ const GazetteDetailCard = (
<OutlinedInput
fullWidth
size="small"
{...register("issueNo",
{...register("groupTitle",
{
value: currentApplicationDetailData.issueNo,
value: groupTitle,
})}
id='issueNo'
id='groupTitle'
/>
</FormControl>
</Grid>


+ 39
- 7
src/pages/gldApplicationDetailPage/index.js Wyświetl plik

@@ -1,4 +1,7 @@
// import { useState } from 'react';
import {
useEffect,
useState
} from "react";

// material-ui
import {
@@ -9,16 +12,29 @@ import {
} from '@mui/material';
import Loadable from 'components/Loadable';
import { lazy } from 'react';
import {
// useNavigate,
useParams
} from "react-router-dom";
import axios from "axios";

import titleBackgroundImg from 'assets/images/dashboard/gazette-bar.png'
const ApplicationDetailCard = Loadable(lazy(() => import('./ApplicationDetailCard')));
const GazetteDetailCard = Loadable(lazy(() => import('./GazetteDetailCard')));
const ClientDetailCard = Loadable(lazy(() => import('./ClientDetailCard')));
const TabTableDetail = Loadable(lazy(() => import('./tabTableDetail/TabTable')));
import {
GET_PUBLIC_NOTICE_APPLY_DETAIL,
} from "utils/ApiPathConst";


// ==============================|| Body - DEFAULT ||============================== //

const DashboardDefault = () => {
const params = useParams();
const [applicationDetailData, setApplicationDetailData] = useState({});
// const [refApplicationDetailData, setRefApplicationDetailData] = React.useState({});

const BackgroundHead = {
backgroundImage: `url(${titleBackgroundImg})`,
width: '100%',
@@ -30,8 +46,24 @@ const DashboardDefault = () => {
const issueNo = "No. 36"
const issueDate = "A001"

useEffect(() => {
if(params.id > 0 ){
axios.get(`${GET_PUBLIC_NOTICE_APPLY_DETAIL}/${params.id}`)
.then((response) => {
if (response.status === 200) {
setApplicationDetailData(response.data);
// setRefApplicationDetailData(response.data);
}
})
.catch(error => {
console.log(error);
return false;
});
}
}, []);

return (
<Grid container sx={{maxnHeight: '500vh'}} direction="column">
<Grid container sx={{maxnHeight: '500vh',backgroundColor:'#ffffff'}} direction="column">
<Grid item xs={12}>
<div style={BackgroundHead}>
<Stack direction="row" height='70px' justifyContent="flex-start" alignItems="center">
@@ -52,7 +84,7 @@ const DashboardDefault = () => {
<Box xs={12} ml={4} mt={3} sx={{ p: 2, border: '3px groove grey', borderRadius: '10px'}}>
<ApplicationDetailCard
// updateUserObject={updateUserObject}
// userData={userData}
applicationDetailData={applicationDetailData}
// isCollectData={isCollectData}
// isNewRecord={isNewRecord}
/>
@@ -62,7 +94,7 @@ const DashboardDefault = () => {
<Box xs={12} ml={4} mt={1} sx={{ p: 2, border: '3px groove grey', borderRadius: '10px'}}>
<GazetteDetailCard
// updateUserObject={updateUserObject}
// userData={userData}
applicationDetailData={applicationDetailData}
// isCollectData={isCollectData}
// isNewRecord={isNewRecord}
/>
@@ -77,11 +109,11 @@ const DashboardDefault = () => {
</Grid>
<Grid item xs={12} md={2} lg={2}>
<Grid container>
<Grid item xs={12} >
<Box xs={12} ml={1} mt={3} mr={1} sx={{ p: 2, border: '3px groove grey', borderRadius: '10px'}}>
<Grid item xs={12}>
<Box ml={1} mt={3} mr={1} height='800px' sx={{ p: 2, border: '3px groove grey', borderRadius: '10px'}}>
<ClientDetailCard
// updateUserObject={updateUserObject}
// userData={userData}
applicationDetailData={applicationDetailData}
// isCollectData={isCollectData}
// isNewRecord={isNewRecord}
/>


+ 1
- 1
src/pages/gldApplicationDetailPage/tabTableDetail/BaseGrid.js Wyświetl plik

@@ -74,7 +74,7 @@ export default function BaseGrid({rows}) {
];

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


+ 1
- 0
src/utils/ApiPathConst.js Wyświetl plik

@@ -55,6 +55,7 @@ export const POST_PUBLIC_NOTICE_APPLY = apiPath+'/application/apply';
//GLD User
export const POST_ADMIN_USER_REGISTER = apiPath+'/user/registry';
export const DELETE_USER = apiPath+'/user';
export const GET_PUBLIC_NOTICE_APPLY_DETAIL = apiPath+'/application/application-detail';

//User Group
export const POST_AND_UPDATE_USER_GROUP = apiPath+'/group/save';

Ładowanie…
Anuluj
Zapisz