Explorar el Código

naik/turun sanksi update pddikti
fix table riwayat dengan filter tgl dan search key

andi hace 1 año
padre
commit
8ff2b3821e

+ 1 - 1
actions/pengunjung.js

@@ -25,7 +25,7 @@ export const createPengunjung = async (_csrf) => {
 
 export const getPengunjung = async (token) => {
 	try {
-		const res = await axios.get(`/pengunjung`, { headers: { Authorization: token } });
+		const res = await axios.get(`/pengunjung?tahun=${new Date().getFullYear()}`, { headers: { Authorization: token } });
 		return res.data;
 	} catch (error) {
 		console.log("error", error);

+ 1 - 1
actions/sanksi.js

@@ -118,7 +118,7 @@ export const update = async (token, id, data, _csrf) => {
 const logUpdate = async (token, id) => {
 	const getToken = await getCsrf();
 	const _csrf = getToken.token;
-	await createLog(token, { aktivitas: `Berhasil Merubah Sanksi, id: ${id}`, _csrf: _csrf });
+	await createLog(token, { aktivitas: `Berhasil Merubah Sanksi, id: ${id}`, _csrf: _csrf,menu:"Perubahan  Sanksi" });
 
 }
 export const updatePT = async (token, id, data, _csrf) => {

+ 2 - 2
components/Main/Login.js

@@ -75,10 +75,10 @@ class Login extends Component {
         this.props.setUser(auth.data.user);
         axiosAPI.defaults.headers.common["Authorization"] = auth.data.token;
         if (auth.data.user.role.id === 2022) {
-          await createLog(auth.data.token, { aktivitas: "PT berhasil Login", _csrf: _csrf });
+          await createLog(auth.data.token, { aktivitas: "PT berhasil Login", menu: "Pelaporan", _csrf: _csrf });
           return location.href = '/pt/pemantauan';
         } else if ([2020, 2021, 2023, 2024].includes(auth.data.user.role.id)) {
-          await createLog(auth.data.token, { aktivitas: "Berhasil Login", _csrf: _csrf });
+          await createLog(auth.data.token, { aktivitas: "Berhasil Login", menu: "Pelaporan", _csrf: _csrf });
           return location.href = '/app/pemantauan';
         } else {
           this.setState({ error: "Akun tidak ada" });

+ 49 - 14
components/NaikSanksi/InputTanggal.js

@@ -158,17 +158,51 @@ class InputTanggal extends Component {
     handleChangeListSanksi = (listSanksi) => {
         this.setState({ listSanksi });
     };
+
+    done = async (data) => {
+		if (this.props?.user?.role.id === 2024) {
+			Swal.fire({
+				icon: 'error',
+				title: 'Oops...',
+				html: 'Maaf anda tidak memiliki akses untuk menyelesaikan<p> proses ini.</p>',
+				confirmButtonColor: "#3e3a8e",
+				confirmButtonText: 'Oke'
+			})
+		} else {
+			this.setState({
+				loading: true
+			})
+			const sanksi = await this.ubahSanksi(data)
+			if (sanksi && ENV === "production") {
+				await this.updatePddikti(sanksi.data._id)  //kirim sanksiID ke function updatePDDIKTI
+			}
+
+			await Router.push({
+				pathname: "/app/naik-sanksi",
+			});
+		}
+	};
+    updatePddikti = async (sanksiId) => {
+		const getToken = await getCsrf();
+		const _csrf2 = getToken.token;
+		const toastPddikti = toast.loading("Updating pddikti...");
+		try {
+			const { query, token } = this.props;
+			const { id } = query;
+			await updatePddikti(token, sanksiId, _csrf2)
+
+			toast.update(toastPddikti, { render: "Berhasil Update PDDIKTI", type: "success", isLoading: false, autoClose: true, closeButton: true });
+
+		}
+
+		catch (error) {
+			toast.update(toastPddikti, { render: ("Gagal Update PDDIKTI"), type: "error", isLoading: false, autoClose: true, closeButton: true });
+		}
+
+	}
  
-    handelSimpan = async (data) => {
-        if (this.props?.user?.role.id === 2024) {
-            Swal.fire({
-                icon: 'error',
-                title: 'Oops...',
-                html: 'Maaf anda tidak memiliki akses untuk menyelesaikan<p> proses ini.</p>',
-                confirmButtonColor: "#3e3a8e",
-                confirmButtonText: 'Oke'
-            })
-        } else {
+    ubahSanksi = async (data) => {
+       
             if (this.state.tmtCheck === true ||this.state.listSanksi?.find(z => z.label === "Sanksi Administratif Berat - Pencabutan izin Program Studi" || z.label === "Sanksi Administratif Berat - Pembubaran PTN atau pencabutan izin PTS")) {
                 const getToken = await getCsrf();
                 const _csrf = getToken.token;
@@ -191,9 +225,10 @@ class InputTanggal extends Component {
                     toast.update(toastid, { render: "Error", type: "error", isLoading: false, autoClose: true, closeButton: true });
                 } else {
                     toast.update(toastid, { render: "Success", type: "success", isLoading: false, autoClose: true, closeButton: true });
-                    Router.push("/app/naik-sanksi");
+                    // Router.push("/app/naik-sanksi");
                 }
             }else{
+                console.log("ubahsanksi")
                 const getToken = await getCsrf();
             const _csrf = getToken.token;
             const { token, query } = this.props;
@@ -215,10 +250,10 @@ class InputTanggal extends Component {
                 toast.update(toastid, { render: "Error", type: "error", isLoading: false, autoClose: true, closeButton: true });
             } else {
                 toast.update(toastid, { render: "Success", type: "success", isLoading: false, autoClose: true, closeButton: true });
-                Router.push("/app/naik-sanksi");
+                // Router.push("/app/naik-sanksi");
             }
         }
-            }
+            
             
 
     };
@@ -251,7 +286,7 @@ class InputTanggal extends Component {
                             dokumen: [],
                         }}
                         validationSchema={rekomendasiSchema}
-                        onSubmit={this.handelSimpan}
+                        onSubmit={this.done}
                     >
                         {({ isSubmitting }) => (
                             <Form className="form-horizontal">

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

@@ -13,7 +13,6 @@ function Riwayat({ data, role }) {
 			confirmButtonText: 'Oke'
 		})
 	};
-	console.log(data)
 	return (
 		<Card className="card-default">
 			<CardHeader>

+ 0 - 1
components/Pemeriksaan/InputEvaluasi.js

@@ -271,7 +271,6 @@ class InputEvaluasi extends Component {
 				<button className="bg-transparent button-transparent border-0 fas fa-trash text-danger float-right" onClick={removeFile(file)} />
 			</p>
 		));
-		console.log(new Date(this.state.tanggal))
 		return (
 			<>
 				<Formik

+ 0 - 1
components/PencabutanSanksi/RiwayatPerbaikan.js

@@ -13,7 +13,6 @@ function RiwayatPerbaikan({ data, role }) {
 			confirmButtonText: 'Oke'
 		})
 	};
-	console.log(data.map((e)=> e.dokumen))
 
 	return (
 		<Card className="card-default">

+ 1 - 1
components/Riwayat/ChartData.js

@@ -17,7 +17,7 @@ class ChartData extends Component {
 	async componentDidMount() {
 		const { token } = this.props;
 		const dataPengunjung = await getPengunjung(token);
-		this.setState({ dataPengunjung: dataPengunjung.data.map((e) => [this.convertMonth(e._id.bulan), e.jumlah_pengunjung]) });
+		this.setState({ dataPengunjung: dataPengunjung?.data?.map((e) => [this.convertMonth(e._id.bulan), e.jumlah_pengunjung]) });
 		this.setState((prevState) => ({ dataChart: { ...prevState.dataChart, data: [{ ...prevState.dataChart.data[0], data: prevState.dataPengunjung }] } }));
 	}
 

+ 14 - 25
components/Riwayat/TableRiwayat.js

@@ -13,8 +13,8 @@ class TableRiwayat extends Component {
     constructor(props) {
         super(props);
         this.state = {
-            dataRiwayat: [],
-            dataRiwayatsort: "",
+            dataRiwayat: "",
+            dataRiwayatsort:"",
             fromDate: "",
             toDate: "",
             updateTable: false
@@ -23,39 +23,29 @@ class TableRiwayat extends Component {
     componentDidMount = async () => {
         const { token } = this.props;
 
-        // const dataRiwayat = await getLog2(this.props.token)
-        // this.setState({ dataRiwayat });
+        const dataRiwayat = await getLog2(this.props.token)
+        this.setState({ dataRiwayat });
     }
     onFilter = async () => {
-        // const date1 = moment(this.state.fromDate).format("YYYY-MM-DD")
-        // const date2 = moment(this.state.toDate).format("YYYY-MM-DD")
-        // const dataRiwayat = await getLog2(this.props.token, { fromDate: date1, toDate: date2 })
-        // this.setState({ dataRiwayat });
+        const date1 = moment(this.state.fromDate).format("YYYY-MM-DD")
+        const date2 = moment(this.state.toDate).format("YYYY-MM-DD")
+        const dataRiwayat = await getLog2(this.props.token, { fromDate: date1, toDate: date2 })
+        this.setState({ dataRiwayat });
         this.setState({ updateTable: true });
         setTimeout(() => {
             this.setState({ updateTable: false });
         }, 1);
 
     }
-    componentDidUpdate = async (prevProps, prevState) => {
-        const { dataRiwayat } = this.state
-        if (prevState.toDate != this.state.toDate) {
-            console.log(dataRiwayat)
+    componentDidUpdate = async () => {
+        const dataRiwayatsort = this.state
+        if (this.state.updateTable === true) {
             const date1 = moment(this.state.fromDate).format("YYYY-MM-DD")
             const date2 = moment(this.state.toDate).format("YYYY-MM-DD")
             const dataRiwayat = await getLog2(this.props.token, { fromDate: date1, toDate: date2 })
-            this.setState({ dataRiwayat });
+            this.setState({ dataRiwayatsort });
+            // this.setState({ dataRiwayat });
         }
-        // const dataRiwayatsort = this.state
-        // if (this.state.updateTable === true) {
-        //     const date1 = moment(this.state.fromDate).format("YYYY-MM-DD")
-        //     const date2 = moment(this.state.toDate).format("YYYY-MM-DD")
-        //     const dataRiwayat = await getLog2(this.props.token, { fromDate: date1, toDate: date2 })
-        //     this.setState({ dataRiwayatsort });
-        //     // this.setState({ dataRiwayat });
-        // }
-
-
     }
 
 
@@ -92,10 +82,9 @@ class TableRiwayat extends Component {
                         <Button color="info" className=" mt-4" onClick={this.onFilter}>Filter</Button>
 
                     </span>
-                    
                     {this.state.dataRiwayat && (
                         <Datatable options={{
-                            searching: true,
+                            searching: true, 
                             aLengthMenu: [500],
                             paging: false,
                             scrollX: true, scrollY: "370px",

+ 40 - 2
components/TurunSanksi/InputTanggal.js

@@ -155,9 +155,48 @@ class InputTanggal extends Component {
     handleTmtCheck = () => {
         this.setState({ tmtCheck: !this.state.tmtCheck });
     };
+    done = async (data) => {
+		if (this.props?.user?.role.id === 2024) {
+			Swal.fire({
+				icon: 'error',
+				title: 'Oops...',
+				html: 'Maaf anda tidak memiliki akses untuk menyelesaikan<p> proses ini.</p>',
+				confirmButtonColor: "#3e3a8e",
+				confirmButtonText: 'Oke'
+			})
+		} else {
+			this.setState({
+				loading: true
+			})
+			const sanksi = await this.ubahSanksi(data)
+			if (sanksi && ENV === "production") {
+				await this.updatePddikti(sanksi.data._id)  //kirim sanksiID ke function updatePDDIKTI
+			}
 
+			await Router.push({
+				pathname: "/app/turun-sanksi",
+			});
+		}
+	};
+    updatePddikti = async (sanksiId) => {
+		const getToken = await getCsrf();
+		const _csrf2 = getToken.token;
+		const toastPddikti = toast.loading("Updating pddikti...");
+		try {
+			const { query, token } = this.props;
+			const { id } = query;
+			await updatePddikti(token, sanksiId, _csrf2)
 
-    handelSimpan = async (data) => {
+			toast.update(toastPddikti, { render: "Berhasil Update PDDIKTI", type: "success", isLoading: false, autoClose: true, closeButton: true });
+
+		}
+
+		catch (error) {
+			toast.update(toastPddikti, { render: ("Gagal Update PDDIKTI"), type: "error", isLoading: false, autoClose: true, closeButton: true });
+		}
+
+	}
+    ubahSanksi = async (data) => {
         if (this.props?.user?.role.id === 2024) {
             Swal.fire({
                 icon: 'error',
@@ -186,7 +225,6 @@ class InputTanggal extends Component {
                 toast.update(toastid, { render: "All is not good", type: "error", isLoading: false, autoClose: true, closeButton: true });
             } else {
                 toast.update(toastid, { render: "All is good", type: "success", isLoading: false, autoClose: true, closeButton: true });
-                Router.push("/app/turun-sanksi");
             }
         }
 

+ 0 - 1
pages/app/perbaikan/detail.js

@@ -31,7 +31,6 @@ class PemantauanDokumen extends Component {
 
 	render() {
 		const { sanksi, pt } = this.state;
-		console.log(sanksi)
 		return (
 			<ContentWrapper unwrap>
 				{/* <Header /> */}

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

@@ -22,7 +22,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 })

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

@@ -454,7 +454,6 @@ class ProsesSanksi extends Component {
 
 	render() {
 		const { dataUpload, dataPelanggaran, pelaporan, dataSuratBA, thisclose } = this.state
-		console.log(dataPelanggaran, this.state.dataPelanggaran)
 		return (
 			<ContentWrapper unwrap>
 				{/* <Header /> */}

+ 3 - 1
pages/laporan/new/index.js

@@ -459,6 +459,7 @@ class App extends Component {
                             {({ field, form }) => (
                               <Input
                                 type="file"
+                                accept="image/jpeg, image/png"
                                 onChange={(e) =>
                                   form.setFieldValue(
                                     field.name,
@@ -603,6 +604,7 @@ class App extends Component {
                               <Input
                                 type="file"
                                 multiple
+                                accept=".pdf"
                                 onChange={(e) =>
                                   form.setFieldValue(
                                     field.name,
@@ -618,7 +620,7 @@ class App extends Component {
                             className="form-text text-danger"
                           />
                           <p className="mrgn-top-5">
-                          Ukuran setiap dokumen PDF maksimal 15 Mb
+                            Ukuran setiap dokumen PDF maksimal 15 Mb
                           </p>
                         </div>
                       </FormGroup>