TableLaporan.js 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. import Datatable from "@/components/Tables/Datatable";
  2. import { Button } from "reactstrap";
  3. import Link from "next/link";
  4. import moment from "moment";
  5. import 'moment/min/locales';
  6. moment.locale('id');
  7. function TableLaporan({ listData, to, linkName, status = false, noBy = false }) {
  8. return (
  9. <div className="card b ">
  10. <div className="card-body card-over">
  11. {listData && (
  12. <Datatable options={{ responsive: false, ordering: true }}>
  13. <table className="table w-100" data-order='[[0, "desc"]]'>
  14. <thead>
  15. <tr>
  16. <th>No.Laporan</th>
  17. <th>No.Sanksi</th>
  18. <th>Deskripsi Laporan</th>
  19. {<th>TMT Berlaku</th>}
  20. <th>Aksi</th>
  21. </tr>
  22. </thead>
  23. <tbody>
  24. {listData.map((data) => {
  25. return (
  26. <tr key={data._id}>
  27. <td>
  28. {/* <td>{data.no_laporan}</td> */}
  29. <div className="media align-items-center">
  30. <div className="media-body d-flex">
  31. <div>
  32. <p style={{ display: "none" }}>{data.createdAt}</p>
  33. <h4>{data.laporan.no_laporan}</h4>
  34. <p>{moment(data.createdAt).format("DD-MMMM-YYYY")}</p>
  35. </div>
  36. </div>
  37. </div>
  38. </td>
  39. <td>
  40. {/* <td>{data.no_laporan}</td> */}
  41. <div className="media align-items-center">
  42. <div className="media-body d-flex">
  43. <div>
  44. <h4>{data.no_sanksi}</h4>
  45. </div>
  46. </div>
  47. </div>
  48. </td>
  49. <td>
  50. <div className="table-desc">
  51. <div className="media align-items-center">
  52. <div className="media-body d-flex">
  53. <div>
  54. <h4 className="m-0">{data.laporan.pt.nama.length > 64 ? data.laporan.pt.nama.substring(0, 64) + "..." : data.laporan.pt.nama}</h4>
  55. <p >{data.keterangan.length > 100 ? data.keterangan.substring(0, 100) + "..." : data.keterangan}</p>
  56. </div>
  57. </div>
  58. </div>
  59. </div>
  60. </td>
  61. <td>
  62. {data.masa_berlaku?.to_date ? (<h4 className="m-0"> {moment(data.masa_berlaku?.from_date).format("DD MMMM YYYY")} - {moment(data.masa_berlaku?.to_date).format("DD MMMM YYYY")}</h4>) : (<h4 className="m-0">6 Bulan</h4>)}
  63. <p >{data.keterangan}</p>
  64. </td>
  65. {!noBy && <td>{data.user.isPrivate ? "" : data.user.nama}</td>}
  66. <td>
  67. <div className="ml-auto">
  68. <Link
  69. href={{
  70. pathname: to,
  71. query: { id: data?._id },
  72. }}
  73. >
  74. <Button className="btn-login" color>
  75. <span className="font-color-white">
  76. {linkName}
  77. </span>
  78. </Button>
  79. </Link>
  80. </div>
  81. </td>
  82. </tr>
  83. );
  84. })}
  85. </tbody>
  86. </table>
  87. </Datatable>
  88. )}
  89. </div>
  90. </div>
  91. );
  92. }
  93. export default TableLaporan;