|
|
@@ -1,7 +1,7 @@
|
|
|
import React, { Component } from "react";
|
|
|
import ContentWrapper from "@/components/Layout/ContentWrapper";
|
|
|
import { Card, CardBody, CardHeader, CardTitle } from "reactstrap";
|
|
|
-import { getPelaporan } from "@/actions/pelaporan";
|
|
|
+import { getPelaporan, addStatus, removeLaporan, activeLaporan } from "@/actions/pelaporan";
|
|
|
import { updateJadwal } from "@/actions/penjadwalan";
|
|
|
import DetailLaporan from "@/components/Main/DetailLaporan";
|
|
|
import Link from "next/link";
|
|
|
@@ -13,8 +13,6 @@ import listPlugin from "@fullcalendar/list";
|
|
|
import bootstrapPlugin from "@fullcalendar/bootstrap";
|
|
|
import events from "./calendar.events";
|
|
|
import Select from "react-select";
|
|
|
-import { addStatus } from "@/actions/pelaporan";
|
|
|
-import { getPT } from "@/actions/PT";
|
|
|
import moment from "moment";
|
|
|
|
|
|
const status = [
|
|
|
@@ -60,8 +58,9 @@ class Calendar extends Component {
|
|
|
},
|
|
|
});
|
|
|
|
|
|
- const dataLaporan = await getPelaporan({ penjadwalan: true });
|
|
|
+ const dataLaporan = await getPelaporan({ penjadwalan: true, active: true });
|
|
|
const laporan = await getPelaporan({ number: this.props.query.number, ptId: this.props.query.ptId });
|
|
|
+
|
|
|
this.setState({ dataLaporan });
|
|
|
this.getDataEvent();
|
|
|
await this.defaultStatus(laporan.data[0]);
|
|
|
@@ -71,8 +70,7 @@ class Calendar extends Component {
|
|
|
if (laporan.data[0].penjadwalan) {
|
|
|
color = laporan.data[0].penjadwalan.background_color;
|
|
|
}
|
|
|
- const pt = await getPT({ id: laporan.data[0].pt_id });
|
|
|
- this.setState({ externalEvents: [{ id: this.props.query.number, color, name: `Jadwal Pemeriksaan - No.Laporan : ${this.props.query.number} - ${pt.data[0].nama}`, allDay: true }] });
|
|
|
+ this.setState({ externalEvents: [{ id: this.props.query.number, color, name: `Jadwal Pemeriksaan - No.Laporan : ${this.props.query.number} - ${laporan.data[0].pt.nama}`, allDay: true }] });
|
|
|
}
|
|
|
|
|
|
getDataEvent = () => {
|
|
|
@@ -135,6 +133,11 @@ class Calendar extends Component {
|
|
|
const { ptId, number } = this.props.query;
|
|
|
this.setState({ selectedOption });
|
|
|
await addStatus({ number, ptId }, { status: selectedOption.value });
|
|
|
+ if (selectedOption.value === "Ditutup") {
|
|
|
+ await removeLaporan({ number, ptId });
|
|
|
+ } else if (!this.state.laporan.data[0].active) {
|
|
|
+ await activeLaporan({ number, ptId });
|
|
|
+ }
|
|
|
};
|
|
|
|
|
|
render() {
|
|
|
@@ -172,52 +175,54 @@ class Calendar extends Component {
|
|
|
{selectedOption?.value === "Ditutup" ? (
|
|
|
""
|
|
|
) : (
|
|
|
- <Card className="card-default" title="">
|
|
|
- <CardHeader>
|
|
|
- <CardTitle tag="h4">Daftar Pemeriksaan</CardTitle>
|
|
|
- </CardHeader>
|
|
|
- <CardBody>
|
|
|
- <div className="external-events" ref="externalEventsList">
|
|
|
- {externalEvents.map((ev) => (
|
|
|
- <div
|
|
|
- className="fce-event"
|
|
|
- style={{
|
|
|
- backgroundColor: ev.color,
|
|
|
- }}
|
|
|
- key={ev.name + ev.color}
|
|
|
- data-id={ev.id}
|
|
|
- >
|
|
|
- {ev.name}
|
|
|
- </div>
|
|
|
- ))}
|
|
|
- </div>
|
|
|
- </CardBody>
|
|
|
- </Card>
|
|
|
- )}
|
|
|
- {laporan.data && laporan.data[0].penjadwalan && (
|
|
|
- <Card className="card-default">
|
|
|
- <CardHeader>
|
|
|
- <CardTitle tag="h4">Jadwal Pemeriksaan</CardTitle>
|
|
|
- </CardHeader>
|
|
|
- <CardBody>
|
|
|
- <table className="table">
|
|
|
- <tbody>
|
|
|
- <tr>
|
|
|
- <td>Judul</td>
|
|
|
- <td>{laporan.data[0].penjadwalan.title}</td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <td>Waktu</td>
|
|
|
- <td>{`${moment(laporan.data[0].penjadwalan.from_date).format("DD MMMM YYYY")} ${
|
|
|
- moment(laporan.data[0].penjadwalan.from_date).format("DD MMMM YYYY") === moment(laporan.data[0].penjadwalan.to_date).format("DD MMMM YYYY")
|
|
|
- ? ""
|
|
|
- : `- ${moment(laporan.data[0].penjadwalan.to_date).add(-1, "d").format("DD MMMM YYYY")}`
|
|
|
- }`}</td>
|
|
|
- </tr>
|
|
|
- </tbody>
|
|
|
- </table>
|
|
|
- </CardBody>
|
|
|
- </Card>
|
|
|
+ <>
|
|
|
+ <Card className="card-default" title="">
|
|
|
+ <CardHeader>
|
|
|
+ <CardTitle tag="h4">Daftar Pemeriksaan</CardTitle>
|
|
|
+ </CardHeader>
|
|
|
+ <CardBody>
|
|
|
+ <div className="external-events" ref="externalEventsList">
|
|
|
+ {externalEvents.map((ev) => (
|
|
|
+ <div
|
|
|
+ className="fce-event"
|
|
|
+ style={{
|
|
|
+ backgroundColor: ev.color,
|
|
|
+ }}
|
|
|
+ key={ev.name + ev.color}
|
|
|
+ data-id={ev.id}
|
|
|
+ >
|
|
|
+ {ev.name}
|
|
|
+ </div>
|
|
|
+ ))}
|
|
|
+ </div>
|
|
|
+ </CardBody>
|
|
|
+ </Card>
|
|
|
+ {laporan.data && laporan.data[0].penjadwalan && (
|
|
|
+ <Card className="card-default">
|
|
|
+ <CardHeader>
|
|
|
+ <CardTitle tag="h4">Jadwal Pemeriksaan</CardTitle>
|
|
|
+ </CardHeader>
|
|
|
+ <CardBody>
|
|
|
+ <table className="table">
|
|
|
+ <tbody>
|
|
|
+ <tr>
|
|
|
+ <td>Judul</td>
|
|
|
+ <td>{laporan.data[0].penjadwalan.title}</td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <td>Waktu</td>
|
|
|
+ <td>{`${moment(laporan.data[0].penjadwalan.from_date).format("DD MMMM YYYY")} ${
|
|
|
+ moment(laporan.data[0].penjadwalan.from_date).format("DD MMMM YYYY") === moment(laporan.data[0].penjadwalan.to_date).format("DD MMMM YYYY")
|
|
|
+ ? ""
|
|
|
+ : `- ${moment(laporan.data[0].penjadwalan.to_date).add(-1, "d").format("DD MMMM YYYY")}`
|
|
|
+ }`}</td>
|
|
|
+ </tr>
|
|
|
+ </tbody>
|
|
|
+ </table>
|
|
|
+ </CardBody>
|
|
|
+ </Card>
|
|
|
+ )}
|
|
|
+ </>
|
|
|
)}
|
|
|
<div className="mb-3">
|
|
|
{selectedEvent && (
|