andi 3 лет назад
Родитель
Сommit
fa830ffb5f

+ 12 - 0
actions/graph.js

@@ -33,6 +33,7 @@ export const getGraph = async (token, query = {}) => {
 				parseURL.push(`tahun=${tahun}`);
 			}
 
+
 			url += parseURL.join("&");
 		}
 
@@ -59,3 +60,14 @@ export const getExcel = (token, filename, query = {}) => {
 
 	return url;
 };
+export const getlaporanselesai = async (token) => {
+	try {
+		let url = API_URL + "/graph/laporanSelesai";
+		const res = await axiosAPI.get(url, { headers: { Authorization: token } });
+		return res.data;
+	} catch (error) {
+		console.log("error", error);
+		return false;
+	}
+}
+

+ 1 - 1
components/Extras/calendar.view.js

@@ -340,7 +340,7 @@ class Calendar extends Component {
 
 																<FormGroup>
 																	<div className="btn-simpanpenjadwalan">
-																		<Button className="btn-colorpenjadwalan" color block type="submit" disabled={laporan.data?.evaluasi.length}>
+																		<Button className="btn-colorpenjadwalan" color block type="submit" disabled={laporan.data?.sanksi}>
 																			<h4 className="text-btn-penjadwalan-1 font-color-white">Simpan</h4>
 																		</Button>
 																	</div>

+ 4 - 4
components/PelaporanTuntas/CaseProgress.js

@@ -14,12 +14,12 @@ function CaseProgress({ data, nextButton, prevButton, tahun, excel }) {
 			{
 				// "label": "Complete",
 				color: "#287DAD",
-				data: [["Selesai", data.aktif]],
+				data: [["Selesai", data.jumlah_selesai]],
 			},
 			{
 				// "label": "In Progress",
 				color: "#FD4233",
-				data: [["Ditutup", data.aktif]],
+				data: [["Ditutup", data.jumlah_ditutup]],
 			},
 		],
 
@@ -60,12 +60,12 @@ function CaseProgress({ data, nextButton, prevButton, tahun, excel }) {
 			{
 				label: "Selesai",
 				color: "#287DAD",
-				data: [data.evaluasi.hasEvaluasi],
+				data: [data.jumlah_selesai],
 			},
 			{
 				label: "Ditutup",
 				color: "#FD4233",
-				data: [data.evaluasi.notHasEvaluasi],
+				data: [data.jumlah_ditutup],
 			},
 		],
 

+ 33 - 3
components/Pemeriksaan/InputEvaluasi.js

@@ -7,7 +7,8 @@ import { Row, Col, FormGroup, Input } from "reactstrap";
 import { ToastContainer, toast } from "react-toastify";
 import { Formik, Form, Field, ErrorMessage } from "formik";
 import * as Yup from "yup";
-import { getOneLaporan } from "@/actions/pelaporan";
+import { getOneLaporan, updateLaporan } from "@/actions/pelaporan";
+import { connect } from "react-redux";
 
 const selectInstanceId = 1;
 const checkIfFilesAreTooBig = (files) => {
@@ -55,7 +56,7 @@ class DropzoneWrapper extends Component {
 	}
 }
 
-export default class InputEvaluasi extends Component {
+class InputEvaluasi extends Component {
 	constructor(props) {
 		super(props);
 		this.state = {
@@ -64,6 +65,8 @@ export default class InputEvaluasi extends Component {
 			judulEvaluasi: "",
 			tanggal: moment().format("D MMMM YYYY"),
 			files: [],
+			delegasichecklist: false,
+			rolelldikti: false,
 		};
 	}
 
@@ -132,12 +135,24 @@ export default class InputEvaluasi extends Component {
 			success: "Success",
 			error: "Error",
 		});
+		if (this.state.delegasichecklist == true) {
+			data.change_role = "true";
+			data.keterangan = "delegasi ke DIKTI"
+			update = await updateLaporan(token, id, data);
+			Router.push("/app/pemeriksaan");
+		}
 		this.setState({ files: [] });
 		resetForm();
 		const pelaporan = await getOneLaporan(token, query.id);
 		this.props.changePelaporan(pelaporan);
 	};
 
+	handlechecklist = () => {
+		this.setState({ delegasichecklist: !this.state.delegasichecklist })
+	};
+	// getStatus = () => (this.props.user?.role.id == 2021 ? this.setState({ rolelldikti: !this.state.rolelldikti }) : "")
+
+
 	render() {
 		const { files } = this.state;
 
@@ -186,7 +201,7 @@ export default class InputEvaluasi extends Component {
 							</div>
 						</FormGroup>
 						<FormGroup row>
-							<label className="col-md-2 col-form-label">Upload File Pendukung</label>
+							<label className="col-md-2 col-form-label">Upload File Pendukung<span className="text-danger">*</span></label>
 							<div className="col-md-10">
 								<Field name="dokumen">
 									{({ field, form, meta }) => (
@@ -235,6 +250,18 @@ export default class InputEvaluasi extends Component {
 								</p>
 							</div>
 						</FormGroup>
+						{this.props.user?.role.id === 2021 && this.props.data.role_asal === "dikti" ? (
+							<FormGroup row>
+								<label className="col-md-2 col-form-label">Delegasi ke dikti</label>
+								<div className="col-md-10 mt-2">
+									<div className="checkbox c-checkbox">
+										<label>
+											<Input type="checkbox" onChange={this.handlechecklist} defaultChecked={this.state.delegasichecklist} />
+											<span className="fa fa-check"></span></label>
+									</div>
+								</div>
+							</FormGroup>
+						) : ("")}
 						<FormGroup row>
 							<div className="col-xl-10">
 								<button className="btn btn-sm color-3e3a8e" type="submit">
@@ -250,3 +277,6 @@ export default class InputEvaluasi extends Component {
 		);
 	}
 }
+
+const mapStateToProps = (state) => ({ user: state.user, token: state.token });
+export default connect(mapStateToProps)(InputEvaluasi);

+ 16 - 1
components/Sanksi/Ringkasan.js

@@ -127,7 +127,22 @@ function Ringkasan({ dataLaporan, dataPelanggaran, dataUpload }) {
 									</strong>
 								</Col>
 							</FormGroup>
-						) : ("")}
+						) : (
+							<FormGroup row>
+								<Col md="4">Tanggal Penetapan Sanksi:</Col>
+								<Col md="8">
+									<strong>
+										{dataUpload && dataUpload.awalsanksi ? (
+											<p>
+												{moment(dataUpload.awalsanksi).format("DD MMMM YYYY")}
+											</p>
+										) : (
+											""
+										)}
+									</strong>
+								</Col>
+							</FormGroup>
+						)}
 						{dataUpload && !dataUpload.tmtCheck ? (
 							<FormGroup row>
 								<Col md="4">TMT :</Col>

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

@@ -63,7 +63,7 @@ class PemeriksaanNew extends Component {
 										<Row>
 											<Col lg={12}>
 												<DetailLaporan data={pelaporan.data} />
-												<InputEvaluasi query={query} token={token} changePelaporan={this.changePelaporan} />
+												<InputEvaluasi query={query} token={token} changePelaporan={this.changePelaporan} data={pelaporan.data} />
 											</Col>
 										</Row>
 									</CardBody>

+ 77 - 37
styles/bootstrap/_buttons.scss

@@ -12,19 +12,17 @@ $colortheme : #3e3a8e;
   font-weight: $btn-font-weight;
   color: $body-color;
   text-align: center;
-  text-decoration: if($link-decoration == none, null, none);
+  text-decoration: if($link-decoration ==none, null, none);
   white-space: $btn-white-space;
   vertical-align: middle;
   user-select: none;
-  background-color: transparent ;
+  background-color: transparent;
   border: $btn-border-width solid transparent;
-  @include button-size(
-    $btn-padding-y,
+  @include button-size($btn-padding-y,
     $btn-padding-x,
     $btn-font-size,
     $btn-line-height,
-    $btn-border-radius
-  );
+    $btn-border-radius );
   @include transition($btn-transition);
 
   @include hover() {
@@ -69,13 +67,15 @@ fieldset:disabled a.btn {
 // Alternate buttons
 //
 
-@each $color, $value in $theme-colors {
+@each $color,
+$value in $theme-colors {
   .btn-#{$color} {
     @include button-variant($value, $value);
   }
 }
 
-@each $color, $value in $theme-colors {
+@each $color,
+$value in $theme-colors {
   .btn-outline-#{$color} {
     @include button-outline-variant($value);
   }
@@ -115,23 +115,19 @@ fieldset:disabled a.btn {
 //
 
 .btn-lg {
-  @include button-size(
-    $btn-padding-y-lg,
+  @include button-size($btn-padding-y-lg,
     $btn-padding-x-lg,
     $btn-font-size-lg,
     $btn-line-height-lg,
-    $btn-border-radius-lg
-  );
+    $btn-border-radius-lg );
 }
 
 .btn-sm {
-  @include button-size(
-    $btn-padding-y-sm,
+  @include button-size($btn-padding-y-sm,
     $btn-padding-x-sm,
     $btn-font-size-sm,
     $btn-line-height-sm,
-    $btn-border-radius-sm
-  );
+    $btn-border-radius-sm );
 }
 
 //
@@ -143,7 +139,7 @@ fieldset:disabled a.btn {
   width: 100%;
 
   // Vertically space out multiple block buttons
-  + .btn-block {
+  +.btn-block {
     margin-top: $btn-block-spacing-y;
   }
 }
@@ -156,9 +152,11 @@ input[type="button"] {
     width: 100%;
   }
 }
+
 .posisi-btn-1 .button-kirimlaporan {
   border-radius: 5px;
 }
+
 .button-kirimlaporan {
   // background: rgba(0, 0, 0, 0.05);
   display: inline-block;
@@ -167,6 +165,7 @@ input[type="button"] {
   height: 33px;
   margin-bottom: -15px;
 }
+
 .text-kirimlaporan {
   font-weight: 500;
   font-size: 17px;
@@ -174,6 +173,7 @@ input[type="button"] {
   text-align: center;
   padding-bottom: 5px;
 }
+
 .posisi-btn-1 .button-lihatpemantauan {
   border-radius: 5px;
   position: relative;
@@ -185,6 +185,7 @@ input[type="button"] {
   height: 35px;
   margin-bottom: -5px;
 }
+
 .text-lihatpemantauan {
   // font-weight: 500;
   font-size: 16px;
@@ -193,6 +194,7 @@ input[type="button"] {
   // padding-bottom: 5px;
   margin: -5px;
 }
+
 .btn-labeled {
   padding-top: 0;
   padding-bottom: 0;
@@ -202,91 +204,116 @@ input[type="button"] {
   display: inline;
   border-radius: 7px;
   transition: ease background-color 250ms;
+
   &:hover {
-    background-color: $colorbutton; opacity: 0.9;
-}}
+    background-color: $colorbutton;
+    opacity: 0.9;
+  }
+}
+
 .btn-labeled-2 {
   padding-top: 0;
   padding-bottom: 0;
   margin-top: 3%;
-  background:$colorbutton;
+  background: $colorbutton;
   transition: ease background-color 250ms;
+
   &:hover {
-    background-color: $colorbutton; opacity: 0.9;
-}
+    background-color: $colorbutton;
+    opacity: 0.9;
+  }
 }
-.btn-labeled-3{
+
+.btn-labeled-3 {
   border: #3e3a8e solid 2px;
   padding-top: 0;
   padding-bottom: 0;
   margin-top: 3%;
   color: #3e3a8e;
-  background:transparent;
+  background: transparent;
   transition: ease background-color 250ms;
+
   &:hover {
-    background-color: #e9e8e8; opacity: 0.9;
+    background-color: #e9e8e8;
+    opacity: 0.9;
     color: #3e3a8e;
-}}
+  }
+}
 
-.btn-radius .btn-labeled-3{
+.btn-radius .btn-labeled-3 {
   border-radius: 7px;
 }
+
 .btn-login {
   background: $colorbutton;
   transition: ease background-color 250ms;
+
   &:hover {
-    background-color: $colorbutton; opacity: 0.8;
+    background-color: $colorbutton;
+    opacity: 0.8;
+  }
 }
-} //jangan di ubah
+
+//jangan di ubah
 .navbar-color {
   background-color: $colortheme;
 }
+
 .posisi-btn-1 {
   position: relative;
   margin-left: auto;
   padding-right: 20px;
 }
+
 .tengah {
   text-align: center;
   padding: 30px;
 }
+
 .btn-simpanpenjadwalan {
   margin-left: auto;
   width: 100px;
 }
+
 .btn-colorpenjadwalan {
   // display: inline-block;
-  background-color:$colorbutton;
-  height: 35px;   
+  background-color: $colorbutton;
+  height: 35px;
   transition: ease background-color 250ms;
-  &:hover {
-    background-color: $colorbutton; opacity: 0.9;
-}
+  //   &:hover {
+  //     background-color: $colorbutton; opacity: 0.9;
+  // }
 }
+
 .text-btn-penjadwalan-1 {
   letter-spacing: 0.02em;
   text-align: center;
 }
+
 .btn-simpanjadwal {
   margin-left: auto;
   width: 100px;
   margin-top: 20px;
   margin-bottom: 15px;
 }
+
 .btn-radius .btn-labeled-2 {
   border-radius: 7px;
   display: inline;
   border: 0;
 }
+
 .btn-radius .btn-labeled {
   border-radius: 7px;
   display: inline;
   border: 0;
 }
+
 .btn-radius .btn-login {
   border-radius: 7px;
   border: 0;
 }
+
 .btn-header {
   display: inline-block;
   background-color: $colorbutton;
@@ -295,38 +322,48 @@ input[type="button"] {
   margin-left: 5px;
   border: 0;
   transition: ease background-color 250ms;
+
   &:hover {
-    background-color: $colorbutton; opacity: 0.9;
-}
+    background-color: $colorbutton;
+    opacity: 0.9;
+  }
 }
+
 .margin-l-5 {
   margin-right: 5px;
   display: inline;
 }
+
 .btn-radius .button-kirimlaporan {
   border: 0;
   background-color: $colorbutton;
 }
+
 .btn-radius .button-lihatpemantauan {
   border: 0;
 }
+
 .button-hidden {
   border: 0;
   padding: 0;
 }
+
 .color-3e3a8e {
   background-color: #3e3a8e;
   color: #3e3a8e;
 }
+
 .margin-left-auto {
   float: left;
   margin-right: auto;
 }
+
 .icon-laporan-baru {
   margin-left: 5px;
   // margin-right: -8px;
   width: 13px;
 }
+
 .modals {
   // height: 40px;
   background-color: $colortheme;
@@ -334,17 +371,20 @@ input[type="button"] {
   margin-bottom: -2px;
   border-radius: 5px;
 }
+
 .modals-1 {
   background-color: #b8b8b8;
   padding: 10px;
   border-radius: 5px;
 }
+
 .modals-verifikasi {
   background-color: transparent;
   padding: 5px;
   border-radius: 5px;
   color: black;
 }
+
 .btn-verif {
   background-color: Transparent;
   background-repeat: no-repeat;
@@ -356,4 +396,4 @@ input[type="button"] {
   margin-bottom: 3px;
   float: right;
   margin-bottom: auto;
-}
+}