import React, { useRef, Component } from 'react'; import { useReactToPrint } from "react-to-print"; import { Row, Col, Button, Popover, PopoverHeader, PopoverBody, } from "reactstrap"; import Head from 'next/head' import SignatureCanvas from 'react-signature-canvas' import ComponentToPrint from "./SuratBA"; import ReactToPrint, { PrintContextConsumer } from 'react-to-print'; import { getOneLaporan, updateLaporan } from "@/actions/pelaporan"; import DatePicker from "react-datepicker"; import "react-datepicker/dist/react-datepicker.css"; import id from 'date-fns/locale/id'; import CopyToClipboard from "react-copy-to-clipboard"; import { getAutoSave } from "@/actions/autosave"; import ContentEditable from 'react-contenteditable' class BeritaAcara extends Component { constructor(props) { super(props); this.state = { isEditTempat: false, tempat: [Mohon Diisi], isEditTanggal: false, tanggal: "", setTanggal: false, isEditNamaPeserta: false, isEditTemuanLain: false, temuanLain: [], memberatkan: [], isEditKeberatan: false, isEditMeringankan: false, meringankan: [], sanksi: "[Mohon Diisi]", isEditSanksi: false, copied: false, setmeState: true, descPelanggaran: [], }; } 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()) } 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); } render() { const { dataLaporan, dataSuratBA, dataPelanggaran } = this.props const { descPelanggaran, tanggal, setTanggal } = this.state return (
{ return }} content={() => this.componentRef} />
(this.componentRef = el)} query={this.props.query} dataPelanggaran={this.props.dataPelanggaran} dataSuratBA={this.props.dataSuratBA} />
logo

LAPORAN HASIL EVALUASI DAN PEMBAHASAN

{dataLaporan.data && (

{dataLaporan.data.pt.nama}

)}

Pada hari ini {dataSuratBA?.isEditTanggal && { this.setState({ tanggal, setTanggal: true }, this.setDataSuratBA) }} dateFormat="dd/MM/yyyy" placeholderText="Isi Tanggal" locale={id} className="form-control bg-white" />

Berdasarkan rapat evaluasi dan pembahasan dugaan pelanggaran penyelenggaraan oleh perguruan tinggi dan/atau badan penyelenggara {dataLaporan.data && ({dataLaporan.data.pt.nama})}, disampaikan sebagai berikut:

  1. Telah dibacakan Berita Acara Evaluasi Kinerja Perguruan Tinggi {dataLaporan.data && ({dataLaporan.data.pt.nama})}, tanggal {setTanggal === true || this.state?.setTanggal === true ?  {moment(tanggal || this.state?.tanggal).format("DD-MM-YYYY")} :  .......   }
  2. Telah dilakukan pembahasan rekomendasi mengenai fakta-fakta yang ditemukan Tim EKPT Ditjen Diktiristek, dengan temuan sebagai berikut:
  3. {dataPelanggaran?.data?.map((e, i) => ( {dataLaporan.data && ()} ))}
    NO NAMA DAN IZIN PRODI PELANGGARAN TERHADAP PERMENDIKBUD NO.7 TAHUN 2020 SIMPULAN REKOMENDASI
    PASAL BUTIR PELANGGARAN DESKRIPSI PELANGGARAN
    {++i}{dataLaporan.data.pt.nama}{e.pasal} {e.butir_pelanggaran} {e.pelanggaran} { this.updateValueSimpulan(evt, e._id), this.setDataSuratBA() }} /> { this.updateValueRekomendasi(evt, e._id), this.setDataSuratBA() }} />
  4. Temuan Lain: {this.props.dataSuratBA?.isEditTemuanLain ? }
      {dataSuratBA?.temuanLain?.map((value) =>
    1. {value}
    2. ) || this.state?.temuanLain?.map((value) =>
    3. {value}
    4. )}
  5. Hal-hal yang memberatkan, sebagai berikut: {this.props.dataSuratBA?.isEditKeberatan ? }
      {dataSuratBA?.memberatkan?.map((value) =>
    1. {value}
    2. ) || this.state?.memberatkan?.map((value) =>
    3. {value}
    4. )}
  6. hal-hal yang meringankan, sebagai berikut: {this.props.dataSuratBA?.isEditMeringankan ? }
      {dataSuratBA?.meringankan?.map((value) =>
    1. {value}
    2. ) || this.state?.meringankan?.map((value) =>
    3. {value}
    4. )}
  7. Berdasarkan pembahasan yang dilakukan, disepakati untuk merekomendasikan “Sanksi Administratif berupa {dataSuratBA?.isEditSanksi && { this.setState({ sanksi: this.refs.inputsanksi.value }, this.setDataSuratBA) }} />

Demikian Laporan Evaluasi dan Pembahasan ini dibuat dengan sesungguhnya dan telah dibaca dan dicermati oleh peserta rapat yang hadir.

Link Berhasil Disalin

{/* {dataLaporan ? dataLaporan.data?.peserta_penetapan_sanksi?.map((value, index) => ( )) : ""}
PESERTA RAPAT PENYUSUNAN REKOMENDASI
No Nama Tanda Tangan
{index + 1} {value.nama}
*/} {/*
PESERTA RAPAT PENYUSUNAN REKOMENDASI
{dataLaporan ? dataLaporan.data?.peserta_penetapan_sanksi?.map((value) => (
{value.nama}
)) : ""}
*/}
PESERTA RAPAT PENYUSUNAN REKOMENDASI
{dataLaporan ? dataLaporan.data?.peserta_penetapan_sanksi?.map((value) => (
{value.nama}
)) : ""}
); } } export default BeritaAcara