TableLaporan.js 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. import Datatable from "@/components/Tables/Datatable";
  2. import { Button } from "reactstrap";
  3. import Link from "next/link";
  4. import moment from "moment";
  5. function TableLaporan({ listData, to, linkName }) {
  6. return (
  7. <div className="card b">
  8. <div className="card-body card-over">
  9. {listData && (
  10. <Datatable options={{ responsive: false, ordering: true }}>
  11. <table className="table w-100" data-order='[[3, "desc"]]'>
  12. <thead>
  13. <tr>
  14. <th>No.Laporan</th>
  15. <th>Deskripsi Laporan</th>
  16. <th>Status</th>
  17. {/* <th>Created</th> */}
  18. <th></th>
  19. </tr>
  20. </thead>
  21. <tbody>
  22. {listData.map((data) => {
  23. return (
  24. <tr key={data._id}>
  25. <td>
  26. <div className="media align-items-center">
  27. <div className="media-body d-flex">
  28. <div>
  29. <p style={{ display: "none" }}>{data.createdAt}</p>
  30. <h4>{data.laporan?.no_laporan || data.no_laporan}</h4>
  31. <p>{moment(data.createdAt).format("MM-DD-YYYY")}</p>
  32. </div>
  33. </div>
  34. </div>
  35. </td>
  36. <td>
  37. <div className="table-desc">
  38. <div className="media align-items-center">
  39. <div className="media-body d-flex">
  40. <div>
  41. <h4 className="m-0">{data.pt?.nama.length > 64 || data.laporan?.pt.nama.length > 64 ? data.pt?.nama.substring(0, 64) + "..." || data.laporan?.pt.nama.substring(0, 64) + "..." : data.pt?.nama || data.laporan?.pt.nama}</h4>
  42. <p className="w-105">{data.keterangan}</p>
  43. </div>
  44. </div>
  45. </div>
  46. </div>
  47. </td>
  48. <td>
  49. {data.flag === "diterima" ? <div className="badge badge-success">Selesai - Diterima</div> : data.status === "Diterima" ? <div className="badge badge-success">Selesai - Diterima</div> : data.status === "Ditutup" ? <div className="badge badge-danger">Ditutup</div> : data.status === "Selesai" ? <div className="badge badge-success">Selesai</div> : ""}
  50. </td>
  51. <td>
  52. <div className="ml-auto">
  53. <Link
  54. href={{
  55. pathname: to,
  56. query: { id: data._id },
  57. }}
  58. >
  59. <Button className="btn-login loader" color>
  60. <span className="font-color-white">
  61. {linkName}
  62. </span>
  63. </Button>
  64. </Link>
  65. </div>
  66. </td>
  67. </tr>
  68. );
  69. })}
  70. </tbody>
  71. </table>
  72. </Datatable>
  73. )}
  74. </div>
  75. </div >
  76. );
  77. }
  78. export default TableLaporan;