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.
 
 

86 rivejä
2.6 KiB

  1. // material-ui
  2. import * as React from 'react';
  3. import {
  4. Button, useMediaQuery
  5. } from '@mui/material';
  6. import { useNavigate } from "react-router-dom";
  7. import {FiDataGrid} from "components/FiDataGrid";
  8. import * as FormatUtils from "utils/FormatUtils"
  9. import * as DateUtils from "utils/DateUtils"
  10. import * as PaymentStatus from "utils/statusUtils/PaymentStatus"
  11. import {useTheme} from "@emotion/react";
  12. // import * as StatusUtils from "./PublicNoteStatusUtils";
  13. // ==============================|| EVENT TABLE ||============================== //
  14. export default function SubmittedTab({ rows }) {
  15. const navigate = useNavigate()
  16. const theme = useTheme();
  17. const isMdOrLg = useMediaQuery(theme.breakpoints.up('md'));
  18. const handleEditClick = (params) => () => {
  19. navigate('/paymentPage/details/' + params.row.id);
  20. };
  21. const columns = [
  22. {
  23. field: 'actions',
  24. headerName: '付款編號',
  25. width: isMdOrLg ? 'auto' : 160,
  26. flex: isMdOrLg ? 1 : undefined,
  27. cellClassName: 'actions',
  28. renderCell: (params) => {
  29. return <Button onClick={handleEditClick(params)}><u>{params.row.transNo}</u></Button>;
  30. },
  31. },
  32. {
  33. id: 'transDateTime',
  34. field: 'transDateTime',
  35. headerName: '付款日期',
  36. width: isMdOrLg ? 'auto' : 160,
  37. flex: isMdOrLg ? 1 : undefined,
  38. valueGetter: (params) => {
  39. return DateUtils.datetimeStr(params.value);
  40. }
  41. },
  42. {
  43. id: 'status',
  44. field: 'status',
  45. headerName: '付款狀況',
  46. width: isMdOrLg ? 'auto' : 160,
  47. flex: isMdOrLg ? 1 : undefined,
  48. renderCell: (params) => {
  49. return PaymentStatus.getStatus_Cht(params);
  50. }
  51. },
  52. {
  53. id: 'payAmount',
  54. field: 'payAmount',
  55. headerName: '費用',
  56. width: 150,
  57. valueGetter: (params) => {
  58. return (params?.value) ? "$ " + FormatUtils.currencyFormat(params?.value) : "";
  59. }
  60. },
  61. ];
  62. return (
  63. <>
  64. <div style={{ height:'20%', width: '100%' }}>
  65. <FiDataGrid
  66. rows={rows}
  67. columns={columns}
  68. initialState={{
  69. pagination: {
  70. paginationModel: { page: 0, pageSize: 5 },
  71. },
  72. }}
  73. />
  74. </div>
  75. </>
  76. );
  77. }