andi пре 1 месец
родитељ
комит
f1e9ff0226
64 измењених фајлова са 261 додато и 151 уклоњено
  1. 2 1
      components/Banding/Riwayat.js
  2. 2 1
      components/Banding/TableSanksi.js
  3. 2 1
      components/Bypass/TableBypass.js
  4. 3 1
      components/DocPerbaikan/Riwayat.js
  5. 2 0
      components/Keberatan/Riwayat.js
  6. 1 1
      components/Main/ChartdataHome.js
  7. 2 2
      components/Main/Login.js
  8. 2 0
      components/Main/Timeline.js
  9. 2 1
      components/NaikSanksi/DetailSanksi.js
  10. 1 1
      components/NaikSanksi/InputTanggal.js
  11. 1 1
      components/NaikSanksi/TableLaporan.js
  12. 1 1
      components/NaikSanksi/TableRiwayat.js
  13. 2 1
      components/PT/CabutSanksi/Riwayat.js
  14. 2 1
      components/PT/CabutSanksi/TableSanksiJawaban.js
  15. 3 2
      components/PT/DocPerbaikan/Riwayat.js
  16. 2 1
      components/PT/JawabanBanding/TableSanksiJawaban.js
  17. 2 1
      components/PT/JawabanKeberatan/Riwayat.js
  18. 2 1
      components/PT/Keberatan/Riwayat.js
  19. 2 1
      components/PT/Riwayat.js
  20. 2 1
      components/PT/TableSanksi.js
  21. 2 1
      components/PT/TableSanksiJawaban.js
  22. 2 1
      components/PT/Timeline.js
  23. 12 10
      components/Pelaporan/CaseProgress.js
  24. 12 10
      components/Pemeriksaan/CaseProgress.js
  25. 2 1
      components/PencabutanSanksi/Riwayat.js
  26. 2 1
      components/PencabutanSanksi/RiwayatPerbaikan.js
  27. 1 1
      components/PencabutanSanksi/TableSanksi.js
  28. 12 10
      components/Penjadwalan/CaseProgress.js
  29. 1 1
      components/PerpanjanganSanksi/DetailSanksi.js
  30. 3 3
      components/PerpanjanganSanksi/InputTanggal.js
  31. 2 1
      components/PerpanjanganSanksi/Riwayat.js
  32. 1 1
      components/PerpanjanganSanksi/TableLaporan.js
  33. 1 1
      components/RekomendasiDelegasi/DetailLaporan.js
  34. 1 1
      components/RekomendasiDelegasi/DetailSanksi.js
  35. 1 1
      components/RekomendasiDelegasi/InputRekomendasi.js
  36. 1 1
      components/RekomendasiDelegasi/TableLaporan.js
  37. 1 0
      components/RekomendasiDelegasi/TableRiwayat.js
  38. 7 7
      components/Sanksi/BeritaAcara.js
  39. 12 10
      components/Sanksi/CaseProgress.js
  40. 6 12
      components/Sanksi/Modul.js
  41. 17 17
      components/Sanksi/Ringkasan.js
  42. 2 2
      components/Sanksi/SuratBA _detail.js
  43. 1 1
      components/Sanksi/SuratBA_A.js
  44. 1 1
      components/Sanksi/TablePenetapanSanksi.js
  45. 1 1
      components/Sanksi/UploadSurat.js
  46. 1 1
      components/TurunSanksi/DetailSanksi.js
  47. 1 1
      components/TurunSanksi/InputTanggal.js
  48. 1 1
      components/TurunSanksi/TableLaporan.js
  49. 1 0
      components/TurunSanksi/TableRiwayat.js
  50. 2 0
      pages/app/dashboard/index.js
  51. 3 3
      pages/app/index.js
  52. 29 4
      pages/app/naik-sanksi/detail.js
  53. 3 2
      pages/app/pelaporan/index.js
  54. 1 1
      pages/app/pemantauan-perbaikan/index.js
  55. 1 1
      pages/app/pemeriksaan/index.js
  56. 14 2
      pages/app/pencabutan-sanksi/detail.js
  57. 1 1
      pages/app/penjadwalan/index.js
  58. 18 6
      pages/app/perpanjangan-sanksi/detail.js
  59. 9 2
      pages/app/riwayat/index.js
  60. 1 1
      pages/app/sanksi/index.js
  61. 2 1
      pages/app/sanksi/proses.js
  62. 28 5
      pages/app/turun-sanksi/detail.js
  63. 2 2
      pages/signature/pleno-sanksi/[id].js
  64. 1 1
      pages/signature/pleno-sanksi/done/[id].js

+ 2 - 1
components/Banding/Riwayat.js

@@ -2,7 +2,8 @@ import Datatable from "@/components/Tables/Datatable";
 import moment from "moment";
 import { Card, CardHeader, CardBody, CardTitle } from "reactstrap";
 import Swal from "sweetalert2";
