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.
 
 

240 lines
12 KiB

  1. // material-ui
  2. import {
  3. FormControl,
  4. Grid,
  5. Typography,
  6. FormLabel,
  7. TextField,
  8. Stack
  9. } from '@mui/material';
  10. import { useFormik } from 'formik';
  11. import * as React from "react";
  12. import * as DateUtils from "utils/DateUtils"
  13. import * as FormatUtils from "utils/FormatUtils"
  14. import { useParams } from "react-router-dom";
  15. import Loadable from 'components/Loadable';
  16. const MainCard = Loadable(React.lazy(() => import('components/MainCard')));
  17. import * as StatusUtils from "utils/statusUtils/PublicNoteStatusUtils";
  18. import FileList from "components/FileList"
  19. // ==============================|| DASHBOARD - DEFAULT ||============================== //
  20. const ApplicationDetailCard = ({ formData, }) => {
  21. const params = useParams();
  22. const [data, setData] = React.useState({});
  23. //const [proofId, setProofId] = React.useState();
  24. React.useEffect(() => {
  25. if (formData) {
  26. setData(formData);
  27. //setProofId(formData.id);
  28. }
  29. }, [formData]);
  30. const formik = useFormik({
  31. enableReinitialize: true,
  32. initialValues: data,
  33. });
  34. const DisplayField = ({ name, width }) => {
  35. return <TextField
  36. fullWidth
  37. disabled
  38. size="small"
  39. onChange={formik.handleChange}
  40. id={name}
  41. name={name}
  42. value={formik.values[name]}
  43. variant="outlined"
  44. sx={
  45. {
  46. "& .MuiInputBase-input.Mui-disabled": {
  47. WebkitTextFillColor: "#000000",
  48. background: "#f8f8f8",
  49. },
  50. width: width ? width : '100%'
  51. }
  52. }
  53. />;
  54. }
  55. return (
  56. <MainCard elevation={0}
  57. border={false}
  58. content={false}
  59. >
  60. <Typography variant="h4" sx={{ textAlign: "left", mb: 2, borderBottom: "1px solid black" }}>
  61. 公共啟事:校對資料
  62. </Typography>
  63. <form>
  64. <Grid container direction="column">
  65. <Grid item xs={12} md={12} lg={12}>
  66. <Grid container direction="row" justifyContent="space-between"
  67. alignItems="center">
  68. <Grid item xs={12} md={6} lg={6} sx={{ mb: 1 }}>
  69. <Grid container alignItems={"center"}>
  70. <Grid item xs={12} md={3} lg={3}
  71. sx={{ display: 'flex', alignItems: 'center' }}>
  72. <FormLabel><Typography variant="h5">申請編號:</Typography></FormLabel>
  73. </Grid>
  74. <Grid item xs={12} md={9} lg={9}>
  75. <DisplayField name="appNo" />
  76. </Grid>
  77. </Grid>
  78. </Grid>
  79. <Grid item xs={12} md={5} lg={5} sx={{ mb: 1, ml: 1 }}>
  80. <Grid container alignItems={"left"}>
  81. <Grid item xs={12} md={3} lg={3}
  82. sx={{ display: 'flex', alignItems: 'center' }}>
  83. <FormLabel><Typography variant="h5">申請狀態:</Typography></FormLabel>
  84. </Grid>
  85. <Grid item xs={12} md={9} lg={9} sx={{ display: 'flex', alignItems: 'center' }}>
  86. <FormControl variant="outlined">
  87. {StatusUtils.getStatusByText(data.appStatus)}
  88. </FormControl>
  89. </Grid>
  90. </Grid>
  91. </Grid>
  92. </Grid>
  93. <Grid container direction="row" justifyContent="space-between"
  94. alignItems="center">
  95. <Grid item xs={12} md={6} lg={6} sx={{ mb: 1 }}>
  96. <Grid container alignItems={"center"}>
  97. <Grid item xs={12} md={3} lg={3}
  98. sx={{ display: 'flex', alignItems: 'center' }}>
  99. <FormLabel><Typography variant="h5">申請人:</Typography></FormLabel>
  100. </Grid>
  101. <Grid item xs={12} md={9} lg={9}>
  102. <FormControl variant="outlined" fullWidth disabled >
  103. {data.orgId === null ?
  104. <DisplayField name="contactPerson" />
  105. :
  106. <DisplayField name="applicant" />
  107. }
  108. </FormControl>
  109. </Grid>
  110. </Grid>
  111. </Grid>
  112. <Grid item xs={12} md={5} lg={5} sx={{ mb: 1, ml: 1 }}>
  113. <Grid container alignItems={"center"}>
  114. <Grid item xs={12} md={3} lg={3}
  115. sx={{ display: 'flex', alignItems: 'center' }}>
  116. <FormLabel><Typography variant="h5">憲報期數:</Typography></FormLabel>
  117. </Grid>
  118. <Grid item xs={12} md={9} lg={9}>
  119. <DisplayField name="issueNoStr" />
  120. </Grid>
  121. </Grid>
  122. </Grid>
  123. </Grid>
  124. <Grid container direction="row" justifyContent="space-between"
  125. alignItems="center">
  126. <Grid item xs={12} md={6} lg={6} sx={{ mb: 1 }}>
  127. <Grid container alignItems={"center"}>
  128. <Grid item xs={12} md={3} lg={3}
  129. sx={{ display: 'flex', alignItems: 'center' }}>
  130. <FormLabel><Typography variant="h5">聯絡人:</Typography></FormLabel>
  131. </Grid>
  132. <Grid item xs={12} md={9} lg={9}>
  133. <DisplayField name="contactPerson" />
  134. </Grid>
  135. </Grid>
  136. </Grid>
  137. <Grid item xs={12} md={5} lg={5} sx={{ mb: 1, ml: 1 }}>
  138. <Grid container alignItems={"center"}>
  139. <Grid item xs={12} md={3} lg={3}
  140. sx={{ display: 'flex', alignItems: 'center' }}>
  141. <FormLabel><Typography variant="h5">刊出日期:</Typography></FormLabel>
  142. </Grid>
  143. <Grid item xs={12} md={9} lg={9}>
  144. <DisplayField name="issueDateStr" />
  145. </Grid>
  146. </Grid>
  147. </Grid>
  148. </Grid>
  149. <Grid container direction="row" justifyContent="space-between"
  150. alignItems="center">
  151. <Grid item xs={12} md={6} lg={6} sx={{ mb: 1, }}>
  152. <Grid container alignItems="left">
  153. <Grid item xs={12} md={3} lg={3}
  154. sx={{ display: 'flex', alignItems: 'center' }}>
  155. <FormLabel><Typography variant="h5">我的備注:</Typography></FormLabel>
  156. </Grid>
  157. <Grid item xs={12} md={9} lg={9}>
  158. <Stack direction="row">
  159. <DisplayField name="appRemarks" />
  160. </Stack>
  161. </Grid>
  162. </Grid>
  163. </Grid>
  164. </Grid>
  165. <Grid container direction="row" justifyContent="space-between"
  166. alignItems="center">
  167. <Grid item xs={12} md={6} lg={6} sx={{ mb: 1, }}>
  168. <Grid container alignItems={"center"}>
  169. <Grid item xs={12} md={12} lg={12} sx={{ display: 'flex', alignItems: 'center' }}>
  170. <Typography><Typography variant="h5">請下載下列印刷稿檔案,並仔細校對:</Typography></Typography>
  171. </Grid>
  172. </Grid>
  173. <FileList
  174. lang="ch"
  175. refId={params.id}
  176. refType={"proof"}
  177. dateHideable={true}
  178. disablePagination
  179. disableSelectionOnClick
  180. disableColumnMenu
  181. disableColumnSelector
  182. hideFooter
  183. />
  184. </Grid>
  185. <Grid item xs={12} md={4} lg={4} sx={{ mb: 1, }}>
  186. <Grid container alignItems={"center"}>
  187. <Grid item xs={12} md={12} lg={12}
  188. sx={{ display: 'flex', alignItems: 'center' }}>
  189. <Typography variant="h5">繳費及返稿最後限期:</Typography>
  190. </Grid>
  191. <Grid item xs={12} md={12} lg={12} sx={{ mb: 4, display: 'flex', alignItems: 'center' }}>
  192. <Typography variant="h5">{DateUtils.dateStr_Cht(data.returnBeforeDate)} 下午 2:00前</Typography>
  193. </Grid>
  194. <Grid item xs={12} md={3} lg={3}
  195. sx={{ mb: 1, display: 'flex', alignItems: 'center' }}>
  196. <Typography variant="h5">應繳費用:</Typography>
  197. </Grid>
  198. <Grid item xs={12} md={9} lg={9} sx={{ mb: 1, display: 'flex', alignItems: 'center' }}>
  199. <Typography variant="h5" style={{ color: "blue", fontWeight: "bold", }}>{FormatUtils.currencyFormat(data.fee)}</Typography>
  200. </Grid>
  201. <Grid item xs={12} md={12} lg={12} sx={{ mb: 4, display: 'flex', alignItems: 'center' }}>
  202. {
  203. formik.values.groupType == "A"
  204. ?
  205. <Typography variant="h5">( {data.noOfPages} 頁 x $6,552 )</Typography>
  206. :
  207. <Typography variant="h5">( {data.length} cm x {data.colCount == 2 ? "$364 二格位" : "$182 一格位"} )</Typography>
  208. }
  209. </Grid>
  210. </Grid>
  211. </Grid>
  212. </Grid>
  213. </Grid>
  214. </Grid>
  215. </form>
  216. </MainCard>
  217. );
  218. };
  219. export default ApplicationDetailCard;