Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
 
 

195 rindas
10 KiB

  1. // material-ui
  2. import {
  3. FormControl,
  4. Button,
  5. Grid,
  6. Typography, FormLabel,
  7. } from '@mui/material';
  8. import * as React from "react";
  9. import Loadable from 'components/Loadable';
  10. const MainCard = Loadable(React.lazy(() => import('components/MainCard')));
  11. import * as StatusUtils from "utils/statusUtils/PublicNoteStatusUtils";
  12. import * as HttpUtils from "utils/HttpUtils";
  13. import DownloadIcon from '@mui/icons-material/Download';
  14. import { notifyDownloadSuccess } from 'utils/CommonFunction';
  15. // ==============================|| DASHBOARD - DEFAULT ||============================== //
  16. const ApplicationDetailCard = ({ data }) => {
  17. const [appDetail, setAppDetails] = React.useState({});
  18. React.useEffect(() => {
  19. if (Object.keys(data).length > 0) {
  20. setAppDetails(data);
  21. }
  22. }, [data]);
  23. const onDownloadClick = () => () => {
  24. HttpUtils.fileDownload({
  25. fileId: appDetail.appFileId,
  26. skey: appDetail.appSkey,
  27. filename: appDetail.appFilename,
  28. });
  29. notifyDownloadSuccess();
  30. };
  31. return (
  32. <MainCard elevation={0}
  33. border={false}
  34. content={false}
  35. >
  36. <Typography variant="h4" xs={12} md={12} sx={{ mb: 2, borderBottom: "1px solid black" }}>
  37. Application Details
  38. </Typography>
  39. <Grid container direction="column">
  40. <Grid item xs={12} md={12}>
  41. <Grid container direction="row" justifyContent="space-between" alignItems="center">
  42. <Grid item xs={12} md={6} lg={6} sx={{ mb: 1 }}>
  43. <Grid container alignItems={"center"}>
  44. <Grid item xs={12} md={3} lg={3} sx={{ display: 'flex', alignItems: 'center' }}>
  45. <FormLabel><Typography variant="h5">Application No:</Typography></FormLabel>
  46. </Grid>
  47. <Grid item xs={12} md={9} lg={9}>
  48. <Typography variant="h5">
  49. {appDetail.appNo}
  50. </Typography>
  51. </Grid>
  52. </Grid>
  53. </Grid>
  54. <Grid item xs={12} md={6} lg={6} sx={{ mb: 1 }}>
  55. <Grid container alignItems={"center"}>
  56. <Grid item xs={12} md={3} lg={3}
  57. sx={{ display: 'flex', alignItems: 'center' }}>
  58. <FormLabel><Typography variant="h5">Status:</Typography></FormLabel>
  59. </Grid>
  60. <Grid item xs={12} md={9} lg={9}>
  61. <FormControl variant="outlined">
  62. {StatusUtils.getStatusByTextEng(appDetail.appStatus)}
  63. </FormControl>
  64. </Grid>
  65. </Grid>
  66. </Grid>
  67. </Grid>
  68. <Grid container direction="row" justifyContent="space-between" alignItems="center">
  69. <Grid item xs={12} md={6} lg={6} sx={{ mb: 1 }}>
  70. <Grid container alignItems={"center"}>
  71. <Grid item xs={12} md={3} lg={3}
  72. sx={{ display: 'flex', alignItems: 'center' }}>
  73. <FormLabel><Typography variant="h5">Applicant:</Typography></FormLabel>
  74. </Grid>
  75. <Grid item xs={12} md={9} lg={9}>
  76. <FormControl variant="outlined" fullWidth disabled >
  77. <Typography variant="h5">
  78. {appDetail.orgId === null ?
  79. appDetail.contactPerson : appDetail.enCompanyName
  80. }
  81. </Typography>
  82. </FormControl>
  83. </Grid>
  84. </Grid>
  85. </Grid>
  86. <Grid item xs={12} md={6} lg={6} sx={{ mb: 1}}>
  87. <Grid container alignItems={"center"}>
  88. <Grid item xs={12} md={4} lg={4}
  89. sx={{ display: 'flex', alignItems: 'center' }}>
  90. <FormLabel><Typography variant="h5">Contact Phone:</Typography></FormLabel>
  91. </Grid>
  92. <Grid item xs={12} md={8} lg={8}>
  93. <Typography variant="h5">
  94. {appDetail.contactTelNo ? appDetail.contactTelNo.countryCode + " " + appDetail.contactTelNo.phoneNumber : ""}
  95. </Typography>
  96. </Grid>
  97. </Grid>
  98. </Grid>
  99. </Grid>
  100. <Grid container direction="row" justifyContent="space-between" alignItems="center">
  101. <Grid item xs={12} md={6} lg={6} sx={{ mb: 1 }}>
  102. <Grid container alignItems={"center"}>
  103. <Grid item xs={12} md={3} lg={3}
  104. sx={{ display: 'flex', alignItems: 'center' }}>
  105. <FormLabel><Typography variant="h5">Contact Person:</Typography></FormLabel>
  106. </Grid>
  107. <Grid item xs={12} md={9} lg={9}>
  108. <Typography variant="h5">
  109. {appDetail.contactPerson}
  110. </Typography>
  111. </Grid>
  112. </Grid>
  113. </Grid>
  114. <Grid item xs={12} md={6} lg={6} sx={{ mb: 1}}>
  115. <Grid container alignItems={"center"}>
  116. <Grid item xs={12} md={4} lg={4}
  117. sx={{ display: 'flex', alignItems: 'center' }}>
  118. <FormLabel><Typography variant="h5">Contact Fax:</Typography></FormLabel>
  119. </Grid>
  120. <Grid item xs={12} md={8} lg={8}>
  121. <Typography variant="h5">
  122. {appDetail.contactFaxNo ? appDetail.contactFaxNo.countryCode + " " + appDetail.contactFaxNo.faxNumber : ""}
  123. </Typography>
  124. </Grid>
  125. </Grid>
  126. </Grid>
  127. </Grid>
  128. <Grid container direction="row" justifyContent="space-between"
  129. alignItems="center">
  130. <Grid item xs={12} md={6} lg={6} mt={1} mb={2}>
  131. <Grid container alignItems={"center"}>
  132. <Grid item xs={12} md={12} lg={12}>
  133. <Grid container direction="row">
  134. <Grid item xs={12} md={3} lg={3}
  135. sx={{ display: 'flex', alignItems: 'center' }}>
  136. <FormLabel><Typography variant="h5">Manuscript File:</Typography></FormLabel>
  137. </Grid>
  138. <Grid item xs={12} md={9} lg={9} sx={{ display: 'flex', alignItems: 'center' }}>
  139. <Grid container direction="row" justifyContent="flex-start">
  140. <Grid item xs={12} md={5} lg={5} sx={{ display: 'flex', alignItems: 'center' }}>
  141. <FormControl variant="outlined" fullWidth >
  142. <Typography
  143. // fullWidth
  144. id='fileName'
  145. variant="h5"
  146. sx={{ wordBreak: 'break-word' }}
  147. >
  148. {appDetail.appFilename}
  149. </Typography>
  150. </FormControl>
  151. </Grid>
  152. <Grid item md={2} lg={2}>
  153. <Button
  154. size="small"
  155. variant="contained"
  156. onClick={onDownloadClick()}
  157. sx={{
  158. textTransform: 'capitalize',
  159. alignItems: 'end',
  160. }}>
  161. <DownloadIcon />
  162. </Button>
  163. </Grid>
  164. </Grid>
  165. </Grid>
  166. </Grid>
  167. </Grid>
  168. </Grid>
  169. </Grid>
  170. </Grid>
  171. </Grid>
  172. </Grid>
  173. </MainCard>
  174. );
  175. };
  176. export default ApplicationDetailCard;