-
+moment.locale('id')
+import 'moment/locale/id';
 function Riwayat({ data, role }) {
 	const handleOpenAlert = () => {
 		Swal.fire({

+ 2 - 1
components/Banding/TableSanksi.js

@@ -2,7 +2,8 @@ import Datatable from "@/components/Tables/Datatable";
 import { Button } from "reactstrap";
 import Link from "next/link";
 import moment from "moment";
-
+moment.locale('id')
+import 'moment/locale/id';
 function TableSanksi({ listData, to, linkName }) {
 	return (
 		<div className="card b">

+ 2 - 1
components/Bypass/TableBypass.js

@@ -10,7 +10,8 @@ import { useState } from "react";
 import { Modal, ModalBody, ModalFooter } from "reactstrap";
 import { getCsrf } from "../../actions/security";
 import Swal from "sweetalert2";
-
+moment.locale('id')
+import 'moment/locale/id';
 
 function TableBypass({ listData, to, linkName, role }) {
 

+ 3 - 1
components/DocPerbaikan/Riwayat.js

@@ -2,6 +2,8 @@ import Datatable from "@/components/Tables/Datatable";
 import moment from "moment";
 import { Card, CardHeader, CardBody, CardTitle } from "reactstrap";
 import Swal from "sweetalert2";
+import 'moment/locale/id';
+moment.locale('id')
 
 function Riwayat({ data, role }) {
 	const handleOpenAlert = () => {
@@ -20,7 +22,7 @@ function Riwayat({ data, role }) {
 			</CardHeader>
 			<CardBody>
 				<Datatable options={{ responsive: true }}>
-					<table className="table table-striped my-4 w-100">
+					<table className="table table-striped my-4 w-100" data-order='[[0, "desc"]]'>
 						<thead>
 							<tr>
 								<th>Tanggal</th>

+ 2 - 0
components/Keberatan/Riwayat.js

@@ -3,6 +3,8 @@ import moment from "moment";
 import { Card, CardHeader, CardBody, CardTitle } from "reactstrap";
 import { API_URL } from "@/env";
 import Swal from "sweetalert2";
+import 'moment/locale/id';
+moment.locale('id')
 
 function Riwayat({ data, role }) {
 	const handleOpenAlert = () => {

+ 1 - 1
components/Main/ChartdataHome.js

@@ -16,7 +16,7 @@ class ChartdataHome extends Component {
 
 	componentDidMount = async () => {
 		const dataPengunjung = await getPengunjungPublic({ bulan: new Date().getMonth() + 1, tahun: new Date().getFullYear() });
-		this.setState({ dataPengunjung: dataPengunjung.data.map((e) => [e._id.tanggal, e.jumlah_pengunjung]) });
+		this.setState({ dataPengunjung: dataPengunjung?.data?.map((e) => [e._id.tanggal, e.jumlah_pengunjung]) });
 		this.setState((prevState) => ({ dataChart: { ...prevState.dataChart, data: [{ ...prevState.dataChart.data[0], data: prevState.dataPengunjung }] } }));
 	};
 

+ 2 - 2
components/Main/Login.js

@@ -104,12 +104,12 @@ class Login extends Component {
   render() {
     return (
       <Card className="card-login-over">
-  <img
+        <img
           className="img-login-1"
           src="/static/img/logo_login_v_2.png"
           alt="Logo"
         />
-        <CardBody className="card-body">
+        <CardBody className="card-body"> 
           {" "}
           <h5 className="card-title text-left py-2 bg-gray border-radius-login">
             <img

+ 2 - 0
components/Main/Timeline.js

@@ -1,5 +1,7 @@
 import moment from "moment";
 import { useSelector } from "react-redux";
+import 'moment/locale/id';
+moment.locale('id')
 
 function Timeline({ data, noFile = false, noJadwal = false }) {
 	const date = data && [...new Set(data.map((e) => moment(e.createdAt).format("DD MMMM YYYY")))];

+ 2 - 1
components/NaikSanksi/DetailSanksi.js

@@ -1,6 +1,7 @@
 import Scrollable from "@/components/Common/Scrollable";
 import moment from "moment";
-import 'moment/min/locales';
+
+import 'moment/locale/id';;
 moment.locale('id');
 import { CardBody, Col, FormGroup, Table, Card } from "reactstrap";
 import { API_URL } from "@/env";

+ 1 - 1
components/NaikSanksi/InputTanggal.js

@@ -428,7 +428,7 @@ class InputTanggal extends Component {
                                     </div>
                                 </FormGroup>
                                 <FormGroup row className="mt-3">
-                                    <label className="col-md-2 col-form-label">Dokumen Perpanjangan Sanksi : <span className="text-danger">*</span></label>
+                                    <label className="col-md-2 col-form-label">Dokumen Perubahan Sanksi : <span className="text-danger">*</span></label>
                                     <div className="col-md-10">
                                         <Field name="dokumen">
                                             {({ field, form }) => (

+ 1 - 1
components/NaikSanksi/TableLaporan.js

@@ -2,7 +2,7 @@ import Datatable from "@/components/Tables/Datatable";
 import { Button } from "reactstrap";
 import Link from "next/link";
 import moment from "moment";
-import 'moment/min/locales';
+import 'moment/locale/id';
 moment.locale('id');
 
 function TableLaporan({ listData, to, linkName, status = false, noBy = false }) {

+ 1 - 1
components/NaikSanksi/TableRiwayat.js

@@ -1,6 +1,6 @@
 import Datatable from "@/components/Tables/Datatable";
 import moment from "moment";
-import 'moment/min/locales';
+import 'moment/locale/id';
 import Swal from "sweetalert2";
 moment.locale('id');
 

+ 2 - 1
components/PT/CabutSanksi/Riwayat.js

@@ -2,7 +2,8 @@ import Datatable from "@/components/Tables/Datatable";
 import moment from "moment";
 import { Card, CardHeader, CardBody, CardTitle } from "reactstrap";
 import Swal from "sweetalert2";
-
+import 'moment/locale/id';
+moment.locale('id')
 function Riwayat({ data, role }) {
 	const handleOpenAlert = () => {
 		Swal.fire({

+ 2 - 1
components/PT/CabutSanksi/TableSanksiJawaban.js

@@ -1,7 +1,8 @@
 import moment from "moment";
 import { Button, Table } from "reactstrap";
 import Link from "next/link";
-
+import 'moment/locale/id';
+moment.locale('id')
 function TableSanksi({ listData, to, linkName }) {
 	return (
 		<div className="card b">

+ 3 - 2
components/PT/DocPerbaikan/Riwayat.js

@@ -1,7 +1,8 @@
 import Datatable from "@/components/Tables/Datatable";
 import moment from "moment";
 import { Card, CardHeader, CardBody, CardTitle } from "reactstrap";
-
+import 'moment/locale/id';
+moment.locale('id')
 function Riwayat({ data }) {
 	return (
 		<Card className="card-default">
@@ -14,7 +15,7 @@ function Riwayat({ data }) {
 						<thead>
 							<tr>
 								<th>Tanggal</th>
-								<th>Ketarangan</th>
+								<th>Keterangan</th>
 								<th>Dokumen</th>
 								<th>Tahap</th>
 							</tr>

+ 2 - 1
components/PT/JawabanBanding/TableSanksiJawaban.js

@@ -1,7 +1,8 @@
 import moment from "moment";
 import { Button, Table } from "reactstrap";
 import Link from "next/link";
-
+import 'moment/locale/id';
+moment.locale('id')
 function TableSanksi({ listData, to, linkName }) {
 	return (
 		<div className="card b">

+ 2 - 1
components/PT/JawabanKeberatan/Riwayat.js

@@ -1,7 +1,8 @@
 import Datatable from "@/components/Tables/Datatable";
 import moment from "moment";
 import { Card, CardHeader, CardBody, CardTitle } from "reactstrap";
-
+import 'moment/locale/id';
+moment.locale('id')
 function Riwayat({ data }) {
 	return (
 		<Card className="card-default">

+ 2 - 1
components/PT/Keberatan/Riwayat.js

@@ -1,7 +1,8 @@
 import Datatable from "@/components/Tables/Datatable";
 import moment from "moment";
 import { Card, CardHeader, CardBody, CardTitle } from "reactstrap";
-
+import 'moment/locale/id';
+moment.locale('id')
 function Riwayat({ data }) {
 	return (
 		<Card className="card-default">

+ 2 - 1
components/PT/Riwayat.js

@@ -1,7 +1,8 @@
 import Datatable from "@/components/Tables/Datatable";
 import moment from "moment";
 import { Card, CardHeader, CardBody, CardTitle } from "reactstrap";
-
+import 'moment/locale/id';
+moment.locale('id')
 function Riwayat({ data }) {
 	return (
 		<Card className="card-default">

+ 2 - 1
components/PT/TableSanksi.js

@@ -1,7 +1,8 @@
 import moment from "moment";
 import { Button, Table } from "reactstrap";
 import Link from "next/link";
-
+import 'moment/locale/id';
+moment.locale('id')
 function TableSanksi({ listData, to, linkName }) {
 	return (
 		<div className="card b">

+ 2 - 1
components/PT/TableSanksiJawaban.js

@@ -1,7 +1,8 @@
 import moment from "moment";
 import { Button, Table } from "reactstrap";
 import Link from "next/link";
-
+import 'moment/locale/id';
+moment.locale('id')
 function TableSanksi({ listData, to, linkName }) {
 	return (
 		<div className="card b">

+ 2 - 1
components/PT/Timeline.js

@@ -1,6 +1,7 @@
 import moment from "moment";
 import { API_URL } from "@/env";
-
+import 'moment/locale/id';
+moment.locale('id')
 function Timeline({ data, dataPelaporan }) {
 	const jadwal = dataPelaporan;
 	const date = [...new Set(data.data.map((e) => moment(e.createdAt).format("DD MMMM YYYY")))];

+ 12 - 10
components/Pelaporan/CaseProgress.js

@@ -7,7 +7,7 @@ import Datatable from "@/components/Tables/Datatable";
 import { useState, useEffect } from "react";
 import Dropdown from 'react-bootstrap/Dropdown';
 
-function CaseProgress({ data, nextButton, prevButton, tahun, newLaporan, excelSemua, excelMenu }) {
+function CaseProgress({ data, nextButton, prevButton, tahun, newLaporan, excelSemua, excelMenu,user }) {
 	const laporan_pertahun = data.laporan_perTahun;
 
 	const [chartData, setChartData] = useState([
@@ -118,15 +118,17 @@ function CaseProgress({ data, nextButton, prevButton, tahun, newLaporan, excelSe
 						<img src="/static/img/next.png"></img>
 					</Button>
 					<b className="text-tahun">Tahun {tahun} </b>
-					<Dropdown className="float-right">
-						<Dropdown.Toggle variant="success" id="dropdown-basic">
-							Unduh
-						</Dropdown.Toggle>
-						<Dropdown.Menu>
-							<Dropdown.Item onClick={excelMenu}>Unduh dokumen pelaporan</Dropdown.Item>
-							<Dropdown.Item onClick={excelSemua}>Unduh dokumen semua menu</Dropdown.Item>
-						</Dropdown.Menu>
-					</Dropdown>
+				 {user?.role?.id !== 2071 && (   // ⬅️ sembunyikan dropdown untuk role 2071
+                        <Dropdown className="float-right">
+                            <Dropdown.Toggle variant="success" id="dropdown-basic">
+                                Unduh
+                            </Dropdown.Toggle>
+                            <Dropdown.Menu>
+                                <Dropdown.Item onClick={excelMenu}>Unduh dokumen pelaporan</Dropdown.Item>
+                                <Dropdown.Item onClick={excelSemua}>Unduh dokumen semua menu</Dropdown.Item>
+                            </Dropdown.Menu>
+                        </Dropdown>
+                    )}
 					{/* <Button className="float-right button-hidden icon-eksport" onClick={excel}>
 						<img src="/static/img/eksport.png"></img>
 					</Button> */}

+ 12 - 10
components/Pemeriksaan/CaseProgress.js

@@ -9,7 +9,7 @@ import MorrisChart from "@/components/Charts//Morris";
 import { Button } from "reactstrap";
 import Dropdown from 'react-bootstrap/Dropdown';
 
-function CaseProgress({ data, nextButton, prevButton, tahun, excelSemua, excelMenu }) {
+function CaseProgress({ data, nextButton, prevButton, tahun, excelSemua, excelMenu ,user}) {
 	const ChartBar = {
 		data: [
 			{
@@ -107,15 +107,17 @@ function CaseProgress({ data, nextButton, prevButton, tahun, excelSemua, excelMe
 						<img src="/static/img/next.png"></img>
 					</Button>
 					<b className="text-tahun">Tahun {tahun} </b>
-					<Dropdown className="float-right">
-						<Dropdown.Toggle variant="success" id="dropdown-basic">
-							Unduh
-						</Dropdown.Toggle>
-						<Dropdown.Menu>
-							<Dropdown.Item onClick={excelMenu}>Unduh dokumen pemeriksaan</Dropdown.Item>
-							<Dropdown.Item onClick={excelSemua}>Unduh dokumen semua menu</Dropdown.Item>
-						</Dropdown.Menu>
-					</Dropdown>
+					 {user?.role?.id !== 2071 && (   // ⬅️ sembunyikan dropdown untuk role 2071
+                        <Dropdown className="float-right">
+                            <Dropdown.Toggle variant="success" id="dropdown-basic">
+                                Unduh
+                            </Dropdown.Toggle>
+                            <Dropdown.Menu>
+                                <Dropdown.Item onClick={excelMenu}>Unduh dokumen pelaporan</Dropdown.Item>
+                                <Dropdown.Item onClick={excelSemua}>Unduh dokumen semua menu</Dropdown.Item>
+                            </Dropdown.Menu>
+                        </Dropdown>
+                    )}
 				</div>
 				<div className="header-1">
 					<h2 className="card-title-1">Perkembangan</h2>

+ 2 - 1
components/PencabutanSanksi/Riwayat.js

@@ -3,7 +3,8 @@ import moment from "moment";
 import { Card, CardHeader, CardBody, CardTitle } from "reactstrap";
 import { API_URL } from "@/env";
 import Swal from "sweetalert2";
-
+import 'moment/locale/id';
+moment.locale('id')
 function Riwayat({ data, role }) {
 	const handleOpenAlert = () => {
 		Swal.fire({

+ 2 - 1
components/PencabutanSanksi/RiwayatPerbaikan.js

@@ -2,7 +2,8 @@ import Datatable from "@/components/Tables/Datatable";
 import moment from "moment";
 import { Card, CardHeader, CardBody, CardTitle } from "reactstrap";
 import Swal from "sweetalert2";
-
+import 'moment/locale/id';
+moment.locale('id')
 function RiwayatPerbaikan({ data, role }) {
 	const handleOpenAlert = () => {
 		Swal.fire({

+ 1 - 1
components/PencabutanSanksi/TableSanksi.js

@@ -50,7 +50,7 @@ function TableSanksi({ listData, to, linkName }) {
 												</div>
 											</td>
 											{/* <td>{moment(data.createdAt).fromNow()}</td> */}
-											<td>{data.jawaban?.cabut_sanksi?.status === "Rekomendasi Perbaikan" ?
+											<td>{data.jawaban?.cabut_sanksi?.status == "Rekomedasi Perbaikan" && data.riwayat_pengajuan_cabut_sanksi.length === data.riwayat_jawaban_cabut_sanksi.length?
 												<div>
 													<div className="badge badge-green">
 														Sudah Dijawab

+ 12 - 10
components/Penjadwalan/CaseProgress.js

@@ -9,7 +9,7 @@ import MorrisChart from "@/components/Charts//Morris";
 import { Button } from "reactstrap";
 import Dropdown from 'react-bootstrap/Dropdown';
 
-function CaseProgress({ data, nextButton, prevButton, tahun, excelSemua, excelMenu }) {
+function CaseProgress({ data, nextButton, prevButton, tahun, excelSemua, excelMenu,user }) {
 	const Perkembangan = {
 		data: [
 			{
@@ -107,15 +107,17 @@ function CaseProgress({ data, nextButton, prevButton, tahun, excelSemua, excelMe
 						<img src="/static/img/next.png"></img>
 					</Button>
 					<b className="text-tahun">Tahun {tahun}</b>
-					<Dropdown className="float-right">
-						<Dropdown.Toggle variant="success" id="dropdown-basic">
-							Unduh
-						</Dropdown.Toggle>
-						<Dropdown.Menu>
-							<Dropdown.Item onClick={excelMenu}>Unduh dokumen penjadwalan</Dropdown.Item>
-							<Dropdown.Item onClick={excelSemua}>Unduh dokumen semua menu</Dropdown.Item>
-						</Dropdown.Menu>
-					</Dropdown>
+					 {user?.role?.id !== 2071 && (   // ⬅️ sembunyikan dropdown untuk role 2071
+                        <Dropdown className="float-right">
+                            <Dropdown.Toggle variant="success" id="dropdown-basic">
+                                Unduh
+                            </Dropdown.Toggle>
+                            <Dropdown.Menu>
+                                <Dropdown.Item onClick={excelMenu}>Unduh dokumen pelaporan</Dropdown.Item>
+                                <Dropdown.Item onClick={excelSemua}>Unduh dokumen semua menu</Dropdown.Item>
+                            </Dropdown.Menu>
+                        </Dropdown>
+                    )}
 				</div>
 				<div className="header-1">
 					<h2 className="card-title-1">Perkembangan</h2>

+ 1 - 1
components/PerpanjanganSanksi/DetailSanksi.js

@@ -1,6 +1,6 @@
 import Scrollable from "@/components/Common/Scrollable";
 import moment from "moment";
-import 'moment/min/locales';
+import 'moment/locale/id';
 moment.locale('id');
 import { CardBody, Col, FormGroup, Table, Card } from "reactstrap";
 import { API_URL } from "@/env";

+ 3 - 3
components/PerpanjanganSanksi/InputTanggal.js

@@ -8,7 +8,7 @@ import { getOneSanksi, editTmt } from "@/actions/sanksi";
 import { addDays, addMonths } from 'date-fns';
 import id from 'date-fns/locale/id';
 import moment from "moment";
-import 'moment/min/locales';
+import 'moment/locale/id';
 moment.locale('id');
 import Router from "next/router";
 import { getCsrf } from "../../actions/security";
@@ -207,7 +207,7 @@ class InputTanggal extends Component {
                             <Form className="form-horizontal">
                                         <FormGroup row className="mt-3">
                                     <label className="col-md-2 col-form-label">Sudah melakukan perpanjangan sanksi : </label>
-                                    <div className="col-md-10">{this.props.data?.riwayat_sanksi?.length}</div>
+                                    <div className="col-md-10 mt-2">{this.props.data?.riwayat_sanksi?.length}</div>
                                     </FormGroup>
                                 <FormGroup row className="mt-3">
                                     <label className="col-md-2 col-form-label">Tanggal Perpanjangan Sanksi :</label>
@@ -227,7 +227,7 @@ class InputTanggal extends Component {
                                                             }}
                                                             closeOnSelect={true}
                                                             isValidDate={(e) => {
-                                                                return e.isBefore(new Date(this.props.data.masa_berlaku.to_date).getTime() + 86400000)
+                                                                return e.isBefore(new Date(this.props.data?.masa_berlaku?.to_date).getTime() + 86400000)
                                                             }}
 
                                                         />

+ 2 - 1
components/PerpanjanganSanksi/Riwayat.js

@@ -3,7 +3,8 @@ import moment from "moment";
 import { Card, CardHeader, CardBody, CardTitle } from "reactstrap";
 import { API_URL } from "@/env";
 import Swal from "sweetalert2";
-
+import 'moment/locale/id';
+moment.locale('id')
 function Riwayat({ data, role }) {
 	const handleOpenAlert = () => {
 		Swal.fire({

+ 1 - 1
components/PerpanjanganSanksi/TableLaporan.js

@@ -2,7 +2,7 @@ import Datatable from "@/components/Tables/Datatable";
 import { Button } from "reactstrap";
 import Link from "next/link";
 import moment from "moment";
-import 'moment/min/locales';
+import 'moment/locale/id';
 moment.locale('id');
 
 function TableLaporan({ listData, to, linkName, status = false, noBy = false }) {

+ 1 - 1
components/RekomendasiDelegasi/DetailLaporan.js

@@ -1,6 +1,6 @@
 import Scrollable from "@/components/Common/Scrollable";
 import moment from "moment";
-import 'moment/min/locales';
+import 'moment/locale/id';
 moment.locale('id');
 import { Col, FormGroup } from "reactstrap";
 import { useSelector } from "react-redux";

+ 1 - 1
components/RekomendasiDelegasi/DetailSanksi.js

@@ -1,6 +1,6 @@
 import Scrollable from "@/components/Common/Scrollable";
 import moment from "moment";
-import 'moment/min/locales';
+import 'moment/locale/id';
 moment.locale('id');
 import { CardBody, Col, FormGroup, Table, Card } from "reactstrap";
 import { API_URL } from "@/env";

+ 1 - 1
components/RekomendasiDelegasi/InputRekomendasi.js

@@ -7,7 +7,7 @@ import * as Yup from "yup";
 import { connect } from "react-redux";
 import { getOneSanksi, addRekomendasiDelegasi } from "@/actions/sanksi";
 import moment from "moment";
-import 'moment/min/locales';
+import 'moment/locale/id';
 import { getCsrf } from "../../actions/security";
 import Swal from "sweetalert2";
 moment.locale('id');

+ 1 - 1
components/RekomendasiDelegasi/TableLaporan.js

@@ -2,7 +2,7 @@ import Datatable from "@/components/Tables/Datatable";
 import { Button } from "reactstrap";
 import Link from "next/link";
 import moment from "moment";
-import 'moment/min/locales';
+import 'moment/locale/id';
 moment.locale('id');
 
 function TableLaporan({ listData, to, linkName, status = false, noBy = false }) {

+ 1 - 0
components/RekomendasiDelegasi/TableRiwayat.js

@@ -2,6 +2,7 @@ import Datatable from "@/components/Tables/Datatable";
 import moment from "moment";
 import 'moment/min/locales';
 import Swal from "sweetalert2";
+import 'moment/locale/id';
 moment.locale('id');
 
 function TableRiwayat({ data, perbaikan, role }) {

+ 7 - 7
components/Sanksi/BeritaAcara.js

@@ -317,7 +317,7 @@ class BeritaAcara extends Component {
                 <div className='page py-5 m-0 '>
                     <div className='BA-Header'>
                         <img className='BA-logo' src="/static/img/logo-single-1-login.png" alt="logo" />
-                        <h4 >LAPORAN HASIL EVALUASI DAN PEMBAHASAN</h4>
+                        <h4 >LAPORAN HASIL RAPAT PLENO PEMBAHASAN BERITA ACARA EKPT</h4>
                         {dataLaporan.data && (<h4 className='text-uppercase' >{dataLaporan.data.pt.nama}</h4>)}
                     </div>
                     <div className='BA-body px-5 pt-3'>
@@ -585,9 +585,9 @@ class BeritaAcara extends Component {
                                     <span className="btn-radius">
                                         <Button color id="Popover1" className="ml-0 mt-2 mb-2 btn-v1-outline-purple" onClick={() => {
                                             this.CloseCopied()
-                                        }} ><span><em className="fas fa-project-diagram float-left mt-1 mr-1" />&nbsp;Link Dokumen</span>
+                                        }} ><span><em className="fas fa-project-diagram float-left mt-1 mr-1" />&nbsp;Link Dokumen Berita Acara</span>
 
-                                            {/* <h5 className="p-0 mt-3 float-right"> <em className="fas fa-project-diagram float-left mt-1" /> &nbsp;Link Dokumen</h5> */}
+                                            {/* <h5 className="p-0 mt-3 float-right"> <em className="fas fa-project-diagram float-left mt-1" /> &nbsp;Link Dokumen Berita Acara</h5> */}
                                         </Button>
                                     </span>
                                     <Popover placement="bottom" isOpen={this.state.copied} target="Popover1" toggle={this.Copied}>
@@ -606,9 +606,9 @@ class BeritaAcara extends Component {
                                     <span className="btn-radius">
                                         <Button color id="Popover1" className="ml-0 mt-2 mb-2 btn-v1-outline-purple" onClick={() => {
                                             this.CloseCopied()
-                                        }} ><span><em className="fas fa-project-diagram float-left mt-1 mr-1" />&nbsp;Link Dokumen</span>
+                                        }} ><span><em className="fas fa-project-diagram float-left mt-1 mr-1" />&nbsp;Link Dokumen Berita Acara</span>
 
-                                            {/* <h5 className="p-0 mt-3 float-right"> <em className="fas fa-project-diagram float-left mt-1" /> &nbsp;Link Dokumen</h5> */}
+                                            {/* <h5 className="p-0 mt-3 float-right"> <em className="fas fa-project-diagram float-left mt-1" /> &nbsp;Link Dokumen Berita Acara</h5> */}
                                         </Button>
                                     </span>
                                     <Popover placement="bottom" isOpen={this.state.copied} target="Popover1" toggle={this.Copied}>
@@ -627,9 +627,9 @@ class BeritaAcara extends Component {
                                     <span className="btn-radius">
                                         <Button color id="Popover1" className="ml-0 mt-2 mb-2 btn-v1-outline-purple" onClick={() => {
                                             this.CloseCopied()
-                                        }} ><span><em className="fas fa-project-diagram float-left mt-1 mr-1" />&nbsp;Link Dokumen</span>
+                                        }} ><span><em className="fas fa-project-diagram float-left mt-1 mr-1" />&nbsp;Link Dokumen Berita Acara</span>
 
-                                            {/* <h5 className="p-0 mt-3 float-right"> <em className="fas fa-project-diagram float-left mt-1" /> &nbsp;Link Dokumen</h5> */}
+                                            {/* <h5 className="p-0 mt-3 float-right"> <em className="fas fa-project-diagram float-left mt-1" /> &nbsp;Link Dokumen Berita Acara</h5> */}
                                         </Button>
                                     </span>
                                     <Popover placement="bottom" isOpen={this.state.copied} target="Popover1" toggle={this.Copied}>

+ 12 - 10
components/Sanksi/CaseProgress.js

@@ -9,7 +9,7 @@ import MorrisChart from "@/components/Charts//Morris";
 import { Button } from "reactstrap";
 import Dropdown from 'react-bootstrap/Dropdown';
 
-function CaseProgress({ data, nextButton, prevButton, tahun, excelSemua, excelMenu }) {
+function CaseProgress({ data, nextButton, prevButton, tahun, excelSemua, excelMenu, user }) {
 	const ChartBar = {
 		data: [
 			{
@@ -106,15 +106,17 @@ function CaseProgress({ data, nextButton, prevButton, tahun, excelSemua, excelMe
 						<img src="/static/img/next.png"></img>
 					</Button>
 					<b className="text-tahun">Tahun {tahun} </b>
-					<Dropdown className="float-right">
-						<Dropdown.Toggle variant="success" id="dropdown-basic">
-							Unduh
-						</Dropdown.Toggle>
-						<Dropdown.Menu>
-							<Dropdown.Item onClick={excelMenu}>Unduh dokumen sanksi</Dropdown.Item>
-							<Dropdown.Item onClick={excelSemua}>Unduh dokumen semua menu</Dropdown.Item>
-						</Dropdown.Menu>
-					</Dropdown>
+					 {user?.role?.id !== 2071 && (   // ⬅️ sembunyikan dropdown untuk role 2071
+                        <Dropdown className="float-right">
+                            <Dropdown.Toggle variant="success" id="dropdown-basic">
+                                Unduh
+                            </Dropdown.Toggle>
+                            <Dropdown.Menu>
+                                <Dropdown.Item onClick={excelMenu}>Unduh dokumen pelaporan</Dropdown.Item>
+                                <Dropdown.Item onClick={excelSemua}>Unduh dokumen semua menu</Dropdown.Item>
+                            </Dropdown.Menu>
+                        </Dropdown>
+                    )}
 				</div>
 				<div className="header-1">
 					<h2 className="card-title-1">Perkembangan</h2>

+ 6 - 12
components/Sanksi/Modul.js

@@ -4,12 +4,6 @@ import ComponentToPrint from "./Modul_print";
 import ReactToPrint, { PrintContextConsumer } from 'react-to-print';
 import id from 'date-fns/locale/id';
 import CopyToClipboard from "react-copy-to-clipboard";
-import { getAutoSave } from "@/actions/autosave";
-import ContentEditable from 'react-contenteditable'
-import { removePesertaPleno } from '../../actions/sanksi';
-import { ToastContainer, toast } from "react-toastify";
-import Router from "next/router";
-import { getCsrf } from '../../actions/security';
 import { ENV } from '../../env';
 import Swal from 'sweetalert2';
 import Datetime from "react-datetime";
@@ -83,9 +77,9 @@ class Modul extends Component {
                             <span className="btn-radius">
                                 <Button color id="Popover1" className="ml-0 mt-2 mb-2 btn-v1-outline-purple" onClick={() => {
                                     this.CloseCopiedd()
-                                }} ><span><em className="fas fa-project-diagram float-left mt-1 mr-1" />&nbsp;Link Dokumen</span>
+                                }} ><span><em className="fas fa-project-diagram float-left mt-1 mr-1" />&nbsp;Link Dokumen Berita Acara</span>
 
-                                    {/* <h5 className="p-0 mt-3 float-right"> <em className="fas fa-project-diagram float-left mt-1" /> &nbsp;Link Dokumen</h5> */}
+                                    {/* <h5 className="p-0 mt-3 float-right"> <em className="fas fa-project-diagram float-left mt-1" /> &nbsp;Link Dokumen Berita Acara</h5> */}
                                 </Button>
                             </span>
                             <Popover placement="bottom" isOpen={this.state.copiedd} target="Popover1" toggle={this.Copiedd}>
@@ -104,9 +98,9 @@ class Modul extends Component {
                             <span className="btn-radius">
                                 <Button color id="Popover1" className="ml-0 mt-2 mb-2 btn-v1-outline-purple" onClick={() => {
                                     this.CloseCopiedd()
-                                }} ><span><em className="fas fa-project-diagram float-left mt-1 mr-1" />&nbsp;Link Dokumen</span>
+                                }} ><span><em className="fas fa-project-diagram float-left mt-1 mr-1" />&nbsp;Link Dokumen Berita Acara</span>
 
-                                    {/* <h5 className="p-0 mt-3 float-right"> <em className="fas fa-project-diagram float-left mt-1" /> &nbsp;Link Dokumen</h5> */}
+                                    {/* <h5 className="p-0 mt-3 float-right"> <em className="fas fa-project-diagram float-left mt-1" /> &nbsp;Link Dokumen Berita Acara</h5> */}
                                 </Button>
                             </span>
                             <Popover placement="bottom" isOpen={this.state.copiedd} target="Popover1" toggle={this.Copiedd}>
@@ -125,9 +119,9 @@ class Modul extends Component {
                             <span className="btn-radius">
                                 <Button color id="Popover1" className="ml-0 mt-2 mb-2 btn-v1-outline-purple" onClick={() => {
                                     this.CloseCopiedd()
-                                }} ><span><em className="fas fa-project-diagram float-left mt-1 mr-1" />&nbsp;Link Dokumen</span>
+                                }} ><span><em className="fas fa-project-diagram float-left mt-1 mr-1" />&nbsp;Link Dokumen Berita Acara</span>
 
-                                    {/* <h5 className="p-0 mt-3 float-right"> <em className="fas fa-project-diagram float-left mt-1" /> &nbsp;Link Dokumen</h5> */}
+                                    {/* <h5 className="p-0 mt-3 float-right"> <em className="fas fa-project-diagram float-left mt-1" /> &nbsp;Link Dokumen Berita Acara</h5> */}
                                 </Button>
                             </span>
                             <Popover placement="bottom" isOpen={this.state.copiedd} target="Popover1" toggle={this.Copiedd}>

+ 17 - 17
components/Sanksi/Ringkasan.js

@@ -249,21 +249,21 @@ export class Ringkasan extends Component {
 									</div>
 								</Col>
 							</FormGroup> */}
-								{dataUpload && !dataUpload.tidakPerluTMTCheck && (
-							<FormGroup row>
-								<Col md="4">Tanggal Terima Surat Sanksi :</Col>
-								<Col md="8">
-									<strong>
-										{dataUpload && dataUpload?.terimaSuratSanksi ? (
-											(<p>
-												{moment(dataUpload.terimaSuratSanksi).locale("id").format("DD MMMM YYYY")}
-											</p>)
-										) : (
-											(<span className="text-danger text-bold">Belum diisi</span>)
-										)}
-									</strong>
-								</Col>
-							</FormGroup>)}
+							{dataUpload && !dataUpload.tidakPerluTMTCheck && (
+								<FormGroup row>
+									<Col md="4">Tanggal Terima Surat Sanksi :</Col>
+									<Col md="8">
+										<strong>
+											{dataUpload && dataUpload?.terimaSuratSanksi ? (
+												(<p>
+													{moment(dataUpload.terimaSuratSanksi).locale("id").format("DD MMMM YYYY")}
+												</p>)
+											) : (
+												(<span className="text-danger text-bold">Belum diisi</span>)
+											)}
+										</strong>
+									</Col>
+								</FormGroup>)}
 							<FormGroup row>
 								<Col md="4">Dokumen Tanda Terima Surat Sanksi:</Col>
 								<Col md="8">
@@ -271,7 +271,7 @@ export class Ringkasan extends Component {
 										<table className="table table-bordered bg-transparent">
 											<tbody>
 												{dataUpload?.filesTandaTerimaSS?.length
-													?( dataUpload.filesTandaTerimaSS.map((e) => (
+													? (dataUpload.filesTandaTerimaSS.map((e) => (
 														<tr>
 															<td style={{ width: "30px" }}>
 																<em className="fa-lg far fa-file-code"></em>
@@ -283,7 +283,7 @@ export class Ringkasan extends Component {
 															</td>
 														</tr>
 													)))
-													: 
+													:
 													(<span className="text-danger text-bold">Belum diisi</span>)}
 											</tbody>
 										</table>

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

@@ -49,7 +49,7 @@ class ComponentBA extends React.Component {
             <page>
                 <div className='BA-Header'>
                     <img className='BA-logo' src="/static/img/logo-single-1-login.png" alt="logo" />
-                    <h3 >LAPORAN HASIL EVALUASI DAN PEMBAHASAN</h3>
+                    <h3 >LAPORAN HASIL RAPAT PLENO PEMBAHASAN BERITA ACARA EKPT</h3>
                     {this.state.dataSanksi.data && (<h3 className='text-uppercase' >{this.state.dataSanksi.data.laporan.pt.nama}</h3>)}
                 </div>
                 <div className='BA-body pt-3'>
@@ -239,7 +239,7 @@ class ComponentBA extends React.Component {
                 </div>
 
                 <div id="footer">
-                    <span>*LAPORAN HASIL EVALUASI DAN PEMBAHASAN …………. – …bulan&tahun…</span>
+                    <span>*LAPORAN HASIL RAPAT PLENO PEMBAHASAN BERITA ACARA EKPT …………. – …bulan&tahun…</span>
                 </div>
             </page>
         )

+ 1 - 1
components/Sanksi/SuratBA_A.js

@@ -46,7 +46,7 @@ class ComponentToPrint extends React.Component {
             <page>
                 <div className='BA-Header'>
                     <img className='BA-logo' src="/static/img/logo-single-1-login.png" alt="logo" />
-                    <h3 >LAPORAN HASIL EVALUASI DAN PEMBAHASAN</h3>
+                    <h3 >LAPORAN HASIL RAPAT PLENO PEMBAHASAN BERITA ACARA EKPT</h3>
                     {dataLaporan.data && (<h3 className='text-uppercase' >{dataLaporan.data.pt.nama}</h3>)}
                 </div>
                 <div className='BA-body pt-3'>

+ 1 - 1
components/Sanksi/TablePenetapanSanksi.js

@@ -121,7 +121,7 @@ export class TablePenetapanSanksi extends Component {
 														this.onHandleChange(evt)
 														this.setLabelSanksi(evt, jp.label_sanksi)
 														this.props.handleAutoSave()
-													}} />
+													}}  disabled={user?.role?.id === 2071}/>
 													<span className="fa fa-check"></span>
 												</label>
 											</div>

+ 1 - 1
components/Sanksi/UploadSurat.js

@@ -153,7 +153,7 @@ export class UploadSurat extends Component {
 		// this.handleAutoSave()
 	}
 	setsanksi = () => {
-		if (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")) {
+		if (this.state.listSanksi?.find(z => z.value === "Sanksi Administratif Berat - Pencabutan izin Program Studi" || z.value === "Sanksi Administratif Berat - lupa PTN atau pencabutan izin PTS")) {
 			this.setState({ awalTMT: "", akhirTMT: "", tglAkhirKeberatan: "", terimaSuratSanksi: "" })
 		}
 	}

+ 1 - 1
components/TurunSanksi/DetailSanksi.js

@@ -1,6 +1,6 @@
 import Scrollable from "@/components/Common/Scrollable";
 import moment from "moment";
-import 'moment/min/locales';
+import 'moment/locale/id';
 moment.locale('id');
 import { CardBody, Col, FormGroup, Table, Card } from "reactstrap";
 import { API_URL } from "@/env";

+ 1 - 1
components/TurunSanksi/InputTanggal.js

@@ -8,7 +8,7 @@ import { getOneSanksi, update } from "@/actions/sanksi";
 import { addDays, addMonths } from 'date-fns';
 import id from 'date-fns/locale/id';
 import moment from "moment";
-import 'moment/min/locales';
+import 'moment/locale/id';
 moment.locale('id');
 import Router from "next/router";
 import { getPelanggaranSanksi } from "@/actions/pelanggaran";

+ 1 - 1
components/TurunSanksi/TableLaporan.js

@@ -2,7 +2,7 @@ import Datatable from "@/components/Tables/Datatable";
 import { Button } from "reactstrap";
 import Link from "next/link";
 import moment from "moment";
-import 'moment/min/locales';
+import 'moment/locale/id';
 moment.locale('id');
 
 function TableLaporan({ listData, to, linkName, status = false, noBy = false }) {

+ 1 - 0
components/TurunSanksi/TableRiwayat.js

@@ -2,6 +2,7 @@ import Datatable from "@/components/Tables/Datatable";
 import moment from "moment";
 import 'moment/min/locales';
 import Swal from "sweetalert2";
+import 'moment/locale/id';
 moment.locale('id');
 
 function TableRiwayat({ data, perbaikan , role}) {

+ 2 - 0
pages/app/dashboard/index.js

@@ -15,6 +15,7 @@ import ChartRadarA from "../../../components/Riwayat/ChartRadarA";
 
 
 
+
 class Dashboard extends Component {
   constructor(props) {
     super(props);
@@ -45,6 +46,7 @@ class Dashboard extends Component {
           <span className="font-color-white">Dashboard</span>
         </div>
         <Row>
+      
           <Col lg="6">
             <ChartDataBar />
           </Col>

+ 3 - 3
pages/app/index.js

@@ -72,10 +72,10 @@ class App extends Component {
           <Jumbotron>
             <Row className="home-1">
               <Col lg={8} className="d-flex flex-column justify-content-center align-items-start">
-                <h1 className="display-5 home-2 txt-size">Sistem Informasi Pengendalian Kelembagaan Perguruan Tinggi pada Pendidikan Tinggi Akademik</h1>
-                <p className="lead txt-size">Layanan Pelaporan Pelanggaran Perguruan Tinggi Penyelenggara Pendidikan Tinggi Akademik</p>
+                <h1 className="display-5 home-2 txt-size">Sistem Informasi Pengendalian Kelembagaan Perguruan Tinggi</h1>
+                <p className="lead txt-size">Layanan Pelaporan Pelanggaran Perguruan Tinggi Penyelenggara Pendidikan Tinggi</p>
                 <hr className="my-4" />
-                <p className="txt-size">Disediakan kepada masyarakat untuk melaporkan pelanggaran perguruan tinggi yang menyelenggarakan pendidikan tinggi akademik</p>
+                <p className="txt-size">Disediakan kepada masyarakat untuk melaporkan dugaan pelanggaran dalam penyelenggaraan pendidikan tinggi</p>
 
                 <p className="lead">
                   {/* <Link href="/laporan/new">

+ 29 - 4
pages/app/naik-sanksi/detail.js

@@ -10,6 +10,8 @@ import { connect } from "react-redux";
 import TableRiwayat from "@/components/NaikSanksi/TableRiwayat"
 import InputTanggal from "../../../components/NaikSanksi/InputTanggal";
 import { getPelanggaran, getPelanggaranSanksi } from "@/actions/pelanggaran";
+import { getAllCatatan } from "../../../actions/catatan";
+import TableRiwayatCatatan from "../../../components/Main/TableRiwayatCatatan";
 
 
 
@@ -34,14 +36,15 @@ class Detail extends Component {
 		const { query, token } = this.props;
 		const idSanksi = query.id;
 		const sanksi = await getOneSanksi(token, idSanksi, { all: true });
+		const Catatan = await getAllCatatan(token, idSanksi, "Naik Sanksi")
 		const { data: listSanksi } = await getPelanggaranSanksi(token)
 		const pt = sanksi.data.laporan.pt;
-		this.setState({ sanksi, pt, listSanksi });
+		this.setState({ sanksi, pt, listSanksi, Catatan });
 
 	};
 
 	render() {
-		const { files, sanksi, pt, listSanksi } = this.state;
+		const { files, sanksi, pt, listSanksi,Catatan } = this.state;
 		const { query, token } = this.props;
 		return (
 			<ContentWrapper unwrap>
@@ -66,17 +69,39 @@ class Detail extends Component {
 
 							<Col xl="9">
 								<DetailSanksi data={sanksi.data} role={this.props.user.role.id} />
+							
+							
+							</Col>
+							<Col lg="3">{pt ? <DetailPT data={pt} /> : <Loader />}</Col>
+						</Row>
+					)}
+						{sanksi.data && (
+						<Row>
+							<Col>
 								<InputTanggal query={query} token={token} data={sanksi.data} listSanksi={this.state.listSanksi} />
+							</Col>
+						</Row>
+					)}
+						{sanksi.data && (
+						<Row>
+							<Col>
 								<Card className="card-default">
 									<CardHeader>
 										<CardTitle>Riwayat</CardTitle>
 									</CardHeader>
 									<CardBody>
-										<TableRiwayat data={sanksi.data.riwayat_sanksi} perbaikan={sanksi.data.perbaikan} role={this.props.user.role.id}  />
+										<TableRiwayat data={sanksi.data.riwayat_sanksi} perbaikan={sanksi.data.perbaikan} role={this.props.user.role.id} />
 									</CardBody>
 								</Card>
 							</Col>
-							<Col lg="3">{pt ? <DetailPT data={pt} /> : <Loader />}</Col>
+						</Row>
+
+					)}
+									{Catatan?.data && (
+						<Row>
+							<Col>
+								<TableRiwayatCatatan query={this.props.query} role={this.props.user.role.id} newFilePage="/app/naik-sanksi/new_catatan" editFilePage="/app/naik-sanksi/edit_catatan" readOnly="/app/naik-sanksi/readOnly_catatan" listData={Catatan.data} />
+							</Col>
 						</Row>
 					)}
 				</div>

+ 3 - 2
pages/app/pelaporan/index.js

@@ -36,8 +36,9 @@ class Pelaporan extends Component {
 			newLaporan: true,
 			jumlahLaporan: true,
 		});
-		const newLaporan = graph.data.newLaporan;
+		const newLaporan = graph.data?.newLaporan;
 		this.setState({ pelaporan, graph, newLaporan });
+	
 	};
 
 	nextButton = async () => {
@@ -134,7 +135,7 @@ class Pelaporan extends Component {
 					</Link>
 				</div>
 				<Row>
-					<Col lg="4">{graph?.data ? <CaseProgress data={graph.data} nextButton={this.nextButton} prevButton={this.prevButton} tahun={this.state.tahun} newLaporan={newLaporan} excelMenu={this.excelMenu} excelSemua={this.excelSemua} /> : <Loader />}</Col>
+					<Col lg="4">{graph?.data ? <CaseProgress  user={this?.props?.user} data={graph.data} nextButton={this.nextButton} prevButton={this.prevButton} tahun={this.state.tahun} newLaporan={newLaporan} excelMenu={this.excelMenu} excelSemua={this.excelSemua} /> : <Loader />}</Col>
 					<Col lg="8">{pelaporan?.data ? <TableLaporan listData={pelaporan.data} to="/app/pelaporan/detail" linkName="Detail" /> : <Loader />}</Col>
 				</Row>
 			</ContentWrapper>

+ 1 - 1
pages/app/pemantauan-perbaikan/index.js

@@ -17,7 +17,7 @@ class PemantauanPerbaikan extends Component {
 
 	componentDidMount = async () => {
 		const { token } = this.props;
-		const sanksi = await getSanksi(token, { perbaikan: true });
+		const sanksi = await getSanksi(token, { perbaikan: true, aktif:true });
 		this.setState({ sanksi });
 	};
 

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

@@ -135,7 +135,7 @@ class Pemeriksaan extends Component {
 					</div>
 				</div>
 				<Row>
-					<Col lg="4">{graph?.data ? <CaseProgress data={graph.data} nextButton={this.nextButton} prevButton={this.prevButton} tahun={this.state.tahun} excel={this.excel} excelMenu={this.excelMenu} excelSemua={this.excelSemua} /> : <Loader />}</Col>
+					<Col lg="4">{graph?.data ? <CaseProgress user={this?.props?.user} data={graph.data} nextButton={this.nextButton} prevButton={this.prevButton} tahun={this.state.tahun} excel={this.excel} excelMenu={this.excelMenu} excelSemua={this.excelSemua} /> : <Loader />}</Col>
 					<Col lg="8">{pelaporan?.data ? <TableLaporan status noBy listData={pelaporan.data} to="/app/pemeriksaan/new" linkName="Evaluasi" /> : <Loader />}</Col>
 				</Row>
 			</ContentWrapper>

+ 14 - 2
pages/app/pencabutan-sanksi/detail.js

@@ -20,6 +20,9 @@ import * as Yup from "yup";
 import { getCsrf } from "../../../actions/security";
 import Swal from "sweetalert2";
 import RiwayatPerbaikan from "../../../components/PencabutanSanksi/RiwayatPerbaikan";
+import { getAllCatatan } from "../../../actions/catatan";
+import TableRiwayatCatatan from "../../../components/Main/TableRiwayatCatatan";
+
 
 const checkIfFilesAreTooBig = (files) => {
 	let valid = true;
@@ -84,9 +87,11 @@ class JawabanPencabutanSanksi extends Component {
 
 	componentDidMount = async () => {
 		const { query, token } = this.props;
+		const idSanksi = query.id;
 		const sanksi = await getOneSanksi(token, query.id);
+		const Catatan = await getAllCatatan(token, idSanksi,"Pencabutan Sanksi")
 		const pt = sanksi.data?.laporan?.pt;
-		this.setState({ sanksi, pt });
+		this.setState({ sanksi, pt,Catatan });
 	};
 
 	toggleModal = () => {
@@ -172,7 +177,7 @@ class JawabanPencabutanSanksi extends Component {
 	};
 
 	render() {
-		const { files, selectedOption, sanksi, pt } = this.state;
+		const { files, selectedOption, sanksi, pt,Catatan } = this.state;
 
 		const removeFile = file => () => {
 			const newFiles = [...files]
@@ -409,6 +414,13 @@ class JawabanPencabutanSanksi extends Component {
 								<Riwayat data={sanksi.data.riwayat_jawaban_cabut_sanksi} role={this.props.user.role.id} />
 							</Col>
 						</Row>
+					)}
+						{Catatan?.data && (
+						<Row>
+							<Col>
+								<TableRiwayatCatatan query={this.props.query} role={this.props.user.role.id} newFilePage="/app/pencabutan-sanksi/new_catatan" editFilePage="/app/pencabutan-sanksi/edit_catatan" readOnly="/app/pencabutan-sanksi/readOnly_catatan" listData={Catatan.data} />
+							</Col>
+						</Row>
 					)}
 					{sanksi.data && (
 						<Row>

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

@@ -132,7 +132,7 @@ class Penjadwalan extends Component {
 					</div>
 				</div>
 				<Row>
-					<Col lg="4">{graph?.data ? <CaseProgress data={graph.data} nextButton={this.nextButton} prevButton={this.prevButton} tahun={this.state.tahun} excel={this.excel} excelMenu={this.excelMenu} excelSemua={this.excelSemua} /> : <Loader />}</Col>
+					<Col lg="4">{graph?.data ? <CaseProgress user={this?.props?.user} data={graph.data} nextButton={this.nextButton} prevButton={this.prevButton} tahun={this.state.tahun} excel={this.excel} excelMenu={this.excelMenu} excelSemua={this.excelSemua} /> : <Loader />}</Col>
 					<Col lg="8">{pelaporan?.data ? <TableLaporan listData={pelaporan.data} to="/app/penjadwalan/todo" linkName="Atur Jadwal" /> : <Loader />}</Col>
 				</Row>
 			</ContentWrapper>

+ 18 - 6
pages/app/perpanjangan-sanksi/detail.js

@@ -9,6 +9,9 @@ import Loader from "@/components/Common/Loader";
 import { connect } from "react-redux";
 import InputTanggal from "../../../components/PerpanjanganSanksi/InputTanggal";
 import Riwayat from "@/components/PerpanjanganSanksi/Riwayat";
+import TableRiwayatCatatan from "../../../components/Main/TableRiwayatCatatan.js";
+import Newfile from "./newfile.js";
+import { getAllCatatan } from "../../../actions/catatan";
 
 
 
@@ -31,14 +34,16 @@ class Detail extends Component {
 		const { query, token } = this.props;
 		const idSanksi = query.id;
 		const sanksi = await getOneSanksi(token, idSanksi, { all: true });
+		const Catatan = await getAllCatatan(token, idSanksi,"Perpanjangan Sanksi")
 		const pt = sanksi.data.laporan.pt;
-		this.setState({ sanksi, pt });
+		this.setState({ sanksi, pt, Catatan });
+		console.log(Catatan)
 
 	};
 
 
 	render() {
-		const { files, sanksi, pt } = this.state;
+		const { files, sanksi, pt, Catatan } = this.state;
 		const { query, token } = this.props;
 		return (
 			<ContentWrapper unwrap>
@@ -67,20 +72,27 @@ class Detail extends Component {
 							<Col lg="3">{pt ? <DetailPT data={pt} /> : <Loader />}</Col>
 						</Row>
 					)}
-							{sanksi.data && (
+					{sanksi.data && (
+						<Row>
+							<Col>
+								<InputTanggal query={query} token={token} data={sanksi.data} />
+							</Col>
+						</Row>
+					)}
+					{Catatan?.data && (
 						<Row>
 							<Col>
-							<InputTanggal query={query} token={token} data={sanksi.data} />
+								<TableRiwayatCatatan query={this.props.query} role={this.props.user.role.id} newFilePage="/app/perpanjangan-sanksi/new_catatan" editFilePage="/app/perpanjangan-sanksi/edit_catatan" readOnly="/app/perpanjangan-sanksi/readOnly_catatan" listData={Catatan.data} />
 							</Col>
 						</Row>
-						)}
+					)}
 					{sanksi.data && (
 						<Row>
 							<Col>
 								<Riwayat data={sanksi.data?.riwayat_perpanjangan_sanksi} role={this.props.user.role.id} />
 							</Col>
 						</Row>
-						)}
+					)}
 				</div>
 			</ContentWrapper>
 		);

+ 9 - 2
pages/app/riwayat/index.js

@@ -5,6 +5,8 @@ import { connect } from "react-redux";
 import TableRiwayat from "@/components/Riwayat/TableRiwayat";
 import ChartData from "@/components/Riwayat/ChartData";
 import { getLog2 } from "@/actions/log";
+import ChartLineDisk from "../../../components/Riwayat/ChartLineDisk";
+import ChartDonutDisk from "../../../components/Riwayat/ChartDonutDisk";
 
 
 
@@ -22,7 +24,7 @@ class Riwayat extends Component {
 
         const data = await getLog2(this.props.token)
         const dataRiwayat = data.data
-        this.setState({ dataRiwayat })  
+        this.setState({ dataRiwayat })
     }
     setDateFilter = (data) => {
         this.setState({ dataFilter: data })
@@ -33,7 +35,6 @@ class Riwayat extends Component {
             const date1 = moment(this.state.dataFilter.fromDate).format("YYYY-MM-DD")
             const date2 = moment(this.state.dataFilter.toDate).format("YYYY-MM-DD")
             const data = await getLog2(this.props.token, { fromDate: date1, toDate: date2 })
-            // const dataRiwayat = data.data
 
             this.setState({ dataRiwayat });
         }
@@ -47,6 +48,12 @@ class Riwayat extends Component {
                     <span className="font-color-white">Riwayat</span>
                 </div>
                 <Row>
+                    <Col lg="8">
+                        <ChartLineDisk />
+                    </Col>
+                    <Col lg="4">
+                        <ChartDonutDisk />
+                    </Col>
                     <ChartData />
                     <Col lg="12">
                         <TableRiwayat />

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

@@ -124,7 +124,7 @@ class Sanksi extends Component {
 					</div>
 				</div>
 				<Row>
-					<Col lg="4">{graph?.data ? <CaseProgress data={graph.data} nextButton={this.nextButton} prevButton={this.prevButton} tahun={this.state.tahun} excel={this.excel} excelMenu={this.excelMenu} excelSemua={this.excelSemua} /> : <Loader />}</Col>
+					<Col lg="4">{graph?.data ? <CaseProgress user={this?.props?.user} data={graph.data} nextButton={this.nextButton} prevButton={this.prevButton} tahun={this.state.tahun} excel={this.excel} excelMenu={this.excelMenu} excelSemua={this.excelSemua} /> : <Loader />}</Col>
 					<Col lg="8">{pelaporan.data ? <TableLaporan listData={pelaporan.data} /> : <Loader />}</Col>
 				</Row>
 			</ContentWrapper>

+ 2 - 1
pages/app/sanksi/proses.js

@@ -457,6 +457,7 @@ class ProsesSanksi extends Component {
 
 	render() {
 		const { dataUpload, dataPelanggaran, pelaporan, dataSuratBA, thisclose, daftarPeserta } = this.state
+		console.log(dataUpload)
 		return (
 			<ContentWrapper unwrap>
 				{/* <Header /> */}
@@ -469,7 +470,7 @@ class ProsesSanksi extends Component {
 									<span className="font-color-white">&lt; Kembali</span>
 								</Button>
 							</Link>
-						</div>
+						</div>6
 					</div>
 					<Card className="card-default">
 						<CardBody>

+ 28 - 5
pages/app/turun-sanksi/detail.js

@@ -10,6 +10,8 @@ import { connect } from "react-redux";
 import TableRiwayat from "@/components/TurunSanksi/TableRiwayat"
 import InputTanggal from "../../../components/TurunSanksi/InputTanggal";
 import { getPelanggaran, getPelanggaranSanksi } from "@/actions/pelanggaran";
+import { getAllCatatan } from "../../../actions/catatan";
+import TableRiwayatCatatan from "../../../components/Main/TableRiwayatCatatan";
 
 
 
@@ -34,14 +36,15 @@ class Detail extends Component {
 		const idSanksi = query.id;
 		const sanksi = await getOneSanksi(token, idSanksi, { all: true });
 		const { data: listSanksi } = await getPelanggaranSanksi(token, { down: true })
+		const Catatan = await getAllCatatan(token, idSanksi, "Turun Sanksi")
 		const pt = sanksi.data.laporan.pt;
-		this.setState({ sanksi, pt, listSanksi });
+		this.setState({ sanksi, pt, listSanksi, Catatan });
 
 	};
 
 
 	render() {
-		const { files, sanksi, pt, listSanksi } = this.state;
+		const { files, sanksi, pt, listSanksi, Catatan } = this.state;
 		const { query, token } = this.props;
 		return (
 			<ContentWrapper unwrap>
@@ -65,18 +68,38 @@ class Detail extends Component {
 						<Row>
 
 							<Col xl="9">
-								<DetailSanksi data={sanksi.data} role={this.props.user.role.id}/>
+								<DetailSanksi data={sanksi.data} role={this.props.user.role.id} />
+							</Col>
+							<Col lg="3">{pt ? <DetailPT data={pt} /> : <Loader />}</Col>
+						</Row>
+					)}
+					{sanksi.data && (
+						<Row>
+							<Col>
 								<InputTanggal query={query} token={token} data={sanksi.data} listSanksi={this.state.listSanksi} />
+							</Col>
+						</Row>
+					)}
+					{sanksi.data && (
+						<Row>
+							<Col>
 								<Card className="card-default">
 									<CardHeader>
 										<CardTitle>Riwayat</CardTitle>
 									</CardHeader>
 									<CardBody>
-										<TableRiwayat data={sanksi.data.riwayat_sanksi} perbaikan={sanksi.data.perbaikan}role={this.props.user.role.id} />
+										<TableRiwayat data={sanksi.data.riwayat_sanksi} perbaikan={sanksi.data.perbaikan} role={this.props.user.role.id} />
 									</CardBody>
 								</Card>
 							</Col>
-							<Col lg="3">{pt ? <DetailPT data={pt} /> : <Loader />}</Col>
+						</Row>
+
+					)}
+					{Catatan?.data && (
+						<Row>
+							<Col>
+								<TableRiwayatCatatan query={this.props.query} role={this.props.user.role.id} newFilePage="/app/turun-sanksi/new_catatan" editFilePage="/app/turun-sanksi/edit_catatan" readOnly="/app/turun-sanksi/readOnly_catatan" listData={Catatan.data} />
+							</Col>
 						</Row>
 					)}
 				</div>

+ 2 - 2
pages/signature/pleno-sanksi/[id].js

@@ -151,7 +151,7 @@ class PlenoSanksi extends Component {
                 <div className='page-sign'>
                     <div className='BA-Header'>
                         <img className='BA-logo' src="/static/img/logo-single-1-login.png" alt="logo" />
-                        <h4 >LAPORAN HASIL EVALUASI DAN PEMBAHASAN</h4>
+                        <h4 >LAPORAN HASIL RAPAT PLENO PEMBAHASAN BERITA ACARA EKPT</h4>
                         {dataLaporan.data && (<h4 className='text-uppercase' >{dataLaporan.data.pt.nama}</h4>)}
                     </div>
                     <div className='BA-body px-5 pt-3'>
@@ -289,7 +289,7 @@ class PlenoSanksi extends Component {
                         <p >
                             Demikian Laporan Evaluasi dan Pembahasan ini dibuat dengan sesungguhnya dan telah dibaca dan dicermati oleh peserta rapat yang hadir.
                         </p>
-                        <p><strong>Note: Jika Anda menyetujui laporan hasil evaluasi dan pembahasan tersebut, maka klik tombol dibawah ini untuk melakukan tanda tangan sebagai bukti telah menyetujui.</strong> </p>
+                        <p><strong>Note: Jika Anda menyetujui LAPORAN HASIL RAPAT PLENO PEMBAHASAN BERITA ACARA EKPT tersebut, maka klik tombol dibawah ini untuk melakukan tanda tangan sebagai bukti telah menyetujui.</strong> </p>
                         <Button color="" className="btn-labeled-2" onClick={this.toggleModal}>
                             <h4 className="mt-2 mb-md-2 text-center font-color-white pl-3 pr-3">Setuju</h4>
                         </Button>

+ 1 - 1
pages/signature/pleno-sanksi/done/[id].js

@@ -48,7 +48,7 @@ class PlenoSanksi extends Component {
                         </div>
                         <div className='text-center'>
                             <text className='text-1'>Tanda tangan Anda berhasil tersimpan!</text>
-                            <p className=' pt-2 text-center font-color-black '>Terima kasih, dengan demikian Anda telah memberikan persetujuan terhadap Laporan Hasil Evaluasi dan Pembahasan.</p>
+                            <p className=' pt-2 text-center font-color-black '>Terima kasih, dengan demikian Anda telah memberikan persetujuan terhadap LAPORAN HASIL RAPAT PLENO PEMBAHASAN BERITA ACARA EKPT.</p>
                         </div>
                         <Link href="/app">
                             <div className="btn-radius d-block text-center">