Ver código fonte

4.double notif ketika button di klik >1,, DONE di semua menu
5. hover button 'Batal Pengajuan Permohonan Keberatan' matiin DONE
6. wording 'Tanggal Akhir Pengajuan Keberatan di menu keberatan ganti jadi 'Tanggal Akhir Pengajuan Banding' DONE
7. notif selalu ada di layer depan DONE
8. keterangan status 'Jawaban Atas Permohonan Keberatan' di menu proses sanksi belum dimasukin DONE
9. setelah submit dokumen arahin ke proses sanksi DONE

andi 2 anos atrás
pai
commit
5f2a95f813

+ 4 - 5
components/Extras/calendar.view.js

@@ -127,7 +127,6 @@ class Calendar extends Component {
 		const { query, token } = this.props;
 		const { query, token } = this.props;
 		const { id } = query;
 		const { id } = query;
 		const { color, laporan } = this.state;
 		const { color, laporan } = this.state;
-		console.log(data.dari_tanggal)
 
 
 		await toast.promise(
 		await toast.promise(
 			updateJadwal(token, id, {
 			updateJadwal(token, id, {
@@ -238,7 +237,7 @@ class Calendar extends Component {
 												validationSchema={selectedOption?.value === this.getStatus()[2].value || selectedOption?.value === this.getStatus()[1].value ? laporanSchema : null}
 												validationSchema={selectedOption?.value === this.getStatus()[2].value || selectedOption?.value === this.getStatus()[1].value ? laporanSchema : null}
 												onSubmit={this.handleSimpan}
 												onSubmit={this.handleSimpan}
 											>
 											>
-												{() => (
+												{({ isSubmitting }) => (
 													<Form>
 													<Form>
 														<FormGroup>
 														<FormGroup>
 															<label className="col-form-label">Status Laporan</label>
 															<label className="col-form-label">Status Laporan</label>
@@ -268,7 +267,7 @@ class Calendar extends Component {
 															</FormGroup>
 															</FormGroup>
 														)}
 														)}
 														<div className="btn-simpanjadwal">
 														<div className="btn-simpanjadwal">
-															<Button className="text-btn-penjadwalan-1 btn-colorpenjadwalan color-3e3a8e" color block disabled={laporan.data?.sanksi}>
+															<Button className="text-btn-penjadwalan-1 btn-colorpenjadwalan color-3e3a8e" color block disabled={laporan.data?.sanksi || isSubmitting} >
 																<h4 className="text-btn-penjadwalan-1 font-color-white">Simpan</h4>
 																<h4 className="text-btn-penjadwalan-1 font-color-white">Simpan</h4>
 															</Button>
 															</Button>
 														</div>
 														</div>
@@ -296,7 +295,7 @@ class Calendar extends Component {
 														validationSchema={jadwalSchema}
 														validationSchema={jadwalSchema}
 														onSubmit={this.handleEventCalendar}
 														onSubmit={this.handleEventCalendar}
 													>
 													>
-														{() => (
+														{({ isSubmitting }) => (
 															<Form>
 															<Form>
 																<FormGroup>
 																<FormGroup>
 																	<label className="col-form-label">Warna</label>
 																	<label className="col-form-label">Warna</label>
@@ -358,7 +357,7 @@ class Calendar extends Component {
 
 
 																<FormGroup>
 																<FormGroup>
 																	<div className="btn-simpanpenjadwalan">
 																	<div className="btn-simpanpenjadwalan">
-																		<Button className="btn-colorpenjadwalan" color block type="submit" disabled={laporan.data?.sanksi}>
+																		<Button className="btn-colorpenjadwalan" color block type="submit" disabled={laporan.data?.sanksi || isSubmitting}>
 																			<h4 className="text-btn-penjadwalan-1 font-color-white">Simpan</h4>
 																			<h4 className="text-btn-penjadwalan-1 font-color-white">Simpan</h4>
 																		</Button>
 																		</Button>
 																	</div>
 																	</div>

+ 2 - 2
components/NaikSanksi/InputTanggal.js

@@ -205,7 +205,7 @@ class InputTanggal extends Component {
                         validationSchema={rekomendasiSchema}
                         validationSchema={rekomendasiSchema}
                         onSubmit={this.handelSimpan}
                         onSubmit={this.handelSimpan}
                     >
                     >
-                        {() => (
+                        {({ isSubmitting }) => (
                             <Form className="form-horizontal">
                             <Form className="form-horizontal">
                                 <FormGroup row>
                                 <FormGroup row>
                                     <label className="col-md-2 col-form-label">Nomor Surat</label>
                                     <label className="col-md-2 col-form-label">Nomor Surat</label>
@@ -393,7 +393,7 @@ class InputTanggal extends Component {
                                 </FormGroup>
                                 </FormGroup>
                                 <FormGroup row>
                                 <FormGroup row>
                                     <div className="col-xl-10">
                                     <div className="col-xl-10">
-                                        <Button color className="color-3e3a8e btn-login" type="submit">
+                                        <Button color className="color-3e3a8e btn-login" type="submit" disabled={isSubmitting}>
                                             <span className="font-color-white">Kirim</span>
                                             <span className="font-color-white">Kirim</span>
                                         </Button>
                                         </Button>
                                     </div>
                                     </div>

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

@@ -97,6 +97,7 @@ export class ModalPermohonan extends Component {
 	};
 	};
 
 
 	onSubmit = async (data) => {
 	onSubmit = async (data) => {
+		this.props.toggleModal()
 		const { query, token } = this.props;
 		const { query, token } = this.props;
 		const { id } = query;
 		const { id } = query;
 		const formdata = new FormData();
 		const formdata = new FormData();
@@ -105,9 +106,6 @@ export class ModalPermohonan extends Component {
 				formdata.append("dokumen", e);
 				formdata.append("dokumen", e);
 			});
 			});
 		}
 		}
-		this.setState({
-			modal1: !this.state.modal1,
-		});
 
 
 		const toastid = toast.loading("Please wait...");
 		const toastid = toast.loading("Please wait...");
 		const added = await addBanding(token, id, formdata);
 		const added = await addBanding(token, id, formdata);
@@ -144,14 +142,14 @@ export class ModalPermohonan extends Component {
 		return (
 		return (
 			<>
 			<>
 				<Modal isOpen={this.props.modal} toggle={this.props.toggleModal}>
 				<Modal isOpen={this.props.modal} toggle={this.props.toggleModal}>
-					<ModalHeader toggle={this.toggleModal1}>Upload Dokumen Banding</ModalHeader>
+					<ModalHeader >Upload Dokumen Banding</ModalHeader>
 					<Formik
 					<Formik
 						initialValues={{
 						initialValues={{
 							dokumen: [],
 							dokumen: [],
 						}}
 						}}
 						validationSchema={evaluasiSchema}
 						validationSchema={evaluasiSchema}
 						onSubmit={this.onSubmit}
 						onSubmit={this.onSubmit}
-					>
+					>{({ isSubmitting }) => (
 						<Form className="form-horizontal">
 						<Form className="form-horizontal">
 							<ModalBody>
 							<ModalBody>
 								<FormGroup>
 								<FormGroup>
@@ -214,11 +212,13 @@ export class ModalPermohonan extends Component {
 								</FormGroup>
 								</FormGroup>
 							</ModalBody>
 							</ModalBody>
 							<ModalFooter>
 							<ModalFooter>
-								<Button color className="btn-login" type="submit">
+								<Button color className="btn-login" type="submit" disabled={isSubmitting}>
 									<span className="font-color-white">Kirim</span>
 									<span className="font-color-white">Kirim</span>
 								</Button>
 								</Button>
 							</ModalFooter>
 							</ModalFooter>
 						</Form>
 						</Form>
+					)}
+
 					</Formik>
 					</Formik>
 				</Modal>
 				</Modal>
 			</>
 			</>

+ 67 - 64
components/PT/Keberatan/ModalPermohonan.js

@@ -167,75 +167,78 @@ export class ModalPermohonan extends Component {
 						validationSchema={evaluasiSchema}
 						validationSchema={evaluasiSchema}
 						onSubmit={this.onSubmit}
 						onSubmit={this.onSubmit}
 					>
 					>
-						<Form className="form-horizontal">
-							<ModalBody>
-								<FormGroup>
-									<label>Dalam hal mengajukan permohonan keberatan maka wajib mengunggah surat permohonan keberatan & dokumen pendukungnya</label>
-									<div>
-										<Field name="dokumen">
-											{({ field, form, meta }) => (
-												<DropzoneWrapper
-													className=""
-													onDrop={(e) => {
-														this.onDrop(e);
-														form.setFieldValue(field.name, e);
-													}}
-												>
-													{({ getRootProps, getInputProps, isDragActive }) => {
-														return (
-															<div {...getRootProps()} className={"dropzone card" + (isDragActive ? "dropzone-drag-active" : "")}>
-																<input {...getInputProps()} />
-																<div className="dropzone-previews flex">
-																	<div className="dropzone-style-1">
-																		<div className="center-ver-hor dropzone-previews flex">{this.state.files.length > 0 ?
-																			<div className="text-center fa-2x icon-cloud-upload mr-2 ">
-																				<h5 className="text-center dz-default dz-message">Klik untuk tambah file</h5>
-																			</div> :
-																			<div className="text-center fa-2x icon-cloud-upload mr-2 ">
-																				<h5 className="text-center dz-default dz-message">Klik untuk upload dokumen</h5>
+						{({ isSubmitting }) => (
+							<Form className="form-horizontal">
+								<ModalBody>
+									<FormGroup>
+										<label>Dalam hal mengajukan permohonan keberatan maka wajib mengunggah surat permohonan keberatan & dokumen pendukungnya</label>
+										<div>
+											<Field name="dokumen">
+												{({ field, form, meta }) => (
+													<DropzoneWrapper
+														className=""
+														onDrop={(e) => {
+															this.onDrop(e);
+															form.setFieldValue(field.name, e);
+														}}
+													>
+														{({ getRootProps, getInputProps, isDragActive }) => {
+															return (
+																<div {...getRootProps()} className={"dropzone card" + (isDragActive ? "dropzone-drag-active" : "")}>
+																	<input {...getInputProps()} />
+																	<div className="dropzone-previews flex">
+																		<div className="dropzone-style-1">
+																			<div className="center-ver-hor dropzone-previews flex">{this.state.files.length > 0 ?
+																				<div className="text-center fa-2x icon-cloud-upload mr-2 ">
+																					<h5 className="text-center dz-default dz-message">Klik untuk tambah file</h5>
+																				</div> :
+																				<div className="text-center fa-2x icon-cloud-upload mr-2 ">
+																					<h5 className="text-center dz-default dz-message">Klik untuk upload dokumen</h5>
+																				</div>
+																			}
 																			</div>
 																			</div>
-																		}
 																		</div>
 																		</div>
 																	</div>
 																	</div>
+																	<div className="d-flex align-items-center">
+																		<small className="ml-auto">
+																			<button
+																				type="button"
+																				className="btn btn-link"
+																				onClick={(e) => {
+																					this.clearFiles(e);
+																					form.setFieldValue(field.name, []);
+																				}}
+																			>
+																				Reset dokumen
+																			</button>
+																		</small>
+																	</div>
 																</div>
 																</div>
-																<div className="d-flex align-items-center">
-																	<small className="ml-auto">
-																		<button
-																			type="button"
-																			className="btn btn-link"
-																			onClick={(e) => {
-																				this.clearFiles(e);
-																				form.setFieldValue(field.name, []);
-																			}}
-																		>
-																			Reset dokumen
-																		</button>
-																	</small>
-																</div>
-															</div>
-														);
-													}}
-												</DropzoneWrapper>
-											)}
-										</Field>
-										<div>
-											{thumbs}
+															);
+														}}
+													</DropzoneWrapper>
+												)}
+											</Field>
+											<div>
+												{thumbs}
+											</div>
+											<ErrorMessage name="dokumen" component="div" className="form-text text-danger" />
+											<p className="mrgn-top-5 font-color-black">
+												Ukuran setiap dokumen maksimal 15mb
+											</p>
 										</div>
 										</div>
-										<ErrorMessage name="dokumen" component="div" className="form-text text-danger" />
-										<p className="mrgn-top-5 font-color-black">
-											Ukuran setiap dokumen maksimal 15mb
-										</p>
-									</div>
-								</FormGroup>
-							</ModalBody>
-							<ModalFooter>
-
-								<Button color className="btn-login" type="submit">
-									<span className="font-color-white">Kirim</span>
-								</Button>
-
-							</ModalFooter>
-						</Form>
+									</FormGroup>
+								</ModalBody>
+								<ModalFooter>
+
+									<Button color className="btn-login" type="submit" disabled={isSubmitting}>
+										<span className="font-color-white">Kirim</span>
+									</Button>
+
+								</ModalFooter>
+							</Form>
+						)}
+
 					</Formik>
 					</Formik>
 				</Modal>
 				</Modal>
 			</>
 			</>

+ 5 - 2
components/PT/Sanksi/TableSanksi.js

@@ -38,12 +38,15 @@ function TableSanksi({ listData, to, linkName, toKeberatan, toJwbBanding, toJwbK
 											{data.last_step === "Jawaban Atas Permohonan Keberatan" && (
 											{data.last_step === "Jawaban Atas Permohonan Keberatan" && (
 												<p className="w-105">PDDIKTI sudah memberikan jawaban atas permohonan keberatan</p>
 												<p className="w-105">PDDIKTI sudah memberikan jawaban atas permohonan keberatan</p>
 											)}
 											)}
+											{data.last_step === "Jawaban Atas Permohonan Banding" && (
+												<p className="w-105">PDDIKTI sudah memberikan jawaban atas permohonan banding</p>
+											)}
 											{data.last_step === "Permohonan Banding" && (
 											{data.last_step === "Permohonan Banding" && (
 												<p className="w-105">Sanksi dalam proses pengajuan permohonan banding</p>
 												<p className="w-105">Sanksi dalam proses pengajuan permohonan banding</p>
 											)}
 											)}
-											{data.last_step === "Jawaban Atas Permohonan Banding" && (
+											{/* {data.last_step === "Jawaban Atas Permohonan Banding" && (
 												<p className="w-105">PDDIKTI sudah memberikan jawaban atas permohonan banding</p>
 												<p className="w-105">PDDIKTI sudah memberikan jawaban atas permohonan banding</p>
-											)}
+											)} */}
 											{data.last_step === "Permohonan Pencabutan Sanksi" && (
 											{data.last_step === "Permohonan Pencabutan Sanksi" && (
 												<p className="w-105">Sanksi dalam proses permohonan pencabutan sanksi</p>
 												<p className="w-105">Sanksi dalam proses permohonan pencabutan sanksi</p>
 											)}
 											)}

+ 0 - 5
components/Pelaporan/InputData.js

@@ -137,11 +137,6 @@ export class InputData extends Component {
 		formdata.append("pt_id", query.ptId);
 		formdata.append("pt_id", query.ptId);
 		formdata.append("keterangan", data.keterangan);
 		formdata.append("keterangan", data.keterangan);
 		formdata.append("pelanggaran_id", data.pelanggaran.join());
 		formdata.append("pelanggaran_id", data.pelanggaran.join());
-		// if (data.dokumen.length > 0) {
-		// 	data.dokumen.forEach((e) => {
-		// 		formdata.append("dokumen", e);
-		// 	});
-		// }
 		this.state.files.forEach((e) => {
 		this.state.files.forEach((e) => {
 			formdata.append("dokumen", e);
 			formdata.append("dokumen", e);
 		});
 		});

+ 100 - 96
components/Pemeriksaan/InputEvaluasi.js

@@ -189,108 +189,112 @@ class InputEvaluasi extends Component {
 					validationSchema={evaluasiSchema}
 					validationSchema={evaluasiSchema}
 					onSubmit={this.onSubmit}
 					onSubmit={this.onSubmit}
 				>
 				>
-					<Form className="form-horizontal">
-						<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 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<span className="text-danger">*</span></label>
-							<div className="col-md-10">
-								<Field name="dokumen">
-									{({ field, form, meta }) => (
-										<DropzoneWrapper
-											className=""
-											onDrop={(e) => {
-												this.onDrop(e);
-												form.setFieldValue(field.name, e);
-											}}
-										>
-											{({ getRootProps, getInputProps, isDragActive }) => {
-												return (
-													<div {...getRootProps()} className={"dropzone card" + (isDragActive ? "dropzone-drag-active" : "")}>
-														<input name="dokumen" {...getInputProps()} />
-														<div className="dropzone-style-1">
-															<div className="center-ver-hor dropzone-previews flex">{this.state.files.length > 0 ?
-																<div className="text-center fa-2x icon-cloud-upload mr-2 ">
-																	<h5 className="text-center dz-default dz-message">Klik untuk tambah file</h5>
-																</div> :
-																<div className="text-center fa-2x icon-cloud-upload mr-2 ">
-																	<h5 className="text-center dz-default dz-message">Klik untuk upload dokumen</h5>
+					{({ isSubmitting }) => (
+						<Form className="form-horizontal">
+							<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 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<span className="text-danger">*</span></label>
+								<div className="col-md-10">
+									<Field name="dokumen">
+										{({ field, form, meta }) => (
+											<DropzoneWrapper
+												className=""
+												onDrop={(e) => {
+													this.onDrop(e);
+													form.setFieldValue(field.name, e);
+												}}
+											>
+												{({ getRootProps, getInputProps, isDragActive }) => {
+													return (
+														<div {...getRootProps()} className={"dropzone card" + (isDragActive ? "dropzone-drag-active" : "")}>
+															<input name="dokumen" {...getInputProps()} />
+															<div className="dropzone-style-1">
+																<div className="center-ver-hor dropzone-previews flex">{this.state.files.length > 0 ?
+																	<div className="text-center fa-2x icon-cloud-upload mr-2 ">
+																		<h5 className="text-center dz-default dz-message">Klik untuk tambah file</h5>
+																	</div> :
+																	<div className="text-center fa-2x icon-cloud-upload mr-2 ">
+																		<h5 className="text-center dz-default dz-message">Klik untuk upload dokumen</h5>
+																	</div>
+																}
 																</div>
 																</div>
-															}
+															</div>
+															<div className="d-flex align-items-center">
+																<small className="ml-auto">
+																	<button
+																		type="button"
+																		className="btn btn-link"
+																		onClick={(e) => {
+																			this.clearFiles(e);
+																			form.setFieldValue(field.name, []);
+																		}}
+																	>
+																		Reset dokumen
+																	</button>
+																</small>
 															</div>
 															</div>
 														</div>
 														</div>
-														<div className="d-flex align-items-center">
-															<small className="ml-auto">
-																<button
-																	type="button"
-																	className="btn btn-link"
-																	onClick={(e) => {
-																		this.clearFiles(e);
-																		form.setFieldValue(field.name, []);
-																	}}
-																>
-																	Reset dokumen
-																</button>
-															</small>
-														</div>
-													</div>
-												);
-											}}
-										</DropzoneWrapper>
-									)}
-								</Field>
-								{thumbs}
-								<ErrorMessage name="dokumen" component="div" className="form-text text-danger" />
-								<p className="mrgn-top-5 font-color-black">
-									Ukuran setiap dokumen maksimal 15mb
-								</p>
-							</div>
-						</FormGroup>
-						{this.props.user?.role.id === 2021 ? (
-							<FormGroup row>
-								<label className="col-md-2 col-form-label">Delegasi ke dikti</label>
-								<div className="col-md-10 mt-2">
-									<div className="checkbox c-checkbox">
-										<label>
-											<Input type="checkbox" onChange={this.handlechecklist} defaultChecked={this.state.delegasichecklist} />
-											<span className="fa fa-check"></span></label>
+													);
+												}}
+											</DropzoneWrapper>
+										)}
+									</Field>
+									{thumbs}
+									<ErrorMessage name="dokumen" component="div" className="form-text text-danger" />
+									<p className="mrgn-top-5 font-color-black">
+										Ukuran setiap dokumen maksimal 15mb
+									</p>
+								</div>
+							</FormGroup>
+							{this.props.user?.role.id === 2021 ? (
+								<FormGroup row>
+									<label className="col-md-2 col-form-label">Delegasi ke dikti</label>
+									<div className="col-md-10 mt-2">
+										<div className="checkbox c-checkbox">
+											<label>
+												<Input type="checkbox" onChange={this.handlechecklist} defaultChecked={this.state.delegasichecklist} />
+												<span className="fa fa-check"></span></label>
+										</div>
 									</div>
 									</div>
+								</FormGroup>
+							) : ("")}
+							<FormGroup row>
+								<div className="col-xl-10">
+									<Button color className="btn-login" type="submit" disabled={isSubmitting}>
+										<span className="font-color-white">
+											Simpan Evaluasi
+										</span>
+									</Button>
 								</div>
 								</div>
 							</FormGroup>
 							</FormGroup>
-						) : ("")}
-						<FormGroup row>
-							<div className="col-xl-10">
-								<Button color className="btn-login" type="submit">
-									<span className="font-color-white">
-										Simpan Evaluasi
-									</span>
-								</Button>
-							</div>
-						</FormGroup>
-					</Form>
+						</Form>
+
+					)}
+
 				</Formik>
 				</Formik>
 			</>
 			</>
 		);
 		);

+ 2 - 2
components/PerpanjanganSanksi/InputTanggal.js

@@ -186,7 +186,7 @@ class InputTanggal extends Component {
                             await this.handelSimpan();
                             await this.handelSimpan();
                         }}
                         }}
                     >
                     >
-                        {() => (
+                        {({ isSubmitting }) => (
                             <Form className="form-horizontal">
                             <Form className="form-horizontal">
                                 <FormGroup row className="mt-3">
                                 <FormGroup row className="mt-3">
                                     <label className="col-md-2 col-form-label">Tanggal Perpanjangan Sanksi :</label>
                                     <label className="col-md-2 col-form-label">Tanggal Perpanjangan Sanksi :</label>
@@ -294,7 +294,7 @@ class InputTanggal extends Component {
                                 </FormGroup>
                                 </FormGroup>
                                 <FormGroup row>
                                 <FormGroup row>
                                     <div className="col-xl-10">
                                     <div className="col-xl-10">
-                                        <Button color className="color-3e3a8e btn-login" type="submit">
+                                        <Button color className="color-3e3a8e btn-login" type="submit" disable={isSubmitting}>
                                             <span className="font-color-white">Kirim</span>
                                             <span className="font-color-white">Kirim</span>
                                         </Button>
                                         </Button>
                                     </div>
                                     </div>

+ 2 - 2
components/TurunSanksi/InputTanggal.js

@@ -206,7 +206,7 @@ class InputTanggal extends Component {
                         validationSchema={rekomendasiSchema}
                         validationSchema={rekomendasiSchema}
                         onSubmit={this.handelSimpan}
                         onSubmit={this.handelSimpan}
                     >
                     >
-                        {() => (
+                        {({ isSubmitting }) => (
                             <Form className="form-horizontal">
                             <Form className="form-horizontal">
                                 <FormGroup row>
                                 <FormGroup row>
                                     <label className="col-md-2 col-form-label">Nomor Surat</label>
                                     <label className="col-md-2 col-form-label">Nomor Surat</label>
@@ -394,7 +394,7 @@ class InputTanggal extends Component {
                                 </FormGroup>
                                 </FormGroup>
                                 <FormGroup row>
                                 <FormGroup row>
                                     <div className="col-xl-10">
                                     <div className="col-xl-10">
-                                        <Button color className="color-3e3a8e btn-login" type="submit">
+                                        <Button color className="color-3e3a8e btn-login" type="submit" disabled={isSubmitting}>
                                             <span className="font-color-white">Kirim</span>
                                             <span className="font-color-white">Kirim</span>
                                         </Button>
                                         </Button>
                                     </div>
                                     </div>

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

@@ -259,7 +259,7 @@ class JawabanBanding extends Component {
 														else await this.handelSimpan();
 														else await this.handelSimpan();
 													}}
 													}}
 												>
 												>
-													{() => (
+													{({ isSubmitting }) => (
 														<Form className="form-horizontal">
 														<Form className="form-horizontal">
 															<FormGroup>
 															<FormGroup>
 																<label className="row-form-label">Status:</label>
 																<label className="row-form-label">Status:</label>
@@ -447,7 +447,7 @@ class JawabanBanding extends Component {
 															</FormGroup>
 															</FormGroup>
 															<FormGroup row>
 															<FormGroup row>
 																<div className="col-xl-10">
 																<div className="col-xl-10">
-																	<Button color className="color-3e3a8e btn-login" type="submit">
+																	<Button color className="color-3e3a8e btn-login" type="submit" disabled={isSubmitting}>
 																		<span className="font-color-white">Simpan</span>
 																		<span className="font-color-white">Simpan</span>
 																	</Button>
 																	</Button>
 																</div>
 																</div>

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

@@ -269,7 +269,7 @@ class DetailKeberatan extends Component {
 														else await this.handelSimpan();
 														else await this.handelSimpan();
 													}}
 													}}
 												>
 												>
-													{() => (
+													{({ isSubmitting }) => (
 														<Form className="form-horizontal">
 														<Form className="form-horizontal">
 															<FormGroup>
 															<FormGroup>
 																<label className="row-form-label">Status :<span className="text-danger">*</span></label>
 																<label className="row-form-label">Status :<span className="text-danger">*</span></label>
@@ -480,7 +480,7 @@ class DetailKeberatan extends Component {
 															</FormGroup>
 															</FormGroup>
 															<FormGroup row>
 															<FormGroup row>
 																<div className="col-xl-10">
 																<div className="col-xl-10">
-																	<Button color className="color-3e3a8e btn-login" type="submit">
+																	<Button color className="color-3e3a8e btn-login" type="submit" disabled={isSubmitting}>
 																		<span className="font-color-white">Simpan</span>
 																		<span className="font-color-white">Simpan</span>
 																	</Button>
 																	</Button>
 																</div>
 																</div>

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

@@ -201,7 +201,7 @@ class JawabanPencabutanSanksi extends Component {
 														else await this.handleSimpan();
 														else await this.handleSimpan();
 													}}
 													}}
 												>
 												>
-													{() => (
+													{({ isSubmitting }) => (
 														<Form className="form-horizontal">
 														<Form className="form-horizontal">
 															<FormGroup>
 															<FormGroup>
 																<label className="row-form-label">Status:</label>
 																<label className="row-form-label">Status:</label>
@@ -315,7 +315,7 @@ class JawabanPencabutanSanksi extends Component {
 																											</div>
 																											</div>
 																										}
 																										}
 																										</div>
 																										</div>
-																									</div>																							</div>
+																									</div>		</div>
 																								<div className="d-flex align-items-center">
 																								<div className="d-flex align-items-center">
 																									<small className="ml-auto">
 																									<small className="ml-auto">
 																										<button
 																										<button
@@ -345,7 +345,7 @@ class JawabanPencabutanSanksi extends Component {
 															)}
 															)}
 															<FormGroup>
 															<FormGroup>
 																<div className="row-xl-10">
 																<div className="row-xl-10">
-																	<Button color className="color-3e3a8e" type="submit">
+																	<Button color className="color-3e3a8e" type="submit" disabled={isSubmitting}>
 																		<span className="font-color-white">
 																		<span className="font-color-white">
 																			Simpan
 																			Simpan
 																		</span>
 																		</span>

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

@@ -37,6 +37,7 @@ class ProsesSanksi extends Component {
 			dataPelanggaran: {},
 			dataPelanggaran: {},
 			pelaporan: {},
 			pelaporan: {},
 			listSanksi: [],
 			listSanksi: [],
+			loading: false,
 		};
 		};
 	}
 	}
 
 
@@ -67,6 +68,9 @@ class ProsesSanksi extends Component {
 	}
 	}
 	done = async (e) => {
 	done = async (e) => {
 		const toastid = toast.loading("Please wait...");
 		const toastid = toast.loading("Please wait...");
+		this.setState({
+			loading: true
+		})
 		try {
 		try {
 			e.preventDefault();
 			e.preventDefault();
 			const { query, token } = this.props;
 			const { query, token } = this.props;
@@ -90,6 +94,7 @@ class ProsesSanksi extends Component {
 				});
 				});
 			}
 			}
 			await createSanksi(token, id, formdata);
 			await createSanksi(token, id, formdata);
+
 			toast.update(toastid, { render: "All is good", type: "success", isLoading: false, autoClose: true, closeButton: true });
 			toast.update(toastid, { render: "All is good", type: "success", isLoading: false, autoClose: true, closeButton: true });
 			Router.push({
 			Router.push({
 				pathname: "/app/sanksi",
 				pathname: "/app/sanksi",
@@ -350,7 +355,7 @@ class ProsesSanksi extends Component {
 												<Button color className="btn-login color-3e3a8e" onClick={this.toggleStep("5")}>
 												<Button color className="btn-login color-3e3a8e" onClick={this.toggleStep("5")}>
 													<span className="font-color-white">Previous</span>
 													<span className="font-color-white">Previous</span>
 												</Button>
 												</Button>
-												<Button className="ml-auto btn-login color-3e3a8e" color onClick={this.done}>
+												<Button className="ml-auto btn-login color-3e3a8e" color onClick={this.done} disabled={this.state.loading}>
 													<span className="font-color-white">Done</span>
 													<span className="font-color-white">Done</span>
 												</Button>
 												</Button>
 											</div>
 											</div>

+ 2 - 2
pages/pt/dokumen-perbaikan/detail.js

@@ -175,7 +175,7 @@ class DetailPerbaikanDoc extends Component {
 													validationSchema={perbaikanSchema}
 													validationSchema={perbaikanSchema}
 													onSubmit={this.handleKirim}
 													onSubmit={this.handleKirim}
 												>
 												>
-													{() => (
+													{({ isSubmitting }) => (
 														<Form className="form-horizontal">
 														<Form className="form-horizontal">
 															<FormGroup>
 															<FormGroup>
 																<label className="row-form-label">Keterangan Dokumen:</label>
 																<label className="row-form-label">Keterangan Dokumen:</label>
@@ -235,7 +235,7 @@ class DetailPerbaikanDoc extends Component {
 															</FormGroup>
 															</FormGroup>
 															<FormGroup row>
 															<FormGroup row>
 																<div className="col-xl-10">
 																<div className="col-xl-10">
-																	<Button color className="color-3e3a8e" type="submit">
+																	<Button color className="color-3e3a8e" type="submit" disabled={isSubmitting}>
 																		<span className="font-color-white">Kirim</span>
 																		<span className="font-color-white">Kirim</span>
 																	</Button>
 																	</Button>
 																</div>
 																</div>

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

@@ -52,6 +52,7 @@ class JawabanKeberatan extends Component {
 
 
 	render() {
 	render() {
 		const { sanksi, pt } = this.state;
 		const { sanksi, pt } = this.state;
+		console.log(this.state.modal)
 		return (
 		return (
 			<ContentWrapper unwrap>
 			<ContentWrapper unwrap>
 				<Modal isOpen={this.state.modalTidak} >
 				<Modal isOpen={this.state.modalTidak} >

+ 6 - 2
styles/bootstrap/_buttons.scss

@@ -262,8 +262,12 @@ input[type="button"] {
   padding-bottom: 0;
   padding-bottom: 0;
   margin-top: 3%;
   margin-top: 3%;
   color: #3e3a8e;
   color: #3e3a8e;
-  background: transparent;
-  transition: ease background-color 250ms;
+  // background: transparent;
+  // transition: ease background-color 250ms;
+  &[disabled] {
+    color: #3e3a8e;
+}
+
 }
 }
 
 
 .btn-radius .btn-labeled-3-notHover {
 .btn-radius .btn-labeled-3-notHover {