andi 4 days ago
parent
commit
acd9b17005

+ 0 - 1
components/Layout/Sidebar.js

@@ -151,7 +151,6 @@ class Sidebar extends Component {
 	async componentDidMount() {
 	async componentDidMount() {
 		// const user = await getUser();
 		// const user = await getUser();
 		const user = this.props.user;
 		const user = this.props.user;
-			console.log(user)
 		if (ENV === "production") {
 		if (ENV === "production") {
 			// this.menu = user.role.id === 2022 ? MenuPT : user.user_id === "2A080F42-AE7F-407B-976E-DE5FA87BD277" || user.user_id === "28DB23AE-2976-47E0-9410-241A11EE1F88" ? MenuBypass : user.role.id === 2021 ? MenuLLDIKTI : user.role.id === 2071 ? MenuReadOnly : Menu;
 			// this.menu = user.role.id === 2022 ? MenuPT : user.user_id === "2A080F42-AE7F-407B-976E-DE5FA87BD277" || user.user_id === "28DB23AE-2976-47E0-9410-241A11EE1F88" ? MenuBypass : user.role.id === 2021 ? MenuLLDIKTI : user.role.id === 2071 ? MenuReadOnly : Menu;
 			this.menu = user.role.id === 2022 ? MenuPT:user.role.id === 2021 ? MenuLLDIKTI : user.role.id === 2071 ? MenuReadOnly : Menu;
 			this.menu = user.role.id === 2022 ? MenuPT:user.role.id === 2021 ? MenuLLDIKTI : user.role.id === 2071 ? MenuReadOnly : Menu;

+ 2 - 2
components/Main/DetailSanksi.js

@@ -44,7 +44,7 @@ function DetailSanksi({ data, noTitle = false, role }) {
 					<FormGroup row>
 					<FormGroup row>
 						<Col md="4">Tanggal Penetapan Sanksi:</Col>
 						<Col md="4">Tanggal Penetapan Sanksi:</Col>
 						<Col md="8">
 						<Col md="8">
-							<strong>{data.masa_berlaku?.from_date?moment(data.masa_berlaku?.from_date).locale("id").format("D MMMM YYYY"):"-"}</strong>
+							<strong>{data.masa_berlaku?.from_date ? moment(data.masa_berlaku?.from_date).locale("id").format("D MMMM YYYY") : "-"}</strong>
 						</Col>
 						</Col>
 					</FormGroup>
 					</FormGroup>
 				}
 				}
@@ -114,7 +114,7 @@ function DetailSanksi({ data, noTitle = false, role }) {
 														<div className="media-body d-flex">
 														<div className="media-body d-flex">
 															<div>
 															<div>
 																<p>{jp.pelanggaran}</p>
 																<p>{jp.pelanggaran}</p>
-																<p>TMT : {jp.tmt_bulan} Bulan</p>
+																<p>Durasi : {jp.tmt_bulan} Bulan</p>
 																<p>Jenis Sanksi Administratif : {jp.label_sanksi}</p>
 																<p>Jenis Sanksi Administratif : {jp.label_sanksi}</p>
 															</div>
 															</div>
 														</div>
 														</div>

+ 1 - 1
components/NaikSanksi/DetailSanksi.js

@@ -67,7 +67,7 @@ function DetailSanksi({ data, noTitle = false, role }) {
 															<div className="media-body d-flex">
 															<div className="media-body d-flex">
 																<div>
 																<div>
 																	<p>{jp.pelanggaran}</p>
 																	<p>{jp.pelanggaran}</p>
-																	<p>TMT : {jp.tmt_bulan} Bulan</p>
+																	<p>Durasi : {jp.tmt_bulan} Bulan</p>
 																	<p>Jenis Sanksi Administratif : {jp.label_sanksi}</p>
 																	<p>Jenis Sanksi Administratif : {jp.label_sanksi}</p>
 																</div>
 																</div>
 															</div>
 															</div>

+ 68 - 68
components/NaikSanksi/InputTanggal.js

@@ -160,76 +160,76 @@ class InputTanggal extends Component {
     };
     };
 
 
     done = async (data) => {
     done = async (data) => {
-		if (this.props?.user?.role.id === 2071) {
-			Swal.fire({
-				icon: 'error',
-				title: 'Oops...',
-				html: 'Maaf anda tidak memiliki akses untuk menyelesaikan<p> proses ini.</p>',
-				confirmButtonColor: "#3e3a8e",
-				confirmButtonText: 'Oke'
-			})
-		} else {
-			this.setState({
-				loading: true
-			})
-			const sanksi = await this.ubahSanksi(data)
-			if (sanksi && ENV === "production") {
-				await this.updatePddikti(sanksi.data._id)  //kirim sanksiID ke function updatePDDIKTI
-			}
-
-			await Router.push({
-				pathname: "/app/naik-sanksi",
-			});
-		}
-	};
+        if (this.props?.user?.role.id === 2071) {
+            Swal.fire({
+                icon: 'error',
+                title: 'Oops...',
+                html: 'Maaf anda tidak memiliki akses untuk menyelesaikan<p> proses ini.</p>',
+                confirmButtonColor: "#3e3a8e",
+                confirmButtonText: 'Oke'
+            })
+        } else {
+            this.setState({
+                loading: true
+            })
+            const sanksi = await this.ubahSanksi(data)
+            if (sanksi && ENV === "production") {
+                await this.updatePddikti(sanksi.data._id)  //kirim sanksiID ke function updatePDDIKTI
+            }
+
+            await Router.push({
+                pathname: "/app/naik-sanksi",
+            });
+        }
+    };
     updatePddikti = async (sanksiId) => {
     updatePddikti = async (sanksiId) => {
-		const getToken = await getCsrf();
-		const _csrf2 = getToken.token;
-		const toastPddikti = toast.loading("Updating pddikti...");
-		try {
-			const { query, token } = this.props;
-			const { id } = query;
-			await updatePddikti(token, sanksiId, _csrf2)
+        const getToken = await getCsrf();
+        const _csrf2 = getToken.token;
+        const toastPddikti = toast.loading("Updating pddikti...");
+        try {
+            const { query, token } = this.props;
+            const { id } = query;
+            await updatePddikti(token, sanksiId, _csrf2)
 
 
-			toast.update(toastPddikti, { render: "Berhasil Update PDDIKTI", type: "success", isLoading: false, autoClose: true, closeButton: true });
+            toast.update(toastPddikti, { render: "Berhasil Update PDDIKTI", type: "success", isLoading: false, autoClose: true, closeButton: true });
 
 
-		}
+        }
 
 
-		catch (error) {
-			toast.update(toastPddikti, { render: ("Gagal Update PDDIKTI"), type: "error", isLoading: false, autoClose: true, closeButton: true });
-		}
+        catch (error) {
+            toast.update(toastPddikti, { render: ("Gagal Update PDDIKTI"), type: "error", isLoading: false, autoClose: true, closeButton: true });
+        }
+
+    }
 
 
-	}
- 
     ubahSanksi = async (data) => {
     ubahSanksi = async (data) => {
-       
-            if (this.state.tmtCheck === true ||this.state.listSanksi?.find(z => z.label === "Sanksi Administratif Berat - Pencabutan izin Program Studi" || z.label === "Sanksi Administratif Berat - Pembubaran PTN atau pencabutan izin PTS")) {
-                const getToken = await getCsrf();
-                const _csrf = getToken.token;
-                const { token, query } = this.props;
-                const { id } = query;
-                const formdata = new FormData();
-                formdata.append("no_sanksi", data.no_sanksi);
-                formdata.append("keterangan", data.keterangan);
-                // formdata.append("from_date", data.from_date);
-                // formdata.append("to_date", data.to_date);
-                // formdata.append("sanksi", JSON.stringify(data.sanksi.map((e) => ({ label: e.value }))));
-                formdata.append("sanksi", JSON.stringify(data.sanksi.map((e) => ({ label: e.value.split(";")[0], description: e.value.split(";")[1], level: e.value.split(";")[2] }))));
-    
-                this.state.files.forEach((e) => {
-                    formdata.append("dokumen", e);
-                });
-                const toastid = toast.loading("Please wait...");
-                const added = await update(token, id, formdata, _csrf);
-                if (!added) {
-                    toast.update(toastid, { render: "Error", type: "error", isLoading: false, autoClose: true, closeButton: true });
-                } else {
-                    toast.update(toastid, { render: "Success", type: "success", isLoading: false, autoClose: true, closeButton: true });
-                    // Router.push("/app/naik-sanksi");
-                }
-            }else{
-                console.log("ubahsanksi")
-                const getToken = await getCsrf();
+
+        if (this.state.tmtCheck === true || this.state.listSanksi?.find(z => z.label === "Sanksi Administratif Berat - Pencabutan izin Program Studi" || z.label === "Sanksi Administratif Berat - Pembubaran PTN atau pencabutan izin PTS")) {
+            const getToken = await getCsrf();
+            const _csrf = getToken.token;
+            const { token, query } = this.props;
+            const { id } = query;
+            const formdata = new FormData();
+            formdata.append("no_sanksi", data.no_sanksi);
+            formdata.append("keterangan", data.keterangan);
+            // formdata.append("from_date", data.from_date);
+            // formdata.append("to_date", data.to_date);
+            // formdata.append("sanksi", JSON.stringify(data.sanksi.map((e) => ({ label: e.value }))));
+            formdata.append("sanksi", JSON.stringify(data.sanksi.map((e) => ({ label: e.value.split(";")[0], description: e.value.split(";")[1], level: e.value.split(";")[2] }))));
+
+            this.state.files.forEach((e) => {
+                formdata.append("dokumen", e);
+            });
+            const toastid = toast.loading("Please wait...");
+            const added = await update(token, id, formdata, _csrf);
+            if (!added) {
+                toast.update(toastid, { render: "Error", type: "error", isLoading: false, autoClose: true, closeButton: true });
+            } else {
+                toast.update(toastid, { render: "Success", type: "success", isLoading: false, autoClose: true, closeButton: true });
+                // Router.push("/app/naik-sanksi");
+            }
+        } else {
+            console.log("ubahsanksi")
+            const getToken = await getCsrf();
             const _csrf = getToken.token;
             const _csrf = getToken.token;
             const { token, query } = this.props;
             const { token, query } = this.props;
             const { id } = query;
             const { id } = query;
@@ -253,8 +253,8 @@ class InputTanggal extends Component {
                 // Router.push("/app/naik-sanksi");
                 // Router.push("/app/naik-sanksi");
             }
             }
         }
         }
-            
-            
+
+
 
 
     };
     };
     render() {
     render() {
@@ -404,7 +404,7 @@ class InputTanggal extends Component {
                                 )}
                                 )}
                                 {!this.state.tmtCheck && !this.state.listSanksi?.find(z => z.label === "Sanksi Administratif Berat - Pencabutan izin Program Studi" || z.label === "Sanksi Administratif Berat - Pembubaran PTN atau pencabutan izin PTS") && (
                                 {!this.state.tmtCheck && !this.state.listSanksi?.find(z => z.label === "Sanksi Administratif Berat - Pencabutan izin Program Studi" || z.label === "Sanksi Administratif Berat - Pembubaran PTN atau pencabutan izin PTS") && (
                                     <FormGroup row className="mt-1">
                                     <FormGroup row className="mt-1">
-                                        <label className="col-md-2 col-form-label">TMT</label>
+                                        <label className="col-md-2 col-form-label">Durasi</label>
                                         <div className="col-md-10 mt-2">
                                         <div className="col-md-10 mt-2">
                                             <b>{this.state.to_date ? moment(this.state.to_date).diff(this.state.from_date, 'month') : "-"} bulan</b>
                                             <b>{this.state.to_date ? moment(this.state.to_date).diff(this.state.from_date, 'month') : "-"} bulan</b>
                                         </div>
                                         </div>
@@ -450,7 +450,7 @@ class InputTanggal extends Component {
                                                                                 <h5 className="text-center dz-default dz-message">Klik untuk tambah file</h5>
                                                                                 <h5 className="text-center dz-default dz-message">Klik untuk tambah file</h5>
                                                                             </div> :
                                                                             </div> :
                                                                             <div className="text-center fa-2x icon-cloud-upload mr-2 ">
                                                                             <div className="text-center fa-2x icon-cloud-upload mr-2 ">
-                                                                                <h5 className="text-center dz-default dz-message">Upload dokumen Naik Sanksi</h5>
+                                                                                <h5 className="text-center dz-default dz-message">Upload dokumen Perubahan</h5>
                                                                             </div>
                                                                             </div>
                                                                         }
                                                                         }
                                                                         </div>
                                                                         </div>

+ 2 - 2
components/PelaporanTuntas/DetailSanksi.js

@@ -42,7 +42,7 @@ function DetailSanksi({ data, noTitle = false, role }) {
 				<FormGroup row>
 				<FormGroup row>
 					<Col md="4">Tanggal Penetapan Sanksi:</Col>
 					<Col md="4">Tanggal Penetapan Sanksi:</Col>
 					<Col md="8">
 					<Col md="8">
-						<strong>{data.masa_berlaku?.from_date?moment(data.masa_berlaku?.from_date).locale("id").format("D MMMM YYYY"):"-"}</strong>
+						<strong>{data.masa_berlaku?.from_date ? moment(data.masa_berlaku?.from_date).locale("id").format("D MMMM YYYY") : "-"}</strong>
 					</Col>
 					</Col>
 				</FormGroup>
 				</FormGroup>
 				{
 				{
@@ -111,7 +111,7 @@ function DetailSanksi({ data, noTitle = false, role }) {
 														<div className="media-body d-flex">
 														<div className="media-body d-flex">
 															<div>
 															<div>
 																<p>{jp.pelanggaran}</p>
 																<p>{jp.pelanggaran}</p>
-																<p>TMT : {jp.tmt_bulan} Bulan</p>
+																<p>Durasi : {jp.tmt_bulan} Bulan</p>
 																<p>Jenis Sanksi Administratif : {jp.label_sanksi}</p>
 																<p>Jenis Sanksi Administratif : {jp.label_sanksi}</p>
 															</div>
 															</div>
 														</div>
 														</div>

+ 1 - 1
components/PerpanjanganSanksi/DetailSanksi.js

@@ -84,7 +84,7 @@ function DetailSanksi({ data, noTitle = false, role }) {
 															<div className="media-body d-flex">
 															<div className="media-body d-flex">
 																<div>
 																<div>
 																	<p>{jp.pelanggaran}</p>
 																	<p>{jp.pelanggaran}</p>
-																	<p>TMT : {jp.tmt_bulan} Bulan</p>
+																	<p>Durasi : {jp.tmt_bulan} Bulan</p>
 																	<p>Jenis Sanksi Administratif : {jp.label_sanksi}</p>
 																	<p>Jenis Sanksi Administratif : {jp.label_sanksi}</p>
 																</div>
 																</div>
 															</div>
 															</div>

+ 1 - 1
components/RekomendasiDelegasi/DetailSanksi.js

@@ -115,7 +115,7 @@ function DetailSanksi({ data, noTitle = false, role }) {
 															<div className="media-body d-flex">
 															<div className="media-body d-flex">
 																<div>
 																<div>
 																	<p>{jp.pelanggaran}</p>
 																	<p>{jp.pelanggaran}</p>
-																	<p>TMT : {jp.tmt_bulan} Bulan</p>
+																	<p>Durasi : {jp.tmt_bulan} Bulan</p>
 																	<p>Jenis Sanksi Administratif : {jp.label_sanksi}</p>
 																	<p>Jenis Sanksi Administratif : {jp.label_sanksi}</p>
 																</div>
 																</div>
 															</div>
 															</div>

+ 1 - 1
components/Sanksi/DetailSanksi.js

@@ -177,7 +177,7 @@ class DetailSanksi extends Component {
 																<div className="media-body d-flex">
 																<div className="media-body d-flex">
 																	<div>
 																	<div>
 																		<p>{jp.pelanggaran}</p>
 																		<p>{jp.pelanggaran}</p>
-																		<p>TMT : {jp.tmt_bulan} Bulan</p>
+																		<p>Durasi : {jp.tmt_bulan} Bulan</p>
 																		<p>Jenis Sanksi Administratif : {jp.label_sanksi}</p>
 																		<p>Jenis Sanksi Administratif : {jp.label_sanksi}</p>
 																	</div>
 																	</div>
 																</div>
 																</div>

+ 1 - 1
components/Sanksi/SuratBA _detail.js

@@ -31,7 +31,7 @@ class ComponentBA extends React.Component {
 
 
         const dataSanksi = await getOneSanksi(token, query.id);
         const dataSanksi = await getOneSanksi(token, query.id);
 
 
-        const id = dataSanksi.data.laporan._id;
+        const id = dataSanksi.data?.laporan._id;
         const dataLaporan = await getOneLaporan(token, id);
         const dataLaporan = await getOneLaporan(token, id);
         const getDataSave = await getAutoSave({ id, laporan: true });
         const getDataSave = await getAutoSave({ id, laporan: true });
         const getDataSuratBAFromAuto = getDataSave.data?.PenetapanSanksi?.dataSuratBA;
         const getDataSuratBAFromAuto = getDataSave.data?.PenetapanSanksi?.dataSuratBA;

+ 18 - 2
components/Sanksi/TableLaporan.js

@@ -4,6 +4,9 @@ import Link from "next/link";
 import moment from "moment";
 import moment from "moment";
 
 
 function TableLaporan({ listData }) {
 function TableLaporan({ listData }) {
+
+	const sanksiMap = { 1: "Ringan", 2: "Sedang", 3: "Berat" };
+	
 	return (
 	return (
 		<div className="card b">
 		<div className="card b">
 			<div className="card-body card-over">
 			<div className="card-body card-over">
@@ -56,7 +59,20 @@ function TableLaporan({ listData }) {
 													new Date(data.sanksi?.masa_berlaku.to_date).getTime() + 86400000 > Date.now() ? <div className="badge badge-primary">Berlaku</div> : <div className="badge badge-warning">Tidak berlaku</div>
 													new Date(data.sanksi?.masa_berlaku.to_date).getTime() + 86400000 > Date.now() ? <div className="badge badge-primary">Berlaku</div> : <div className="badge badge-warning">Tidak berlaku</div>
 												) : ""}
 												) : ""}
 											</td>
 											</td>
-											<td>{data.sanksi ? <div className="badge badge-green">Sudah ditetapkan</div> : <div className="badge badge-red">Belum ditetapkan</div>}</td>
+											<td>{data.sanksi ? <div className="badge badge-green">Sudah ditetapkan</div> : <div className="badge badge-red">Belum ditetapkan</div>}
+												{/* {data?.sanksi?.levelSanksi? 
+											<p>Sanksi Administratif :</p>
+										:
+										<p>
+											""
+										</p>
+										} */}
+
+												{data?.sanksi?.levelSanksi && (
+													<p>Sanksi Administratif : {sanksiMap[data?.sanksi?.levelSanksi]}</p>
+												)}
+
+											</td>
 											{/* <td>{moment(data.createdAt).format("MM-DD-YYYY")}</td> */}
 											{/* <td>{moment(data.createdAt).format("MM-DD-YYYY")}</td> */}
 											<td>
 											<td>
 												<div className="ml-auto">
 												<div className="ml-auto">
@@ -66,7 +82,7 @@ function TableLaporan({ listData }) {
 															query: { id: data.sanksi?._id || data._id },
 															query: { id: data.sanksi?._id || data._id },
 														}}
 														}}
 													>
 													>
-														<Button className="btn-login" color   style={{ borderRadius: "7px" }}>
+														<Button className="btn-login" color style={{ borderRadius: "7px" }}>
 															<span className="font-color-white">
 															<span className="font-color-white">
 																{data.sanksi ? "Detail" : "Proses Sanksi"}
 																{data.sanksi ? "Detail" : "Proses Sanksi"}
 															</span>
 															</span>

+ 7 - 6
components/Sanksi/TablePenetapanSanksi.js

@@ -33,15 +33,16 @@ export class TablePenetapanSanksi extends Component {
 		if (this.state.trigger === false || this.state.trigger === true) {
 		if (this.state.trigger === false || this.state.trigger === true) {
 			if (getDataPelanggaranfromAutoSave === "null")
 			if (getDataPelanggaranfromAutoSave === "null")
 				this.setState({ checkedData: [] })
 				this.setState({ checkedData: [] })
-			else{
+			else {
 				this.setState({
 				this.setState({
 					checkedData: getDataPelanggaranfromAutoSave ? getDataPelanggaranfromAutoSave?.data?.map(e => e._id) : [],
 					checkedData: getDataPelanggaranfromAutoSave ? getDataPelanggaranfromAutoSave?.data?.map(e => e._id) : [],
 					labelSanksi: getDataPelanggaranfromAutoSave ? getDataPelanggaranfromAutoSave?.data?.map(e => ({ value: e._id, labelSanksi: e.label_sanksi })) : []
 					labelSanksi: getDataPelanggaranfromAutoSave ? getDataPelanggaranfromAutoSave?.data?.map(e => ({ value: e._id, labelSanksi: e.label_sanksi })) : []
 				})
 				})
-			}}
-			this.setState({
-				pelanggaran
-			});
+			}
+		}
+		this.setState({
+			pelanggaran
+		});
 	};
 	};
 
 
 	onHandleChange = (evt) => {
 	onHandleChange = (evt) => {
@@ -98,7 +99,7 @@ export class TablePenetapanSanksi extends Component {
 												<div className="media-body d-flex">
 												<div className="media-body d-flex">
 													<div>
 													<div>
 														<p>{jp.pelanggaran}</p>
 														<p>{jp.pelanggaran}</p>
-														{/* <p>TMT : {jp.tmt_bulan} Bulan</p> */}
+														{/* <p>Durasi : {jp.tmt_bulan} Bulan</p> */}
 														<p>Jenis Sanksi Administratif : {jp.label_sanksi}</p>
 														<p>Jenis Sanksi Administratif : {jp.label_sanksi}</p>
 													</div>
 													</div>
 												</div>
 												</div>

+ 2 - 2
components/Sanksi/UploadSurat.js

@@ -275,7 +275,7 @@ export class UploadSurat extends Component {
 				)}
 				)}
 				{!this.state.tidakPerluTMTCheck && !this.state.listSanksi?.find(z => z.value === "Sanksi Administratif Berat - Pencabutan izin Program Studi" || z.value === "Sanksi Administratif Berat - Pembubaran PTN atau pencabutan izin PTS") && (
 				{!this.state.tidakPerluTMTCheck && !this.state.listSanksi?.find(z => z.value === "Sanksi Administratif Berat - Pencabutan izin Program Studi" || z.value === "Sanksi Administratif Berat - Pembubaran PTN atau pencabutan izin PTS") && (
 					<FormGroup row className="mt-1">
 					<FormGroup row className="mt-1">
-						<label className="col-md-4 col-form-label">TMT</label>
+						<label className="col-md-4 col-form-label">Durasi</label>
 						<div className="col-md-8 mt-2">
 						<div className="col-md-8 mt-2">
 							<b>{this.state.akhirTMT ? moment(this.state.akhirTMT).diff(this.state.awalTMT, 'month') : "-"} bulan</b>
 							<b>{this.state.akhirTMT ? moment(this.state.akhirTMT).diff(this.state.awalTMT, 'month') : "-"} bulan</b>
 						</div>
 						</div>
@@ -286,7 +286,7 @@ export class UploadSurat extends Component {
 					<div className="col-md-8">
 					<div className="col-md-8">
 						<Select
 						<Select
 							value={this.state.listSanksi}
 							value={this.state.listSanksi}
-							options={this.props.listSanksi.map(e => ({ value: `Sanksi Administratif ${e.split(";")[0]} - ${e.split(";")[1]}`, level: (e.split(";")[2])  }))}
+							options={this.props.listSanksi.map(e => ({ value: `Sanksi Administratif ${e.split(";")[0]} - ${e.split(";")[1]}`, level: (e.split(";")[2]) }))}
 							isMulti
 							isMulti
 							formatOptionLabel={formatOptionLabel}
 							formatOptionLabel={formatOptionLabel}
 							onChange={(e) => {
 							onChange={(e) => {

+ 84 - 42
components/TurunSanksi/DetailSanksi.js

@@ -16,6 +16,7 @@ function DetailSanksi({ data, noTitle = false, role }) {
 			confirmButtonText: 'Oke'
 			confirmButtonText: 'Oke'
 		})
 		})
 	};
 	};
+	const lastSanksi = data?.sanksi?.[data.sanksi.length - 1];
 	return (
 	return (
 		<Card className="card-default">
 		<Card className="card-default">
 			<CardBody>
 			<CardBody>
@@ -47,49 +48,90 @@ function DetailSanksi({ data, noTitle = false, role }) {
 							<strong>{moment(data.createdAt).format("D MMMM YYYY")}</strong>
 							<strong>{moment(data.createdAt).format("D MMMM YYYY")}</strong>
 						</Col>
 						</Col>
 					</FormGroup>
 					</FormGroup>
-					<FormGroup row>
-						<Col md={12}>
-							<div className="card b">
-								<div className="card-body bb">
-									<Table responsive>
-										<thead>
-											<tr>
-												<th>Jenis Pelanggaran</th>
-												<th>Sanksi</th>
-											</tr>
-										</thead>
-										<tbody>
-											{data.pelanggaran.map((jp, index) => (
-												<tr key={jp._id}>
-													<td width={50}>
-														<div className="media align-items-center">
-															<div className="media-body d-flex">
-																<div>
-																	<p>{jp.pelanggaran}</p>
-																	<p>TMT : {jp.tmt_bulan} Bulan</p>
-																	<p>Jenis Sanksi Administratif : {jp.label_sanksi}</p>
+					{
+						data.riwayat_sanksi.length ? (
+							<FormGroup row>
+								<Col md={12}>
+									<div className="card b">
+										<div className="card-body bb">
+											<Table responsive>
+												<thead>
+													<tr>
+														<th>Sanksi</th>
+													</tr>
+												</thead>
+												<tbody>
+													{lastSanksi && (
+														<tr key={lastSanksi._id}>
+															<td width={50}>
+																<div className="media align-items-center">
+																	<div className="media-body d-flex">
+																		<div>
+																			<p>{lastSanksi.description}</p>
+																			<p>
+																				Durasi : {moment(data?.masa_berlaku?.from_date).diff(data?.masa_berlaku?.to_date, 'month')} Bulan
+																			</p>
+																			<p>Jenis Sanksi Administratif : {lastSanksi.label}</p>
+																		</div>
+																	</div>
 																</div>
 																</div>
-															</div>
-														</div>
-													</td>
-													<td width={50}>
-														<div className="media align-items-center">
-															<div className="media-body d-flex">
-																<div>
-																	<p>{jp.sanksi}</p>
-																	<p>Keterangan : {jp.keterangan_sanksi}</p>
+															</td>
+															<td width={50}></td>
+														</tr>
+													)}
+												</tbody>
+											</Table>
+										</div>
+									</div>
+								</Col>
+							</FormGroup>
+						) : (
+							<FormGroup row>
+								<Col md={12}>
+									<div className="card b">
+										<div className="card-body bb">
+											<Table responsive>
+												<thead>
+													<tr>
+														<th>Jenis Pelanggaran</th>
+														<th>Sanksi</th>
+													</tr>
+												</thead>
+												<tbody>
+													{data.pelanggaran.map((jp, index) => (
+														<tr key={jp._id}>
+															<td width={50}>
+																<div className="media align-items-center">
+																	<div className="media-body d-flex">
+																		<div>
+																			<p>{jp.pelanggaran}</p>
+																			<p>Durasi : {jp.tmt_bulan} Bulan</p>
+																			<p>Jenis Sanksi Administratif : {jp.label_sanksi}</p>
+																		</div>
+																	</div>
 																</div>
 																</div>
-															</div>
-														</div>
-													</td>
-												</tr>
-											))}
-										</tbody>
-									</Table>
-								</div>
-							</div>
-						</Col>
-					</FormGroup>
+															</td>
+															<td width={50}>
+																<div className="media align-items-center">
+																	<div className="media-body d-flex">
+																		<div>
+																			<p>{jp.sanksi}</p>
+																			<p>Keterangan : {jp.keterangan_sanksi}</p>
+																		</div>
+																	</div>
+																</div>
+															</td>
+														</tr>
+													))}
+												</tbody>
+											</Table>
+										</div>
+									</div>
+								</Col>
+							</FormGroup>
+						)
+					}
+
 					<FormGroup row>
 					<FormGroup row>
 						<Col md="4">Nomor Surat:</Col>
 						<Col md="4">Nomor Surat:</Col>
 						<Col md="8">
 						<Col md="8">
@@ -107,7 +149,7 @@ function DetailSanksi({ data, noTitle = false, role }) {
 					<FormGroup row>
 					<FormGroup row>
 						<Col md="4">Sanksi:</Col>
 						<Col md="4">Sanksi:</Col>
 						<Col md="8">
 						<Col md="8">
-							{data?.pelanggaran && data.pelanggaran.map((e) => <li><strong>{e.sanksi}</strong> - {e.keterangan_sanksi}</li>)}
+							{data?.sanksi && data.sanksi.map((e) => <li><strong>{e.description}</strong> </li>)}
 						</Col>
 						</Col>
 					</FormGroup>
 					</FormGroup>
 					<FormGroup row>
 					<FormGroup row>

+ 36 - 36
components/TurunSanksi/InputTanggal.js

@@ -156,46 +156,46 @@ class InputTanggal extends Component {
         this.setState({ tmtCheck: !this.state.tmtCheck });
         this.setState({ tmtCheck: !this.state.tmtCheck });
     };
     };
     done = async (data) => {
     done = async (data) => {
-		if (this.props?.user?.role.id === 2071) {
-			Swal.fire({
-				icon: 'error',
-				title: 'Oops...',
-				html: 'Maaf anda tidak memiliki akses untuk menyelesaikan<p> proses ini.</p>',
-				confirmButtonColor: "#3e3a8e",
-				confirmButtonText: 'Oke'
-			})
-		} else {
-			this.setState({
-				loading: true
-			})
-			const sanksi = await this.ubahSanksi(data)
-			if (sanksi && ENV === "production") {
-				await this.updatePddikti(sanksi.data._id)  //kirim sanksiID ke function updatePDDIKTI
-			}
+        if (this.props?.user?.role.id === 2071) {
+            Swal.fire({
+                icon: 'error',
+                title: 'Oops...',
+                html: 'Maaf anda tidak memiliki akses untuk menyelesaikan<p> proses ini.</p>',
+                confirmButtonColor: "#3e3a8e",
+                confirmButtonText: 'Oke'
+            })
+        } else {
+            this.setState({
+                loading: true
+            })
+            const sanksi = await this.ubahSanksi(data)
+            if (sanksi && ENV === "production") {
+                await this.updatePddikti(sanksi.data._id)  //kirim sanksiID ke function updatePDDIKTI
+            }
 
 
-			await Router.push({
-				pathname: "/app/turun-sanksi",
-			});
-		}
-	};
+            await Router.push({
+                pathname: "/app/turun-sanksi",
+            });
+        }
+    };
     updatePddikti = async (sanksiId) => {
     updatePddikti = async (sanksiId) => {
-		const getToken = await getCsrf();
-		const _csrf2 = getToken.token;
-		const toastPddikti = toast.loading("Updating pddikti...");
-		try {
-			const { query, token } = this.props;
-			const { id } = query;
-			await updatePddikti(token, sanksiId, _csrf2)
+        const getToken = await getCsrf();
+        const _csrf2 = getToken.token;
+        const toastPddikti = toast.loading("Updating pddikti...");
+        try {
+            const { query, token } = this.props;
+            const { id } = query;
+            await updatePddikti(token, sanksiId, _csrf2)
 
 
-			toast.update(toastPddikti, { render: "Berhasil Update PDDIKTI", type: "success", isLoading: false, autoClose: true, closeButton: true });
+            toast.update(toastPddikti, { render: "Berhasil Update PDDIKTI", type: "success", isLoading: false, autoClose: true, closeButton: true });
 
 
-		}
+        }
 
 
-		catch (error) {
-			toast.update(toastPddikti, { render: ("Gagal Update PDDIKTI"), type: "error", isLoading: false, autoClose: true, closeButton: true });
-		}
+        catch (error) {
+            toast.update(toastPddikti, { render: ("Gagal Update PDDIKTI"), type: "error", isLoading: false, autoClose: true, closeButton: true });
+        }
 
 
-	}
+    }
     ubahSanksi = async (data) => {
     ubahSanksi = async (data) => {
         if (this.props?.user?.role.id === 2071) {
         if (this.props?.user?.role.id === 2071) {
             Swal.fire({
             Swal.fire({
@@ -375,7 +375,7 @@ class InputTanggal extends Component {
                                 )}
                                 )}
                                 {!this.state.tmtCheck && (
                                 {!this.state.tmtCheck && (
                                     <FormGroup row className="mt-1">
                                     <FormGroup row className="mt-1">
-                                        <label className="col-md-2 col-form-label">TMT</label>
+                                        <label className="col-md-2 col-form-label">Durasi</label>
                                         <div className="col-md-10 mt-2">
                                         <div className="col-md-10 mt-2">
                                             <b>{this.state.to_date ? moment(this.state.to_date).diff(this.state.from_date, 'month') : "-"} bulan</b>
                                             <b>{this.state.to_date ? moment(this.state.to_date).diff(this.state.from_date, 'month') : "-"} bulan</b>
                                         </div>
                                         </div>
@@ -418,7 +418,7 @@ class InputTanggal extends Component {
                                                                                 <h5 className="text-center dz-default dz-message">Klik untuk tambah file</h5>
                                                                                 <h5 className="text-center dz-default dz-message">Klik untuk tambah file</h5>
                                                                             </div> :
                                                                             </div> :
                                                                             <div className="text-center fa-2x icon-cloud-upload mr-2 ">
                                                                             <div className="text-center fa-2x icon-cloud-upload mr-2 ">
-                                                                                <h5 className="text-center dz-default dz-message">Upload dokumen Turun Sanksi</h5>
+                                                                                <h5 className="text-center dz-default dz-message">Upload dokumen Perubahan</h5>
                                                                             </div>
                                                                             </div>
                                                                         }
                                                                         }
                                                                         </div>
                                                                         </div>

+ 1 - 0
pages/app/sanksi/index.js

@@ -109,6 +109,7 @@ class Sanksi extends Component {
 
 
 	render() {
 	render() {
 		const { pelaporan, graph } = this.state;
 		const { pelaporan, graph } = this.state;
+		console.log(pelaporan)
 		return (
 		return (
 			<ContentWrapper>
 			<ContentWrapper>
 				<div className="content-heading">
 				<div className="content-heading">

+ 1 - 0
pages/app/turun-sanksi/detail.js

@@ -42,6 +42,7 @@ class Detail extends Component {
 
 
 	render() {
 	render() {
 		const { files, sanksi, pt, listSanksi } = this.state;
 		const { files, sanksi, pt, listSanksi } = this.state;
+		console.log(sanksi)
 		const { query, token } = this.props;
 		const { query, token } = this.props;
 		return (
 		return (
 			<ContentWrapper unwrap>
 			<ContentWrapper unwrap>