RiwayatPerbaikan.js 1.7 KB

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