浏览代码

fix tidak perlu tmt di checklist maka ke menu pelaporan tuntas

andi 2 年之前
父节点
当前提交
a89d273bde

+ 1 - 0
actions/pelaporan.js

@@ -1,6 +1,7 @@
 import { get, post, del, put } from "../config/request";
 import axiosAPI from "../config/axios";
 import { createLog } from "./log";
+import { getCsrf } from "./security";
 
 export const getPelaporan = async (token, query = {}) => {
 	try {

+ 127 - 0
components/PelaporanTuntas/DetailSanksi.js

@@ -0,0 +1,127 @@
+import Scrollable from "@/components/Common/Scrollable";
+import moment from "moment";
+import { Col, FormGroup, Table } from "reactstrap";
+import { API_URL } from "@/env";
+
+function DetailSanksi({ data, noTitle = false }) {
+	return (
+		<>
+			{noTitle ? "" : <p className="lead bb">Detail Sanksi</p>}
+			<form className="form-horizontal">
+				<FormGroup row>
+					<Col md="4">Nomor Sanksi:</Col>
+					<Col md="8">
+						<strong>{data.no_sanksi}</strong>
+					</Col>
+				</FormGroup>
+				<FormGroup row>
+					<Col md="4">Nama Perguruan Tinggi:</Col>
+					<Col md="8">
+						<strong>{data.laporan.pt.nama}</strong>
+					</Col>
+				</FormGroup>
+
+				<FormGroup row>
+					<Col md="4">Keterangan:</Col>
+					<Col md="8">
+						<Scrollable height="100px" className="list-group">
+							<p>{data.keterangan}</p>
+						</Scrollable>
+					</Col>
+				</FormGroup>
+				<FormGroup row>
+					<Col md="4">Tanggal Penetapan Sanksi:</Col>
+					<Col md="8">
+						<strong>{moment(data.masa_berlaku?.from_date).locale("id").format("D MMMM YYYY")}</strong>
+					</Col>
+				</FormGroup>
+				{
+					data.tanggal_akhir_keberatan &&
+					<FormGroup row>
+						<Col md="4">Tanggal Akhir Pengajuan Keberatan</Col>
+						<Col md="8">
+							<strong>{moment(data.tanggal_akhir_keberatan).locale("id").format("D MMMM YYYY")}</strong>
+						</Col>
+					</FormGroup>
+				}
+				{
+					data.jawaban?.keberatan?.tanggal_akhir_banding &&
+					<FormGroup row>
+						<Col md="4">Tanggal Akhir Pengajuan Banding:</Col>
+						<Col md="8">
+							<strong>{moment(data.jawaban?.keberatan?.tanggal_akhir_banding).locale("id").format("D MMMM YYYY")}</strong>
+						</Col>
+					</FormGroup>
+				}
+				<FormGroup row>
+					<Col md="4">Dokumen Sanksi:</Col>
+					<Col md="8">
+						<Scrollable height="120px" className="list-group">
+							<table className="table table-bordered bg-transparent">
+								<tbody>
+									{data.dokumen.map((e) => (
+										<tr>
+											<td style={{ width: "30px" }}>
+												<em className="fa-lg far fa-file-code"></em>
+											</td>
+											<td>
+												<a className="text-muted" href={e.path} target="_blank" download={e.judul}>
+													{e.judul}
+												</a>
+											</td>
+										</tr>
+									))}
+								</tbody>
+							</table>
+						</Scrollable>
+					</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>TMT : {jp.tmt_bulan} Bulan</p>
+																<p>Jenis Sanksi Administratif : {jp.label_sanksi}</p>
+															</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>
+															</div>
+														</div>
+													</div>
+												</td>
+											</tr>
+										))}
+									</tbody>
+								</Table>
+							</div>
+						</div>
+					</Col>
+				</FormGroup>
+			</form>
+		</>
+	);
+}
+
+export default DetailSanksi;

+ 2 - 1
components/PelaporanTuntas/TableLaporan.js

@@ -4,6 +4,7 @@ import Link from "next/link";
 import moment from "moment";
 
 function TableLaporan({ listData, to, linkName }) {
+	console.log(listData)
 	return (
 		<div className="card b">
 			<div className="card-body card-over">
@@ -53,7 +54,7 @@ function TableLaporan({ listData, to, linkName }) {
 													<Link
 														href={{
 															pathname: to,
-															query: { id: data._id },
+															query: { id: data._id, data: data.no_sanksi ? "sanksi" : "laporan" },
 														}}
 													>
 														<Button className="btn-login loader" color>

+ 1 - 0
components/Pemeriksaan/InputEvaluasi.js

@@ -138,6 +138,7 @@ class InputEvaluasi extends Component {
 	};
 
 	onSubmit = async (data, { resetForm }) => {
+		console.log(this.props.user)
 		const getToken = await getCsrf();
 		const _csrf = getToken.token;
 		const { token, query } = this.props;

+ 0 - 3
pages/pt/sanksi/detail.js

@@ -25,11 +25,8 @@ class Sanksi extends Component {
 	static getInitialProps = ({ query }) => ({ query });
 
 	componentDidMount = async () => {
-		const getToken = await getCsrf();
-		const _csrf = getToken.token;
 		const { token, query } = this.props;
 		const sanksi = await getOneSanksi(token, query.id);
-		updatePT(token, query.id, { is_read: "true" }, _csrf)
 		this.setState({ sanksi, pt: sanksi.data.laporan.pt });
 	};
 	setModal = (modal) => {