|
@@ -10,9 +10,9 @@ import UploadSurat from "@/components/Sanksi/UploadSurat";
|
|
|
import Ringkasan from "@/components/Sanksi/Ringkasan";
|
|
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 { getOneLaporan } from "@/actions/pelaporan";
|
|
|
import { createSanksi } from "@/actions/sanksi";
|
|
import { createSanksi } from "@/actions/sanksi";
|
|
|
-import { getPelanggaranId } from "@/actions/pelanggaran";
|
|
|
|
|
|
|
+import { getPelanggaran } from "@/actions/pelanggaran";
|
|
|
import { connect } from "react-redux";
|
|
import { connect } from "react-redux";
|
|
|
import Loader from "@/components/Common/Loader";
|
|
import Loader from "@/components/Common/Loader";
|
|
|
import { ToastContainer, toast } from "react-toastify";
|
|
import { ToastContainer, toast } from "react-toastify";
|
|
@@ -29,7 +29,7 @@ class ProsesSanksi extends Component {
|
|
|
activeStep: "1",
|
|
activeStep: "1",
|
|
|
dataUpload: null,
|
|
dataUpload: null,
|
|
|
dataPelanggaran: {},
|
|
dataPelanggaran: {},
|
|
|
- pelaporan: null,
|
|
|
|
|
|
|
+ pelaporan: {},
|
|
|
};
|
|
};
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -38,31 +38,34 @@ class ProsesSanksi extends Component {
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
componentDidMount = async () => {
|
|
componentDidMount = async () => {
|
|
|
- const { query } = this.props;
|
|
|
|
|
- const pelaporan = await getPelaporan({ ptId: query.ptId, number: query.number });
|
|
|
|
|
|
|
+ const { query, token } = this.props;
|
|
|
|
|
+ const { id } = query;
|
|
|
|
|
+ const pelaporan = await getOneLaporan(token, id);
|
|
|
this.setState({ pelaporan });
|
|
this.setState({ pelaporan });
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
done = async (e) => {
|
|
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("user", this.props.user._id);
|
|
|
|
|
- formdata.append("description", this.state.dataUpload.keterangan);
|
|
|
|
|
- formdata.append("pelanggaran", this.state.dataPelanggaran.data.map((e) => e._id).join());
|
|
|
|
|
- if (this.state.dataUpload.files.length > 0) {
|
|
|
|
|
- this.state.dataUpload.files.forEach((e) => {
|
|
|
|
|
- formdata.append("files", e);
|
|
|
|
|
- });
|
|
|
|
|
- }
|
|
|
|
|
- const id = toast.loading("Please wait...");
|
|
|
|
|
- const create = await createSanksi({ ptId, number }, formdata);
|
|
|
|
|
- if (create) {
|
|
|
|
|
- toast.update(id, { render: "All is good", type: "success", isLoading: false, autoClose: true, closeButton: true });
|
|
|
|
|
|
|
+ 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({
|
|
Router.push({
|
|
|
pathname: "/app/sanksi",
|
|
pathname: "/app/sanksi",
|
|
|
});
|
|
});
|
|
|
|
|
+ } catch (error) {
|
|
|
|
|
+ toast.update(toastid, { render: "All is not good", type: "error", isLoading: false, autoClose: true, closeButton: true });
|
|
|
}
|
|
}
|
|
|
};
|
|
};
|
|
|
|
|
|
|
@@ -75,12 +78,12 @@ class ProsesSanksi extends Component {
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
setCheckedData = async (data) => {
|
|
setCheckedData = async (data) => {
|
|
|
- const result = await getPelanggaranId(data);
|
|
|
|
|
|
|
+ const { token } = this.props;
|
|
|
|
|
+ const result = await getPelanggaran(token, { id: data.join(",") });
|
|
|
this.setState({ dataPelanggaran: result });
|
|
this.setState({ dataPelanggaran: result });
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
setUploadSuratSanksi = (data) => {
|
|
setUploadSuratSanksi = (data) => {
|
|
|
- // this.dataUpload = data;
|
|
|
|
|
this.setState({ dataUpload: data });
|
|
this.setState({ dataUpload: data });
|
|
|
};
|
|
};
|
|
|
|
|
|
|
@@ -165,7 +168,7 @@ class ProsesSanksi extends Component {
|
|
|
<TabPane tabId="1">
|
|
<TabPane tabId="1">
|
|
|
<div className="pt-3 mb-3">
|
|
<div className="pt-3 mb-3">
|
|
|
<h2>Detail Laporan</h2>
|
|
<h2>Detail Laporan</h2>
|
|
|
- {pelaporan?.data ? <DetailLaporan noTitle data={pelaporan.data[0]} /> : <Loader />}
|
|
|
|
|
|
|
+ {pelaporan.data ? <DetailLaporan noTitle data={pelaporan.data} /> : <Loader />}
|
|
|
</div>
|
|
</div>
|
|
|
<hr />
|
|
<hr />
|
|
|
<div className="d-flex">
|
|
<div className="d-flex">
|
|
@@ -178,9 +181,9 @@ class ProsesSanksi extends Component {
|
|
|
<div className="pt-3 mb-3">
|
|
<div className="pt-3 mb-3">
|
|
|
<h2>Hasil Evaluasi</h2>
|
|
<h2>Hasil Evaluasi</h2>
|
|
|
<Card className="card-default">
|
|
<Card className="card-default">
|
|
|
- {pelaporan?.data ? (
|
|
|
|
|
|
|
+ {pelaporan.data ? (
|
|
|
<CardBody>
|
|
<CardBody>
|
|
|
- <TableRiwayat data={pelaporan.data[0]} />
|
|
|
|
|
|
|
+ <TableRiwayat data={pelaporan.data} />
|
|
|
</CardBody>
|
|
</CardBody>
|
|
|
) : (
|
|
) : (
|
|
|
<Loader />
|
|
<Loader />
|
|
@@ -230,7 +233,7 @@ class ProsesSanksi extends Component {
|
|
|
<TabPane tabId="5">
|
|
<TabPane tabId="5">
|
|
|
<div className="pt-3 mb-3">
|
|
<div className="pt-3 mb-3">
|
|
|
<h2>Ringkasan</h2>
|
|
<h2>Ringkasan</h2>
|
|
|
- {pelaporan?.data ? <Ringkasan dataLaporan={pelaporan.data[0]} dataPelanggaran={dataPelanggaran.data} dataUpload={dataUpload} /> : <Loader />}
|
|
|
|
|
|
|
+ {pelaporan.data ? <Ringkasan dataLaporan={pelaporan.data} dataPelanggaran={dataPelanggaran.data} dataUpload={dataUpload} /> : <Loader />}
|
|
|
</div>
|
|
</div>
|
|
|
<hr />
|
|
<hr />
|
|
|
<div className="d-flex">
|
|
<div className="d-flex">
|
|
@@ -253,5 +256,5 @@ class ProsesSanksi extends Component {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-const mapStateToProps = (state) => ({ user: state.user });
|
|
|
|
|
|
|
+const mapStateToProps = (state) => ({ user: state.user, token: state.token });
|
|
|
export default connect(mapStateToProps)(ProsesSanksi);
|
|
export default connect(mapStateToProps)(ProsesSanksi);
|