Browse Source

issue 1235789

andifebri 3 năm trước cách đây
mục cha
commit
fb05036cb2
36 tập tin đã thay đổi với 234 bổ sung181 xóa
  1. 31 31
      components/Banding/TableSanksi.js
  2. 1 1
      components/Common/Swal.js
  3. 33 33
      components/Keberatan/TableSanksi.js
  4. 1 1
      components/Main/Login.js
  5. 15 6
      components/Main/TableLaporan.js
  6. 1 1
      components/PT/CabutSanksi/TableSanksiJawaban.js
  7. 1 1
      components/PT/JawabanBanding/TableSanksiJawaban.js
  8. 2 2
      components/PT/JawabanKeberatan/ModalPermohonan.js
  9. 1 1
      components/PT/JawabanKeberatan/TableSanksiJawaban.js
  10. 1 1
      components/PT/JawabanPencabutanSanksi/TableSanksiJawaban.js
  11. 2 2
      components/PT/Keberatan/ModalPermohonan.js
  12. 1 1
      components/PT/TableSanksiJawaban.js
  13. 4 6
      components/Pelaporan/InputData.js
  14. 28 24
      components/Pemeriksaan/InputEvaluasi.js
  15. 2 3
      components/Pemeriksaan/TableLaporan.js
  16. 31 31
      components/PencabutanSanksi/TableSanksi.js
  17. 3 4
      components/Penjadwalan/TableLaporan.js
  18. 2 2
      components/Sanksi/TableLaporan.js
  19. 3 3
      pages/app/banding/detail.js
  20. 3 3
      pages/app/keberatan/detail.js
  21. 3 1
      pages/app/pelaporan/new.js
  22. 20 4
      pages/app/pelaporan/search.js
  23. 11 1
      pages/app/pemantauan/index.js
  24. 3 3
      pages/app/pencabutan-sanksi/detail.js
  25. 3 3
      pages/app/pt/dokumen-perbaikan/detail.js
  26. 1 1
      pages/app/pt/jawaban-banding/detail.js
  27. 1 1
      pages/app/pt/jawaban-keberatan/detail.js
  28. 1 1
      pages/app/pt/jawaban-pencabutan-sanksi/detail.js
  29. 1 1
      pages/app/pt/keberatan/detail.js
  30. 1 1
      pages/app/pt/pencabutan-sanksi/detail.js
  31. 1 1
      pages/laporan/new/index.js
  32. 5 4
      pages/pemantauan.js
  33. 1 1
      styles/app/common/bootstrap-reset.scss
  34. 7 0
      styles/app/common/cards.scss
  35. 8 0
      styles/bootstrap/_buttons.scss
  36. 1 1
      styles/bootstrap/_images.scss

+ 31 - 31
components/Banding/TableSanksi.js

@@ -8,7 +8,7 @@ function TableSanksi({ listData, to, linkName }) {
 		<div className="card b">
 			<div className="card-body">
 				<Datatable options={{ responsive: true }}>
-					<table className="table w-100">
+					<table className="table w-100" data-order='[3,"asc"]'>
 						<thead>
 							<tr>
 								<th>Nomor Sanksi</th>
@@ -21,38 +21,38 @@ function TableSanksi({ listData, to, linkName }) {
 						<tbody>
 							{listData.length
 								? listData.map((data) => {
-										return (
-											<tr key={data._id}>
-												<td>{data.no_sanksi}</td>
-												<td>
-													<div className="media align-items-center">
-														<div className="media-body d-flex">
-															<div>
-																<h4 className="m-0">{data.laporan.pt.nama}</h4>
-																<p>{data.keterangan.length > 25 ? data.keterangan.substring(0, 25) + "..." : data.keterangan}</p>
-															</div>
+									return (
+										<tr key={data._id}>
+											<td>{data.no_sanksi}</td>
+											<td>
+												<div className="media align-items-center">
+													<div className="media-body d-flex">
+														<div>
+															<h4 className="m-0">{data.laporan.pt.nama}</h4>
+															<p>{data.keterangan.length > 25 ? data.keterangan.substring(0, 25) + "..." : data.keterangan}</p>
 														</div>
 													</div>
-												</td>
-												<td>{moment(data.createdAt).fromNow()}</td>
-												<td>{data.jawaban.banding ? <div className="badge badge-info">Sudah Dijawab</div> : <div className="badge badge-danger">Belum Dijawab</div>}</td>
-												<td>
-													<div className="ml-auto">
-														<Link
-															href={{
-																pathname: to,
-																query: { id: data._id },
-															}}
-														>
-															<Button color="primary" size="sm">
-																{linkName}
-															</Button>
-														</Link>
-													</div>
-												</td>
-											</tr>
-										);
-								  })
+												</div>
+											</td>
+											<td>{moment(data.createdAt).fromNow()}</td>
+											<td>{data.jawaban.banding ? <div className="badge badge-info">Sudah Dijawab</div> : <div className="badge badge-danger">Belum Dijawab</div>}</td>
+											<td>
+												<div className="ml-auto">
+													<Link
+														href={{
+															pathname: to,
+															query: { id: data._id },
+														}}
+													>
+														<Button color="primary" size="sm">
+															{linkName}
+														</Button>
+													</Link>
+												</div>
+											</td>
+										</tr>
+									);
+								})
 								: ""}
 						</tbody>
 					</table>

