DetailSanksi.js 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. import Scrollable from "@/components/Common/Scrollable";
  2. import moment from "moment";
  3. import { Col, FormGroup, Table } from "reactstrap";
  4. function DetailSanksi({ data, noTitle = false }) {
  5. return (
  6. <>
  7. {noTitle ? "" : <p className="lead bb">Detail Sanksi</p>}
  8. <form className="form-horizontal">
  9. <FormGroup row>
  10. <Col md={12}>
  11. <div className="card b">
  12. <div className="card-body bb">
  13. <Table responsive>
  14. <thead>
  15. <tr>
  16. <th>Jenis Pelanggaran</th>
  17. <th>Sanksi</th>
  18. </tr>
  19. </thead>
  20. <tbody>
  21. {data.sanksi.pelanggaran.map((jp, index) => (
  22. <tr key={jp._id}>
  23. <td>
  24. <div className="media align-items-center">
  25. <div className="media-body d-flex">
  26. <div>
  27. <p>{jp.pelanggaran}</p>
  28. <p>TMT : {jp.tmt_bulan} Bulan</p>
  29. <p>Level Pelanggaran : {jp.label_sanksi}</p>
  30. </div>
  31. </div>
  32. </div>
  33. </td>
  34. <td>
  35. <div className="media align-items-center">
  36. <div className="media-body d-flex">
  37. <div>
  38. <p>{jp.sanksi}</p>
  39. <p>Keterangan : {jp.keterangan_sanksi}</p>
  40. </div>
  41. </div>
  42. </div>
  43. </td>
  44. </tr>
  45. ))}
  46. </tbody>
  47. </Table>
  48. </div>
  49. </div>
  50. </Col>
  51. </FormGroup>
  52. <FormGroup row>
  53. <Col md="4">Nomor Sanksi:</Col>
  54. <Col md="8">
  55. <strong>{data.sanksi.no_sanksi}</strong>
  56. </Col>
  57. </FormGroup>
  58. <FormGroup row>
  59. <Col md="4">Nama Perguruan Tinggi:</Col>
  60. <Col md="8">
  61. <strong>Universitas Satyagama</strong>
  62. </Col>
  63. </FormGroup>
  64. <FormGroup row>
  65. <Col md="4">Keterangan:</Col>
  66. <Col md="8">
  67. <Scrollable height="100px" className="list-group">
  68. <p>{data.sanksi.description}</p>
  69. </Scrollable>
  70. </Col>
  71. </FormGroup>
  72. <FormGroup row>
  73. <Col md="4">Dibuat Pada:</Col>
  74. <Col md="8">
  75. <strong>{moment(data.sanksi.createdAt).format("D MMMM YYYY")}</strong>
  76. </Col>
  77. </FormGroup>
  78. <FormGroup row>
  79. <Col md="4">Dokumen Sanksi:</Col>
  80. <Col md="8">
  81. <Scrollable height="120px" className="list-group">
  82. <table className="table table-bordered bg-transparent">
  83. <tbody>
  84. {data.sanksi.files.map((e) => (
  85. <tr>
  86. <td>
  87. <em className="fa-lg far fa-file-code"></em>
  88. </td>
  89. <td>
  90. <a className="text-muted" href={`data:${e.type};base64, ${Buffer.from(e.data).toString("base64")}`} download={e.name}>
  91. {e.name}
  92. </a>
  93. </td>
  94. </tr>
  95. ))}
  96. </tbody>
  97. </table>
  98. </Scrollable>
  99. </Col>
  100. </FormGroup>
  101. </form>
  102. </>
  103. );
  104. }
  105. export default DetailSanksi;