Bläddra i källkod

dropzone v3 di semua menu
updating to pddikti

andi 2 år sedan
förälder
incheckning
08f3796f17

+ 2 - 1
components/NaikSanksi/DetailSanksi.js

@@ -97,7 +97,8 @@ function DetailSanksi({ data, noTitle = false }) {
 					<FormGroup row>
 						<Col md="4">Sanksi:</Col>
 						<Col md="8">
-							<strong>{data.pelanggaran.map((e) => e.sanksi)}</strong>
+							{data?.pelanggaran&& data.pelanggaran.map((e)=><li><strong>{e.sanksi}</strong> - {e.keterangan_sanksi}</li>)}
+							{/* <strong>{data.pelanggaran.map((e) => e.sanksi)}</strong> */}
 						</Col>
 					</FormGroup>
 					<FormGroup row>

+ 9 - 4
components/NaikSanksi/InputTanggal.js

@@ -83,7 +83,8 @@ class InputTanggal extends Component {
             sanksi: {},
             keteranganLaporan: "",
             tmtCheck: false,
-            listSanksi: ""
+            listSanksi: "",
+            selectedFile: {}
         };
     }
 
@@ -108,15 +109,19 @@ class InputTanggal extends Component {
         });
     };
 
-    onDrop = (files) => {
+    onDrop = (selectedFile) => {
         this.setState({
-            files: files.map((file) =>
+            selectedFile: selectedFile.map((file) =>
                 Object.assign(file, {
                     preview: URL.createObjectURL(file),
                 })
             ),
-            stat: "Added " + files.length + " file(s)",
+            stat: "Added " + selectedFile.length + " file(s)",
         });
+        const selectFile = this.state.selectedFile
+        this.setState(prevState => ({
+            files: [...prevState.files, ...selectFile]
+        }))
     };
 
     uploadFiles = (e) => {

+ 1 - 1
components/NaikSanksi/TableLaporan.js

@@ -17,7 +17,7 @@ function TableLaporan({ listData, to, linkName, status = false, noBy = false })
 									<th>No.Laporan</th>
 									<th>No.Sanksi</th>
 									<th>Deskripsi Laporan</th>
-									{<th>TMT Berlaku</th>}
+									{<th>Sanksi Berupa</th>}
 									{/* {!noBy && <th>Dibuat Oleh</th>} */}
 									{/* <th>Created</th> */}
 									<th>Aksi</th>

+ 8 - 4
components/PT/JawabanKeberatan/ModalPermohonan.js

@@ -57,18 +57,22 @@ export class ModalPermohonan extends Component {
 		this.state = {
 			modal1: false,
 			files: [],
+			selectedFile: {}
 		};
 	}
-
-	onDrop = (files) => {
+	onDrop = (selectedFile) => {
 		this.setState({
-			files: files.map((file) =>
+			selectedFile: selectedFile.map((file) =>
 				Object.assign(file, {
 					preview: URL.createObjectURL(file),
 				})
 			),
-			stat: "Added " + files.length + " file(s)",
+			stat: "Added " + selectedFile.length + " file(s)",
 		});
+		const selectFile = this.state.selectedFile
+		this.setState(prevState => ({
+			files: [...prevState.files, ...selectFile]
+		}))
 	};
 
 	uploadFiles = (e) => {

+ 8 - 3
components/PT/Keberatan/ModalPermohonan.js

@@ -57,18 +57,23 @@ export class ModalPermohonan extends Component {
 		this.state = {
 			modal1: false,
 			files: [],
+			selectedFile: {}
 		};
 	}
 
-	onDrop = (files) => {
+	onDrop = (selectedFile) => {
 		this.setState({
-			files: files.map((file) =>
+			selectedFile: selectedFile.map((file) =>
 				Object.assign(file, {
 					preview: URL.createObjectURL(file),
 				})
 			),
-			stat: "Added " + files.length + " file(s)",
+			stat: "Added " + selectedFile.length + " file(s)",
 		});
+		const selectFile = this.state.selectedFile
+		this.setState(prevState => ({
+			files: [...prevState.files, ...selectFile]
+		}))
 	};
 
 	uploadFiles = (e) => {

+ 15 - 10
components/Pelaporan/InputData.js

@@ -71,6 +71,7 @@ export class InputData extends Component {
 			keteranganLaporan: "",
 			files: [],
 			pelanggaran: [],
+			selectedFile:{},
 		};
 	}
 
@@ -103,16 +104,20 @@ export class InputData extends Component {
 		this.setState({ selectedOptionMulti });
 	};
 
-	onDrop = (files) => {
-		this.setState({
-			files: files.map((file) =>
-				Object.assign(file, {
-					preview: URL.createObjectURL(file),
-				})
-			),
-			stat: "Added " + files.length + " file(s)",
-		});
-	};
+    onDrop = (selectedFile) => {
+        this.setState({
+            selectedFile: selectedFile.map((file) =>
+                Object.assign(file, {
+                    preview: URL.createObjectURL(file),
+                })
+            ),
+            stat: "Added " + selectedFile.length + " file(s)",
+        });
+        const selectFile = this.state.selectedFile
+        this.setState(prevState => ({
+            files: [...prevState.files, ...selectFile]
+        }))
+    };
 
 	uploadFiles = (e) => {
 		e.preventDefault();

+ 0 - 4
components/Pemeriksaan/InputEvaluasi.js

@@ -57,11 +57,7 @@ class DropzoneWrapper extends Component {
 		return Dropzone ? <Dropzone {...this.props}>{this.props.children}</Dropzone> : null;
 	}
 }
-<ToastContainer
 
-/>
-{/* Same as */ }
-<ToastContainer />
 
 class InputEvaluasi extends Component {
 	constructor(props) {

+ 8 - 3
components/PerpanjanganSanksi/InputTanggal.js

@@ -76,6 +76,7 @@ class InputTanggal extends Component {
             to_date: "",
             startDay: tmt_awal,
             sanksi: {},
+            selectedFile: {}
         };
     }
 
@@ -99,15 +100,19 @@ class InputTanggal extends Component {
         });
     };
 
-    onDrop = (files) => {
+    onDrop = (selectedFile) => {
         this.setState({
-            files: files.map((file) =>
+            selectedFile: selectedFile.map((file) =>
                 Object.assign(file, {
                     preview: URL.createObjectURL(file),
                 })
             ),
-            stat: "Added " + files.length + " file(s)",
+            stat: "Added " + selectedFile.length + " file(s)",
         });
+        const selectFile = this.state.selectedFile
+        this.setState(prevState => ({
+            files: [...prevState.files, ...selectFile]
+        }))
     };
 
     uploadFiles = (e) => {

+ 15 - 10
components/RekomendasiDelegasi/InputRekomendasi.js

@@ -66,6 +66,7 @@ class InputRekomendasi extends Component {
 			files: [],
 			sanksi: {},
 			data: {},
+			selectedFile:{}
 		};
 	}
 
@@ -81,16 +82,20 @@ class InputRekomendasi extends Component {
 		});
 	};
 
-	onDrop = (files) => {
-		this.setState({
-			files: files.map((file) =>
-				Object.assign(file, {
-					preview: URL.createObjectURL(file),
-				})
-			),
-			stat: "Added " + files.length + " file(s)",
-		});
-	};
+    onDrop = (selectedFile) => {
+        this.setState({
+            selectedFile: selectedFile.map((file) =>
+                Object.assign(file, {
+                    preview: URL.createObjectURL(file),
+                })
+            ),
+            stat: "Added " + selectedFile.length + " file(s)",
+        });
+        const selectFile = this.state.selectedFile
+        this.setState(prevState => ({
+            files: [...prevState.files, ...selectFile]
+        }))
+    };
 
 	uploadFiles = (e) => {
 		e.preventDefault();

+ 31 - 26
components/Sanksi/Ringkasan.js

@@ -140,14 +140,14 @@ export class Ringkasan extends Component {
 									<strong>{dataUpload ? dataUpload.keterangan : ""}</strong>
 								</Col>
 							</FormGroup>
-							{dataUpload && !dataUpload.tmtCheck ? (
+							{dataUpload && !dataUpload.tidakPerluTMTCheck ? (
 								<FormGroup row>
 									<Col md="4">TMT Berlaku:</Col>
 									<Col md="8">
 										<strong>
-											{dataUpload && dataUpload.akhirsanksi ? (
+											{dataUpload && dataUpload.akhirTMT ? (
 												<p>
-													{moment(dataUpload.awalsanksi).locale("id").format("DD MMMM YYYY")} - {moment(dataUpload.akhirsanksi).locale("id").format("DD MMMM YYYY")}
+													{moment(dataUpload.awalTMT).locale("id").format("DD MMMM YYYY")} - {moment(dataUpload.akhirTMT).locale("id").format("DD MMMM YYYY")}
 												</p>
 											) : (
 												""
@@ -158,28 +158,28 @@ export class Ringkasan extends Component {
 							) : (
 								""
 							)}
-							<FormGroup row>
+							{/* <FormGroup row>
 								<Col md="4">Tanggal Penetapan Sanksi:</Col>
 								<Col md="8">
 									<strong>
-										{dataUpload && dataUpload.awalsanksi ? (
+										{dataUpload && dataUpload.awalTMT ? (
 											<p>
-												{moment(dataUpload.awalsanksi).locale("id").format("DD MMMM YYYY")}
+												{moment(dataUpload.awalTMT).locale("id").format("DD MMMM YYYY")} ////////tidak digunakan
 											</p>
 										) : (
 											""
 										)}
 									</strong>
 								</Col>
-							</FormGroup>
-							{dataUpload && !dataUpload.tmtCheck ? (
+							</FormGroup> */}
+							{dataUpload && !dataUpload.tidakPerluTMTCheck ? (
 								<FormGroup row>
 									<Col md="4">TMT :</Col>
 									<Col md="8">
 										<strong>
-											{dataUpload && dataUpload.akhirsanksi ? (
+											{dataUpload && dataUpload.akhirTMT ? (
 												<p>
-													{moment(dataUpload.akhirsanksi).diff(dataUpload.awalsanksi, 'month')} bulan
+													{moment(dataUpload.akhirTMT).diff(dataUpload.awalTMT, 'month')} bulan
 												</p>
 											) : (
 												""
@@ -204,7 +204,7 @@ export class Ringkasan extends Component {
 												{dataUpload
 													? dataUpload.files.map((e) => (
 														<tr>
-															<td  style={{ width: "30px" }}>
+															<td style={{ width: "30px" }}>
 																<em className="fa-lg far fa-file-code"></em>
 															</td>
 															<td>
@@ -262,7 +262,7 @@ export class Ringkasan extends Component {
 												{dataUpload
 													? dataUpload.filesTandaTerimaSS.map((e) => (
 														<tr>
-															<td  style={{ width: "30px" }}>
+															<td style={{ width: "30px" }}>
 																<em className="fa-lg far fa-file-code"></em>
 															</td>
 															<td>
@@ -278,20 +278,25 @@ export class Ringkasan extends Component {
 									</Scrollable>
 								</Col>
 							</FormGroup>
-							<FormGroup row>
-								<Col md="4">Tanggal Akhir Pengajuan Keberatan :</Col>
-								<Col md="8">
-									<strong>
-										{dataUpload && dataUpload.tglAkhirKeberatan ? (
-											<p>
-												{moment(dataUpload.tglAkhirKeberatan).locale("id").format("DD MMMM YYYY")}
-											</p>
-										) : (
-											""
-										)}
-									</strong>
-								</Col>
-							</FormGroup>
+							{dataUpload && !dataUpload.tidakPerluTMTCheck && (
+								<FormGroup row>
+									<Col md="4">Tanggal Akhir Pengajuan Keberatan :</Col>
+									<Col md="8">
+										<strong>
+											{dataUpload && dataUpload.tglAkhirKeberatan ? (
+												<p>
+													{moment(dataUpload.tglAkhirKeberatan).locale("id").format("DD MMMM YYYY")}
+												</p>
+											) : (
+												""
+											)}
+										</strong>
+									</Col>
+								</FormGroup>
+							)
+
+							}
+
 						</form>
 					</Col>
 				</Row>

+ 7 - 4
components/Sanksi/SuratBA _detail.js

@@ -127,16 +127,19 @@ class ComponentBA extends React.Component {
                                         <td>{e.pasal}</td>
                                         <td>{e.butir_pelanggaran}</td>
                                         <td>{e.pelanggaran}</td>
-                                        {this.state.descPelanggaran &&
+                                        {this.state?.descPelanggaran ?
                                             (
-                                                <td style={{ minWidth: "215px" }} >{"" || this.state.descPelanggaran[e?._id]?.simpulan
+                                                <td style={{ minWidth: "215px" }} >{"-" || this.state.descPelanggaran[e?._id]?.simpulan
                                                 }</td>
-                                            )
+                                            ):
+                                            (<td style={{ minWidth: "215px" }}>
+                                                -
+                                            </td>)
                                         }
                                         {/* <td style={{ minWidth: "215px" }} >{"" || dataSuratBA?.descPelanggaran[e?._id]?.simpulan
                                             || this.state.descPelanggaran[e?._id]?.simpulan
                                         }</td> */}
-                                        <td style={{ minWidth: "215px" }}>{`Sanksi Administratif berupa ${this.state.sanksi}` || ""}</td>
+                                        <td style={{ minWidth: "215px" }}>{`Sanksi Administratif berupa ${this.state?.sanksi? this.state?.sanksi:"" }` || ""}</td>
                                     </tr>
 
                                 ))}

+ 58 - 53
components/Sanksi/UploadSurat.js

@@ -44,27 +44,30 @@ export class UploadSurat extends Component {
 			listSanksi: "",
 			startDay: tmt_awal,
 			maxDay: "",
-			isiTmt: "",
-			awalsanksi: "",
-			akhirsanksi: "",
-			tmtCheck: false,
+			awalTMT: "",
+			akhirTMT: "",
+			tidakPerluTMTCheck: false,
 			terimaSuratSanksi: "",
 			tglAkhirKeberatan: "",
 			filesTandaTerimaSS: [],
+			selectedFile: {}
 
 		};
 	}
 
-	onDrop = (files) => {
+	onDrop = (selectedFile) => {
 		this.setState({
-			files: files.map((file) =>
+			selectedFile: selectedFile.map((file) =>
 				Object.assign(file, {
 					preview: URL.createObjectURL(file),
 				})
 			),
-			stat: "Added " + files.length + " file(s)",
+			stat: "Added " + selectedFile.length + " file(s)",
 		});
-		this.props.setUploadSuratSanksi(this.state);
+		const selectFile = this.state.selectedFile
+		this.setState(prevState => ({
+			files: [...prevState.files, ...selectFile]
+		}))
 	};
 	onDropTandaTerimaSS = (filesTandaTerimaSS) => {
 		this.setState({
@@ -131,9 +134,9 @@ export class UploadSurat extends Component {
 		this.setUploadSuratSanksi()
 		// this.handleAutoSave()
 	};
-	setAkhirSanksi = (akhirsanksi) => {
+	setAkhirSanksi = (akhirTMT) => {
 		// this.setState({ keterangan: e.target.value }, this.setUploadSuratSanksi);
-		this.state.akhirsanksi = akhirsanksi
+		this.state.akhirTMT = akhirTMT
 		this.setUploadSuratSanksi()
 		// this.handleAutoSave()
 	};
@@ -146,12 +149,12 @@ export class UploadSurat extends Component {
 	};
 	handleTmtCheck = () => {
 		// this.setState({ tmtCheck: !this.state.tmtCheck }, this.setUploadSuratSanksi);
-		this.state.tmtCheck = !this.state.tmtCheck
+		this.state.tidakPerluTMTCheck = !this.state.tidakPerluTMTCheck
 		this.setUploadSuratSanksi()
 		// this.handleAutoSave()
 	}
 	render() {
-		const { files, terimaSuratSanksi, tglAkhirKeberatan, filesTandaTerimaSS, tmtCheck } = this.state;
+		const { files, terimaSuratSanksi, tglAkhirKeberatan, filesTandaTerimaSS, tidakPerluTMTCheck } = this.state;
 		const removeFile = file => () => {
 			const newFiles = [...files]
 			newFiles.splice(newFiles.indexOf(file), 1)
@@ -197,19 +200,19 @@ export class UploadSurat extends Component {
 					<div className="col-md-10 mt-2">
 						<div className="checkbox c-checkbox">
 							<label>
-								<Input type="checkbox" onChange={() => this.handleTmtCheck()} defaultChecked={this.state.tmtCheck} />
+								<Input type="checkbox" onChange={() => this.handleTmtCheck()} defaultChecked={this.state.tidakPerluTMTCheck} />
 								<span className="fa fa-check"></span></label>
 						</div>
 					</div>
 				</FormGroup>
-				{this.state.tmtCheck && (
+				{/* {this.state.tidakPerluTMTCheck && (
 					<FormGroup row className="mt-3">
 						<label className="col-md-2 col-form-label">Tanggal Penetapan Sanksi</label>
 						<span className="col-sm-3 float-left">
 							<DatePicker
-								selected={this.state.awalsanksi ? new Date(this.state.awalsanksi) : this.state.awalsanksi}
-								onChange={(awalsanksi) => {
-									this.setState({ awalsanksi }, this.setUploadSuratSanksi)
+								selected={this.state.awalTMT ? new Date(this.state.awalTMT) : this.state.awalTMT}
+								onChange={(awalTMT) => {
+									this.setState({ awalTMT }, this.setUploadSuratSanksi)
 								}}
 								dateFormat="dd/MM/yyyy"
 								maxDate={new Date(this.state.startDay)}
@@ -219,8 +222,8 @@ export class UploadSurat extends Component {
 							/>
 						</span>
 					</FormGroup>
-				)}
-				{!this.state.tmtCheck && (
+				)} */}
+				{!this.state.tidakPerluTMTCheck && (
 					<FormGroup row className="mt-3">
 						<label className="col-md-2 col-form-label">Isi TMT</label>
 						<Row >
@@ -228,9 +231,9 @@ export class UploadSurat extends Component {
 								<FormGroup>
 									<span className="ml-3">
 										<DatePicker
-											selected={this.state.awalsanksi ? new Date(this.state.awalsanksi) : this.state.awalsanksi}
-											onChange={(awalsanksi) => {
-												this.setState({ awalsanksi }, this.setUploadSuratSanksi)
+											selected={this.state.awalTMT ? new Date(this.state.awalTMT) : this.state.awalTMT}
+											onChange={(awalTMT) => {
+												this.setState({ awalTMT }, this.setUploadSuratSanksi)
 											}}
 											dateFormat="dd/MM/yyyy"
 											maxDate={new Date(this.state.startDay)}
@@ -246,14 +249,14 @@ export class UploadSurat extends Component {
 								<FormGroup>
 									<span className="ml-3">
 										<DatePicker
-											selected={this.state.akhirsanksi ? new Date(this.state.akhirsanksi) : this.state.akhirsanksi}
-											// onChange={(akhirsanksi, e) => {
-											// 	this.setState({ akhirsanksi }, this.setUploadSuratSanksi(e), this.props.handleAutoSave(e))
+											selected={this.state.akhirTMT ? new Date(this.state.akhirTMT) : this.state.akhirTMT}
+											// onChange={(akhirTMT, e) => {
+											// 	this.setState({ akhirTMT }, this.setUploadSuratSanksi(e), this.props.handleAutoSave(e))
 											// }}
-											onChange={(akhirsanksi) => { this.setAkhirSanksi(akhirsanksi) }}
+											onChange={(akhirTMT) => { this.setAkhirSanksi(akhirTMT) }}
 											dateFormat="dd/MM/yyyy"
-											minDate={new Date(this.state.awalsanksi)}
-											maxDate={addMonths(new Date(this.state.awalsanksi), 6)}
+											minDate={new Date(this.state.awalTMT)}
+											maxDate={addMonths(new Date(this.state.awalTMT), 6)}
 											placeholderText="Sampai tanggal"
 											locale={id}
 											className="form-control bg-white"
@@ -264,19 +267,19 @@ export class UploadSurat extends Component {
 						</Row>
 					</FormGroup>
 				)}
-				{!this.state.tmtCheck && (
+				{!this.state.tidakPerluTMTCheck && (
 					<FormGroup row className="mt-1">
 						<label className="col-md-2 col-form-label">TMT berlaku</label>
 						<div className="col-md-10 mt-2">
-							<b>{this.state.awalsanksi ? moment(this.state.awalsanksi).format("DD-MM-YYYY") : "-"}</b> hingga <b>{this.state.akhirsanksi ? moment(this.state.akhirsanksi).format("DD-MM-YYYY") : "-"}</b>
+							<b>{this.state.awalTMT ? moment(this.state.awalTMT).format("DD-MM-YYYY") : "-"}</b> hingga <b>{this.state.akhirTMT ? moment(this.state.akhirTMT).format("DD-MM-YYYY") : "-"}</b>
 						</div>
 					</FormGroup>
 				)}
-				{!this.state.tmtCheck && (
+				{!this.state.tidakPerluTMTCheck && (
 					<FormGroup row className="mt-1">
 						<label className="col-md-2 col-form-label">TMT</label>
 						<div className="col-md-10 mt-2">
-							<b>{this.state.akhirsanksi ? moment(this.state.akhirsanksi).diff(this.state.awalsanksi, 'month') : "-"} bulan</b>
+							<b>{this.state.akhirTMT ? moment(this.state.akhirTMT).diff(this.state.awalTMT, 'month') : "-"} bulan</b>
 						</div>
 					</FormGroup>
 				)}
@@ -363,7 +366,7 @@ export class UploadSurat extends Component {
 								this.setState({ terimaSuratSanksi }, this.setUploadSuratSanksi)
 							}}
 							dateFormat="dd/MM/yyyy"
-							minDate={new Date(this.state.awalsanksi)}
+							minDate={new Date(this.state.awalTMT)}
 							placeholderText="Isi Tanggal"
 							locale={id}
 							className="form-control bg-white"
@@ -410,26 +413,28 @@ export class UploadSurat extends Component {
 						<p className="mrgn-top-5 font-color-black">Ukuran setiap dokumen maksimal 15mb</p>
 					</div>
 				</FormGroup>
-				<FormGroup row className="mt-3">
-					<label className="col-md-2 col-form-label">Tanggal Akhir Pengajuan Keberatan<span className="text-danger">*</span>
-						<p>
-							Note : 21 hari kerja
-						</p>
-					</label>
-					<span className="col-sm-3 float-left">
-						<DatePicker
-							selected={this.state.tglAkhirKeberatan ? new Date(this.state.tglAkhirKeberatan) : this.state.tglAkhirKeberatan}
-							onChange={(tglAkhirKeberatan) => {
-								this.setState({ tglAkhirKeberatan }, this.setUploadSuratSanksi)
-							}}
-							dateFormat="dd/MM/yyyy"
-							minDate={new Date(terimaSuratSanksi)}
-							placeholderText="Isi Tanggal"
-							locale={id}
-							className="form-control bg-white"
-						/>
-					</span>
-				</FormGroup>
+				{!this.state.tidakPerluTMTCheck && (
+					<FormGroup row className="mt-3">
+						<label className="col-md-2 col-form-label">Tanggal Akhir Pengajuan Keberatan<span className="text-danger">*</span>
+							<p>
+								Note : 21 hari kerja
+							</p>
+						</label>
+						<span className="col-sm-3 float-left">
+							<DatePicker
+								selected={this.state.tglAkhirKeberatan ? new Date(this.state.tglAkhirKeberatan) : this.state.tglAkhirKeberatan}
+								onChange={(tglAkhirKeberatan) => {
+									this.setState({ tglAkhirKeberatan }, this.setUploadSuratSanksi)
+								}}
+								dateFormat="dd/MM/yyyy"
+								minDate={new Date(terimaSuratSanksi)}
+								placeholderText="Isi Tanggal"
+								locale={id}
+								className="form-control bg-white"
+							/>
+						</span>
+					</FormGroup>
+				)}
 			</form >
 		);
 	}

+ 1 - 1
components/TurunSanksi/DetailSanksi.js

@@ -97,7 +97,7 @@ function DetailSanksi({ data, noTitle = false }) {
 					<FormGroup row>
 						<Col md="4">Sanksi:</Col>
 						<Col md="8">
-							<strong>{data.pelanggaran.map((e) => e.sanksi)}</strong>
+						{data?.pelanggaran&& data.pelanggaran.map((e)=><li><strong>{e.sanksi}</strong> - {e.keterangan_sanksi}</li>)}
 						</Col>
 					</FormGroup>
 					<FormGroup row>

+ 9 - 4
components/TurunSanksi/InputTanggal.js

@@ -86,7 +86,8 @@ class InputTanggal extends Component {
             startDay: tmt_awal,
             keteranganLaporan: "",
             tmtCheck: false,
-            listSanksi: ""
+            listSanksi: "",
+            selectedFile: {}
         };
     }
 
@@ -111,15 +112,19 @@ class InputTanggal extends Component {
         });
     };
 
-    onDrop = (files) => {
+    onDrop = (selectedFile) => {
         this.setState({
-            files: files.map((file) =>
+            selectedFile: selectedFile.map((file) =>
                 Object.assign(file, {
                     preview: URL.createObjectURL(file),
                 })
             ),
-            stat: "Added " + files.length + " file(s)",
+            stat: "Added " + selectedFile.length + " file(s)",
         });
+        const selectFile = this.state.selectedFile
+        this.setState(prevState => ({
+            files: [...prevState.files, ...selectFile]
+        }))
     };
 
     uploadFiles = (e) => {

+ 1 - 1
components/TurunSanksi/TableLaporan.js

@@ -17,7 +17,7 @@ function TableLaporan({ listData, to, linkName, status = false, noBy = false })
 									<th>No.Laporan</th>
 									<th>No.Sanksi</th>
 									<th>Deskripsi Laporan</th>
-									{<th>TMT Berlaku</th>}
+									{<th>Sanksi Berupa</th>}
 									{/* {!noBy && <th>Dibuat Oleh</th>} */}
 									{/* <th>Created</th> */}
 									<th>Aksi</th>

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

@@ -87,6 +87,7 @@ class JawabanBanding extends Component {
 			tglTerimaBanding: "",
 			keterangan: "",
 			tglSuratBanding: "",
+			selectedFile: {}
 		};
 	}
 
@@ -114,15 +115,19 @@ class JawabanBanding extends Component {
 		this.setState({ selectedOption });
 	};
 
-	onDrop = (files) => {
+	onDrop = (selectedFile) => {
 		this.setState({
-			files: files.map((file) =>
+			selectedFile: selectedFile.map((file) =>
 				Object.assign(file, {
 					preview: URL.createObjectURL(file),
 				})
 			),
-			stat: "Added " + files.length + " file(s)",
+			stat: "Added " + selectedFile.length + " file(s)",
 		});
+		const selectFile = this.state.selectedFile
+		this.setState(prevState => ({
+			files: [...prevState.files, ...selectFile]
+		}))
 	};
 	onDropDocTerimaBanding = (fileDocTerimaBanding) => {
 		this.setState({

+ 17 - 6
pages/app/keberatan/detail.js

@@ -92,6 +92,8 @@ class DetailKeberatan extends Component {
 			pt: null,
 			data: {},
 			tglSuratKeberatan: "",
+			selectedFile: {},
+			selectFileTTSKeberatan: {},
 		};
 	}
 
@@ -119,25 +121,34 @@ class DetailKeberatan extends Component {
 		this.setState({ selectedOption });
 	};
 
-	onDrop = (files) => {
+	onDrop = (selectedFile) => {
 		this.setState({
-			files: files.map((file) =>
+			selectedFile: selectedFile.map((file) =>
 				Object.assign(file, {
 					preview: URL.createObjectURL(file),
 				})
 			),
-			stat: "Added " + files.length + " file(s)",
+			stat: "Added " + selectedFile.length + " file(s)",
 		});
+		const selectFile = this.state.selectedFile
+		this.setState(prevState => ({
+			files: [...prevState.files, ...selectFile]
+		}))
 	};
-	onDropTTSKeberatan = (fileTTSKeberatan) => {
+	onDropTTSKeberatan = (selectFileTTSKeberatan) => {
 		this.setState({
-			fileTTSKeberatan: fileTTSKeberatan.map((file) =>
+			selectFileTTSKeberatan: selectFileTTSKeberatan.map((file) =>
 				Object.assign(file, {
 					preview: URL.createObjectURL(file),
 				})
 			),
-			stat: "Added " + fileTTSKeberatan.length + " file(s)",
+			stat: "Added " + selectFileTTSKeberatan.length + " file(s)",
 		});
+		const selectFile = this.state.selectFileTTSKeberatan
+		this.setState(prevState => ({
+			fileTTSKeberatan: [...prevState.fileTTSKeberatan, ...selectFile]
+		}))
+
 	};
 
 	uploadFiles = (e) => {

+ 2 - 2
pages/app/naik-sanksi/detail.js

@@ -1,7 +1,7 @@
 import React, { Component } from "react";
 import { Row, Col, Card, CardBody, FormGroup, Input, Button, Modal, ModalHeader, ModalBody, ModalFooter, CardHeader, CardTitle } from "reactstrap";
 import ContentWrapper from "@/components/Layout/ContentWrapper";
-import DetailSanksi from "@/components/PerpanjanganSanksi/DetailSanksi";
+import DetailSanksi from "@/components/NaikSanksi/DetailSanksi";
 import Link from "next/link";
 import DetailPT from "@/components/Main/DetailPT";
 import { getOneSanksi } from "@/actions/sanksi";
@@ -22,6 +22,7 @@ class Detail extends Component {
 			pt: {},
 			data: {},
 			listSanksi: {},
+			label_sanksi: ""
 		};
 	}
 
@@ -39,7 +40,6 @@ class Detail extends Component {
 
 	};
 
-
 	render() {
 		const { files, sanksi, pt, listSanksi } = this.state;
 		const { query, token } = this.props;

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

@@ -74,6 +74,7 @@ class JawabanPencabutanSanksi extends Component {
 			sanksi: {},
 			pt: null,
 			data: {},
+			selectedFile: {},
 		};
 	}
 
@@ -96,15 +97,19 @@ class JawabanPencabutanSanksi extends Component {
 		this.setState({ selectedOption });
 	};
 
-	onDrop = (files) => {
+	onDrop = (selectedFile) => {
 		this.setState({
-			files: files.map((file) =>
+			selectedFile: selectedFile.map((file) =>
 				Object.assign(file, {
 					preview: URL.createObjectURL(file),
 				})
 			),
-			stat: "Added " + files.length + " file(s)",
+			stat: "Added " + selectedFile.length + " file(s)",
 		});
+		const selectFile = this.state.selectedFile
+		this.setState(prevState => ({
+			files: [...prevState.files, ...selectFile]
+		}))
 	};
 
 	uploadFiles = (e) => {

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

@@ -35,6 +35,7 @@ class DetailPerbaikanDoc extends Component {
 			files: [],
 			sanksi: {},
 			keterangan: "",
+			selectedFile:{},
 		};
 	}
 
@@ -47,15 +48,19 @@ class DetailPerbaikanDoc extends Component {
 		this.setState({ sanksi });
 	};
 
-	onDrop = (files) => {
+	onDrop = (selectedFile) => {
 		this.setState({
-			files: files.map((file) =>
+			selectedFile: selectedFile.map((file) =>
 				Object.assign(file, {
 					preview: URL.createObjectURL(file),
 				})
 			),
-			stat: "Added " + files.length + " file(s)",
+			stat: "Added " + selectedFile.length + " file(s)",
 		});
+		const selectFile = this.state.selectedFile
+		this.setState(prevState => ({
+			files: [...prevState.files, ...selectFile]
+		}))
 	};
 
 	uploadFiles = (e) => {

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

@@ -32,6 +32,7 @@ class DetailPencabutanSanksi extends Component {
 		super(props);
 		this.state = {
 			files: [],
+			selectedFile: {},
 		};
 	}
 
@@ -46,15 +47,19 @@ class DetailPencabutanSanksi extends Component {
 		this.setState({ sanksi });
 	};
 
-	onDrop = (files) => {
+	onDrop = (selectedFile) => {
 		this.setState({
-			files: files.map((file) =>
+			selectedFile: selectedFile.map((file) =>
 				Object.assign(file, {
 					preview: URL.createObjectURL(file),
 				})
 			),
-			stat: "Added " + files.length + " file(s)",
+			stat: "Added " + selectedFile.length + " file(s)",
 		});
+		const selectFile = this.state.selectedFile
+		this.setState(prevState => ({
+			files: [...prevState.files, ...selectFile]
+		}))
 	};
 
 	uploadFiles = (e) => {

+ 112 - 51
pages/app/sanksi/proses.js

@@ -95,51 +95,87 @@ class ProsesSanksi extends Component {
 			const { id } = query;
 			await updatePddikti(token, sanksiId, _csrf2)
 
-			toast.update(toastPddikti, { render: "Success Updating PDDIKTI", type: "success", isLoading: false, autoClose: true, closeButton: true });
+			toast.update(toastPddikti, { render: "Berhasil Update PDDIKTI", type: "success", isLoading: false, autoClose: true, closeButton: true });
 
 		}
 
 		catch (error) {
-			toast.update(toastPddikti, { render: ("Error Updating PDDIKTI"), type: "error", isLoading: false, autoClose: true, closeButton: true });
+			toast.update(toastPddikti, { render: ("Gagal Update PDDIKTI"), type: "error", isLoading: false, autoClose: true, closeButton: true });
 		}
 
 	}
 	tambahSanksi = async () => {
 		const getToken = await getCsrf();
 		const _csrf = getToken.token;
+		const dataUpload = this.state.dataUpload
 		const toastid = toast.loading("Please wait...");
-		try {
-			const { query, token } = this.props;
-			const { id } = query;
-			const formdata = new FormData();
-			formdata.append("no_sanksi", this.state.dataUpload.nomorSanksi);
-			formdata.append("keterangan", this.state.dataUpload.keterangan);
-			formdata.append("from_date", this.state.dataUpload.awalsanksi);
-			formdata.append("to_date", this.state.dataUpload.akhirsanksi);
-			formdata.append("tanggal_terima_sanksi", this.state.dataUpload.terimaSuratSanksi);
-			formdata.append("tanggal_akhir_keberatan", this.state.dataUpload.tglAkhirKeberatan);
-			formdata.append("pelanggaran_id", this.state.dataPelanggaran.data.map((e) => e._id).join());
-			if (this.state.dataUpload.files && this.state.dataUpload.files.length > 0) {
-				this.state.dataUpload.files.forEach((e) => {
-					formdata.append("dokumen", e);
-				});
+		if (dataUpload.tidakPerluTMTCheck === true) {
+			try {
+				const { query, token } = this.props;
+				const { id } = query;
+				const formdata = new FormData();
+				formdata.append("no_sanksi", this.state.dataUpload.nomorSanksi);
+				formdata.append("keterangan", this.state.dataUpload.keterangan);
+				formdata.append("tanggal_terima_sanksi", this.state.dataUpload.terimaSuratSanksi);
+				formdata.append("tanggal_akhir_keberatan", this.state.dataUpload.tglAkhirKeberatan);
+				formdata.append("pelanggaran_id", this.state.dataPelanggaran.data.map((e) => e._id).join());
+				if (this.state.dataUpload.files && this.state.dataUpload.files.length > 0) {
+					this.state.dataUpload.files.forEach((e) => {
+						formdata.append("dokumen", e);
+					});
+				}
+				if (this.state.dataUpload.filesTandaTerimaSS && this.state.dataUpload.filesTandaTerimaSS.length > 0) {
+					this.state.dataUpload.filesTandaTerimaSS.forEach((e) => {
+						formdata.append("dokumen_terima_sanksi", e);
+					});
+				}
+	
+				const sanksi = await createSanksi(token, id, formdata, _csrf)
+	
+				toast.update(toastid, { render: "Berhasil membuat sanksi", type: "success", isLoading: false, autoClose: true, closeButton: true });
+				return sanksi
 			}
-			if (this.state.dataUpload.filesTandaTerimaSS && this.state.dataUpload.filesTandaTerimaSS.length > 0) {
-				this.state.dataUpload.filesTandaTerimaSS.forEach((e) => {
-					formdata.append("dokumen_terima_sanksi", e);
-				});
+	
+			catch (error) {
+				toast.update(toastid, { render: error.response.data.message || error.message, type: "error", isLoading: false, autoClose: true, closeButton: true });
+				return null
+			}
+		} else {
+			try {
+				const { query, token } = this.props;
+				const { id } = query;
+				const formdata = new FormData();
+				formdata.append("no_sanksi", this.state.dataUpload.nomorSanksi);
+				formdata.append("keterangan", this.state.dataUpload.keterangan);
+	
+				formdata.append("from_date", this.state.dataUpload.awalTMT);
+				formdata.append("to_date", this.state.dataUpload.akhirTMT);
+				formdata.append("tanggal_terima_sanksi", this.state.dataUpload.terimaSuratSanksi);
+				formdata.append("tanggal_akhir_keberatan", this.state.dataUpload.tglAkhirKeberatan);
+				formdata.append("pelanggaran_id", this.state.dataPelanggaran.data.map((e) => e._id).join());
+				if (this.state.dataUpload.files && this.state.dataUpload.files.length > 0) {
+					this.state.dataUpload.files.forEach((e) => {
+						formdata.append("dokumen", e);
+					});
+				}
+				if (this.state.dataUpload.filesTandaTerimaSS && this.state.dataUpload.filesTandaTerimaSS.length > 0) {
+					this.state.dataUpload.filesTandaTerimaSS.forEach((e) => {
+						formdata.append("dokumen_terima_sanksi", e);
+					});
+				}
+	
+				const sanksi = await createSanksi(token, id, formdata, _csrf)
+	
+				toast.update(toastid, { render: "Berhasil membuat sanksi", type: "success", isLoading: false, autoClose: true, closeButton: true });
+				return sanksi
+			}
+	
+			catch (error) {
+				toast.update(toastid, { render: error.response.data.message || error.message, type: "error", isLoading: false, autoClose: true, closeButton: true });
+				return null
 			}
-
-			const sanksi = await createSanksi(token, id, formdata, _csrf)
-
-			toast.update(toastid, { render: "Success Updating Local", type: "success", isLoading: false, autoClose: true, closeButton: true });
-			return sanksi
-		}
-
-		catch (error) {
-			toast.update(toastid, { render: error.response.data.message || error.message, type: "error", isLoading: false, autoClose: true, closeButton: true });
-			return null
 		}
+		
 
 	}
 
@@ -201,30 +237,55 @@ class ProsesSanksi extends Component {
 	validation = (activeStep) => {
 		const dataUpload = this.state.dataUpload
 		const dataPelanggaran = this.state.dataPelanggaran
-
-		if (
-			dataUpload?.nomorSanksi === undefined || dataUpload?.nomorSanksi === "" ||
-			dataUpload?.keterangan === undefined || dataUpload?.keterangan === "" ||
-			dataUpload?.awalsanksi === undefined || dataUpload?.awalsanksi === "" ||
-			dataUpload?.listSanksi === undefined || dataUpload?.listSanksi === null ||
-			dataUpload?.files === undefined || dataUpload?.files.length === 0 || dataUpload?.files === null ||
-			dataUpload?.terimaSuratSanksi === undefined || dataUpload?.terimaSuratSanksi === "" ||
-			dataUpload?.tglAkhirKeberatan === undefined || dataUpload?.tglAkhirKeberatan === "" ||
-			dataUpload?.filesTandaTerimaSS === undefined || dataUpload?.filesTandaTerimaSS.length === 0 || dataUpload?.filesTandaTerimaSS === null ||
-			dataPelanggaran?.data === undefined
-		) {
-			swal.fire({
-				title: "Form Wajib Diisi",
-				icon: "error",
-				confirmButtonColor: "#3e3a8e",
-			});
+		if (dataUpload?.tidakPerluTMTCheck === true) {
+			if (
+				dataUpload?.nomorSanksi === undefined || dataUpload?.nomorSanksi === "" ||
+				dataUpload?.keterangan === undefined || dataUpload?.keterangan === "" ||
+				// dataUpload?.awalsanksi === undefined || dataUpload?.awalsanksi === "" ||
+				dataUpload?.listSanksi === undefined || dataUpload?.listSanksi === null ||
+				dataUpload?.files === undefined || dataUpload?.files.length === 0 || dataUpload?.files === null ||
+				dataUpload?.terimaSuratSanksi === undefined || dataUpload?.terimaSuratSanksi === "" ||
+				// dataUpload?.tglAkhirKeberatan === undefined || dataUpload?.tglAkhirKeberatanbe === "" ||
+				dataUpload?.filesTandaTerimaSS === undefined || dataUpload?.filesTandaTerimaSS.length === 0 || dataUpload?.filesTandaTerimaSS === null ||
+				dataPelanggaran?.data === undefined
+			) {
+				swal.fire({
+					title: "Form Wajib Diisi",
+					icon: "error",
+					confirmButtonColor: "#3e3a8e",
+				});
+			} else {
+				this.setState({
+					activeStep: "6"
+				});
+			}
 		} else {
-			this.setState({
-				activeStep: "6"
-			});
+			if (
+				dataUpload?.nomorSanksi === undefined || dataUpload?.nomorSanksi === "" ||
+				dataUpload?.keterangan === undefined || dataUpload?.keterangan === "" ||
+				dataUpload?.awalTMT === undefined || dataUpload?.awalTMT === "" ||
+				dataUpload?.akhirTMT === undefined || dataUpload?.akhirTMT === "" ||
+				dataUpload?.listSanksi === undefined || dataUpload?.listSanksi === null ||
+				dataUpload?.files === undefined || dataUpload?.files.length === 0 || dataUpload?.files === null ||
+				dataUpload?.terimaSuratSanksi === undefined || dataUpload?.terimaSuratSanksi === "" ||
+				dataUpload?.tglAkhirKeberatan === undefined || dataUpload?.tglAkhirKeberatan === "" ||
+				dataUpload?.filesTandaTerimaSS === undefined || dataUpload?.filesTandaTerimaSS.length === 0 || dataUpload?.filesTandaTerimaSS === null ||
+				dataPelanggaran?.data === undefined
+			) {
+				swal.fire({
+					title: "Form Wajib Diisi",
+					icon: "error",
+					confirmButtonColor: "#3e3a8e",
+				});
+			} else {
+				this.setState({
+					activeStep: "6"
+				});
+			}
 		}
 
 
+
 	}
 
 	render() {

+ 1 - 1
pages/app/turun-sanksi/detail.js

@@ -1,7 +1,7 @@
 import React, { Component } from "react";
 import { Row, Col, Card, CardBody, FormGroup, Input, Button, Modal, ModalHeader, ModalBody, ModalFooter, CardHeader, CardTitle } from "reactstrap";
 import ContentWrapper from "@/components/Layout/ContentWrapper";
-import DetailSanksi from "@/components/PerpanjanganSanksi/DetailSanksi";
+import DetailSanksi from "@/components/TurunSanksi/DetailSanksi";
 import Link from "next/link";
 import DetailPT from "@/components/Main/DetailPT";
 import { getOneSanksi } from "@/actions/sanksi";

+ 8 - 3
pages/pt/pencabutan-sanksi/detail.js

@@ -65,6 +65,7 @@ class DetailPencabutanSanksi extends Component {
 			sanksi: {},
 			pt: null,
 			error: null,
+			selectedFile:{},
 		};
 	}
 
@@ -78,15 +79,19 @@ class DetailPencabutanSanksi extends Component {
 		this.setState({ sanksi, pt: sanksi.data.laporan.pt });
 	};
 
-	onDrop = (files) => {
+	onDrop = (selectedFile) => {
 		this.setState({
-			files: files.map((file) =>
+			selectedFile: selectedFile.map((file) =>
 				Object.assign(file, {
 					preview: URL.createObjectURL(file),
 				})
 			),
-			stat: "Added " + files.length + " file(s)",
+			stat: "Added " + selectedFile.length + " file(s)",
 		});
+		const selectFile = this.state.selectedFile
+		this.setState(prevState => ({
+			files: [...prevState.files, ...selectFile]
+		}))
 	};
 
 	uploadFiles = (e) => {

+ 8 - 3
pages/pt/sanksi/dokumen-perbaikan/detail.js

@@ -66,6 +66,7 @@ class DetailPerbaikanDoc extends Component {
 			sanksi: {},
 			keterangan: "",
 			pt: null,
+			selectedFile: {},
 		};
 	}
 
@@ -81,15 +82,19 @@ class DetailPerbaikanDoc extends Component {
 		return nextState.sanksi !== this.state.sanksi;
 	}
 
-	onDrop = (files) => {
+	onDrop = (selectedFile) => {
 		this.setState({
-			files: files.map((file) =>
+			selectedFile: selectedFile.map((file) =>
 				Object.assign(file, {
 					preview: URL.createObjectURL(file),
 				})
 			),
-			stat: "Added " + files.length + " file(s)",
+			stat: "Added " + selectedFile.length + " file(s)",
 		});
+		const selectFile = this.state.selectedFile
+		this.setState(prevState => ({
+			files: [...prevState.files, ...selectFile]
+		}))
 	};
 
 	uploadFiles = (e) => {