25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

106 lines
4.3 KiB

  1. // material-ui
  2. import * as React from "react";
  3. import {Grid, Typography} from '@mui/material';
  4. import FileList from "../../../components/FileList"
  5. import MainCard from "../../../components/MainCard";
  6. import * as HttpUtils from "../../../utils/HttpUtils";
  7. import {useParams} from "react-router-dom";
  8. import * as UrlUtils from "../../../utils/ApiPathConst";
  9. import * as DateUtils from '../../../utils/DateUtils';
  10. import Loadable from 'components/Loadable';
  11. const LoadingComponent = Loadable(React.lazy(() => import('../../extra-pages/LoadingComponent')));
  12. const UserInformationCard = Loadable(React.lazy(() => import('./UserInformationCard_Individual')));
  13. // ==============================|| DASHBOARD - DEFAULT ||============================== //
  14. const UserMaintainPage_Individual = () => {
  15. const params = useParams();
  16. const [formData, setFormData] = React.useState({})
  17. const [isLoading, setLoding] = React.useState(true);
  18. React.useEffect(()=>{
  19. loadData();
  20. },[]);
  21. const loadData = ()=>{
  22. setLoding(true);
  23. HttpUtils.get({
  24. url: `${UrlUtils.GET_IND_USER_PATH}/${params.id}`,
  25. onSuccess: function(response){
  26. response.data["address"] = JSON.parse(response.data["address"]);
  27. response.data["mobileNumber"] = JSON.parse(response.data["mobileNumber"]);
  28. response.data["faxNo"] = JSON.parse(response.data["faxNo"]);
  29. let createDate = DateUtils.datetimeStr(response.data.created);
  30. let modifiedBy = DateUtils.datetimeStr(response.data.modified)+", "+response.data.modifiedBy;
  31. response.data["createDate"] = createDate;
  32. response.data["modifieDate"] = modifiedBy;
  33. response.data["verifiedStatus"] = response.data.verifiedBy? DateUtils.datetimeStr(response.data.verifiedDate)+", "+response.data.verifiedByName: "Not verified";
  34. response.data["country"] = response.data.address?.country;
  35. response.data["district"] = response.data.address?.district;
  36. response.data["addressLine1"] = response.data.address?.addressLine1;
  37. response.data["addressLine2"] = response.data.address?.addressLine2;
  38. response.data["addressLine3"] = response.data.address?.addressLine3;
  39. response.data["phoneNumber"] = response.data.mobileNumber?.phoneNumber;
  40. response.data["tel_countryCode"] = response.data.mobileNumber?.countryCode;
  41. response.data["faxNumber"] = response.data.faxNo?.faxNumber;
  42. response.data["fax_countryCode"] = response.data.faxNo?.countryCode;
  43. response.data["lastLoginDate"] = response.data.lastLogin?DateUtils.datetimeStr(response.data.lastLogin):"";
  44. setFormData(response.data);
  45. }
  46. });
  47. };
  48. React.useEffect(() => {
  49. setLoding(false);
  50. }, [formData]);
  51. return (
  52. isLoading ?
  53. <LoadingComponent/>
  54. :
  55. <Grid container rowSpacing={4.5} columnSpacing={2.75}>
  56. <Grid item xs={12} sx={{mb: -2.25}}>
  57. <Typography variant="h5">Individual User Details</Typography>
  58. </Grid>
  59. {/*col 1*/}
  60. <Grid item xs={12} >
  61. <Grid container>
  62. <Grid item xs={12} md={12} lg={12}>
  63. <UserInformationCard
  64. formData={formData}
  65. loadDataFun={loadData}
  66. />
  67. </Grid>
  68. <Grid item xs={12} md={12} lg={12}>
  69. <MainCard elevation={0} border={false} content={false}>
  70. <Typography variant="h5" sx={{mt: 3, ml: 3, mb: 1}}>
  71. Files
  72. </Typography>
  73. <FileList sx={{mt: 3, ml: 3, mb: 1}}
  74. refId={params.id}
  75. refType={"identification"}
  76. />
  77. </MainCard>
  78. </Grid>
  79. </Grid>
  80. </Grid>
  81. {/*col 2*/}
  82. </Grid>
  83. );
  84. };
  85. export default UserMaintainPage_Individual;