|  | @@ -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 && (
 |