TableLaporan.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  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 }) {
  6. return (
  7. <div className="card b">
  8. <div className="card-body">
  9. {listData && (
  10. <Datatable options={{ responsive: false }}>
  11. <table className="table w-100">
  12. <thead>
  13. <tr>
  14. <th>#ID</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>{data._number}</td>
  26. <td className="text-nowrap">
  27. <div className="media align-items-center">
  28. <div className="media-body d-flex">
  29. <div>
  30. <h4 className="m-0">{data.pt.nama}</h4>
  31. <p>{data.description.substring(0, 25)}</p>
  32. </div>
  33. </div>
  34. </div>
  35. </td>
  36. <td>
  37. <div className="badge badge-info">{data.status}</div>
  38. </td>
  39. <td>{moment(data.createdAt).fromNow()}</td>
  40. <td>
  41. <div className="ml-auto">
  42. <Link
  43. href={{
  44. pathname: data.sanksi ? "/app/sanksi/detail" : "/app/sanksi/proses",
  45. query: { ptId: data.pt_id, number: data._number },
  46. }}
  47. >
  48. <Button color="primary" size="sm">
  49. {data.sanksi ? "Detail" : "Proses Sanksi"}
  50. </Button>
  51. </Link>
  52. </div>
  53. </td>
  54. </tr>
  55. );
  56. })}
  57. </tbody>
  58. </table>
  59. </Datatable>
  60. )}
  61. </div>
  62. </div>
  63. );
  64. }
  65. export default TableLaporan;