You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

172 regels
7.1 KiB

  1. // material-ui
  2. import {
  3. CardContent,
  4. Grid,
  5. Stack,
  6. TextField,
  7. FormLabel,
  8. } from '@mui/material';
  9. import MainCard from "components/MainCard";
  10. import * as React from "react";
  11. import { useFormik } from 'formik';
  12. // ==============================|| DASHBOARD - DEFAULT ||============================== //
  13. const SearchPublicNoticeForm = ({formData}) => {
  14. const [data, setData] = React.useState({});
  15. React.useEffect(() => {
  16. if(formData)
  17. setData(formData);
  18. }, [formData]);
  19. const formik = useFormik({
  20. enableReinitialize: true,
  21. initialValues: data,
  22. });
  23. const DisplayField = ({ name, width }) => {
  24. return <TextField
  25. fullWidth
  26. disabled
  27. size="small"
  28. onChange={formik.handleChange}
  29. id={name}
  30. name={name}
  31. value={formik.values[name]}
  32. variant="outlined"
  33. sx={
  34. {
  35. "& .MuiInputBase-input.Mui-disabled": {
  36. WebkitTextFillColor: "#000000",
  37. background: "#f8f8f8",
  38. },
  39. width: width ? width : '100%'
  40. }
  41. }
  42. />;
  43. }
  44. return (
  45. <MainCard xs={12} md={12} lg={12}
  46. border={false}
  47. content={false}>
  48. <form>
  49. {/*row 1*/}
  50. <CardContent sx={{ px: 2.5, pt: 3 }}>
  51. <Grid item justifyContent="space-between" alignItems="center">
  52. Application Details
  53. </Grid>
  54. </CardContent>
  55. {/*row 2*/}
  56. <Grid container direction="column" sx={{ paddingLeft: 4, paddingRight: 4 }}>
  57. <Grid item xs={12} md={12}>
  58. <Grid container direction="row" justifyContent="space-between"
  59. alignItems="center">
  60. <Grid item xs={12} md={6} lg={6} sx={{ mb: 1 }}>
  61. <Grid container alignItems={"center"}>
  62. <Grid item xs={12} md={3} lg={3}
  63. sx={{ display: 'flex', alignItems: 'center' }}>
  64. <FormLabel>Application No:</FormLabel>
  65. </Grid>
  66. <Grid item xs={12} md={9} lg={9}>
  67. <DisplayField
  68. name='appNo'
  69. />
  70. </Grid>
  71. </Grid>
  72. </Grid>
  73. </Grid>
  74. <Grid container direction="row" justifyContent="space-between"
  75. alignItems="center">
  76. <Grid item xs={12} md={6} lg={6} sx={{ mb: 1 }}>
  77. <Grid container alignItems={"center"}>
  78. <Grid item xs={12} md={3} lg={3}
  79. sx={{ display: 'flex', alignItems: 'center' }}>
  80. <FormLabel>Applicant:</FormLabel>
  81. </Grid>
  82. <Grid item xs={12} md={9} lg={9}>
  83. <DisplayField
  84. name={formik.values?.orgId ? 'enCompanyName' : 'contactPerson'}
  85. />
  86. </Grid>
  87. </Grid>
  88. </Grid>
  89. <Grid item xs={12} md={5} lg={5} sx={{ mb: 1, ml: 1 }}>
  90. <Grid container alignItems={"center"}>
  91. <Grid item xs={12} md={4} lg={4}
  92. sx={{ display: 'flex', alignItems: 'center' }}>
  93. <FormLabel>Contact Phone:</FormLabel>
  94. </Grid>
  95. <Grid item xs={12} md={8} lg={8}>
  96. <Stack direction="row">
  97. <DisplayField
  98. name='tel_countryCode'
  99. width='25%'
  100. />
  101. <DisplayField
  102. name='phoneNumber'
  103. width='75%'
  104. />
  105. </Stack>
  106. </Grid>
  107. </Grid>
  108. </Grid>
  109. </Grid>
  110. <Grid container direction="row" justifyContent="space-between"
  111. alignItems="center">
  112. <Grid item xs={12} md={6} lg={6} sx={{ mb: 1 }}>
  113. <Grid container alignItems={"center"}>
  114. <Grid item xs={12} md={3} lg={3}
  115. sx={{ display: 'flex', alignItems: 'center' }}>
  116. <FormLabel>Contect Person:</FormLabel>
  117. </Grid>
  118. <Grid item xs={12} md={9} lg={9}>
  119. <DisplayField
  120. name='contactPerson'
  121. />
  122. </Grid>
  123. </Grid>
  124. </Grid>
  125. <Grid item xs={12} md={5} lg={5} sx={{ mb: 1, ml: 1 }}>
  126. <Grid container alignItems={"center"}>
  127. <Grid item xs={12} md={4} lg={4}
  128. sx={{ display: 'flex', alignItems: 'center' }}>
  129. <FormLabel>Contact Fax:</FormLabel>
  130. </Grid>
  131. <Grid item xs={12} md={8} lg={8}>
  132. <Stack direction="row">
  133. <DisplayField
  134. name='fax_countryCode'
  135. width='25%'
  136. />
  137. <DisplayField
  138. name='faxNumber'
  139. width='75%'
  140. />
  141. </Stack>
  142. </Grid>
  143. </Grid>
  144. </Grid>
  145. </Grid>
  146. </Grid>
  147. </Grid>
  148. </form>
  149. </MainCard>
  150. );
  151. };
  152. export default SearchPublicNoticeForm;