|  | @@ -1,5 +1,6 @@
 | 
	
		
			
				|  |  |  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";
 | 
	
	
		
			
				|  | @@ -10,6 +11,7 @@ import Ringkasan from "@/components/Sanksi/Ringkasan";
 | 
	
		
			
				|  |  |  import TablePenetapanSanksi from "@/components/Sanksi/TablePenetapanSanksi";
 | 
	
		
			
				|  |  |  import Link from "next/link";
 | 
	
		
			
				|  |  |  import { getPelaporan } from "@/actions/pelaporan";
 | 
	
		
			
				|  |  | +import { createSanksi } from "@/actions/sanksi";
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  const stepNavitemStyle = {
 | 
	
		
			
				|  |  |  	backgroundColor: "#fcfcfc",
 | 
	
	
		
			
				|  | @@ -20,7 +22,8 @@ class ProsesSanksi extends Component {
 | 
	
		
			
				|  |  |  		super(props);
 | 
	
		
			
				|  |  |  		this.state = {
 | 
	
		
			
				|  |  |  			activeStep: "1",
 | 
	
		
			
				|  |  | -			files: [],
 | 
	
		
			
				|  |  | +			checkedData: [],
 | 
	
		
			
				|  |  | +			dataUpload: null,
 | 
	
		
			
				|  |  |  		};
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -29,6 +32,27 @@ class ProsesSanksi extends Component {
 | 
	
		
			
				|  |  |  		return { query, pelaporan };
 | 
	
		
			
				|  |  |  	};
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +	done = async (e) => {
 | 
	
		
			
				|  |  | +		e.preventDefault();
 | 
	
		
			
				|  |  | +		const { ptId, number } = this.props.query;
 | 
	
		
			
				|  |  | +		const formdata = new FormData();
 | 
	
		
			
				|  |  | +		formdata.append("no_sanksi", this.state.dataUpload.nomorSanksi);
 | 
	
		
			
				|  |  | +		formdata.append("description", this.state.keteranganLaporan);
 | 
	
		
			
				|  |  | +		formdata.append("pelanggaran", this.state.checkedData.map((e) => e._id).join());
 | 
	
		
			
				|  |  | +		if (this.state.dataUpload.files.length > 0) {
 | 
	
		
			
				|  |  | +			this.state.dataUpload.files.forEach((e) => {
 | 
	
		
			
				|  |  | +				formdata.append("files", e);
 | 
	
		
			
				|  |  | +			});
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		const create = await createSanksi({ ptId, number }, formdata);
 | 
	
		
			
				|  |  | +		// console.log(create);
 | 
	
		
			
				|  |  | +		if (create) {
 | 
	
		
			
				|  |  | +			Router.push({
 | 
	
		
			
				|  |  | +				pathname: "/app/sanksi",
 | 
	
		
			
				|  |  | +			});
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +	};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  	toggleStep = (activeStep) => () => {
 | 
	
		
			
				|  |  |  		if (this.state.activeStep !== activeStep) {
 | 
	
		
			
				|  |  |  			this.setState({
 | 
	
	
		
			
				|  | @@ -37,8 +61,17 @@ class ProsesSanksi extends Component {
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  	};
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +	setCheckedData = (data) => {
 | 
	
		
			
				|  |  | +		this.setState({ checkedData: data });
 | 
	
		
			
				|  |  | +	};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	setUploadSuratSanksi = (data) => {
 | 
	
		
			
				|  |  | +		this.setState({ dataUpload: data });
 | 
	
		
			
				|  |  | +	};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  	render() {
 | 
	
		
			
				|  |  |  		const { pelaporan } = this.props;
 | 
	
		
			
				|  |  | +		const { checkedData } = this.state;
 | 
	
		
			
				|  |  |  		return (
 | 
	
		
			
				|  |  |  			<ContentWrapper unwrap>
 | 
	
		
			
				|  |  |  				<Header />
 | 
	
	
		
			
				|  | @@ -124,7 +157,6 @@ class ProsesSanksi extends Component {
 | 
	
		
			
				|  |  |  											</div>
 | 
	
		
			
				|  |  |  											<hr />
 | 
	
		
			
				|  |  |  											<div className="d-flex">
 | 
	
		
			
				|  |  | -												{/*<Button color="secondary">Previous</Button>*/}
 | 
	
		
			
				|  |  |  												<Button className="ml-auto" color="primary" onClick={this.toggleStep("2")}>
 | 
	
		
			
				|  |  |  													Next
 | 
	
		
			
				|  |  |  												</Button>
 | 
	
	
		
			
				|  | @@ -155,7 +187,7 @@ class ProsesSanksi extends Component {
 | 
	
		
			
				|  |  |  											<div className="pt-3 mb-3">
 | 
	
		
			
				|  |  |  												<fieldset>
 | 
	
		
			
				|  |  |  													<h2>Penetapan Sanksi</h2>
 | 
	
		
			
				|  |  | -													<TablePenetapanSanksi />
 | 
	
		
			
				|  |  | +													<TablePenetapanSanksi setCheckedData={this.setCheckedData} />
 | 
	
		
			
				|  |  |  												</fieldset>
 | 
	
		
			
				|  |  |  											</div>
 | 
	
		
			
				|  |  |  											<hr />
 | 
	
	
		
			
				|  | @@ -172,7 +204,7 @@ class ProsesSanksi extends Component {
 | 
	
		
			
				|  |  |  											<div className="pt-3 mb-3">
 | 
	
		
			
				|  |  |  												<fieldset>
 | 
	
		
			
				|  |  |  													<h2>Nomor Surat Keputusan Sanksi</h2>
 | 
	
		
			
				|  |  | -													<UploadSurat />
 | 
	
		
			
				|  |  | +													<UploadSurat setUploadSuratSanksi={this.setUploadSuratSanksi} />
 | 
	
		
			
				|  |  |  												</fieldset>
 | 
	
		
			
				|  |  |  											</div>
 | 
	
		
			
				|  |  |  											<hr />
 | 
	
	
		
			
				|  | @@ -189,7 +221,7 @@ class ProsesSanksi extends Component {
 | 
	
		
			
				|  |  |  											<div className="pt-3 mb-3">
 | 
	
		
			
				|  |  |  												<fieldset>
 | 
	
		
			
				|  |  |  													<h2>Ringkasan</h2>
 | 
	
		
			
				|  |  | -													<Ringkasan />
 | 
	
		
			
				|  |  | +													<Ringkasan dataLaporan={pelaporan.data[0]} dataSanksi={this.state.checkedData} dataUpload={this.state.dataUpload} />
 | 
	
		
			
				|  |  |  												</fieldset>
 | 
	
		
			
				|  |  |  											</div>
 | 
	
		
			
				|  |  |  											<hr />
 |