Riwayat.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. import Datatable from "@/components/Tables/Datatable";
  2. import moment from "moment";
  3. import { Card, CardHeader, CardBody, CardTitle } from "reactstrap";
  4. import { API_URL } from "@/env";
  5. import Swal from "sweetalert2";
  6. function Riwayat({ data, role }) {
  7. const handleOpenAlert = () => {
  8. Swal.fire({
  9. icon: 'error',
  10. title: 'Oops...',
  11. html: 'Maaf anda tidak memiliki akses untuk menyelesaikan<p> proses ini.</p>',
  12. confirmButtonColor: "#3e3a8e",
  13. confirmButtonText: 'Oke'
  14. })
  15. };
  16. return (
  17. <Card className="card-default">
  18. <CardHeader>
  19. <CardTitle>Riwayat Jawaban Pencabutan Sanksi</CardTitle>
  20. </CardHeader>
  21. <CardBody>
  22. <Datatable options={{ responsive: true }}>
  23. <table className="table table-striped my-4 w-100" data-order='[ [0, "asc"]]'>
  24. <thead>
  25. <tr>
  26. <th>Tanggal</th>
  27. <th>Status</th>
  28. <th>Keterangan</th>
  29. <th>Dokumen</th>
  30. <th>Tahap</th>
  31. </tr>
  32. </thead>
  33. <tbody>
  34. {data?.length
  35. ? data.map((data, i) => (
  36. <tr>
  37. <td>{moment(data.createdAt).format("DD MMMM YYYY")}</td>
  38. <td>{data.status}</td>
  39. <td>{data.keterangan}</td>
  40. <td>
  41. {data.dokumen?.map((e) => (
  42. <>
  43. <em className="fa-lg far fa-file-code"></em>
  44. {role === 2024 ?
  45. <a className="text-muted" onClick={handleOpenAlert}>
  46. {e.judul}
  47. </a>
  48. :
  49. <>
  50. <a className="text-muted" href={e.path} target="_blank" download={e.judul}>
  51. {e.judul}
  52. </a>
  53. </>
  54. }
  55. </>
  56. ))}
  57. </td>
  58. <td>{data.index}</td>
  59. </tr>
  60. )) : (
  61. ""
  62. )}
  63. </tbody>
  64. </table>
  65. </Datatable>
  66. </CardBody>
  67. </Card>
  68. );
  69. }
  70. export default Riwayat;