+ 1 - 1
components/Common/Swal.js

@@ -30,7 +30,7 @@ Swal.propType = {
 }
 
 Swal.defaultProps = {
-    callback: () => {}
+    callback: () => { }
 }
 
 export default Swal;

+ 33 - 33
components/Keberatan/TableSanksi.js

@@ -6,9 +6,9 @@ import moment from "moment";
 function TableSanksi({ listData, to, linkName }) {
 	return (
 		<div className="card b">
-			<div className="card-body">
-				<Datatable options={{ responsive: true }}>
-					<table className="table w-100">
+			<div className="card-body card-over">
+				<Datatable options={{ responsive: false }}>
+					<table className="table w-100" data-order='[3,"asc"]'>
 						<thead>
 							<tr>
 								<th>Nomor Sanksi</th>
@@ -21,38 +21,38 @@ function TableSanksi({ listData, to, linkName }) {
 						<tbody>
 							{listData.length
 								? listData.map((data) => {
-										return (
-											<tr key={data._id}>
-												<td>{data.no_sanksi}</td>
-												<td>
-													<div className="media align-items-center">
-														<div className="media-body d-flex">
-															<div>
-																<h4 className="m-0">{data.laporan.pt.nama}</h4>
-																<p>{data.keterangan.length > 25 ? data.keterangan.substring(0, 25) + "..." : data.keterangan}</p>
-															</div>
+									return (
+										<tr key={data._id}>
+											<td>{data.no_sanksi}</td>
+											<td>
+												<div className="media align-items-center">
+													<div className="media-body d-flex">
+														<div>
+															<h4 className="m-0">{data.laporan.pt.nama}</h4>
+															<p>{data.keterangan.length > 25 ? data.keterangan.substring(0, 25) + "..." : data.keterangan}</p>
 														</div>
 													</div>
-												</td>
-												<td>{moment(data.createdAt).fromNow()}</td>
-												<td>{data.jawaban?.keberatan ? <div className="badge badge-info">Sudah Dijawab</div> : <div className="badge badge-danger">Belum Dijawab</div>}</td>
-												<td>
-													<div className="ml-auto">
-														<Link
-															href={{
-																pathname: to,
-																query: { id: data._id },
-															}}
-														>
-															<Button color="primary" size="sm">
-																{linkName}
-															</Button>
-														</Link>
-													</div>
-												</td>
-											</tr>
-										);
-								  })
+												</div>
+											</td>
+											<td>{moment(data.createdAt).fromNow()}</td>
+											<td>{data.jawaban?.keberatan ? <div className="badge badge-info">Sudah Dijawab</div> : <div className="badge badge-danger">Belum Dijawab</div>}</td>
+											<td>
+												<div className="ml-auto">
+													<Link
+														href={{
+															pathname: to,
+															query: { id: data._id },
+														}}
+													>
+														<Button color="primary" size="sm">
+															{linkName}
+														</Button>
+													</Link>
+												</div>
+											</td>
+										</tr>
+									);
+								})
 								: ""}
 						</tbody>
 					</table>

+ 1 - 1
components/Main/Login.js

@@ -87,7 +87,7 @@ class Login extends Component {
 
 	render() {
 		return (
-			<Card className="card card-flat">
+			<Card className="card-login-over">
 				<img className="img-login-1" src="/static/img/logo-login.png" alt="Logo" />
 				<CardBody className="card-body">
 					{" "}

+ 15 - 6
components/Main/TableLaporan.js

@@ -8,15 +8,15 @@ function TableLaporan({ listData, to, linkName, status = false, noBy = false })
 		<div className="card b ">
 			<div className="card-body card-over">
 				{listData && (
-					<Datatable options={{ responsive: false }}>
-						<table className="table w-100">
+					<Datatable options={{ responsive: false, ordering: true, keys: true }}>
+						<table className="table w-100" data-order='[[3, "desc"]]'>
 							<thead>
 								<tr>
 									<th>No.Laporan</th>
 									<th>Deskripsi Laporan</th>
-									{status ? <th>Status</th> : ""}
+									{status && <th>Status</th>}
 									{!noBy && <th>Dibuat Oleh</th>}
-									<th>Created</th>
+									{/* <th>Created</th> */}
 									<th></th>
 								</tr>
 							</thead>
@@ -42,8 +42,17 @@ function TableLaporan({ listData, to, linkName, status = false, noBy = false })
 											) : (
 												""
 											)}
-											{!noBy && <td>{data.user.isPrivate ? "" : data.user.nama}</td>}
-											<td>{moment(data.createdAt).fromNow()}</td>
+											<td className="text-nowrap">
+												<div className="media align-items-center">
+													<div className="media-body d-flex">
+														<div>
+															{!noBy && <h4>{data.user.isPrivate ? "" : data.user.nama}</h4>}
+															<p>{moment(data.createdAt).format("MM-DD-YYYY")}</p>
+														</div>
+													</div>
+												</div>
+											</td>
+
 											<td>
 												<div className="ml-auto">
 													<Link

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

@@ -5,7 +5,7 @@ import Link from "next/link";
 function TableSanksi({ listData, to, linkName }) {
 	return (
 		<div className="card b">
-			<div className="card-body">
+			<div className="card-body card-over">
 				<Table className="table w-100">
 					<thead>
 						<tr>

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

@@ -5,7 +5,7 @@ import Link from "next/link";
 function TableSanksi({ listData, to, linkName }) {
 	return (
 		<div className="card b">
-			<div className="card-body">
+			<div className="card-body card-over">
 				<Table className="table w-100">
 					<thead>
 						<tr>

+ 2 - 2
components/PT/JawabanKeberatan/ModalPermohonan.js

@@ -169,7 +169,7 @@ export class ModalPermohonan extends Component {
 															<div {...getRootProps()} className={"dropzone card p-3 " + (isDragActive ? "dropzone-drag-active" : "")}>
 																<input {...getInputProps()} />
 																<div className="dropzone-previews flex">
-																	{this.state.files.length > 0 ? <Row>{thumbs}</Row> : <div className="text-center dz-default dz-message">Drop files here to upload</div>}
+																	{this.state.files.length > 0 ? <Row>{thumbs}</Row> : <div className="text-center dz-default dz-message">Klik untuk upload dokumen</div>}
 																</div>
 																<div className="d-flex align-items-center">
 																	<small className="ml-auto">
@@ -181,7 +181,7 @@ export class ModalPermohonan extends Component {
 																				form.setFieldValue(field.name, []);
 																			}}
 																		>
-																			Clear files
+																			Reset dokumen
 																		</button>
 																	</small>
 																</div>

+ 1 - 1
components/PT/JawabanKeberatan/TableSanksiJawaban.js

@@ -5,7 +5,7 @@ import Link from "next/link";
 function TableSanksi({ listData, to, linkName }) {
 	return (
 		<div className="card b">
-			<div className="card-body">
+			<div className="card-body card-over">
 				<Table className="table w-100">
 					<thead>
 						<tr>

+ 1 - 1
components/PT/JawabanPencabutanSanksi/TableSanksiJawaban.js

@@ -5,7 +5,7 @@ import Link from "next/link";
 function TableSanksi({ listData, to, linkName }) {
 	return (
 		<div className="card b">
-			<div className="card-body">
+			<div className="card-body card-over">
 				<Table className="table w-100">
 					<thead>
 						<tr>

+ 2 - 2
components/PT/Keberatan/ModalPermohonan.js

@@ -171,7 +171,7 @@ export class ModalPermohonan extends Component {
 															<div {...getRootProps()} className={"dropzone card p-3 " + (isDragActive ? "dropzone-drag-active" : "")}>
 																<input {...getInputProps()} />
 																<div className="dropzone-previews flex">
-																	{this.state.files.length > 0 ? <Row>{thumbs}</Row> : <div className="text-center dz-default dz-message">Drop files here to upload</div>}
+																	{this.state.files.length > 0 ? <Row>{thumbs}</Row> : <div className="text-center dz-default dz-message">Klik untuk upload dokumen</div>}
 																</div>
 																<div className="d-flex align-items-center">
 																	<small className="ml-auto">
@@ -183,7 +183,7 @@ export class ModalPermohonan extends Component {
 																				form.setFieldValue(field.name, []);
 																			}}
 																		>
-																			Clear files
+																			Reset dokumen
 																		</button>
 																	</small>
 																</div>

+ 1 - 1
components/PT/TableSanksiJawaban.js

@@ -5,7 +5,7 @@ import Link from "next/link";
 function TableSanksi({ listData, to, linkName }) {
 	return (
 		<div className="card b">
-			<div className="card-body">
+			<div className="card-body card-over">
 				<Table className="table w-100">
 					<thead>
 						<tr>

+ 4 - 6
components/Pelaporan/InputData.js

@@ -1,4 +1,4 @@
-import React, { Component } from "react";
+import React, { Component, useMemo } from "react";
 import Router from "next/router";
 import { getPelanggaranPublic } from "@/actions/pelanggaran";
 import { createPelaporan } from "@/actions/pelaporan";
@@ -232,9 +232,9 @@ export class InputData extends Component {
 										>
 											{({ getRootProps, getInputProps, isDragActive }) => {
 												return (
-													<div {...getRootProps()} className={"dropzone card p-3 " + (isDragActive ? "dropzone-drag-active" : "")}>
+													<div {...getRootProps()} className={"dropzone card p-3" + (isDragActive ? "dropzone-drag-active" : "")}>
 														<input name="dokumen" {...getInputProps()} />
-														<div className="dropzone-previews flex">{this.state.files.length > 0 ? <Row>{thumbs}</Row> : <div className="text-center dz-default dz-message">Drop files here to upload</div>}</div>
+														<div className="dropzone-previews flex">{this.state.files.length > 0 ? <Row>{thumbs}</Row> : <div className="text-center dz-default dz-message">Klik untuk upload dokumen</div>}</div>
 														<div className="d-flex align-items-center">
 															<small className="ml-auto">
 																<button
@@ -245,7 +245,7 @@ export class InputData extends Component {
 																		form.setFieldValue(field.name, []);
 																	}}
 																>
-																	Clear files
+																	Reset dokumen
 																</button>
 															</small>
 														</div>
@@ -261,7 +261,6 @@ export class InputData extends Component {
 								</p>
 							</div>
 						</FormGroup>
-
 						<FormGroup row>
 							<div className="col-xl-10">
 								<button className="btn btn-sm btn-primary" type="submit" disabled={isSubmitting}>
@@ -275,6 +274,5 @@ export class InputData extends Component {
 		);
 	}
 }
-
 const mapStateToProps = (state) => ({ user: state.user, token: state.token });
 export default connect(mapStateToProps)(InputData);

+ 28 - 24
components/Pemeriksaan/InputEvaluasi.js

@@ -35,9 +35,9 @@ const checkIfFilesAreCorrectType = (files) => {
 };
 
 const evaluasiSchema = Yup.object().shape({
-	tanggal: Yup.date().required("Required"),
-	judul: Yup.string().min(3).max(150).required("Required"),
-	dokumen: Yup.array().min(1).required("Required").test("filesize", "Maksimal ukuran dokumen 15mb", checkIfFilesAreTooBig),
+	tanggal: Yup.date().required("Wajib diisi"),
+	judul: Yup.string().min(3).max(150).required("Wajib diisi"),
+	dokumen: Yup.array().min(1).required("Wajib diisi").test("filesize", "Maksimal ukuran dokumen 15mb", checkIfFilesAreTooBig),
 });
 
 let Dropzone = null;
@@ -159,26 +159,30 @@ export default class InputEvaluasi extends Component {
 					onSubmit={this.onSubmit}
 				>
 					<Form className="form-horizontal">
-						<FormGroup>
-							<label className="col-form-label">Tanggal Dokumen</label>
-							<Field name="tanggal">
-								{({ field, form }) => (
-									<Datetime
-										timeFormat={false}
-										inputProps={{ className: "form-control" }}
-										value={field.value}
-										onChange={(e) => {
-											form.setFieldValue(field.name, e);
-										}}
-									/>
-								)}
-							</Field>
-							<ErrorMessage name="tanggal" component="div" className="form-text text-danger" />
+						<FormGroup row>
+							<label className="col-md-2 col-form-label">Tanggal Dokumen</label>
+							<div className="col-md-10">
+								<Field name="tanggal">
+									{({ field, form }) => (
+										<Datetime
+											timeFormat={false}
+											inputProps={{ className: "form-control" }}
+											value={field.value}
+											onChange={(e) => {
+												form.setFieldValue(field.name, e);
+											}}
+										/>
+									)}
+								</Field>
+								<ErrorMessage name="tanggal" component="div" className="form-text text-danger" />
+							</div>
 						</FormGroup>
-						<FormGroup>
-							<label className="col-form-label">Judul Dokumen</label>
-							<Field name="judul">{({ field, form }) => <Input type="text" placeholder="judul" {...field} />}</Field>
-							<ErrorMessage name="judul" component="div" className="form-text text-danger" />
+						<FormGroup row>
+							<label className="col-md-2 col-form-label">Judul Dokumen</label>
+							<div className="col-md-10">
+								<Field name="judul">{({ field, form }) => <Input type="text" placeholder="judul" {...field} />}</Field>
+								<ErrorMessage name="judul" component="div" className="form-text text-danger" />
+							</div>
 						</FormGroup>
 						<FormGroup row>
 							<label className="col-md-2 col-form-label">Upload File Pendukung</label>
@@ -196,7 +200,7 @@ export default class InputEvaluasi extends Component {
 												return (
 													<div {...getRootProps()} className={"dropzone card p-3 " + (isDragActive ? "dropzone-drag-active" : "")}>
 														<input name="dokumen" {...getInputProps()} />
-														<div className="dropzone-previews flex">{this.state.files.length > 0 ? <Row>{thumbs}</Row> : <div className="text-center dz-default dz-message">Drop files here to upload</div>}</div>
+														<div className="dropzone-previews flex">{this.state.files.length > 0 ? <Row>{thumbs}</Row> : <div className="text-center dz-default dz-message">Klik untuk upload dokumen</div>}</div>
 														<div className="d-flex align-items-center">
 															<small className="ml-auto">
 																<button
@@ -207,7 +211,7 @@ export default class InputEvaluasi extends Component {
 																		form.setFieldValue(field.name, []);
 																	}}
 																>
-																	Clear files
+																	Reset dokumen
 																</button>
 															</small>
 														</div>

+ 2 - 3
components/Pemeriksaan/TableLaporan.js

@@ -9,7 +9,7 @@ function TableLaporan({ listData, to, linkName }) {
 			<div className="card-body card-over">
 				{listData && (
 					<Datatable options={{ responsive: false }}>
-						<table className="table w-100">
+						<table className="table w-100" data-order='[[2, "asc"], [3, "desc"]]'>
 							<thead>
 								<tr>
 									<th>No.Laporan</th>
@@ -39,8 +39,7 @@ function TableLaporan({ listData, to, linkName }) {
 												{/* {data.level == 3 ? <div className="badge badge-success">Tinggi</div> : data.level == 2 ? <div className="badge badge-info">Sedang</div> : <div className="badge badge-warning">Rendah</div>} */}
 												{data.evaluasi?.length ? <div className="badge badge-info">Sudah diperiksa</div> : <div className="badge badge-danger">Belum diperiksa</div>}
 											</td>
-
-											<td>{moment(data.createdAt).fromNow()}</td>
+											<td>{moment(data.createdAt).format("MM-DD-YYYY")}</td>
 											<td>
 												<div className="ml-auto">
 													<Link

+ 31 - 31
components/PencabutanSanksi/TableSanksi.js

@@ -8,7 +8,7 @@ function TableSanksi({ listData, to, linkName }) {
 		<div className="card b">
 			<div className="card-body">
 				<Datatable options={{ responsive: true }}>
-					<table className="table w-100">
+					<table className="table w-100" data-order='[3, "asc"]'>
 						<thead>
 							<tr>
 								<th>Nomor Sanksi</th>
@@ -21,38 +21,38 @@ function TableSanksi({ listData, to, linkName }) {
 						<tbody>
 							{listData.length
 								? listData.map((data) => {
-										return (
-											<tr key={data._id}>
-												<td>{data.no_sanksi}</td>
-												<td>
-													<div className="media align-items-center">
-														<div className="media-body d-flex">
-															<div>
-																<h4 className="m-0">{data.laporan.pt.nama}</h4>
-																<p>{data.keterangan.length > 25 ? data.keterangan.substring(0, 25) + "..." : data.keterangan}</p>
-															</div>
+									return (
+										<tr key={data._id}>
+											<td>{data.no_sanksi}</td>
+											<td>
+												<div className="media align-items-center">
+													<div className="media-body d-flex">
+														<div>
+															<h4 className="m-0">{data.laporan.pt.nama}</h4>
+															<p>{data.keterangan.length > 25 ? data.keterangan.substring(0, 25) + "..." : data.keterangan}</p>
 														</div>
 													</div>
-												</td>
-												<td>{moment(data.createdAt).fromNow()}</td>
-												<td>{data.jawaban?.cabut_sanksi ? <div className="badge badge-info">Sudah Dijawab</div> : <div className="badge badge-danger">Belum Dijawab</div>}</td>
-												<td>
-													<div className="ml-auto">
-														<Link
-															href={{
-																pathname: to,
-																query: { id: data._id },
-															}}
-														>
-															<Button color="primary" size="sm">
-																{linkName}
-															</Button>
-														</Link>
-													</div>
-												</td>
-											</tr>
-										);
-								  })
+												</div>
+											</td>
+											<td>{moment(data.createdAt).fromNow()}</td>
+											<td>{data.jawaban?.cabut_sanksi ? <div className="badge badge-info">Sudah Dijawab</div> : <div className="badge badge-danger">Belum Dijawab</div>}</td>
+											<td>
+												<div className="ml-auto">
+													<Link
+														href={{
+															pathname: to,
+															query: { id: data._id },
+														}}
+													>
+														<Button color="primary" size="sm">
+															{linkName}
+														</Button>
+													</Link>
+												</div>
+											</td>
+										</tr>
+									);
+								})
 								: ""}
 						</tbody>
 					</table>

+ 3 - 4
components/Penjadwalan/TableLaporan.js

@@ -9,7 +9,7 @@ function TableLaporan({ listData, to, linkName }) {
 			<div className="card-body card-over">
 				{listData && (
 					<Datatable options={{ responsive: false }}>
-						<table className="table w-100">
+						<table className="table w-100" data-order='[[2, "desc"], [3, "desc"]]'>
 							<thead>
 								<tr>
 									<th>No.Laporan</th>
@@ -39,8 +39,7 @@ function TableLaporan({ listData, to, linkName }) {
 												{/* {data.level == 3 ? <div className="badge badge-success">Tinggi</div> : data.level == 2 ? <div className="badge badge-info">Sedang</div> : <div className="badge badge-warning">Rendah</div>} */}
 												{data.jadwal ? <div className="badge badge-info">Ada Jadwal</div> : <div className="badge badge-danger">Tidak ada jadwal</div>}
 											</td>
-
-											<td>{moment(data.createdAt).fromNow()}</td>
+											<td>{moment(data.createdAt).format("MM-DD-YYYY")}</td>
 											<td>
 												<div className="ml-auto">
 													<Link
@@ -50,7 +49,7 @@ function TableLaporan({ listData, to, linkName }) {
 														}}
 													>
 														<Button color="primary" size="sm">
-															{linkName}
+															Edit
 														</Button>
 													</Link>
 												</div>

+ 2 - 2
components/Sanksi/TableLaporan.js

@@ -9,7 +9,7 @@ function TableLaporan({ listData }) {
 			<div className="card-body card-over">
 				{listData && (
 					<Datatable options={{ responsive: false }}>
-						<table className="table w-100">
+						<table className="table w-100" data-order='[[2, "asc"], [3, "desc"]]'>
 							<thead>
 								<tr>
 									<th>No.Laporan</th>
@@ -37,7 +37,7 @@ function TableLaporan({ listData }) {
 											<td>
 												<td>{data.sanksi ? <div className="badge badge-info">Sudah ditetapkan</div> : <div className="badge badge-danger">Belum ditetapkan</div>}</td>
 											</td>
-											<td>{moment(data.createdAt).fromNow()}</td>
+											<td>{moment(data.createdAt).format("MM-DD-YYYY")}</td>
 											<td>
 												<div className="ml-auto">
 													<Link

+ 3 - 3
pages/app/banding/detail.js

@@ -165,7 +165,7 @@ class JawabanBanding extends Component {
 						<div>Jawaban Permohonan Banding</div>
 						<div className="ml-auto">
 							<Link href="/app/banding">
-								<button className="btn btn-sm btn-secondary text-sm">&lt; back</button>
+								<button className="btn btn-sm btn-secondary text-sm">&lt; kembali</button>
 							</Link>
 						</div>
 					</div>
@@ -232,7 +232,7 @@ class JawabanBanding extends Component {
 																						<div {...getRootProps()} className={"dropzone card p-3 " + (isDragActive ? "dropzone-drag-active" : "")}>
 																							<input {...getInputProps()} />
 																							<div className="dropzone-previews flex">
-																								{this.state.files.length > 0 ? <Row>{thumbs}</Row> : <div className="text-center dz-default dz-message">Drop files here to upload</div>}
+																								{this.state.files.length > 0 ? <Row>{thumbs}</Row> : <div className="text-center dz-default dz-message">Klik untuk upload dokumen</div>}
 																							</div>
 																							<div className="d-flex align-items-center">
 																								<small className="ml-auto">
@@ -244,7 +244,7 @@ class JawabanBanding extends Component {
 																											form.setFieldValue(field.name, []);
 																										}}
 																									>
-																										Clear files
+																										Reset dokumen
 																									</button>
 																								</small>
 																							</div>

+ 3 - 3
pages/app/keberatan/detail.js

@@ -170,7 +170,7 @@ class DetailKeberatan extends Component {
 						<div>Permohonan Keberatan</div>
 						<div className="ml-auto">
 							<Link href="/app/keberatan">
-								<button className="btn btn-sm btn-secondary text-sm">&lt; back</button>
+								<button className="btn btn-sm btn-secondary text-sm">&lt; kembali</button>
 							</Link>
 						</div>
 					</div>
@@ -255,7 +255,7 @@ class DetailKeberatan extends Component {
 																						<div {...getRootProps()} className={"dropzone card p-3 " + (isDragActive ? "dropzone-drag-active" : "")}>
 																							<input {...getInputProps()} />
 																							<div className="dropzone-previews flex">
-																								{this.state.files.length > 0 ? <Row>{thumbs}</Row> : <div className="text-center dz-default dz-message">Drop files here to upload</div>}
+																								{this.state.files.length > 0 ? <Row>{thumbs}</Row> : <div className="text-center dz-default dz-message">Klik untuk upload dokumen</div>}
 																							</div>
 																							<div className="d-flex align-items-center">
 																								<small className="ml-auto">
@@ -267,7 +267,7 @@ class DetailKeberatan extends Component {
 																											form.setFieldValue(field.name, []);
 																										}}
 																									>
-																										Clear files
+																										Reset dokumen
 																									</button>
 																								</small>
 																							</div>

+ 3 - 1
pages/app/pelaporan/new.js

@@ -50,7 +50,9 @@ class PelaporanNew extends Component {
 								<CardBody>
 									<Row>
 										<Col lg={12}>
-											<p className="lead bb">Informasi Laporan<span className="font-20">(wajib diisi)</span></p>
+											<p className="lead bb">
+												Informasi Laporan<span className="font-20">(wajib diisi)</span>
+											</p>
 											<InputData query={this.props.query} />
 										</Col>
 									</Row>

+ 20 - 4
pages/app/pelaporan/search.js

@@ -16,6 +16,7 @@ class Search extends Component {
 		selectedOptionMulti: [],
 		data: [],
 		pembina: [],
+		loading: false,
 	};
 
 	componentDidMount = async () => {
@@ -61,14 +62,18 @@ class Search extends Component {
 	};
 
 	handleApplyClick = () => {
+		this.setState({ loading: true });
 		this.fetchData();
+		this.setState({ loading: false });
 		if (this.state.data && this.state.data.length) {
 			this.renderTableData();
 		}
 	};
 
 	handleSearchClick = () => {
+		this.setState({ loading: true });
 		this.fetchData();
+		this.setState({ loading: false });
 		if (this.state.data.length) {
 			this.renderTableData();
 		}
@@ -76,6 +81,7 @@ class Search extends Component {
 
 	renderTableData() {
 		return (
+			!this.state.loading &&
 			this.state.data &&
 			this.state.data.map((pt, index) => {
 				return (
@@ -127,14 +133,24 @@ class Search extends Component {
 					</div>
 				</div>
 				<Row>
-					<Col lg={this.props.user?.role.id === 2021 ? 12 : 9}>
+					<Col lg={this.props.user.role.id === 2021 ? 12 : 9}>
 						<div className="form-group mb-4">
-							<input className="form-control mb-2" type="text" id="searchInput" placeholder="Pencarian Nama Perguruan Tinggi" />
+							<input
+								className="form-control mb-2"
+								type="text"
+								id="searchInput"
+								onKeyPress={(e) => {
+									if (e.key === "Enter") {
+										this.handleApplyClick();
+									}
+								}}
+								placeholder="Pencarian Nama Perguruan Tinggi"
+							/>
 							<div className="d-flex">
 								<button className="btn btn-secondary" type="button" onClick={(e) => this.handleSearchClick()}>
 									Search
 								</button>
-								<div className="ml-auto">{this.props.user?.role.id === 2021 && `Pembina: ${this.props.user.lembaga.nama}`}</div>
+								<div className="ml-auto">{this.props.user.role.id === 2021 && `Pembina: ${this.props.user.lembaga.nama}`}</div>
 							</div>
 						</div>
 						<div className="card card-default">
@@ -153,7 +169,7 @@ class Search extends Component {
 							</div>
 						</div>
 					</Col>
-					{this.props.user?.role.id === 2021 ? (
+					{this.props.user.role.id === 2021 ? (
 						""
 					) : (
 						<Col lg="3">

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

@@ -123,7 +123,17 @@ class Search extends Component {
 				<Row>
 					<Col lg={this.props.user?.role.id === 2021 ? 12 : 9}>
 						<div className="form-group mb-4">
-							<input className="form-control mb-2" type="text" id="searchInput" placeholder="Pencarian Nama Perguruan Tinggi" />
+							<input
+								className="form-control mb-2"
+								type="text"
+								id="searchInput"
+								placeholder="Pencarian Nama Perguruan Tinggi"
+								onKeyPress={(e) => {
+									if (e.key === "Enter") {
+										this.handleApplyClick();
+									}
+								}}
+							/>
 							<div className="d-flex">
 								<button className="btn btn-secondary" type="button" onClick={(e) => this.handleSearchClick()}>
 									Search

+ 3 - 3
pages/app/pencabutan-sanksi/detail.js

@@ -168,7 +168,7 @@ class JawabanPencabutanSanksi extends Component {
 						<div>Jawaban Permohonan Pencabutan Sanksi</div>
 						<div className="ml-auto">
 							<Link href="/app/pencabutan-sanksi">
-								<button className="btn btn-sm btn-secondary text-sm">&lt; back</button>
+								<button className="btn btn-sm btn-secondary text-sm">&lt; kembali</button>
 							</Link>
 						</div>
 					</div>
@@ -249,7 +249,7 @@ class JawabanPencabutanSanksi extends Component {
 																						<div {...getRootProps()} className={"dropzone card p-3 " + (isDragActive ? "dropzone-drag-active" : "")}>
 																							<input {...getInputProps()} />
 																							<div className="dropzone-previews flex">
-																								{this.state.files.length > 0 ? <Row>{thumbs}</Row> : <div className="text-center dz-default dz-message">Drop files here to upload</div>}
+																								{this.state.files.length > 0 ? <Row>{thumbs}</Row> : <div className="text-center dz-default dz-message">Klik untuk upload dokumen</div>}
 																							</div>
 																							<div className="d-flex align-items-center">
 																								<small className="ml-auto">
@@ -261,7 +261,7 @@ class JawabanPencabutanSanksi extends Component {
 																											form.setFieldValue(field.name, []);
 																										}}
 																									>
-																										Clear files
+																										Reset dokumen
 																									</button>
 																								</small>
 																							</div>

+ 3 - 3
pages/app/pt/dokumen-perbaikan/detail.js

@@ -118,7 +118,7 @@ class DetailPerbaikanDoc extends Component {
 						<div>Dokumen Perbaikan</div>
 						<div className="ml-auto">
 							<Link href="/app/pt/dokumen-perbaikan">
-								<button className="btn btn-sm btn-secondary text-sm">&lt; back</button>
+								<button className="btn btn-sm btn-secondary text-sm">&lt; kembali</button>
 							</Link>
 						</div>
 					</div>
@@ -147,12 +147,12 @@ class DetailPerbaikanDoc extends Component {
 																		<div {...getRootProps()} className={"dropzone card p-3 " + (isDragActive ? "dropzone-drag-active" : "")}>
 																			<input {...getInputProps()} />
 																			<div className="dropzone-previews flex">
-																				{this.state.files.length > 0 ? <Row>{thumbs}</Row> : <div className="text-center dz-default dz-message">Drop files here to upload</div>}
+																				{this.state.files.length > 0 ? <Row>{thumbs}</Row> : <div className="text-center dz-default dz-message">Klik untuk upload dokumen</div>}
 																			</div>
 																			<div className="d-flex align-items-center">
 																				<small className="ml-auto">
 																					<button type="button" className="btn btn-link" onClick={this.clearFiles}>
-																						Clear files
+																						Reset dokumen
 																					</button>
 																				</small>
 																			</div>

+ 1 - 1
pages/app/pt/jawaban-banding/detail.js

@@ -37,7 +37,7 @@ class JawabanBanding extends Component {
 						<div>Jawaban Atas Permohonan Banding</div>
 						<div className="ml-auto">
 							<Link href="/app/pt/jawaban-banding">
-								<button className="btn btn-sm btn-secondary text-sm">&lt; back</button>
+								<button className="btn btn-sm btn-secondary text-sm">&lt; kembali</button>
 							</Link>
 						</div>
 					</div>

+ 1 - 1
pages/app/pt/jawaban-keberatan/detail.js

@@ -48,7 +48,7 @@ class JawabanKeberatan extends Component {
 						<div>Jawaban Atas Permohonan Keberatan</div>
 						<div className="ml-auto">
 							<Link href="/app/pt/jawaban-keberatan">
-								<button className="btn btn-sm btn-secondary text-sm">&lt; back</button>
+								<button className="btn btn-sm btn-secondary text-sm">&lt; kembali</button>
 							</Link>
 						</div>
 					</div>

+ 1 - 1
pages/app/pt/jawaban-pencabutan-sanksi/detail.js

@@ -41,7 +41,7 @@ class DetailJawabanPencabutanSanksi extends Component {
 						<div>Jawaban Permohonan Pencabutan Sanksi</div>
 						<div className="ml-auto">
 							<Link href="/app/pt/jawaban-pencabutan-sanksi">
-								<button className="btn btn-sm btn-secondary text-sm">&lt; back</button>
+								<button className="btn btn-sm btn-secondary text-sm">&lt; kembali</button>
 							</Link>
 						</div>
 					</div>

+ 1 - 1
pages/app/pt/keberatan/detail.js

@@ -45,7 +45,7 @@ class Keberatan extends Component {
 						<div>Permohonan Keberatan</div>
 						<div className="ml-auto">
 							<Link href="/app/pt/keberatan">
-								<button className="btn btn-sm btn-secondary text-sm">&lt; back</button>
+								<button className="btn btn-sm btn-secondary text-sm">&lt; kembali</button>
 							</Link>
 						</div>
 					</div>

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

@@ -113,7 +113,7 @@ class DetailPencabutanSanksi extends Component {
 						<div>Permohonan Pencabutan Sanksi</div>
 						<div className="ml-auto">
 							<Link href="/app/pt/pencabutan-sanksi">
-								<button className="btn btn-sm btn-secondary text-sm">&lt; back</button>
+								<button className="btn btn-sm btn-secondary text-sm">&lt; kembali</button>
 							</Link>
 						</div>
 					</div>

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

@@ -414,7 +414,7 @@ class App extends Component {
 												</div>
 											</FormGroup>
 											<FormGroup row>
-												<div className="posisi-btn-1">
+												<div className="posisi-btn-1 btn-radius">
 													<Button className="button-kirimlaporan" color="info" block type="submit">
 														<h3 className="text-kirimlaporan">Kirim Laporan</h3>
 													</Button>

+ 5 - 4
pages/pemantauan.js

@@ -10,9 +10,9 @@ import Timeline from "@/components/Main/Timeline";
 import { Formik, Form, Field, ErrorMessage } from "formik";
 import * as Yup from "yup";
 import { ToastContainer, toast } from "react-toastify";
-import Swal from '@/components/Common/Swal';
-
+// import Swal from '@/components/Common/Swal';
 import "react-toastify/dist/ReactToastify.css";
+import swal from "sweetalert";
 
 const menu = [
 	{
@@ -54,6 +54,7 @@ class App extends Component {
 		});
 	};
 
+
 	handleLihatPemantaun = async (data) => {
 		const { no_hp, no_laporan } = data;
 		// const toastid = toast.loading("Please wait...");
@@ -61,7 +62,7 @@ class App extends Component {
 		if (log.data) {
 			this.setState({ laporan: log.data.laporan, log: log.data.pemantauan });
 			// swal.update(toastid, { render: "Berhasil mendapatkan data Pemantauan", type: "success", isLoading: false, autoClose: true, closeButton: true });
-			swal("Data ditemukan", " ", "success");
+			swal("Data ditemukan", "", "success");
 		} else {
 			this.setState({ laporan: null, log: null });
 			// swal.update(toastid, { render: "Pemantauan tidak ada", type: "error", isLoading: false, autoClose: true, closeButton: true });
@@ -125,7 +126,7 @@ class App extends Component {
 												</div>
 											</FormGroup>
 											<FormGroup row>
-												<div className="posisi-btn-1">
+												<div className="posisi-btn-1 btn-radius">
 													<Button className="button-lihatpemantauan" color="info" block type="submit">
 														<h3 className="text-lihatpemantauan">Lihat Pemantauan</h3>
 													</Button>

+ 1 - 1
styles/app/common/bootstrap-reset.scss

@@ -8,7 +8,7 @@
 // --------------------------------------------------
 
 *:not(.react-grid-Cell):focus {
-    outline: 0 !important
+    outline: 0 !important;
 }
 
 a {

+ 7 - 0
styles/app/common/cards.scss

@@ -40,6 +40,13 @@
     border: 0;
 }
 
+@media screen and (max-width: 400px) {
+    .card-login-over {
+    margin-left: -10px;
+    margin-right: -10px;
+}   
+}
+
 .card-columns-2 {
     column-count: 1;
     @include media-breakpoint-up(md) {

+ 8 - 0
styles/bootstrap/_buttons.scss

@@ -236,6 +236,7 @@ input[type="button"] {
 }
 .btn-radius .btn-login{
 	border-radius: 7px;
+	border: 0;
 }
 .btn-header{
 	display: inline-block;
@@ -243,8 +244,15 @@ input[type="button"] {
 	width: auto;
 	height: 34px;
 	margin-left: 5px;
+	border: 0;
 }
 .margin-l-5{
 	margin-right: 5px;
 	display: inline;
+}
+.btn-radius .button-kirimlaporan{
+	border: 0;
+}
+.btn-radius .button-lihatpemantauan{
+	border: 0;
 }

+ 1 - 1
styles/bootstrap/_images.scss

@@ -9,7 +9,7 @@
   position: relative;
   @include img-fluid();
   width: 72px;
-  height: 37px;
+  height: auto;
 }