yazid138 3 years ago
parent
commit
ba3bb61987

+ 2 - 2
components/Main/DetailSanksi.js

@@ -71,7 +71,7 @@ function DetailSanksi({ data, noTitle = false }) {
 									<tbody>
 									<tbody>
 										{data.sanksi.pelanggaran.map((jp, index) => (
 										{data.sanksi.pelanggaran.map((jp, index) => (
 											<tr key={jp._id}>
 											<tr key={jp._id}>
-												<td>
+												<td width={50}>
 													<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>
@@ -82,7 +82,7 @@ function DetailSanksi({ data, noTitle = false }) {
 														</div>
 														</div>
 													</div>
 													</div>
 												</td>
 												</td>
-												<td>
+												<td width={50}>
 													<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>

+ 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);
 		const added = await addKeberatan({ noSanksi, ptId: "0BCE4DB7-B207-445D-8D03-0C54B7688252" }, formdata);
 		// formdata.append("keberatan", added.add.sanksi.keberatan._id);
 		// 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);
 		// console.log(added);
 		if (added) {
 		if (added) {
 			Router.push({
 			Router.push({

+ 1 - 1
components/Sanksi/Ringkasan.js

@@ -96,7 +96,7 @@ function Ringkasan({ dataLaporan, dataSanksi, dataUpload }) {
 			</Row>
 			</Row>
 			<Row>
 			<Row>
 				<Col>
 				<Col>
-					<p className="lead bb">Nomor Surat keputusan Sanksi</p>
+					<p className="lead bb">Nomor Surat Keputusan Sanksi</p>
 					<form className="form-horizontal">
 					<form className="form-horizontal">
 						<FormGroup row>
 						<FormGroup row>
 							<Col md="4">Nomor Surat:</Col>
 							<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">
 							<Card className="card-default">
 								<CardBody>
 								<CardBody>
 									<Row>
 									<Row>
-										<Col lg="6">
+										<Col lg={12}>
 											<DetailLaporan data={pelaporan.data[0]} />
 											<DetailLaporan data={pelaporan.data[0]} />
-										</Col>
-										<Col lg={6}>
 											<InputEvaluasi query={query} />
 											<InputEvaluasi query={query} />
 										</Col>
 										</Col>
 									</Row>
 									</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
 												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)
 												bawah ini (10 Hari Kerja)
 											</p>
 											</p>
-											<Button color="primary" onClick={this.toggleModal}>
+											<Button color="primary" onClick={this.toggleModal} disabled={sanksi.data[0].sanksi.banding || false}>
 												Ajukan Banding
 												Ajukan Banding
 											</Button>
 											</Button>
 										</Col>
 										</Col>

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

@@ -76,13 +76,12 @@ class DetailPencabutanSanksi extends Component {
 			this.state.files.forEach((e) => {
 			this.state.files.forEach((e) => {
 				formdata.append("files", 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>
 												<FormGroup>
 												<FormGroup>
 													<div className="row-xl-10">
 													<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
 															Kirim
 														</Button>
 														</Button>
 													</div>
 													</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 />
 						<CaseProgress />
 					</Col>
 					</Col>
 					<Col lg="8">
 					<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>
 					</Col>
 				</Row>
 				</Row>
 			</ContentWrapper>
 			</ContentWrapper>

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

@@ -150,10 +150,8 @@ class ProsesSanksi extends Component {
 									<TabContent activeTab={this.state.activeStep} className="border-0">
 									<TabContent activeTab={this.state.activeStep} className="border-0">
 										<TabPane tabId="1">
 										<TabPane tabId="1">
 											<div className="pt-3 mb-3">
 											<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>
 											</div>
 											<hr />
 											<hr />
 											<div className="d-flex">
 											<div className="d-flex">
@@ -164,14 +162,12 @@ class ProsesSanksi extends Component {
 										</TabPane>
 										</TabPane>
 										<TabPane tabId="2">
 										<TabPane tabId="2">
 											<div className="pt-3 mb-3">
 											<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>
 											</div>
 											<hr />
 											<hr />
 											<div className="d-flex">
 											<div className="d-flex">
@@ -185,10 +181,8 @@ class ProsesSanksi extends Component {
 										</TabPane>
 										</TabPane>
 										<TabPane tabId="3">
 										<TabPane tabId="3">
 											<div className="pt-3 mb-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>
 											</div>
 											<hr />
 											<hr />
 											<div className="d-flex">
 											<div className="d-flex">
@@ -202,10 +196,8 @@ class ProsesSanksi extends Component {
 										</TabPane>
 										</TabPane>
 										<TabPane tabId="4">
 										<TabPane tabId="4">
 											<div className="pt-3 mb-3">
 											<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>
 											</div>
 											<hr />
 											<hr />
 											<div className="d-flex">
 											<div className="d-flex">
@@ -219,10 +211,8 @@ class ProsesSanksi extends Component {
 										</TabPane>
 										</TabPane>
 										<TabPane tabId="5">
 										<TabPane tabId="5">
 											<div className="pt-3 mb-3">
 											<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>
 											</div>
 											<hr />
 											<hr />
 											<div className="d-flex">
 											<div className="d-flex">