import React, { useRef, Component } from 'react'; import { Row, Col, Button, Popover, PopoverHeader, PopoverBody, Card, CardBody, Modal, ModalBody, ModalFooter } from "reactstrap"; import ComponentToPrint from "./SuratBA_A"; import ReactToPrint, { PrintContextConsumer } from 'react-to-print'; import id from 'date-fns/locale/id'; import CopyToClipboard from "react-copy-to-clipboard"; import { getAutoSave } from "@/actions/autosave"; import ContentEditable from 'react-contenteditable' import { removePesertaPleno } from '../../actions/sanksi'; import { ToastContainer, toast } from "react-toastify"; import Router from "next/router"; import { getCsrf } from '../../actions/security'; import { ENV } from '../../env'; import Swal from 'sweetalert2'; import Datetime from "react-datetime"; class BeritaAcara extends Component { constructor(props) { super(props); this.state = { isEditTempat: false, tempat: "", isEditTanggal: false, isEditTanggal_2: false, tanggal: "", tanggal_2: "", setTanggal: false, setTanggal_2: false, isEditNamaPeserta: false, isEditTemuanLain: false, temuanLain: [], memberatkan: [], isEditKeberatan: false, isEditMeringankan: false, meringankan: [], sanksi: "", isEditSanksi: false, copied: false, setmeState: true, descPelanggaran: [], modalRemovePeserta: false, selectedPeserta: "", }; } static getInitialProps = async ({ query }) => { return { query }; }; componentDidMount = async () => { const { query, token, dataPelanggaran } = this.props; const { id } = query; const getDataSave = await getAutoSave({ id, laporan: true }); const autosaveDataSuratBA = getDataSave.data?.PenetapanSanksi?.dataSuratBA; this.setState(autosaveDataSuratBA) }; componentDidUpdate = (prevProps) => { const { dataPelanggaran } = this.state; if (prevProps.dataPelanggaran != this.state.dataPelanggaran) { const descPelanggaran = {} dataPelanggaran?.forEach(e => { descPelanggaran[e._id] = { simpulan: 'simpulan', rekomendasi: 'rekomendasi' } }); } } updateValueSimpulan = (evt, id) => { const descPelanggaran = this.state.descPelanggaran this.state.descPelanggaran = { ...descPelanggaran, [id]: { ...descPelanggaran[id], simpulan: evt.target.value } } this.handleAutoSave() // this.setState((prevState) => ({ // ...prevState, descPelanggaran: { // ...prevState.descPelanggaran, [id]: { // ...prevState.descPelanggaran[id], simpulan: evt.target.value // } // } // }), this.handleAutoSave) } updateValueRekomendasi = (evt, id) => { const descPelanggaran = this.state.descPelanggaran this.state.descPelanggaran = { ...descPelanggaran, [id]: { ...descPelanggaran[id], rekomendasi: evt.target.value } } this.handleAutoSave() // this.setState((prevState) => ({ // ...prevState, descPelanggaran: { // ...prevState.descPelanggaran, [id]: { // ...prevState.descPelanggaran[id], rekomendasi: evt.target.value // } // } // }), this.handleAutoSave) } setDataSuratBA = () => { this.props.setDataSuratBA(this.state); } handleAutoSave = () => { this.props.handleAutoSave() } isEditTempat = () => { this.state.isEditTempat = !this.state.isEditTempat this.setDataSuratBA() this.handleAutoSave() // this.setState({ // isEditTempat: !this.state.isEditTempat, // }, this.setDataSuratBA, this.handleAutoSave()) } isEditTanggal = () => { this.state.isEditTanggal = !this.state.isEditTanggal this.setDataSuratBA() this.handleAutoSave() // this.setState({ // isEditTanggal: !this.state.isEditTanggal, // }, this.setDataSuratBA, this.handleAutoSave()) } isEditTanggal_2 = () => { this.state.isEditTanggal_2 = !this.state.isEditTanggal_2 this.setDataSuratBA() this.handleAutoSave() // this.setState({ // isEditTanggal: !this.state.isEditTanggal, // }, this.setDataSuratBA, this.handleAutoSave()) } isEditTemuanLain = () => { this.state.isEditTemuanLain = !this.state.isEditTemuanLain this.setDataSuratBA() this.handleAutoSave() // this.setState({ // isEditTemuanLain: !this.state.isEditTemuanLain, // }, this.setDataSuratBA, this.handleAutoSave()) } isEditKeberatan = () => { this.state.isEditKeberatan = !this.state.isEditKeberatan this.setDataSuratBA() this.handleAutoSave() // this.setState({ // isEditKeberatan: !this.state.isEditKeberatan, // }, this.setDataSuratBA, this.handleAutoSave()) } isEditMeringankan = () => { this.state.isEditMeringankan = !this.state.isEditMeringankan this.setDataSuratBA() this.handleAutoSave() // this.setState({ // isEditMeringankan: !this.state.isEditMeringankan, // }, this.setDataSuratBA, this.handleAutoSave()) } isEditSanksi = () => { this.state.isEditSanksi = !this.state.isEditSanksi this.setDataSuratBA() this.handleAutoSave() // this.setState({ // isEditSanksi: !this.state.isEditSanksi, // }, this.setDataSuratBA, this.handleAutoSave()) } updateValueTemuanLain = () => { const addTemuanLain = this.refs.inputTemuan.value this.state.temuanLain.push(addTemuanLain) this.setDataSuratBA(this.state) // this.handleAutoSave() } updateValueMemringankan = () => { const addMeringankan = this.refs.inputMeringankan.value this.state.meringankan.push(addMeringankan) this.setDataSuratBA(this.state) // this.handleAutoSave() } updateValueMemberatkan = () => { const addKeberatan = this.refs.inputMemberatkan.value this.state.memberatkan.push(addKeberatan) this.setDataSuratBA(this.state) // this.handleAutoSave() } Copied = () => this.setState({ copied: !this.state.copied }, this.handleAutoSave()) CloseCopied = () => { setTimeout(() => { // this.state.copied = !this.state.copied this.setState({ copied: !this.state.copied }, this.handleAutoSave()); }, 1000); } setModalRemovePeserta = (modalRemovePeserta) => { this.setState({ modalRemovePeserta: !this.state.modalRemovePeserta }) } removeTemuanLain = index => () => { const temuanLain = this.state.temuanLain const data = [...temuanLain] data.splice(index, 1); this.setState({ temuanLain: data, }, this.setDataSuratBA() ); } removeMemberatkan = index => () => { const memberatkan = this.state.memberatkan const data = [...memberatkan] data.splice(index, 1); this.setState({ memberatkan: data, }, this.setDataSuratBA() ); } removeMeringankan = index => () => { const meringankan = this.state.meringankan const data = [...meringankan] data.splice(index, 1); this.setState({ meringankan: data, }, this.setDataSuratBA() ); } handleOpenAlert = () => { Swal.fire({ icon: 'error', title: 'Oops...', html: 'Maaf anda tidak memiliki akses untuk menyelesaikan
proses ini.
', confirmButtonColor: "#3e3a8e", confirmButtonText: 'Oke' }) }; render() { const { dataLaporan, dataSuratBA, dataPelanggaran } = this.props const { descPelanggaran, tanggal, setTanggal, setTanggal_2, tanggal_2, temuanLain } = this.state return (
Pada hari ini
{dataSuratBA?.isEditTanggal &&
Berdasarkan rapat evaluasi dan pembahasan dugaan pelanggaran penyelenggaraan oleh perguruan tinggi dan/atau badan penyelenggara {dataLaporan.data && ({dataLaporan.data.pt.nama})}, disampaikan sebagai berikut:
| NO | NAMA DAN IZIN PRODI | PELANGGARAN TERHADAP PERMENDIKBUD NO.7 TAHUN 2020 | SIMPULAN | REKOMENDASI | ||
|---|---|---|---|---|---|---|
| PASAL | BUTIR PELANGGARAN | DESKRIPSI PELANGGARAN | ||||
| {++i} | {dataLaporan.data && ({dataLaporan.data.pt.nama} | )}{e.pasal} | {e.butir_pelanggaran} | {e.pelanggaran} |
|
{`Sanksi Administratif berupa ${dataSuratBA?.sanksi || this.state.sanksi}` || ""} |
Demikian Laporan Evaluasi dan Pembahasan ini dibuat dengan sesungguhnya dan telah dibaca dan dicermati oleh peserta rapat yang hadir.
{ENV === "local" &&