|
|
@@ -12,6 +12,7 @@ import { addJawabanKeberatan } from "@/actions/keberatan";
|
|
|
import ContentWrapper from "@/components/Layout/ContentWrapper";
|
|
|
import { Row, Col, Card, CardBody, FormGroup, Input, Button, Modal, ModalHeader, ModalBody, ModalFooter } from "reactstrap";
|
|
|
import { getPT } from "@/actions/PT";
|
|
|
+import Loader from "@/components/Common/Loader";
|
|
|
|
|
|
let Dropzone = null;
|
|
|
class DropzoneWrapper extends Component {
|
|
|
@@ -111,8 +112,6 @@ class DetailKeberatan extends Component {
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
};
|
|
|
|
|
|
render() {
|
|
|
@@ -137,85 +136,97 @@ class DetailKeberatan extends Component {
|
|
|
</div>
|
|
|
</div>
|
|
|
<Row>
|
|
|
- <Col xl="9">
|
|
|
- <Card className="card-default">
|
|
|
- <CardBody>
|
|
|
- <Row>
|
|
|
- <Col lg={12}>{sanksi.data && sanksi.data.length && <DetailSanksi data={sanksi.data[0]} />}</Col>
|
|
|
- </Row>
|
|
|
- <Row>
|
|
|
- <Col lg={12}>{sanksi.data && sanksi.data.length && <PermohonanPT data={sanksi.data[0].sanksi.keberatan} title="Permohonan Keberatan" />}</Col>
|
|
|
- </Row>
|
|
|
- <Row>
|
|
|
- <Col lg={12}>
|
|
|
- <p className="lead bb">Jawaban</p>
|
|
|
- <form className="form-horizontal" method="get" action="/" onSubmit={this.onSubmit}>
|
|
|
- <FormGroup>
|
|
|
- <label className="row-form-label">Status:</label>
|
|
|
- <div className="row-md-10">
|
|
|
- <Select
|
|
|
- instanceId={selectInstanceId + 1}
|
|
|
- value={this.state.selectedOption}
|
|
|
- onChange={this.handleChangeSelect}
|
|
|
- options={[
|
|
|
- { value: "Menolak", label: "Menolak", className: "State-ACT" },
|
|
|
- { value: "Mengubah Keputusan", label: "Mengubah Keputusan", className: "State-ACT" },
|
|
|
- { value: "Membatalkan Keputusan", label: "Membatalkan Keputusan", className: "State-ACT" },
|
|
|
- ]}
|
|
|
- required
|
|
|
- />
|
|
|
- {/* <span className="form-text">Pilih Jenis Pelanggaran</span> */}
|
|
|
- </div>
|
|
|
- </FormGroup>
|
|
|
- <FormGroup>
|
|
|
- <label className="row-form-label">Keterangan Jawaban:</label>
|
|
|
- <div className="row-md-10">
|
|
|
- <Input type="textarea" value={this.state.keterangan} onChange={(e) => this.setState({ keterangan: e.target.value })} required />
|
|
|
- {/* <span className="form-text">Deskripsi pelaporan minimum karakter 50 maksimum 200 karakter</span> */}
|
|
|
- </div>
|
|
|
- </FormGroup>
|
|
|
- <FormGroup>
|
|
|
- <label className="row-form-label">Dokumen Jawaban:</label>
|
|
|
- <div className="row-md-10">
|
|
|
- <DropzoneWrapper className="" onDrop={this.onDrop}>
|
|
|
- {({ getRootProps, getInputProps, isDragActive }) => {
|
|
|
- return (
|
|
|
- <div {...getRootProps()} className={"dropzone card p-3 " + (isDragActive ? "dropzone-drag-active" : "")}>
|
|
|
- <input {...getInputProps()} />
|
|
|
- <div className="dropzone-previews flex">
|
|
|
- {this.state.files.length > 0 ? <Row>{thumbs}</Row> : <div className="text-center dz-default dz-message">Drop files here to upload</div>}
|
|
|
- </div>
|
|
|
- <div className="d-flex align-items-center">
|
|
|
- <small className="ml-auto">
|
|
|
- <button type="button" className="btn btn-link" onClick={this.clearFiles}>
|
|
|
- Clear files
|
|
|
- </button>
|
|
|
- </small>
|
|
|
+ {sanksi.data && sanksi.data.length ? (
|
|
|
+ <Col xl="9">
|
|
|
+ <Card className="card-default">
|
|
|
+ <CardBody>
|
|
|
+ <Row>
|
|
|
+ <Col lg={12}>
|
|
|
+ <DetailSanksi data={sanksi.data[0]} />
|
|
|
+ </Col>
|
|
|
+ </Row>
|
|
|
+ <Row>
|
|
|
+ <Col lg={12}>
|
|
|
+ <PermohonanPT data={sanksi.data[0].sanksi.keberatan} title="Permohonan Keberatan" />
|
|
|
+ </Col>
|
|
|
+ </Row>
|
|
|
+ <Row>
|
|
|
+ <Col lg={12}>
|
|
|
+ <p className="lead bb">Jawaban</p>
|
|
|
+ <form className="form-horizontal" method="get" action="/" onSubmit={this.onSubmit}>
|
|
|
+ <FormGroup>
|
|
|
+ <label className="row-form-label">Status:</label>
|
|
|
+ <div className="row-md-10">
|
|
|
+ <Select
|
|
|
+ instanceId={selectInstanceId + 1}
|
|
|
+ value={this.state.selectedOption}
|
|
|
+ onChange={this.handleChangeSelect}
|
|
|
+ options={[
|
|
|
+ { value: "Menolak", label: "Menolak", className: "State-ACT" },
|
|
|
+ { value: "Mengubah Keputusan", label: "Mengubah Keputusan", className: "State-ACT" },
|
|
|
+ { value: "Membatalkan Keputusan", label: "Membatalkan Keputusan", className: "State-ACT" },
|
|
|
+ ]}
|
|
|
+ required
|
|
|
+ />
|
|
|
+ {/* <span className="form-text">Pilih Jenis Pelanggaran</span> */}
|
|
|
+ </div>
|
|
|
+ </FormGroup>
|
|
|
+ <FormGroup>
|
|
|
+ <label className="row-form-label">Keterangan Jawaban:</label>
|
|
|
+ <div className="row-md-10">
|
|
|
+ <Input type="textarea" value={this.state.keterangan} onChange={(e) => this.setState({ keterangan: e.target.value })} required />
|
|
|
+ {/* <span className="form-text">Deskripsi pelaporan minimum karakter 50 maksimum 200 karakter</span> */}
|
|
|
+ </div>
|
|
|
+ </FormGroup>
|
|
|
+ <FormGroup>
|
|
|
+ <label className="row-form-label">Dokumen Jawaban:</label>
|
|
|
+ <div className="row-md-10">
|
|
|
+ <DropzoneWrapper className="" onDrop={this.onDrop}>
|
|
|
+ {({ getRootProps, getInputProps, isDragActive }) => {
|
|
|
+ return (
|
|
|
+ <div {...getRootProps()} className={"dropzone card p-3 " + (isDragActive ? "dropzone-drag-active" : "")}>
|
|
|
+ <input {...getInputProps()} />
|
|
|
+ <div className="dropzone-previews flex">
|
|
|
+ {this.state.files.length > 0 ? <Row>{thumbs}</Row> : <div className="text-center dz-default dz-message">Drop files here to upload</div>}
|
|
|
+ </div>
|
|
|
+ <div className="d-flex align-items-center">
|
|
|
+ <small className="ml-auto">
|
|
|
+ <button type="button" className="btn btn-link" onClick={this.clearFiles}>
|
|
|
+ Clear files
|
|
|
+ </button>
|
|
|
+ </small>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
- );
|
|
|
- }}
|
|
|
- </DropzoneWrapper>
|
|
|
- </div>
|
|
|
- </FormGroup>
|
|
|
- {/* <FormGroup>
|
|
|
+ );
|
|
|
+ }}
|
|
|
+ </DropzoneWrapper>
|
|
|
+ </div>
|
|
|
+ </FormGroup>
|
|
|
+ {/* <FormGroup>
|
|
|
<div className="row-xl-10"> */}
|
|
|
- <Button color="primary" onClick={sanksi.data && sanksi.data.length && sanksi.data[0].sanksi.keberatan.jawaban ? this.toggleModal : this.handelSimpan}>
|
|
|
- Simpan
|
|
|
- </Button>
|
|
|
- {/* </div>
|
|
|
+ <Button color="primary" onClick={sanksi.data && sanksi.data.length && sanksi.data[0].sanksi.keberatan.jawaban ? this.toggleModal : this.handelSimpan}>
|
|
|
+ Simpan
|
|
|
+ </Button>
|
|
|
+ {/* </div>
|
|
|
</FormGroup> */}
|
|
|
- </form>
|
|
|
- </Col>
|
|
|
- </Row>
|
|
|
- </CardBody>
|
|
|
- </Card>
|
|
|
- </Col>
|
|
|
- <Col xl="3">{pt?.data && <DetailPT data={pt.data[0]} />}</Col>
|
|
|
- </Row>
|
|
|
- <Row>
|
|
|
- <Col>{sanksi.data && sanksi.data.length && <Riwayat data={sanksi.data[0].sanksi.keberatan.jawaban} />}</Col>
|
|
|
+ </form>
|
|
|
+ </Col>
|
|
|
+ </Row>
|
|
|
+ </CardBody>
|
|
|
+ </Card>
|
|
|
+ </Col>
|
|
|
+ ) : (
|
|
|
+ <Loader />
|
|
|
+ )}
|
|
|
+ <Col xl="3">{pt?.data ? <DetailPT data={pt.data[0]} /> : <Loader />}</Col>
|
|
|
</Row>
|
|
|
+ {sanksi.data && sanksi.data.length && (
|
|
|
+ <Row>
|
|
|
+ <Col>
|
|
|
+ <Riwayat data={sanksi.data[0].sanksi.keberatan.jawaban} />
|
|
|
+ </Col>
|
|
|
+ </Row>
|
|
|
+ )}
|
|
|
</div>
|
|
|
<Modal isOpen={this.state.modal} toggle={this.toggleModal}>
|
|
|
<ModalBody>Apakah anda yakin ingin mengubah jawaban sebelumnya?</ModalBody>
|