import React, { useRef, Component } from 'react'; import { useReactToPrint } from "react-to-print"; import { Row, Col, Button } 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'; class BeritaAcara extends Component { constructor(props) { super(props); this.state = { isEditTempat: false, tempat: "[Mohon Diisi]", isEditTanggal: false, tanggal: "", setTanggal: false, namaPeserta: [], isEditNamaPeserta: false, simpulan: "", rekomendasi: "", isEditTemuanLain: false, temuanLain: [], memberatkan: [], isEditKeberatan: false, isEditMeringankan: false, meringankan: [], sanksi: "[Mohon Diisi]", isEditSanksi: false, signature: [], peserta: [{ nama: "", signature: "", }] }; } static getInitialProps = async ({ query }) => { return { query }; }; setDataSuratBA = () => { this.props.setDataSuratBA(this.state); } handleAutoSave = () => { this.props.handleAutoSave() } isEditTempat = () => { this.setState({ isEditTempat: !this.state.isEditTempat, }) this.handleAutoSave() } isEditTanggal = () => { this.setState({ isEditTanggal: !this.state.isEditTanggal, }) this.handleAutoSave() } isEditNamaPeserta = () => { this.setState({ isEditNamaPeserta: !this.state.isEditNamaPeserta, }) this.handleAutoSave() } isEditTemuanLain = () => { this.setState({ isEditTemuanLain: !this.state.isEditTemuanLain, }) this.handleAutoSave() } isEditKeberatan = () => { this.setState({ isEditKeberatan: !this.state.isEditKeberatan, }) this.handleAutoSave() } isEditMeringankan = () => { this.setState({ isEditMeringankan: !this.state.isEditMeringankan, }) } isEditSanksi = () => { this.setState({ isEditSanksi: !this.state.isEditSanksi, }) this.handleAutoSave() } updateValueTempat = () => { this.setState({ isEditTempat: false, tempat: this.refs.inputTempat.value }, this.setDataSuratBA) this.handleAutoSave() } updateValueNamaPeserta = () => { const addNamaPeserta = this.refs.inputNamaPeserta.value this.setState({ namaPeserta: [...this.state.namaPeserta, addNamaPeserta] }, this.setDataSuratBA) this.handleAutoSave() } updateValueTemuanLain = () => { const addTemuanLain = this.refs.inputTemuan.value this.setState({ temuanLain: [...this.state.temuanLain, addTemuanLain] }, this.setDataSuratBA) this.handleAutoSave() } updateValueMemringankan = () => { const addMeringankan = this.refs.inputMeringankan.value this.setState({ meringankan: [...this.state.meringankan, addMeringankan] }, this.setDataSuratBA) this.handleAutoSave() } updateValueMemberatkan = () => { const addKeberatan = this.refs.inputMemberatkan.value this.setState({ memberatkan: [...this.state.memberatkan, addKeberatan] }, this.setDataSuratBA) this.handleAutoSave() } updateValueSanksi = () => { this.setState({ isEditSanksi: false, sanksi: this.refs.inputSanksi.value }, this.setDataSuratBA) this.handleAutoSave() } sigPad = [] clear = () => { this.sigPad.clear() } updateValueSignature = () => { const addsig = this.sigPad.getTrimmedCanvas().toDataURL('image/png') this.setState({ signature: [...this.state.signature, addsig] }, this.setDataSuratBA) } render() { const { dataPelanggaran, dataLaporan } = this.props const { isEditTempat, tempat, isEditTanggal, tanggal, setTanggal, namaPeserta, isEditNamaPeserta, simpulan, isEditTemuanLain, temuanLain, memberatkan, isEditKeberatan, isEditMeringankan, meringankan, sanksi, isEditSanksi, trimmedDataURL, signature } = this.state return (
{ // NOTE: could just as easily return . Do NOT pass an `onClick` prop // to the root node of the returned component as it will be overwritten. 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 {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 ?  {moment(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 ? dataPelanggaran.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} [Mohon Diisi] [Mohon Diisi]
  4. Temuan Lain: {isEditTemuanLain ? }
      {temuanLain.map((value) =>
    1. {value}
    2. )}
  5. Hal-hal yang memberatkan, sebagai berikut: {isEditKeberatan ? }
      {memberatkan.map((value) =>
    1. {value}
    2. )}
  6. hal-hal yang meringankan, sebagai berikut: {isEditMeringankan ? }
      {meringankan.map((value) =>
    1. {value}
    2. )}
  7. Berdasarkan pembahasan yang dilakukan, disepakati untuk merekomendasikan “Sanksi Administratif berupa {isEditSanksi ?

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

{dataLaporan ? dataLaporan.data?.peserta_penetapan_sanksi?.map((value) => ( )) : ""}
PESERTA RAPAT PENYUSUNAN REKOMENDASI
{value.nama}
); } } export default BeritaAcara