detail.js 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. import React, { Component } from "react";
  2. import ContentWrapper from "@/components/Layout/ContentWrapper";
  3. import { getSanksi } from "@/actions/sanksi";
  4. import Header from "@/components/Main/Header";
  5. import DetailPT from "@/components/Main/DetailPT";
  6. import DetailSanksi from "@/components/Main/DetailSanksi";
  7. import DetailJawaban from "@/components/PT/JawabanKeberatan/DetailJawaban";
  8. import ModalPermohonan from "@/components/PT/JawabanKeberatan/ModalPermohonan";
  9. import Riwayat from "@/components/PT/JawabanKeberatan/Riwayat";
  10. import Link from "next/link";
  11. import { Row, Col, Card, CardBody, Button } from "reactstrap";
  12. class JawabanKeberatan extends Component {
  13. constructor(props) {
  14. super(props);
  15. this.state = {
  16. modal: false,
  17. };
  18. }
  19. static async getInitialProps({ query }) {
  20. const { noSanksi } = query;
  21. const sanksi = await getSanksi({ noSanksi, ptId: "0BCE4DB7-B207-445D-8D03-0C54B7688252" });
  22. return { query, sanksi };
  23. }
  24. toggleModal = (value = true) => {
  25. if (!value) {
  26. this.setState({ modal: false });
  27. } else {
  28. this.setState({ modal: !this.state.modal });
  29. }
  30. };
  31. render() {
  32. const { sanksi } = this.props;
  33. return (
  34. <ContentWrapper unwrap>
  35. <ModalPermohonan toggleModal={this.toggleModal} modal={this.state.modal} query={this.props.query} />
  36. <Header />
  37. <div className="p-3">
  38. <div className="content-heading">
  39. <div>Jawaban Atas Permohonan Keberatan</div>
  40. <div className="ml-auto">
  41. <Link href="/app/pt/jawaban-keberatan">
  42. <button className="btn btn-sm btn-secondary text-sm">&lt; back</button>
  43. </Link>
  44. </div>
  45. </div>
  46. <Row>
  47. <Col xl="9">
  48. <Card className="card-default">
  49. <CardBody>
  50. <Row>
  51. <Col lg={6}>
  52. <DetailSanksi data={sanksi.data[0]} />
  53. </Col>
  54. <Col lg={6}>
  55. <DetailJawaban data={sanksi.data[0]} />
  56. <p>
  57. Setelah membaca jawaban permohonan keberatan atas pengenaan sanksi, jika Perguruan Tinggi bermaksud mengajukan permohonan banding kepada atasan pemberi sanksi maka dapat menekan tombol di
  58. bawah ini (10 Hari Kerja)
  59. </p>
  60. <Button color="primary" onClick={this.toggleModal}>
  61. Ajukan Banding
  62. </Button>
  63. </Col>
  64. </Row>
  65. </CardBody>
  66. </Card>
  67. </Col>
  68. <Col xl="3">
  69. <DetailPT />
  70. </Col>
  71. </Row>
  72. <Row>
  73. <Col>
  74. <Riwayat data={sanksi.data[0]} />
  75. </Col>
  76. </Row>
  77. </div>
  78. </ContentWrapper>
  79. );
  80. }
  81. }
  82. export default JawabanKeberatan;