yazid138 3 vuotta sitten
vanhempi
commit
ba3bb61987

+ 2 - 2
components/Main/DetailSanksi.js

@@ -71,7 +71,7 @@ function DetailSanksi({ data, noTitle = false }) {
 									<tbody>
 										{data.sanksi.pelanggaran.map((jp, index) => (
 											<tr key={jp._id}>
-												<td>
+												<td width={50}>
 													<div className="media align-items-center">
 														<div className="media-body d-flex">
 															<div>
@@ -82,7 +82,7 @@ function DetailSanksi({ data, noTitle = false }) {
 														</div>
 													</div>
 												</td>
-												<td>
+												<td width={50}>
 													<div className="media align-items-center">
 														<div className="media-body d-flex">
 															<div>

+ 3 - 3
components/PT/Keberatan/ModalPermohonan.js

@@ -75,9 +75,9 @@ export class ModalPermohonan extends Component {
 		}
 		const added = await addKeberatan({ noSanksi, ptId: "0BCE4DB7-B207-445D-8D03-0C54B7688252" }, formdata);
 		// formdata.append("keberatan", added.add.sanksi.keberatan._id);
-		formdata.append("data", added.add.sanksi.keberatan._id);
-		formdata.append("model", "Keberatan");
-		await addDocPerbaikan({ noSanksi, ptId: "0BCE4DB7-B207-445D-8D03-0C54B7688252" }, formdata);
+		// formdata.append("data", added.add.sanksi.keberatan._id);
+		// formdata.append("model", "Keberatan");
+		// await addDocPerbaikan({ noSanksi, ptId: "0BCE4DB7-B207-445D-8D03-0C54B7688252" }, formdata);
 		// console.log(added);
 		if (added) {
 			Router.push({

+ 1 - 1
components/Sanksi/Ringkasan.js

@@ -96,7 +96,7 @@ function Ringkasan({ dataLaporan, dataSanksi, dataUpload }) {
 			</Row>
 			<Row>
 				<Col>
-					<p className="lead bb">Nomor Surat keputusan Sanksi</p>
+					<p className="lead bb">Nomor Surat Keputusan Sanksi</p>
 					<form className="form-horizontal">
 						<FormGroup row>
 							<Col md="4">Nomor Surat:</Col>

+ 1 - 3
pages/app/pemeriksaan/new.js

@@ -35,10 +35,8 @@ class PemeriksaanNew extends Component {
 							<Card className="card-default">
 								<CardBody>
 									<Row>
-										<Col lg="6">
+										<Col lg={12}>
 											<DetailLaporan data={pelaporan.data[0]} />
-										</Col>
-										<Col lg={6}>
 											<InputEvaluasi query={query} />
 										</Col>
 									</Row>

+ 1 - 1
pages/app/pt/jawaban-keberatan/detail.js

@@ -60,7 +60,7 @@ class JawabanKeberatan extends Component {
 												Setelah membaca jawaban permohonan keberatan atas pengenaan sanksi, jika Perguruan Tinggi bermaksud mengajukan permohonan banding kepada atasan pemberi sanksi maka dapat menekan tombol di
 												bawah ini (10 Hari Kerja)
 											</p>
-											<Button color="primary" onClick={this.toggleModal}>
+											<Button color="primary" onClick={this.toggleModal} disabled={sanksi.data[0].sanksi.banding || false}>
 												Ajukan Banding
 											</Button>
 										</Col>

+ 7 - 8
pages/app/pt/pencabutan-sanksi/detail.js

@@ -76,13 +76,12 @@ class DetailPencabutanSanksi extends Component {
 			this.state.files.forEach((e) => {
 				formdata.append("files", e);
 			});
-		}
-
-		const added = await addCabutSanksi({ noSanksi, ptId: "0BCE4DB7-B207-445D-8D03-0C54B7688252" }, formdata);
-		if (added) {
-			Router.push({
-				pathname: "/app/pt/pencabutan-sanksi",
-			});
+			const added = await addCabutSanksi({ noSanksi, ptId: "0BCE4DB7-B207-445D-8D03-0C54B7688252" }, formdata);
+			if (added) {
+				Router.push({
+					pathname: "/app/pt/pencabutan-sanksi",
+				});
+			}
 		}
 	};
 
@@ -142,7 +141,7 @@ class DetailPencabutanSanksi extends Component {
 												</FormGroup>
 												<FormGroup>
 													<div className="row-xl-10">
-														<Button color="primary" onClick={this.handleKirim} type="submit">
+														<Button color="primary" onClick={this.handleKirim} disabled={sanksi.data[0].sanksi.cabut_sanksi || false} type="submit">
 															Kirim
 														</Button>
 													</div>

+ 129 - 0
pages/app/sanksi/detail.js

@@ -0,0 +1,129 @@
+import React, { Component } from "react";
+import { Card, CardBody, TabContent, TabPane, Nav, NavItem, NavLink, Button, Row, Col } from "reactstrap";
+import Router from "next/router";
+import classnames from "classnames";
+import ContentWrapper from "@/components/Layout/ContentWrapper";
+import DetailSanksi from "@/components/Main/DetailSanksi";
+import Header from "@/components/Main/Header";
+import TableRiwayat from "@/components/Pemeriksaan/TableRiwayat";
+import UploadSurat from "@/components/Sanksi/UploadSurat";
+import Ringkasan from "@/components/Sanksi/Ringkasan";
+import TablePenetapanSanksi from "@/components/Sanksi/TablePenetapanSanksi";
+import Link from "next/link";
+import { getPelaporan } from "@/actions/pelaporan";
+import { createSanksi } from "@/actions/sanksi";
+
+const stepNavitemStyle = {
+	backgroundColor: "#fcfcfc",
+};
+
+class Detail extends Component {
+	constructor(props) {
+		super(props);
+		this.state = {
+			activeStep: "1",
+			checkedData: [],
+			dataUpload: null,
+		};
+	}
+
+	static getInitialProps = async ({ query }) => {
+		const pelaporan = await getPelaporan({ ptId: query.ptId, number: query.number });
+		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.dataUpload.keterangan);
+		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) => () => {
+		if (this.state.activeStep !== activeStep) {
+			this.setState({
+				activeStep,
+			});
+		}
+	};
+
+	setCheckedData = (data) => {
+		this.setState({ checkedData: data });
+	};
+
+	setUploadSuratSanksi = (data) => {
+		this.setState({ dataUpload: data });
+	};
+
+	render() {
+		const { pelaporan } = this.props;
+		const { checkedData, dataUpload } = this.state;
+		return (
+			<ContentWrapper unwrap>
+				<Header />
+				<div className="p-3">
+					<div className="content-heading">
+						<div>Detail Sanksi</div>
+						<div className="ml-auto">
+							<Link href="/app/sanksi">
+								<button className="btn btn-sm btn-secondary text-sm">&lt; back</button>
+							</Link>
+						</div>
+					</div>
+					<Card className="card-default">
+						<CardBody>
+							<Row>
+								<Col xs="4">
+									<Nav pills vertical={true}>
+										<NavItem style={stepNavitemStyle}>
+											<NavLink
+												tag="div"
+												className={classnames({
+													active: this.state.activeStep === "1",
+												})}
+												onClick={this.toggleStep("1")}
+											>
+												<h4 className="text-left my-3">1. Detail Sanksi</h4>
+											</NavLink>
+										</NavItem>
+									</Nav>
+								</Col>
+								<Col xs="8">
+									<TabContent activeTab={this.state.activeStep} className="border-0">
+										<TabPane tabId="1">
+											<div className="pt-3 mb-3">
+												<h2>Detail Sanksi</h2>
+												<Row>
+													<Col>
+														<DetailSanksi noTitle data={pelaporan.data[0]} />
+													</Col>
+												</Row>
+											</div>
+											<hr />
+										</TabPane>
+									</TabContent>
+								</Col>
+							</Row>
+						</CardBody>
+					</Card>
+				</div>
+			</ContentWrapper>
+		);
+	}
+}
+
+export default Detail;

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

@@ -25,7 +25,7 @@ class Sanksi extends Component {
 						<CaseProgress />
 					</Col>
 					<Col lg="8">
-						<TableLaporan listData={pelaporan.data} to="/app/sanksi/proses" linkName="Proses Sanksi" status />
+						<TableLaporan listData={pelaporan.data} to={pelaporan.data[0].sanksi ? "/app/sanksi/detail" : "/app/sanksi/proses"} linkName={pelaporan.data[0].sanksi ? "Detail" : "Proses Sanksi"} status />
 					</Col>
 				</Row>
 			</ContentWrapper>

+ 14 - 24
pages/app/sanksi/proses.js

@@ -150,10 +150,8 @@ class ProsesSanksi extends Component {
 									<TabContent activeTab={this.state.activeStep} className="border-0">
 										<TabPane tabId="1">
 											<div className="pt-3 mb-3">
-												<fieldset>
-													<h2>Detail Laporan</h2>
-													<DetailLaporan noTitle data={pelaporan.data[0]} />
-												</fieldset>
+												<h2>Detail Laporan</h2>
+												<DetailLaporan noTitle data={pelaporan.data[0]} />
 											</div>
 											<hr />
 											<div className="d-flex">
@@ -164,14 +162,12 @@ class ProsesSanksi extends Component {
 										</TabPane>
 										<TabPane tabId="2">
 											<div className="pt-3 mb-3">
-												<fieldset>
-													<h2>Hasil Evaluasi</h2>
-													<Card className="card-default">
-														<CardBody>
-															<TableRiwayat data={pelaporan.data[0]} />
-														</CardBody>
-													</Card>
-												</fieldset>
+												<h2>Hasil Evaluasi</h2>
+												<Card className="card-default">
+													<CardBody>
+														<TableRiwayat data={pelaporan.data[0]} />
+													</CardBody>
+												</Card>
 											</div>
 											<hr />
 											<div className="d-flex">
@@ -185,10 +181,8 @@ class ProsesSanksi extends Component {
 										</TabPane>
 										<TabPane tabId="3">
 											<div className="pt-3 mb-3">
-												<fieldset>
-													<h2>Penetapan Sanksi</h2>
-													<TablePenetapanSanksi setCheckedData={this.setCheckedData} />
-												</fieldset>
+												<h2>Penetapan Sanksi</h2>
+												<TablePenetapanSanksi setCheckedData={this.setCheckedData} />
 											</div>
 											<hr />
 											<div className="d-flex">
@@ -202,10 +196,8 @@ class ProsesSanksi extends Component {
 										</TabPane>
 										<TabPane tabId="4">
 											<div className="pt-3 mb-3">
-												<fieldset>
-													<h2>Nomor Surat Keputusan Sanksi</h2>
-													<UploadSurat setUploadSuratSanksi={this.setUploadSuratSanksi} />
-												</fieldset>
+												<h2>Nomor Surat Keputusan Sanksi</h2>
+												<UploadSurat setUploadSuratSanksi={this.setUploadSuratSanksi} />
 											</div>
 											<hr />
 											<div className="d-flex">
@@ -219,10 +211,8 @@ class ProsesSanksi extends Component {
 										</TabPane>
 										<TabPane tabId="5">
 											<div className="pt-3 mb-3">
-												<fieldset>
-													<h2>Ringkasan</h2>
-													<Ringkasan dataLaporan={pelaporan.data[0]} dataSanksi={checkedData} dataUpload={dataUpload} />
-												</fieldset>
+												<h2>Ringkasan</h2>
+												<Ringkasan dataLaporan={pelaporan.data[0]} dataSanksi={checkedData} dataUpload={dataUpload} />
 											</div>
 											<hr />
 											<div className="d-flex">