Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.

92 righe
2.9 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 * as DateUtils from "utils/DateUtils";
  8. import * as ProofStatus from "utils/statusUtils/ProofStatus";
  9. import {FiDataGrid} from "components/FiDataGrid";
  10. import * as FormatUtils from "utils/FormatUtils"
  11. import {useTheme} from "@emotion/react";
  12. import {useIntl} from "react-intl";
  13. // ==============================|| EVENT TABLE ||============================== //
  14. export default function ProofTab({rows}) {
  15. const intl = useIntl();
  16. const navigate = useNavigate()
  17. const theme = useTheme();
  18. const isMdOrLg = useMediaQuery(theme.breakpoints.up('md'));
  19. const { locale } = intl;
  20. const handleEditClick = (params) => () => {
  21. navigate('/proof/reply/' + params.row.id);
  22. };
  23. const columns = [
  24. {
  25. field: 'actions',
  26. headerName: intl.formatMessage({id: 'proofId'}),
  27. width: 200,
  28. cellClassName: 'actions',
  29. renderCell: (params) => {
  30. return <Button onClick={handleEditClick(params)}><u>{params.row.refNo}</u></Button>;
  31. },
  32. },
  33. {
  34. id: 'actions',
  35. headerName: intl.formatMessage({id: 'status'}),
  36. width: isMdOrLg ? 'auto' : 160,
  37. flex: isMdOrLg ? 1 : undefined,
  38. renderCell: (params) => {
  39. return locale === 'en' ? ProofStatus.getStatus_Eng(params) : ProofStatus.getStatus_Cht(params);
  40. },
  41. },
  42. {
  43. id: 'created',
  44. field: 'created',
  45. headerName: intl.formatMessage({id: 'proofDate'}),
  46. width: isMdOrLg ? 'auto' : 160,
  47. flex: isMdOrLg ? 1 : undefined,
  48. valueGetter: (params) => {
  49. return DateUtils.datetimeStr(params?.value);
  50. }
  51. },
  52. {
  53. id: 'replyDate',
  54. field: 'replyDate',
  55. headerName: intl.formatMessage({id: 'replyDate'}),
  56. width: isMdOrLg ? 'auto' : 160,
  57. flex: isMdOrLg ? 1 : undefined,
  58. valueGetter: (params) => {
  59. return params?.value?DateUtils.datetimeStr(params?.value):"";
  60. }
  61. },
  62. {
  63. id: 'fee',
  64. field: 'fee',
  65. headerName: intl.formatMessage({id: 'fee'}),
  66. width: isMdOrLg ? 'auto' : 160,
  67. flex: isMdOrLg ? 1 : undefined,
  68. valueGetter: (params) => {
  69. return (params?.value)?"$ "+FormatUtils.currencyFormat(params?.value):"";
  70. }
  71. },
  72. ];
  73. return (
  74. <div style={{height:'20%', width: '100%'}}>
  75. <FiDataGrid
  76. rows={rows}
  77. columns={columns}
  78. initialState={{
  79. pagination: {
  80. paginationModel: {page: 0, pageSize: 5},
  81. },
  82. }}
  83. />
  84. </div>
  85. );
  86. }