Ver Fonte

Upload file dropzone harus bisa beda folder
Bagian tanggal berita acara pleno di menu BA diisi manual saja
Pada menu perubahan sanksi, 'TMT Berlaku' ganti diksinya menjadi 'Sanksi Berupa’

andi há 2 anos atrás
pai
commit
92d8c544d5

+ 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) => {