Selaa lähdekoodia

7.setelah di lakukan cabut sanksi, data pindah ke menu pencabutan sanksi/detail (revisian DONE)
5. button download BA di menu pemantauan (masih dummy hanya prioritas untuk dokumentasi buku panduan DONE)
2. di menu bypass ketika cabut sanksi ada notifikasi dulu "Apakah Anda yakin akan mencabut sanksi pada laporan ini?" DONE

andi 2 vuotta sitten
vanhempi
commit
f0a512c140

+ 30 - 10
components/Bypass/TableBypass.js

@@ -6,23 +6,43 @@ import { bypassCabutSanksi } from "../../actions/cabutSanksi";
 import { useSelector } from "react-redux";
 import { useSelector } from "react-redux";
 import { ToastContainer, toast } from "react-toastify";
 import { ToastContainer, toast } from "react-toastify";
 import Router from "next/router";
 import Router from "next/router";
+import { useState } from "react";
+import { Modal, ModalBody, ModalFooter } from "reactstrap";
 
 
 
 
 function TableBypass({ listData, to, linkName }) {
 function TableBypass({ listData, to, linkName }) {
 
 
     const token = useSelector((state) => state.token)
     const token = useSelector((state) => state.token)
-
-    const handleCabutSanksi = async (id) => {
-        await toast.promise(bypassCabutSanksi(token, id), {
-            pending: "Loading",
-            success: "Success",
-            error: "Error",
-        });
-        Router.push("/app/pencabutan-sanksi");
-        // await bypassCabutSanksi(token, id)
+    const [modalIsOpen, setModalIsOpen] = useState(false)
+    const [seledtedID, setSelectedID] = useState("")
+    const setmodal = (id) => {
+        setModalIsOpen(true)
+        setSelectedID(id)
     }
     }
+
+
     return (
     return (
         <div className="card b">
         <div className="card b">
+            <Modal isOpen={modalIsOpen} >
+                <ModalBody>Apakah Anda yakin akan mencabut sanksi pada laporan ini?</ModalBody>
+                <ModalFooter>
+
+                    <Button color className="btn-login" onClick={async () => {
+                        await toast.promise(bypassCabutSanksi(token, seledtedID), {
+                            pending: "Loading",
+                            success: "Success",
+                            error: "Error",
+                        });
+                        Router.push(`/app/pencabutan-sanksi/detail?id=${seledtedID}`);
+                        setModalIsOpen(false)
+                    }}>
+                        <span className="font-color-white">Ya</span>
+                    </Button>
+                    <Button color className="btn-v2" onClick={setModalIsOpen}>
+                        Tidak
+                    </Button>
+                </ModalFooter>
+            </Modal>
             <div className="card-body card-over">
             <div className="card-body card-over">
                 <Datatable options={{ responsive: false, ordering: true }}>
                 <Datatable options={{ responsive: false, ordering: true }}>
                     <table className="table w-100" data-order='[[3, "desc"]]'>
                     <table className="table w-100" data-order='[[3, "desc"]]'>
@@ -118,7 +138,7 @@ function TableBypass({ listData, to, linkName }) {
                                                 </Link>
                                                 </Link>
                                                 <Button className="btn-v2 float-right mr-2" color
                                                 <Button className="btn-v2 float-right mr-2" color
                                                     style={{ borderRadius: "7px" }}
                                                     style={{ borderRadius: "7px" }}
-                                                    onClick={() => { handleCabutSanksi(data._id) }}
+                                                    onClick={() => { setmodal(data._id) }}
                                                 >
                                                 >
                                                     <span className="font-color-black">
                                                     <span className="font-color-black">
                                                         Cabut Sanksi
                                                         Cabut Sanksi

+ 8 - 0
components/Main/Timeline.js

@@ -1,5 +1,6 @@
 import moment from "moment";
 import moment from "moment";
 import { useSelector } from "react-redux";
 import { useSelector } from "react-redux";
+import { Button } from "reactstrap";
 
 
 function Timeline({ data, noFile = false, noJadwal = false }) {
 function Timeline({ data, noFile = false, noJadwal = false }) {
 	const date = data && [...new Set(data.map((e) => moment(e.createdAt).format("DD MMMM YYYY")))];
 	const date = data && [...new Set(data.map((e) => moment(e.createdAt).format("DD MMMM YYYY")))];
@@ -79,6 +80,13 @@ function Timeline({ data, noFile = false, noJadwal = false }) {
 												) : (
 												) : (
 													""
 													""
 												)}
 												)}
+												{data.action === "CREATE SANKSI" && (
+													<span className=" mb-5">
+														<Button color className="btn-labeled-4 mt-0 mb-2" style={{ borderRadius: "5px" }}>
+															<h5 className="p-0 mt-2"><em className="fas fa-download mr-2" />Print dan Download Berita Acara</h5>
+														</Button>
+													</span>
+												)}
 											</div>
 											</div>
 										</div>
 										</div>
 									</div>
 									</div>

+ 0 - 5
components/PT/JawabanPencabutanSanksi/TableSanksiJawaban.js

@@ -11,7 +11,6 @@ function TableSanksi({ listData, to, linkName }) {
 						<tr>
 						<tr>
 							<th>Nomor Sanksi</th>
 							<th>Nomor Sanksi</th>
 							<th>Keterangan Sanksi</th>
 							<th>Keterangan Sanksi</th>
-							{/* <th>Created</th> */}
 							<th>Status</th>
 							<th>Status</th>
 						</tr>
 						</tr>
 					</thead>
 					</thead>
@@ -19,7 +18,6 @@ function TableSanksi({ listData, to, linkName }) {
 						{listData.map((data) => {
 						{listData.map((data) => {
 							return (
 							return (
 								<tr key={data._id}>
 								<tr key={data._id}>
-									{/* <td>{data.no_sanksi}</td> */}
 									<td>
 									<td>
 										<div className="media align-items-center">
 										<div className="media align-items-center">
 											<div className="media-body d-flex">
 											<div className="media-body d-flex">
@@ -35,16 +33,13 @@ function TableSanksi({ listData, to, linkName }) {
 											<div className="media align-items-center">
 											<div className="media align-items-center">
 												<div className="media-body d-flex">
 												<div className="media-body d-flex">
 													<div>
 													<div>
-														{/* <h4 className="m-0">{data.laporan.pt.nama}</h4> */}
 														<h4 className="m-0">{data.laporan.pt.nama.length > 64 ? data.laporan.pt.nama.substring(0, 64) + "..." : data.laporan.pt.nama}</h4>
 														<h4 className="m-0">{data.laporan.pt.nama.length > 64 ? data.laporan.pt.nama.substring(0, 64) + "..." : data.laporan.pt.nama}</h4>
-														{/* <p className="w-105">{data.keterangan.length > 150 ? data.keterangan.substring(0, 150) + "..." : data.keterangan}</p> */}
 														<p className="w-105">{data.keterangan}</p>
 														<p className="w-105">{data.keterangan}</p>
 													</div>
 													</div>
 												</div>
 												</div>
 											</div>
 											</div>
 										</div>
 										</div>
 									</td>
 									</td>
-									{/* <td>{moment(data.createdAt).format("DD MMMM YYYY")}</td> */}
 									<td>
 									<td>
 										{data.jawaban?.cabut_sanksi ? (
 										{data.jawaban?.cabut_sanksi ? (
 											<Link href={{ pathname: to, query: { id: data._id } }}>
 											<Link href={{ pathname: to, query: { id: data._id } }}>

+ 1 - 1
pages/app/bypass/index.js

@@ -28,7 +28,7 @@ class Bypass extends Component {
                         Bypass
                         Bypass
                     </span></div>
                     </span></div>
                 <Row>
                 <Row>
-                    <Col lg={12}>{sanksi.data?.length ? <TableBypass listData={sanksi.data} linkName="Detail" to="/app/bypass/detail" handleCabutSanksi={this.handlecabutsanksi} /> : sanksi.data ? "Tidak ada Sanksi" : <Loader />}</Col>
+                    <Col lg={12}>{sanksi.data?.length ? <TableBypass listData={sanksi.data} linkName="Detail" to="/app/bypass/detail" /> : sanksi.data ? "Tidak ada Sanksi" : <Loader />}</Col>
                 </Row>
                 </Row>
             </ContentWrapper>
             </ContentWrapper>
         );
         );

+ 5 - 0
pages/app/sanksi/proses.js

@@ -93,6 +93,11 @@ class ProsesSanksi extends Component {
 					formdata.append("dokumen_terima_sanksi", e);
 					formdata.append("dokumen_terima_sanksi", e);
 				});
 				});
 			}
 			}
+			// if (this.state.dataUpload.filesBeritaAcara && this.state.dataUpload.filesBeritaAcara.length > 0) {
+			// 	this.state.dataUpload.filesBeritaAcara.forEach((e) => {
+			// 		formdata.append("berita_acara", e);
+			// 	});
+			// }
 			await createSanksi(token, id, formdata);
 			await createSanksi(token, id, formdata);
 
 
 			toast.update(toastid, { render: "All is good", type: "success", isLoading: false, autoClose: true, closeButton: true });
 			toast.update(toastid, { render: "All is good", type: "success", isLoading: false, autoClose: true, closeButton: true });