ソースを参照

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 年 前
コミット
5f2a95f813

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

@@ -127,7 +127,6 @@ class Calendar extends Component {
 		const { query, token } = this.props;
 		const { id } = query;
 		const { color, laporan } = this.state;
-		console.log(data.dari_tanggal)
 
 		await toast.promise(
 			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}
 												onSubmit={this.handleSimpan}
 											>
-												{() => (
+												{({ isSubmitting }) => (
 													<Form>
 														<FormGroup>
 															<label className="col-form-label">Status Laporan</label>
@@ -268,7 +267,7 @@ class Calendar extends Component {
 															</FormGroup>
 														)}
 														<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>
 															</Button>
 														</div>
@@ -296,7 +295,7 @@ class Calendar extends Component {
 														validationSchema={jadwalSchema}
 														onSubmit={this.handleEventCalendar}
 													>
-														{() => (
+														{({ isSubmitting }) => (
 															<Form>
 																<FormGroup>
 																	<label className="col-form-label">Warna</label>
@@ -358,7 +357,7 @@ class Calendar extends Component {
 
 																<FormGroup>
 																	<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>
 																		</Button>
 																	</div>

+ 2 - 2
components/NaikSanksi/InputTanggal.js

@@ -205,7 +205,7 @@ class InputTanggal extends Component {
                         validationSchema={rekomendasiSchema}
                         onSubmit={this.handelSimpan}
                     >
-                        {() => (
+                        {({ isSubmitting }) => (
                             <Form className="form-horizontal">
                                 <FormGroup row>
                                     <label className="col-md-2 col-form-label">Nomor Surat</label>
@@ -393,7 +393,7 @@ class InputTanggal extends Component {
                                 </FormGroup>
                                 <FormGroup row>
                                     <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>
                                         </Button>
                                     </div>

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

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

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

@@ -167,75 +167,78 @@ export class ModalPermohonan extends Component {
 						validationSchema={evaluasiSchema}
 						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 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 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>
-										<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>
 				</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" && (
 												<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" && (
 												<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>
-											)}
+											)} */}
 											{data.last_step === "Permohonan Pencabutan Sanksi" && (
 												<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("keterangan", data.keterangan);
 		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) => {
 			formdata.append("dokumen", e);
 		});

+ 100 - 96
components/Pemeriksaan/InputEvaluasi.js

@@ -189,108 +189,112 @@ class InputEvaluasi extends Component {
 					validationSchema={evaluasiSchema}
 					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 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 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>
+								</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>
 							</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>
 			</>
 		);

+ 2 - 2
components/PerpanjanganSanksi/InputTanggal.js

@@ -186,7 +186,7 @@ class InputTanggal extends Component {
                             await this.handelSimpan();
                         }}
                     >
-                        {() => (
+                        {({ isSubmitting }) => (
                             <Form className="form-horizontal">
                                 <FormGroup row className="mt-3">
                                     <label className="col-md-2 col-form-label">Tanggal Perpanjangan Sanksi :</label>
@@ -294,7 +294,7 @@ class InputTanggal extends Component {
                                 </FormGroup>
                                 <FormGroup row>
                                     <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>
                                         </Button>
                                     </div>

+ 2 - 2
components/TurunSanksi/InputTanggal.js

@@ -206,7 +206,7 @@ class InputTanggal extends Component {
                         validationSchema={rekomendasiSchema}
                         onSubmit={this.handelSimpan}
                     >
-                        {() => (
+                        {({ isSubmitting }) => (
                             <Form className="form-horizontal">
                                 <FormGroup row>
                                     <label className="col-md-2 col-form-label">Nomor Surat</label>
@@ -394,7 +394,7 @@ class InputTanggal extends Component {
                                 </FormGroup>
                                 <FormGroup row>
                                     <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>
                                         </Button>
                                     </div>

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

@@ -259,7 +259,7 @@ class JawabanBanding extends Component {
 														else await this.handelSimpan();
 													}}
 												>
-													{() => (
+													{({ isSubmitting }) => (
 														<Form className="form-horizontal">
 															<FormGroup>
 																<label className="row-form-label">Status:</label>
@@ -447,7 +447,7 @@ class JawabanBanding extends Component {
 															</FormGroup>
 															<FormGroup row>
 																<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>
 																	</Button>
 																</div>

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

@@ -269,7 +269,7 @@ class DetailKeberatan extends Component {
 														else await this.handelSimpan();
 													}}
 												>
-													{() => (
+													{({ isSubmitting }) => (
 														<Form className="form-horizontal">
 															<FormGroup>
 																<label className="row-form-label">Status :<span className="text-danger">*</span></label>
@@ -480,7 +480,7 @@ class DetailKeberatan extends Component {
 															</FormGroup>
 															<FormGroup row>
 																<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>
 																	</Button>
 																</div>

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

@@ -201,7 +201,7 @@ class JawabanPencabutanSanksi extends Component {
 														else await this.handleSimpan();
 													}}
 												>
-													{() => (
+													{({ isSubmitting }) => (
 														<Form className="form-horizontal">
 															<FormGroup>
 																<label className="row-form-label">Status:</label>
@@ -315,7 +315,7 @@ class JawabanPencabutanSanksi extends Component {
 																											</div>
 																										}
 																										</div>
-																									</div>																							</div>
+																									</div>		</div>
 																								<div className="d-flex align-items-center">
 																									<small className="ml-auto">
 																										<button
@@ -345,7 +345,7 @@ class JawabanPencabutanSanksi extends Component {
 															)}
 															<FormGroup>
 																<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">
 																			Simpan
 																		</span>

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

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

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

@@ -175,7 +175,7 @@ class DetailPerbaikanDoc extends Component {
 													validationSchema={perbaikanSchema}
 													onSubmit={this.handleKirim}
 												>
-													{() => (
+													{({ isSubmitting }) => (
 														<Form className="form-horizontal">
 															<FormGroup>
 																<label className="row-form-label">Keterangan Dokumen:</label>
@@ -235,7 +235,7 @@ class DetailPerbaikanDoc extends Component {
 															</FormGroup>
 															<FormGroup row>
 																<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>
 																	</Button>
 																</div>

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

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

+ 6 - 2
styles/bootstrap/_buttons.scss

@@ -262,8 +262,12 @@ input[type="button"] {
   padding-bottom: 0;
   margin-top: 3%;
   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 {