|
@@ -1,5 +1,6 @@
|
|
|
import React, { Component } from "react";
|
|
import React, { Component } from "react";
|
|
|
import { Card, CardBody, TabContent, TabPane, Nav, NavItem, NavLink, Button, Row, Col } from "reactstrap";
|
|
import { Card, CardBody, TabContent, TabPane, Nav, NavItem, NavLink, Button, Row, Col } from "reactstrap";
|
|
|
|
|
+import Router from "next/router";
|
|
|
import classnames from "classnames";
|
|
import classnames from "classnames";
|
|
|
import ContentWrapper from "@/components/Layout/ContentWrapper";
|
|
import ContentWrapper from "@/components/Layout/ContentWrapper";
|
|
|
import DetailLaporan from "@/components/Main/DetailLaporan";
|
|
import DetailLaporan from "@/components/Main/DetailLaporan";
|
|
@@ -10,6 +11,7 @@ import Ringkasan from "@/components/Sanksi/Ringkasan";
|
|
|
import TablePenetapanSanksi from "@/components/Sanksi/TablePenetapanSanksi";
|
|
import TablePenetapanSanksi from "@/components/Sanksi/TablePenetapanSanksi";
|
|
|
import Link from "next/link";
|
|
import Link from "next/link";
|
|
|
import { getPelaporan } from "@/actions/pelaporan";
|
|
import { getPelaporan } from "@/actions/pelaporan";
|
|
|
|
|
+import { createSanksi } from "@/actions/sanksi";
|
|
|
|
|
|
|
|
const stepNavitemStyle = {
|
|
const stepNavitemStyle = {
|
|
|
backgroundColor: "#fcfcfc",
|
|
backgroundColor: "#fcfcfc",
|
|
@@ -20,7 +22,8 @@ class ProsesSanksi extends Component {
|
|
|
super(props);
|
|
super(props);
|
|
|
this.state = {
|
|
this.state = {
|
|
|
activeStep: "1",
|
|
activeStep: "1",
|
|
|
- files: [],
|
|
|
|
|
|
|
+ checkedData: [],
|
|
|
|
|
+ dataUpload: null,
|
|
|
};
|
|
};
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -29,6 +32,27 @@ class ProsesSanksi extends Component {
|
|
|
return { query, pelaporan };
|
|
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) => () => {
|
|
toggleStep = (activeStep) => () => {
|
|
|
if (this.state.activeStep !== activeStep) {
|
|
if (this.state.activeStep !== activeStep) {
|
|
|
this.setState({
|
|
this.setState({
|
|
@@ -37,8 +61,17 @@ class ProsesSanksi extends Component {
|
|
|
}
|
|
}
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
|
|
+ setCheckedData = (data) => {
|
|
|
|
|
+ this.setState({ checkedData: data });
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ setUploadSuratSanksi = (data) => {
|
|
|
|
|
+ this.setState({ dataUpload: data });
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
render() {
|
|
render() {
|
|
|
const { pelaporan } = this.props;
|
|
const { pelaporan } = this.props;
|
|
|
|
|
+ const { checkedData } = this.state;
|
|
|
return (
|
|
return (
|
|
|
<ContentWrapper unwrap>
|
|
<ContentWrapper unwrap>
|
|
|
<Header />
|
|
<Header />
|
|
@@ -124,7 +157,6 @@ class ProsesSanksi extends Component {
|
|
|
</div>
|
|
</div>
|
|
|
<hr />
|
|
<hr />
|
|
|
<div className="d-flex">
|
|
<div className="d-flex">
|
|
|
- {/*<Button color="secondary">Previous</Button>*/}
|
|
|
|
|
<Button className="ml-auto" color="primary" onClick={this.toggleStep("2")}>
|
|
<Button className="ml-auto" color="primary" onClick={this.toggleStep("2")}>
|
|
|
Next
|
|
Next
|
|
|
</Button>
|
|
</Button>
|
|
@@ -155,7 +187,7 @@ class ProsesSanksi extends Component {
|
|
|
<div className="pt-3 mb-3">
|
|
<div className="pt-3 mb-3">
|
|
|
<fieldset>
|
|
<fieldset>
|
|
|
<h2>Penetapan Sanksi</h2>
|
|
<h2>Penetapan Sanksi</h2>
|
|
|
- <TablePenetapanSanksi />
|
|
|
|
|
|
|
+ <TablePenetapanSanksi setCheckedData={this.setCheckedData} />
|
|
|
</fieldset>
|
|
</fieldset>
|
|
|
</div>
|
|
</div>
|
|
|
<hr />
|
|
<hr />
|
|
@@ -172,7 +204,7 @@ class ProsesSanksi extends Component {
|
|
|
<div className="pt-3 mb-3">
|
|
<div className="pt-3 mb-3">
|
|
|
<fieldset>
|
|
<fieldset>
|
|
|
<h2>Nomor Surat Keputusan Sanksi</h2>
|
|
<h2>Nomor Surat Keputusan Sanksi</h2>
|
|
|
- <UploadSurat />
|
|
|
|
|
|
|
+ <UploadSurat setUploadSuratSanksi={this.setUploadSuratSanksi} />
|
|
|
</fieldset>
|
|
</fieldset>
|
|
|
</div>
|
|
</div>
|
|
|
<hr />
|
|
<hr />
|
|
@@ -189,7 +221,7 @@ class ProsesSanksi extends Component {
|
|
|
<div className="pt-3 mb-3">
|
|
<div className="pt-3 mb-3">
|
|
|
<fieldset>
|
|
<fieldset>
|
|
|
<h2>Ringkasan</h2>
|
|
<h2>Ringkasan</h2>
|
|
|
- <Ringkasan />
|
|
|
|
|
|
|
+ <Ringkasan dataLaporan={pelaporan.data[0]} dataSanksi={this.state.checkedData} dataUpload={this.state.dataUpload} />
|
|
|
</fieldset>
|
|
</fieldset>
|
|
|
</div>
|
|
</div>
|
|
|
<hr />
|
|
<hr />
|