Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.
 
 

179 wiersze
9.7 KiB

  1. // material-ui
  2. import {
  3. Grid,
  4. Typography,
  5. FormLabel,
  6. Button
  7. } from '@mui/material';
  8. import * as React from "react";
  9. import * as FormatUtils from "utils/FormatUtils";
  10. import * as PaymentStatus from "utils/statusUtils/PaymentStatus";
  11. import Loadable from 'components/Loadable';
  12. const MainCard = Loadable(React.lazy(() => import('components/MainCard')));
  13. const LoadingComponent = Loadable(React.lazy(() => import('pages/extra-pages/LoadingComponent')));
  14. import DownloadIcon from '@mui/icons-material/Download';
  15. // ==============================|| DASHBOARD - DEFAULT ||============================== //
  16. const PaymentDetails = ({ formData,doPrint }) => {
  17. const [data, setData] = React.useState({});
  18. const [onReady, setOnReady] = React.useState(false);
  19. React.useEffect(() => {
  20. if (formData != null && formData != undefined && Object.keys(formData).length > 0) {
  21. setData(formData);
  22. }
  23. }, [formData]);
  24. React.useEffect(() => {
  25. if (formData != null && formData != undefined && Object.keys(formData).length > 0) {
  26. setOnReady(data != {});
  27. }
  28. }, [data]);
  29. const getPaymentMethod=()=>{
  30. let paymentmethod = data.payload.paymentdetail.paymentmethod;
  31. if("01" == paymentmethod) return "PPS";
  32. if("02" == paymentmethod || "03" == paymentmethod) return "Credit Card";
  33. if("04" == paymentmethod) return "FPS";
  34. return paymentmethod;
  35. }
  36. return (
  37. !onReady ?
  38. <LoadingComponent />
  39. :
  40. <MainCard elevation={0}
  41. border={false}
  42. content={false}
  43. >
  44. <Typography variant="h5" sx={{ textAlign: "center", mb: 2, borderBottom: "1px solid black" }}>
  45. 付款詳情
  46. </Typography>
  47. <form>
  48. <Grid container >
  49. <Grid item>
  50. <Grid container >
  51. <Grid item xs={12} md={12} >
  52. <Grid container alignItems="center">
  53. <Grid item xs={6} md={6} sx={{ml:-5, textAlign: "right", alignItems: 'center', color: "#000000" }}>
  54. <FormLabel sx={{ color: "#000000" }}>
  55. 狀態:
  56. </FormLabel>
  57. </Grid>
  58. <Grid item xs={6} md={5} sx={{ ml:5,textAlign: "left" }}>
  59. <FormLabel sx={{ display: 'flex', alignItems: 'center', color: "#000000" }}>
  60. {PaymentStatus.getStatus_Cht(data.status)}
  61. </FormLabel>
  62. </Grid>
  63. </Grid>
  64. </Grid>
  65. <Grid item xs={12} md={12}>
  66. <Grid container >
  67. <Grid item xs={6} md={6} sx={{ml:-5, textAlign: "right" }}>
  68. <FormLabel sx={{ fontSize: "16px", color: "#000000" }}>
  69. 交易號碼:
  70. </FormLabel>
  71. </Grid>
  72. <Grid item xs={6} md={5} sx={{ml:5, textAlign: "left" }}>
  73. <FormLabel sx={{ fontSize: "16px", color: "#000000" }}>
  74. {data.payload?.transactionid}
  75. </FormLabel>
  76. </Grid>
  77. </Grid>
  78. </Grid>
  79. <Grid item xs={12} md={12}>
  80. <Grid container >
  81. <Grid item xs={6} md={6} sx={{ml:-5, textAlign: "right" }}>
  82. <FormLabel sx={{ fontSize: "16px", color: "#000000" }}>
  83. 交易日期:
  84. </FormLabel>
  85. </Grid>
  86. <Grid xs={6} md={5} sx={{ml:5,textAlign: "left" }}>
  87. <FormLabel sx={{ fontSize: "16px", color: "#000000" }}>
  88. {data.transDateStr + " (DD/MM/YYYY)"}
  89. </FormLabel>
  90. </Grid>
  91. </Grid>
  92. </Grid>
  93. <Grid item xs={12} md={12}>
  94. <Grid container >
  95. <Grid item xs={6} md={6} sx={{ml:-5, textAlign: "right" }}>
  96. <FormLabel sx={{ fontSize: "16px", color: "#000000" }}>
  97. 交易時間:
  98. </FormLabel>
  99. </Grid>
  100. <Grid xs={6} md={5} sx={{ml:5,textAlign: "left" }}>
  101. <FormLabel sx={{ fontSize: "16px", color: "#000000" }}>
  102. {data.transTimeStr + " (HH:MI:SS)"}
  103. </FormLabel>
  104. </Grid>
  105. </Grid>
  106. </Grid>
  107. <Grid item xs={12} md={12}>
  108. <Grid container >
  109. <Grid item xs={6} md={6} sx={{ml:-5, textAlign: "right" }}>
  110. <FormLabel sx={{ fontSize: "16px", color: "#000000" }}>
  111. 付款參考號碼:
  112. </FormLabel>
  113. </Grid>
  114. <Grid xs={6} md={5} sx={{ml:5,textAlign: "left" }}>
  115. <FormLabel sx={{ fontSize: "16px", color: "#000000" }}>
  116. {data.egisRefNo}
  117. </FormLabel>
  118. </Grid>
  119. </Grid>
  120. </Grid>
  121. <Grid item xs={12} md={12}>
  122. <Grid container >
  123. <Grid item xs={6} md={6} sx={{ml:-5, textAlign: "right" }}>
  124. <FormLabel sx={{ fontSize: "16px", color: "#000000" }}>
  125. 付款總額:
  126. </FormLabel>
  127. </Grid>
  128. <Grid xs={6} md={5} sx={{ml:5,textAlign: "left" }}>
  129. <FormLabel sx={{ fontSize: "16px", color: "#000000" }}>
  130. {"HK$ " + FormatUtils.currencyFormat(data.payload?.amount)}
  131. </FormLabel>
  132. </Grid>
  133. </Grid>
  134. </Grid>
  135. <Grid item xs={12} md={12}>
  136. <Grid container >
  137. <Grid item xs={6} md={6} sx={{ml:-5, textAlign: "right" }}>
  138. <FormLabel sx={{ fontSize: "16px", color: "#000000" }}>
  139. 付款方式:
  140. </FormLabel>
  141. </Grid>
  142. <Grid xs={6} md={5} sx={{ml:5,textAlign: "left" }}>
  143. <FormLabel sx={{ fontSize: "16px", color: "#000000" }}>
  144. {getPaymentMethod()}
  145. </FormLabel>
  146. </Grid>
  147. </Grid>
  148. </Grid>
  149. <Grid item xs={12} md={12}>
  150. <Grid container alignItems="center">
  151. <Grid item xs={6} md={6} sx={{ml:-5, textAlign: "right" }}>
  152. <FormLabel sx={{ fontSize: "16px", color: "#000000" }}>
  153. 付款收據:
  154. </FormLabel>
  155. </Grid>
  156. <Grid xs={6} md={5} sx={{ml:5,textAlign: "left" }}>
  157. <Button className="printHidden" variant="contained" sx={{ mt:2 }} onClick={doPrint}>
  158. <DownloadIcon/>
  159. <Typography sx={{fontSize: "16px"}}>下載</Typography>
  160. </Button>
  161. </Grid>
  162. </Grid>
  163. </Grid>
  164. </Grid>
  165. </Grid>
  166. </Grid>
  167. </form>
  168. </MainCard>
  169. );
  170. };
  171. export default PaymentDetails;