import React, { Component } from "react"; import { Card, CardBody, TabContent, TabPane, Nav, NavItem, NavLink, Button, Row, Col } from "reactstrap"; import Router from "next/router"; import classnames from "classnames"; import ContentWrapper from "@/components/Layout/ContentWrapper"; import DetailLaporan from "@/components/Main/DetailLaporan"; import Header from "@/components/Main/Header"; import TableRiwayat from "@/components/Pemeriksaan/TableRiwayat"; import UploadSurat from "@/components/Sanksi/UploadSurat"; import Ringkasan from "@/components/Sanksi/Ringkasan"; import TablePenetapanSanksi from "@/components/Sanksi/TablePenetapanSanksi"; import Link from "next/link"; import { getOneLaporan } from "@/actions/pelaporan"; import { createSanksi } from "@/actions/sanksi"; import { getPelanggaran } from "@/actions/pelanggaran"; import { connect } from "react-redux"; import Loader from "@/components/Common/Loader"; import { ToastContainer, toast } from "react-toastify"; const stepNavitemStyle = { backgroundColor: "#fcfcfc", }; class ProsesSanksi extends Component { dataUpload = {}; constructor(props) { super(props); this.state = { activeStep: "1", dataUpload: null, dataPelanggaran: {}, pelaporan: {}, }; } static getInitialProps = async ({ query }) => { return { query }; }; componentDidMount = async () => { const { query, token } = this.props; const { id } = query; const pelaporan = await getOneLaporan(token, id); this.setState({ pelaporan }); }; done = async (e) => { const toastid = toast.loading("Please wait..."); try { e.preventDefault(); const { query, token } = this.props; const { id } = query; const formdata = new FormData(); formdata.append("no_sanksi", this.state.dataUpload.nomorSanksi); formdata.append("keterangan", this.state.dataUpload.keterangan); formdata.append("pelanggaran_id", this.state.dataPelanggaran.data.map((e) => e._id).join()); if (this.state.dataUpload.files.length > 0) { this.state.dataUpload.files.forEach((e) => { formdata.append("dokumen", e); }); } await createSanksi(token, id, formdata); toast.update(toastid, { render: "All is good", type: "success", isLoading: false, autoClose: true, closeButton: true }); Router.push({ pathname: "/app/sanksi", }); } catch (error) { toast.update(toastid, { render: "All is not good", type: "error", isLoading: false, autoClose: true, closeButton: true }); } }; toggleStep = (activeStep) => () => { if (this.state.activeStep !== activeStep) { this.setState({ activeStep, }); } }; setCheckedData = async (data) => { const { token } = this.props; const result = await getPelanggaran(token, { id: data.join(",") }); this.setState({ dataPelanggaran: result }); }; setUploadSuratSanksi = (data) => { this.setState({ dataUpload: data }); }; render() { const { dataUpload, dataPelanggaran, pelaporan } = this.state; return ( {/*
*/}
Penetapan Sanksi

Detail Laporan

{pelaporan.data ? : }

Hasil Evaluasi

{pelaporan.data ? ( ) : ( )}

Penetapan Sanksi


Nomor Surat Keputusan Sanksi


Ringkasan

{pelaporan.data ? : }

); } } const mapStateToProps = (state) => ({ user: state.user, token: state.token }); export default connect(mapStateToProps)(ProsesSanksi);