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 (
Apakah anda ingin menghapus peserta pleno?
{this.props.role === 2024 ? : { return }} content={() => this.componentRef} /> }
(this.componentRef = el)} query={this.props.query} dataPelanggaran={this.props.dataPelanggaran} dataSuratBA={this.props.dataSuratBA} />
logo

LAPORAN HASIL RAPAT PLENO PEMBAHASAN BERITA ACARA EKPT

{dataLaporan.data && (

{dataLaporan.data.pt.nama}

)}

Pada hari ini {dataSuratBA?.isEditTanggal && { this.setState({ tanggal, setTanggal: true }, this.setDataSuratBA) }} closeOnSelect={true} /> }

    { // dataSuratBA?.temuanLain?.map((value, index) => //
  1. // {value} //
  2. ) || this.state?.temuanLain?.map((value, index) =>
  3. {value}
  4. )}
  • Hal-hal yang memberatkan, sebagai berikut: {this.props.dataSuratBA?.isEditKeberatan ? }
      { // dataSuratBA?.memberatkan?.map((value) => //
    1. // {value} //
    2. ) // || this.state?.memberatkan?.map((value, index) =>
    3. {value}
    4. )}
  • hal-hal yang meringankan, sebagai berikut: {this.props.dataSuratBA?.isEditMeringankan ? }
      { // dataSuratBA?.meringankan?.map((value) => //
    1. // {value} //
    2. ) // || this.state?.meringankan?.map((value, index) =>
    3. {value}
    4. )}
  • 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.

    {ENV === "local" &&
    Link Berhasil Disalin
    } {ENV === "production" &&
    Link Berhasil Disalin
    } {ENV === "development" &&
    Link Berhasil Disalin
    }
    PESERTA RAPAT PENYUSUNAN REKOMENDASI
    {dataLaporan ? dataLaporan.data?.peserta_penetapan_sanksi?.map((value) => (
    {value.nama}
    )) : ""}
    ); } } // const mapStateToProps = (state) => ({ user: state.user, token: state.token }); // export default connect(mapStateToProps)(BeritaAcara) export default BeritaAcara