andi 2 vuotta sitten
vanhempi
commit
2f5d8de6b8

+ 1 - 1
actions/log.js

@@ -3,7 +3,7 @@ import axios2 from "axios";
 
 export const getLog = async (token, laporan_id) => {
 	try {
-		let url = `/pemantauan/${laporan_id}?all=true`;
+		let url = `/pemantauan/${laporan_id}`;
 		const res = await axios.get(url, {
 			headers: {
 				Authorization: token,

+ 1 - 1
components/Layout/MenuBypass.js

@@ -108,7 +108,7 @@ const MenuBypass = [
 
 	},
 	{
-		name: "Bypass",
+		name: "Bypass Pencabutan Sanksi",
 		path: "/app/bypass",
 		icon: "fas fa-feather",
 		translate: "sidebar.nav.Riwayat",

+ 144 - 0
components/Layout/MenuReadOnly.js

@@ -0,0 +1,144 @@
+const MenuReadOnly = [
+	{
+		heading: "Main Navigation",
+		translate: "sidebar.heading.HEADER",
+	},
+	{
+		name: "Pemantauan",
+		path: "/app/pemantauan",
+		icon: "icon-speedometer",
+		translate: "sidebar.nav.PEMANTAUAN",
+	},
+	{
+		name: "Laporan Delegasi",
+		path: "/app/laporan-delegasi",
+		icon: "icon-notebook",
+		translate: "sidebar.nav.LAPORAN_DELEGASI",
+	},
+	{
+		name: "Pelaporan",
+		path: "/app/pelaporan",
+		icon: "icon-note",
+		translate: "sidebar.nav.PELAPORAN",
+	},
+	{
+		name: "Penjadwalan Evaluasi",
+		path: "/app/penjadwalan",
+		icon: "icon-event",
+		translate: "sidebar.nav.PENJADWALAN",
+	},
+	{
+		name: "Pemeriksaan",
+		path: "/app/pemeriksaan",
+		icon: "icon-book-open",
+		translate: "sidebar.nav.PEMERIKSAAN",
+	},
+	{
+		name: "Sanksi",
+		path: "/app/sanksi",
+		icon: "icon-social-steam",
+		translate: "sidebar.nav.SANKSI",
+	},
+	{
+		heading: "Dikti Ristek/LLDIKTI",
+		translate: "sidebar.heading.DIKTI_RISTEK",
+	},
+	{
+		name: "Keberatan",
+		path: "/app/keberatan",
+		icon: "icon-hourglass",
+		translate: "sidebar.nav.KEBERATAN",
+	},
+	{
+		name: "Banding",
+		path: "/app/banding",
+		icon: "icon-directions",
+		translate: "sidebar.nav.BANDING",
+	},
+	{
+		name: "Pemantauan Perbaikan",
+		path: "/app/perbaikan",
+		icon: "icon-graph",
+		translate: "sidebar.nav.PEMANTAUAN_PERBAIKAN",
+	},
+	{
+		name: "Pencabutan Sanksi",
+		path: "/app/pencabutan-sanksi",
+		icon: "icon-shield",
+		translate: "sidebar.nav.PENCABUTAN_SANKSI",
+	},
+
+	///////------OPERASIONAL SANKSI-------\\\\\\
+	{
+		heading: "Operasional Sanksi",
+		translate: "sidebar.heading.OPERASIONAL_SANKSI",
+	},
+	{
+		name: "Rekomendasi Delegasi",
+		path: "/app/rekomendasi-delegasi",
+		icon: "icon-paper-plane",
+		translate: "sidebar.nav.REKOMENDASI_DELEGASI",
+	},
+	{
+		name: "Perpanjangan Sanksi",
+		path: "/app/perpanjangan-sanksi",
+		icon: "icon-pencil",
+		translate: "sidebar.nav.PERPANJANGAN_SANKSI",
+	},
+	{
+		name: "Perubahan Sanksi",
+		path: "/app/perubahan-sanksi",
+		icon: "fas fa-dna",
+		translate: "sidebar.nav.PERUBAHAN_SANKSI",
+		submenu: [
+			{
+				name: "a. Naik Sanksi",
+				path: "/app/naik-sanksi",
+			},
+			{
+				name: "b. Turun Sanksi",
+				path: "/app/turun-sanksi",
+			},
+		],
+	},
+
+
+	///////------ANALYTICS REPORT------\\\\\\\\\\\
+
+	{
+		heading: "Analytics Report",
+		translate: "sidebar.heading.ANALYTICS_REPORT",
+	},
+	{
+		name: "Riwayat",
+		path: "/app/riwayat",
+		icon: "icon-film",
+		translate: "sidebar.nav.Riwayat",
+	},
+	{
+		name: "Pelaporan Tuntas",
+		path: "/app/tuntas",
+		icon: "far fa-check-circle",
+		translate: "sidebar.nav.Pelaporan-tuntas",
+	},
+
+	/////////------BANTUAN-------\\\\\\\\\\\
+	{
+		heading: "Bantuan",
+		translate: "sidebar.heading.BANTUAN",
+	},
+	{
+		name: "Buku Panduan",
+		path: "/app/Bantuan",
+		icon: "fas fa-book",
+		translate: "sidebar.nav.Bantuan",
+	},
+	{
+		name: "Workflow Aplikasi SIDALI",
+		path: "/app/workflow",
+		icon: "fas fa-project-diagram",
+		translate: "sidebar.nav.Bantuan",
+	},
+];
+
+export default MenuReadOnly;

+ 7 - 3
components/Layout/Sidebar.js

@@ -17,6 +17,7 @@ import MenuLLDIKTI from "./MenuLLDIKTI.js";
 import MenuPT from "./MenuPT.js";
 import MenuBypass from "./MenuBypass";
 import { ENV } from "../../env";
+import MenuReadOnly from "./MenuReadOnly";
 // localStorage.getItem("user");
 // import Menu from './MenuPT.js';
 
@@ -151,12 +152,15 @@ class Sidebar extends Component {
 		// const user = await getUser();
 		const user = this.props.user;
 		if (ENV === "production") {
-			this.menu = user.user_id === "2A080F42-AE7F-407B-976E-DE5FA87BD277" ? MenuBypass : user.role.id === 2022 ? MenuPT : user.role.id === 2021 ? MenuLLDIKTI : Menu;
+			this.menu = user.user_id === "2A080F42-AE7F-407B-976E-DE5FA87BD277" ? MenuBypass : user.role.id === 2022 ? MenuPT : user.role.id === 2021 ? MenuLLDIKTI : user.role.id === 2024 ? MenuReadOnly : Menu;
 		}
+		// if (ENV === "development") {
+		// 	this.menu = user.user_id === "28DB23AE-2976-47E0-9410-241A11EE1F88" ? MenuBypass : user.role.id === 2022 ? MenuPT : user.role.id === 2021 ? MenuLLDIKTI : user.role.id === 2024 ? MenuReadOnly : Menu;
+		// }
 		if (ENV === "development") {
-			this.menu = user.user_id === "28DB23AE-2976-47E0-9410-241A11EE1F88" ? MenuBypass : user.role.id === 2022 ? MenuPT : user.role.id === 2021 ? MenuLLDIKTI : Menu;
+			this.menu = user.role.id === 2022 ? MenuPT : user.role.id === 2021 ? MenuLLDIKTI : user.role.id === 2024 ? MenuReadOnly : Menu;
 		}
-		
+
 		// this.menu = user.user_id === "2A080F42-AE7F-407B-976E-DE5FA87BD277" ? MenuBypass : user.role.id === 2022 ? MenuPT : user.role.id === 2021 ? MenuLLDIKTI : Menu;
 		// prepare the flags to handle menu collapsed states
 		this.buildCollapseList();

+ 16 - 16
components/Sanksi/BeritaAcara.js

@@ -295,20 +295,20 @@ class BeritaAcara extends Component {
                 </Modal>
                 <div className=' content-heading border-radius-login'>
                     <span className="btn-radius">
-                        {this.props.user?.role?.id === 2024 ?
+                        {this.props.role === 2024 ?
                             <Button color className="btn-labeled-4" onClick={this.handleOpenAlert}>
                                 <h4 className="p-0 mt-2">Print dan Download</h4>
                             </Button> :
-                        <ReactToPrint
-                            trigger={() => {
-                                return <span>
-                                    <Button color className="btn-labeled-4">
-                                        <h4 className="p-0 mt-2">Print dan Download</h4>
-                                    </Button>
-                                </span>
-                            }}
-                            content={() => this.componentRef}
-                        />
+                            <ReactToPrint
+                                trigger={() => {
+                                    return <span>
+                                        <Button color className="btn-labeled-4">
+                                            <h4 className="p-0 mt-2">Print dan Download</h4>
+                                        </Button>
+                                    </span>
+                                }}
+                                content={() => this.componentRef}
+                            />
                         }
 
                     </span>
@@ -343,7 +343,7 @@ class BeritaAcara extends Component {
                                 </span>
                             }
                             {setTanggal === true || this.state?.setTanggal === true ?
-                                <span onClick={this.isEditTanggal}> {moment(tanggal || this.state?.tanggal).locale("id").format("dddd")}, tanggal&nbsp;{moment(tanggal || this.state?.tanggal).format("D")}&nbsp; bulan &nbsp;{moment(tanggal || this.state?.tanggal).format("MMMM")} tahun &nbsp;{moment(tanggal || this.state?.tanggal).format("YYYY")},</span> :
+                                <span onClick={this.isEditTanggal}> {moment(tanggal || this.state?.tanggal).locale("id").format("dddd")}, tanggal&nbsp;{moment(tanggal || this.state?.tanggal).format("D")}&nbsp;bulan&nbsp;{moment(tanggal || this.state?.tanggal).format("MMMM")} tahun &nbsp;{moment(tanggal || this.state?.tanggal).format("YYYY")},</span> :
                                 <span onClick={this.isEditTanggal}><strong>&nbsp;[Mohon Diisi] &nbsp;</strong></span>
                             }
                             &nbsp;bertempat di
@@ -413,7 +413,7 @@ class BeritaAcara extends Component {
                                         </span>
                                     }
                                     {setTanggal_2 === true || this.state?.setTanggal_2 === true ?
-                                        <span onClick={this.isEditTanggal_2}> {moment(tanggal_2 || this.state?.tanggal_2).locale("id").format("dddd")}, tanggal&nbsp;{moment(tanggal_2 || this.state?.tanggal_2).format("D")}&nbsp; bulan &nbsp;{moment(tanggal_2 || this.state?.tanggal_2).format("MMMM")} tahun &nbsp;{moment(tanggal_2 || this.state?.tanggal_2).format("YYYY")},</span> :
+                                        <span onClick={this.isEditTanggal_2}> {moment(tanggal_2 || this.state?.tanggal_2).locale("id").format("dddd")}, tanggal&nbsp;{moment(tanggal_2 || this.state?.tanggal_2).format("D")}&nbsp;bulan&nbsp;{moment(tanggal_2 || this.state?.tanggal_2).format("MMMM")} tahun&nbsp;{moment(tanggal_2 || this.state?.tanggal_2).format("YYYY")},</span> :
                                         <span onClick={this.isEditTanggal_2}><strong>&nbsp;[Mohon Diisi] &nbsp;</strong></span>
                                     }
                                 </li>
@@ -652,6 +652,6 @@ class BeritaAcara extends Component {
     }
 }
 
-const mapStateToProps = (state) => ({ user: state.user, token: state.token });
-export default connect(mapStateToProps)(BeritaAcara)
-// export default BeritaAcara
+// const mapStateToProps = (state) => ({ user: state.user, token: state.token });
+// export default connect(mapStateToProps)(BeritaAcara)
+export default BeritaAcara

+ 2 - 3
components/Sanksi/DetailSanksi.js

@@ -154,9 +154,8 @@ class DetailSanksi extends Component {
 									<div style={{ display: "none" }}>
 										<ComponentBA ref={el => (this.componentRef = el)} query={this.props.query} />
 									</div>
-								</div>{/* <BeritaAcara
-							query={this.props.query}
-						/> */}
+								</div>
+					
 							</Col>
 						</FormGroup>
 						<FormGroup row>

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

@@ -87,9 +87,8 @@ class ComponentBA extends React.Component {
                                 {this.state?.setTanggal_2 === true ? (
 
                                     this.state?.setTanggal_2 === true ?
-                                        <span> &nbsp;{moment(this.state?.tanggal_2).format("DD-MM-YYYY")}</span>
-                                        :
-                                        <span> &nbsp;....... &nbsp;</span>
+                                    <span > {moment(this.state?.tanggal_2).locale("id").format("dddd")}, tanggal&nbsp;{moment(this.state?.tanggal_2).format("D")}&nbsp; bulan &nbsp;{moment(this.state?.tanggal_2).format("MMMM")} tahun &nbsp;{moment(this.state?.tanggal_2).format("YYYY")},</span> :
+                                    <span> &nbsp;- &nbsp;</span>
                                 )
                                     : (
                                         this.state?.setTanggal === true ?

+ 2 - 3
components/Sanksi/SuratBA_A.js

@@ -76,9 +76,8 @@ class ComponentToPrint extends React.Component {
                         <ol className='mt-3'>
                             <li>Telah dibacakan Berita Acara Evaluasi Kinerja Perguruan Tinggi  {dataLaporan.data && (<span>{dataLaporan.data.pt.nama}</span>)}, tanggal
                                 {dataSuratBA?.setTanggal_2 === true || this.state?.setTanggal_2 === true ?
-                                    <span> &nbsp;{moment(dataSuratBA?.tanggal_2 || this.state?.tanggal_2).format("DD-MM-YYYY")}</span>
-                                    :
-                                    <span> &nbsp;....... &nbsp;</span>
+                                    <span > {moment(dataSuratBA?.tanggal || this.state?.tanggal_2).format("D")}&nbsp; bulan &nbsp;{moment(dataSuratBA?.tanggal_2 || this.state?.tanggal_2).format("MMMM")} tahun &nbsp;{moment(dataSuratBA?.tanggal || this.state?.tanggal_2).format("YYYY")},</span> :
+                                    <span> &nbsp;- &nbsp;</span>
                                 }
                             </li>
                             <li>Telah dilakukan pembahasan rekomendasi mengenai fakta-fakta yang ditemukan Tim EKPT Ditjen Diktiristek, dengan temuan sebagai berikut:</li>

+ 2 - 2
components/Sanksi/UploadSurat.js

@@ -317,7 +317,7 @@ export class UploadSurat extends Component {
 				</FormGroup>
 				<FormGroup row className="mt-3">
 					<label className="col-md-4 col-form-label">Tanggal Terima Surat Sanksi<span className="text-danger">*</span></label>
-					<span className="col-sm-3 float-left">
+					<span className="col-sm-8 float-left">
 						<DatePicker
 							selected={this.state.terimaSuratSanksi ? new Date(this.state.terimaSuratSanksi) : this.state.terimaSuratSanksi}
 							onChange={(terimaSuratSanksi) => {
@@ -325,7 +325,7 @@ export class UploadSurat extends Component {
 							}}
 							dateFormat="dd/MM/yyyy"
 							minDate={new Date(this.state.awalTMT)}
-							placeholderText="Isi Tanggal"
+							placeholderText="DD/MM/YYYY"
 							locale={id}
 							className="form-control bg-white"
 						/>

+ 3 - 2
pages/app/laporan-delegasi/detail.js

@@ -34,8 +34,9 @@ class DetailPelaporan extends Component {
 		const _csrf = getTokenCsrf.token;
 		const pelaporan = await getOneLaporan(this.props.token, query.id + "?delegasi=true&?aktif=false");
 		await createLog(token, { aktivitas: `Mengakses halaman detail Laporan Delegasi dengan No. Laporan ${pelaporan.data.no_laporan}`, menu: "Laporan Delegasi", _csrf: _csrf });
-		const pemantauan = await getLog(this.props.token, query.id + "?delegasi=true&asc=true");
-		pemantauan.data = pemantauan.data.filter((e) => e.action != "CREATE LAPORAN");
+		const pemantauan = await getLog(this.props.token, query.id + "?delegasi=true&asc=true&all=true");
+		console.log(this.props.user.role)
+		pemantauan.data = pemantauan?.data.filter((e) => e.action != "CREATE LAPORAN");
 		this.setState({ pelaporan, pemantauan });
 	};
 

+ 4 - 3
pages/app/sanksi/proses.js

@@ -257,6 +257,7 @@ class ProsesSanksi extends Component {
 	};
 	setDataSuratBA = (data) => {
 		this.setState({ dataSuratBA: data });
+		console.log(this.state.dataSuratBA)
 
 	};
 	validation = (activeStep) => {
@@ -464,7 +465,7 @@ class ProsesSanksi extends Component {
 										</TabPane>
 										<TabPane tabId="4">
 											<Card>
-												<BeritaAcara query={this.props.query} handleAutoSave={this.handleAutoSave} dataPelanggaran={this.state.dataPelanggaran} setDataSuratBA={this.setDataSuratBA} dataLaporan={pelaporan} dataSuratBA={dataSuratBA} />
+												<BeritaAcara query={this.props.query} handleAutoSave={this.handleAutoSave} dataPelanggaran={this.state.dataPelanggaran} setDataSuratBA={this.setDataSuratBA} dataLaporan={pelaporan} dataSuratBA={dataSuratBA} role={this.props?.user?.role.id} />
 											</Card>
 											<div className="d-flex">
 												<Button color className="btn-login color-3e3a8e" onClick={this.toggleStep("3")}>
@@ -489,7 +490,7 @@ class ProsesSanksi extends Component {
 													<div style={{ display: "none" }}>
 														<ComponentToPrint ref={el => (this.componentRef = el)} query={this.props.query} handleAutoSave={this.handleAutoSave} dataPelanggaran={this.state.dataPelanggaran} setDataSuratBA={this.setDataSuratBA} dataLaporan={pelaporan} dataSuratBA={dataSuratBA} />
 													</div>
-													{this.props.user.role.id === 2024 ?
+													{this.props?.user?.role.id === 2024 ?
 														<Button color className="btn-labeled-4 mt-0" onClick={this.handleOpenAlert}>
 															<h5 className="p-0 mt-2"><em className="fas fa-download mr-2" />Print dan Download</h5>
 														</Button>
@@ -527,7 +528,7 @@ class ProsesSanksi extends Component {
 												<FormGroup row>
 													<Col md="4">Surat Berita Acara:</Col>
 													<Col md="8">
-														{this.props.user.role.id === 2024 ?
+														{this.props.user?.role?.id === 2024 ?
 															<Button color className="btn-labeled-4 mt-0" onClick={this.handleOpenAlert}>
 																<h5 className="p-0 mt-2"><em className="fas fa-download mr-2" />Print dan Download</h5>
 															</Button>

+ 1 - 1
pages/pt/sanksi/detail.js

@@ -40,7 +40,7 @@ class Sanksi extends Component {
 		return (
 			<ContentWrapper unwrap>
 				<Modal isOpen={this.state.modal} toggle={this.props.toggleModal}>
-					<ModalBody>Apakah anda akan tidak mengajukan permohonan keberatan atas pengenaan sanksi?</ModalBody>
+					<ModalBody>Apakah anda tidak akan mengajukan permohonan keberatan atas pengenaan sanksi?</ModalBody>
 					<ModalFooter>
 						<Button color className="btn-login" onClick={async () => {
 							const getToken = await getCsrf();

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

@@ -28,7 +28,7 @@ class Sanksi extends Component {
 						Sanksi
 					</span></div>
 				<Row>
-					<Col lg={12}>{sanksi.data?.length ? <TableSanksi listData={sanksi.data} to="/pt/sanksi/detail" toKeberatan="/pt/sanksi/keberatan/detail" toPerbaikan="/pt/sanksi/dokumen-perbaikan/detail" toJwbKeberatan="/pt/sanksi/jawaban-keberatan/detail" toJwbBanding="/pt/sanksi/jawaban-banding/detail" toJwbBanding2="/pt/sanksi/jawaban-banding/detail" toCabutSanksi="/pt/sanksi/pencabutan-sanksi/detail" toJwbCabutSanksi="/pt/sanksi/jawaban-pencabutan-sanksi/detail" linkName="Detail" /> : sanksi.data ? "Tidak ada Sanksi" : <Loader />}</Col>
+					<Col lg={12}>{sanksi.data?.length ? <TableSanksi listData={sanksi.data} to="/pt/sanksi/detail" toKeberatan="/pt/sanksi/keberatan/detail" toPerbaikan="/pt/sanksi/dokumen-perbaikan/detail" toJwbKeberatan="/pt/sanksi/jawaban-keberatan/detail" toJwbBanding="/pt/sanksi/jawaban-banding/detail" toJwbBanding2="/pt/sanksi/jawaban-banding/detail" toCabutSanksi="/pt/pencabutan-sanksi/detail" toJwbCabutSanksi="/pt/jawaban-pencabutan-sanksi/detail" linkName="Detail" /> : sanksi.data ? "Tidak ada Sanksi" : <Loader />}</Col>
 				</Row>
 			</ContentWrapper>
 		);

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

@@ -182,11 +182,21 @@ class PlenoSanksi extends Component {
 
                             <ol className='mt-3'>
                                 <li>Telah dibacakan Berita Acara Evaluasi Kinerja Perguruan Tinggi {dataLaporan.data && (<span>{dataLaporan.data.pt.nama}</span>)}, tanggal
-                                    {dataSuratBA?.setTanggal === true ?
-                                        <span> &nbsp;{moment(dataSuratBA.tanggal).format("DD-MM-YYYY")}</span>
-                                        :
-                                        <span> &nbsp;....... &nbsp;</span>
-                                    }</li>
+                                    {dataSuratBA?.setTanggal_2 === true ? (
+
+                                        dataSuratBA?.setTanggal_2 === true ?
+                                            <span > {moment(dataSuratBA.tanggal_2).format("D")}&nbsp;bulan&nbsp;{moment(dataSuratBA.tanggal_2).format("MMMM")} tahun &nbsp;{moment(dataSuratBA.tanggal_2).format("YYYY")},</span> :
+                                            <span> &nbsp;- &nbsp;</span>
+                                    )
+                                        : (
+                                            dataSuratBA?.setTanggal === true ?
+                                                <span> &nbsp;{moment(dataSuratBA?.tanggal).format("DD-MM-YYYY")}</span>
+                                                :
+                                                <span> &nbsp;....... &nbsp;</span>
+                                        )
+                                    }
+
+                                </li>
                                 <li>Telah dilakukan pembahasan rekomendasi mengenai fakta-fakta yang ditemukan Tim EKPT Ditjen Diktiristek, dengan temuan sebagai berikut:</li>
                             </ol>
                         </p>
@@ -207,7 +217,21 @@ class PlenoSanksi extends Component {
                                     </tr>
                                 </thead>
                                 <tbody>
-                                    {dataPelanggaran?.map((e, i) => (
+                                    
+                                    {/* {dataPelanggaran?.map((e, i) => (
+                                        <tr key={e._id}>
+                                            <td>{++i}</td>
+                                            {dataLaporan.data && (<td >{dataLaporan.data.pt.nama}</td>)}
+                                            <td>{e.pasal}</td>
+                                            <td>{e.butir_pelanggaran}</td>
+                                            <td>{e.pelanggaran}</td>
+                                            <td >{dataSuratBA?.descPelanggaran[e._id]?.simpulan || ""}</td>
+                                            <td style={{ maxWidth: "80px" }}>
+                                                {`Sanksi Administratif berupa ${dataSuratBA?.sanksi || this.state.sanksi}` || ""}
+                                            </td>
+                                        </tr>
+                                    ))} */}
+                                    {dataLaporan.data?.sanksi.pelanggaran.map((e, i) => (
                                         <tr key={e._id}>
                                             <td>{++i}</td>
                                             {dataLaporan.data && (<td >{dataLaporan.data.pt.nama}</td>)}