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