選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

ApplicationDetails.js 12 KiB

2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
2年前
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239
  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;