DetailSanksi.js 3.0 KB

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