Browse Source

CaseProgress, unduh di kasih opsi permenu atau semua menu

andi 2 years ago
parent
commit
4cf305064f

+ 3 - 2
components/Delegasi/CaseProgress.js

@@ -7,6 +7,7 @@ import FlotChart from "@/components/Charts/Flot.js";
 import { ChartSpline, ChartArea, ChartBarStacked, ChartDonut, ChartLine } from "@/components/Config/flot.setup.js";
 import Datatable from "@/components/Tables/Datatable";
 import MorrisChart from "@/components/Charts//Morris";
+import Dropdown from 'react-bootstrap/Dropdown';
 
 function CaseProgress({ data, nextButton, prevButton, tahun, excel }) {
 	const ChartPie = {
@@ -116,9 +117,9 @@ function CaseProgress({ data, nextButton, prevButton, tahun, excel }) {
 						<img src="/static/img/next.png"></img>
 					</Button>
 					<b className="text-tahun">Tahun {tahun} </b>
-					<Button className="float-right button-hidden icon-eksport" type="submit" onClick={excel}>
+					{/* <Button className="float-right button-hidden icon-eksport" type="submit" onClick={excel}>
 						<img src="/static/img/eksport.png"></img>
-					</Button>
+					</Button> */}
 				</div>
 				<div className="header-1">
 					<h2 className="card-title-1">Perkembangan</h2>

+ 13 - 3
components/Pelaporan/CaseProgress.js

@@ -5,8 +5,9 @@ import FlotChart from "@/components/Charts/Flot.js";
 import { ChartSpline, ChartArea, ChartBar, ChartBarStacked, ChartDonut, ChartLine, ChartPie } from "@/components/Config/flot.setup.js";
 import Datatable from "@/components/Tables/Datatable";
 import { useState, useEffect } from "react";
+import Dropdown from 'react-bootstrap/Dropdown';
 
-function CaseProgress({ data, nextButton, prevButton, tahun, newLaporan, excel }) {
+function CaseProgress({ data, nextButton, prevButton, tahun, newLaporan, excelSemua, excelMenu }) {
 	const laporan_pertahun = data.laporan_perTahun;
 
 	const [chartData, setChartData] = useState([
@@ -117,9 +118,18 @@ function CaseProgress({ data, nextButton, prevButton, tahun, newLaporan, excel }
 						<img src="/static/img/next.png"></img>
 					</Button>
 					<b className="text-tahun">Tahun {tahun} </b>
-					<Button className="float-right button-hidden icon-eksport" onClick={excel}>
+					<Dropdown className="float-right">
+						<Dropdown.Toggle variant="success" id="dropdown-basic">
+							Unduh
+						</Dropdown.Toggle>
+						<Dropdown.Menu>
+							<Dropdown.Item onClick={excelMenu}>Unduh dokumen pelaporan</Dropdown.Item>
+							<Dropdown.Item onClick={excelSemua}>Unduh dokumen semua menu</Dropdown.Item>
+						</Dropdown.Menu>
+					</Dropdown>
+					{/* <Button className="float-right button-hidden icon-eksport" onClick={excel}>
 						<img src="/static/img/eksport.png"></img>
-					</Button>
+					</Button> */}
 				</div>
 				<div className="header-1">
 					<h2 className="card-title-1">Perkembangan</h2>

+ 11 - 4
components/PelaporanTuntas/CaseProgress.js

@@ -7,8 +7,9 @@ import { ChartSpline, ChartArea, ChartBarStacked, ChartDonut, ChartLine } from "
 import Datatable from "@/components/Tables/Datatable";
 import MorrisChart from "@/components/Charts//Morris";
 import { Button } from "reactstrap";
+import Dropdown from 'react-bootstrap/Dropdown';
 
-function CaseProgress({ data, nextButton, prevButton, tahun, excel }) {
+function CaseProgress({ data, nextButton, prevButton, tahun, excelSemua, excelMenu }) {
 	const ChartBar = {
 		data: [
 			{
@@ -106,9 +107,15 @@ function CaseProgress({ data, nextButton, prevButton, tahun, excel }) {
 						<img src="/static/img/next.png"></img>
 					</Button>
 					<b className="text-tahun">Tahun {tahun} </b>
-					<Button className="float-right button-hidden icon-eksport" onClick={excel}>
-						<img src="/static/img/eksport.png"></img>
-					</Button>
+					<Dropdown className="float-right">
+						<Dropdown.Toggle variant="success" id="dropdown-basic">
+							Unduh
+						</Dropdown.Toggle>
+						<Dropdown.Menu>
+							<Dropdown.Item onClick={excelMenu}>Unduh dokumen sanksi</Dropdown.Item>
+							<Dropdown.Item onClick={excelSemua}>Unduh dokumen semua menu</Dropdown.Item>
+						</Dropdown.Menu>
+					</Dropdown>
 				</div>
 				<div className="header-1">
 					<h2 className="card-title-1">Perkembangan</h2>

+ 11 - 4
components/Pemeriksaan/CaseProgress.js

@@ -7,8 +7,9 @@ import { ChartSpline, ChartArea, ChartBarStacked, ChartDonut, ChartLine } from "
 import Datatable from "@/components/Tables/Datatable";
 import MorrisChart from "@/components/Charts//Morris";
 import { Button } from "reactstrap";
+import Dropdown from 'react-bootstrap/Dropdown';
 
-function CaseProgress({ data, nextButton, prevButton, tahun, excel }) {
+function CaseProgress({ data, nextButton, prevButton, tahun, excelSemua, excelMenu }) {
 	const ChartBar = {
 		data: [
 			{
@@ -106,9 +107,15 @@ function CaseProgress({ data, nextButton, prevButton, tahun, excel }) {
 						<img src="/static/img/next.png"></img>
 					</Button>
 					<b className="text-tahun">Tahun {tahun} </b>
-					<Button className="float-right button-hidden icon-eksport" onClick={excel}>
-						<img src="/static/img/eksport.png"></img>
-					</Button>
+					<Dropdown className="float-right">
+						<Dropdown.Toggle variant="success" id="dropdown-basic">
+							Unduh
+						</Dropdown.Toggle>
+						<Dropdown.Menu>
+							<Dropdown.Item onClick={excelMenu}>Unduh dokumen pemeriksaan</Dropdown.Item>
+							<Dropdown.Item onClick={excelSemua}>Unduh dokumen semua menu</Dropdown.Item>
+						</Dropdown.Menu>
+					</Dropdown>
 				</div>
 				<div className="header-1">
 					<h2 className="card-title-1">Perkembangan</h2>

+ 12 - 4
components/Penjadwalan/CaseProgress.js

@@ -7,8 +7,9 @@ import { ChartSpline, ChartArea, ChartBarStacked, ChartDonut, ChartLine } from "
 import Datatable from "@/components/Tables/Datatable";
 import MorrisChart from "@/components/Charts//Morris";
 import { Button } from "reactstrap";
+import Dropdown from 'react-bootstrap/Dropdown';
 
-function CaseProgress({ data, nextButton, prevButton, tahun, excel }) {
+function CaseProgress({ data, nextButton, prevButton, tahun, excelSemua, excelMenu }) {
 	const Perkembangan = {
 		data: [
 			{
@@ -106,9 +107,16 @@ function CaseProgress({ data, nextButton, prevButton, tahun, excel }) {
 						<img src="/static/img/next.png"></img>
 					</Button>
 					<b className="text-tahun">Tahun {tahun} </b>
-					<Button className="float-right button-hidden icon-eksport" onClick={excel}>
-						<img src="/static/img/eksport.png"></img>
-					</Button>
+					<b className="text-tahun">Tahun {tahun} </b>
+					<Dropdown className="float-right">
+						<Dropdown.Toggle variant="success" id="dropdown-basic">
+							Unduh
+						</Dropdown.Toggle>
+						<Dropdown.Menu>
+							<Dropdown.Item onClick={excelMenu}>Unduh dokumen penjadwalan</Dropdown.Item>
+							<Dropdown.Item onClick={excelSemua}>Unduh dokumen semua menu</Dropdown.Item>
+						</Dropdown.Menu>
+					</Dropdown>
 				</div>
 				<div className="header-1">
 					<h2 className="card-title-1">Perkembangan</h2>

+ 11 - 4
components/Sanksi/CaseProgress.js

@@ -7,8 +7,9 @@ import { ChartSpline, ChartArea, ChartBarStacked, ChartDonut, ChartLine } from "
 import Datatable from "@/components/Tables/Datatable";
 import MorrisChart from "@/components/Charts//Morris";
 import { Button } from "reactstrap";
+import Dropdown from 'react-bootstrap/Dropdown';
 
-function CaseProgress({ data, nextButton, prevButton, tahun, excel }) {
+function CaseProgress({ data, nextButton, prevButton, tahun, excelSemua, excelMenu }) {
 	const ChartBar = {
 		data: [
 			{
@@ -105,9 +106,15 @@ function CaseProgress({ data, nextButton, prevButton, tahun, excel }) {
 						<img src="/static/img/next.png"></img>
 					</Button>
 					<b className="text-tahun">Tahun {tahun} </b>
-					<Button className="float-right button-hidden icon-eksport" onClick={excel}>
-						<img src="/static/img/eksport.png"></img>
-					</Button>
+					<Dropdown className="float-right">
+						<Dropdown.Toggle variant="success" id="dropdown-basic">
+							Unduh
+						</Dropdown.Toggle>
+						<Dropdown.Menu>
+							<Dropdown.Item onClick={excelMenu}>Unduh dokumen sanksi</Dropdown.Item>
+							<Dropdown.Item onClick={excelSemua}>Unduh dokumen semua menu</Dropdown.Item>
+						</Dropdown.Menu>
+					</Dropdown>
 				</div>
 				<div className="header-1">
 					<h2 className="card-title-1">Perkembangan</h2>

+ 21 - 3
pages/app/pelaporan/index.js

@@ -58,14 +58,32 @@ class Pelaporan extends Component {
 	shouldComponentUpdate = (prevProps, prevState) => {
 		if (prevState.graph !== this.state.graph) return true;
 	};
-
-	excel = () => {
+	excelMenu = () => {
 		const url = getExcel(this.props.token, "Laporan", {
 			tahun: this.state.tahun,
 			pelaporan: true,
 		});
 		Router.push(url);
 	};
+	excelSemua = () => {
+		const url = getExcel(this.props.token, "Laporan", {
+			tahun: this.state.tahun,
+			pelaporan: true,
+			penjadwalan: true,
+			pemeriksaan: true,
+			sanksi: true,
+
+		});
+		Router.push(url);
+	};
+
+	// excel = () => {
+	// 	const url = getExcel(this.props.token, "Laporan", {
+	// 		tahun: this.state.tahun,
+	// 		pelaporan: true,
+	// 	});
+	// 	Router.push(url);
+	// };
 
 	render() {
 		const { pelaporan, graph, newLaporan } = this.state;
@@ -82,7 +100,7 @@ class Pelaporan extends Component {
 					</Link>
 				</div>
 				<Row>
-					<Col lg="4">{graph?.data ? <CaseProgress data={graph.data} nextButton={this.nextButton} prevButton={this.prevButton} tahun={this.state.tahun} newLaporan={newLaporan} excel={this.excel} /> : <Loader />}</Col>
+					<Col lg="4">{graph?.data ? <CaseProgress data={graph.data} nextButton={this.nextButton} prevButton={this.prevButton} tahun={this.state.tahun} newLaporan={newLaporan} excelMenu={this.excelMenu} excelSemua={this.excelSemua} /> : <Loader />}</Col>
 					<Col lg="8">{pelaporan?.data ? <TableLaporan listData={pelaporan.data} to="/app/pelaporan/detail" linkName="Detail" /> : <Loader />}</Col>
 				</Row>
 			</ContentWrapper>

+ 18 - 1
pages/app/pemeriksaan/index.js

@@ -43,7 +43,24 @@ class Pemeriksaan extends Component {
 	shouldComponentUpdate = (prevProps, prevState) => {
 		if (prevState.graph !== this.state.graph) return true;
 	};
+	excelMenu = () => {
+		const url = getExcel(this.props.token, "Laporan", {
+			tahun: this.state.tahun,
+			pemeriksaan: true,
+		});
+		Router.push(url);
+	};
+	excelSemua = () => {
+		const url = getExcel(this.props.token, "Laporan", {
+			tahun: this.state.tahun,
+			pelaporan: true,
+			penjadwalan: true,
+			pemeriksaan: true,
+			sanksi: true,
 
+		});
+		Router.push(url);
+	};
 	excel = () => {
 		const url = getExcel(this.props.token, "Laporan", { tahun: this.state.tahun });
 		Router.push(url);
@@ -74,7 +91,7 @@ class Pemeriksaan extends Component {
 					</div>
 				</div>
 				<Row>
-					<Col lg="4">{graph?.data ? <CaseProgress data={graph.data} nextButton={this.nextButton} prevButton={this.prevButton} tahun={this.state.tahun} excel={this.excel} /> : <Loader />}</Col>
+					<Col lg="4">{graph?.data ? <CaseProgress data={graph.data} nextButton={this.nextButton} prevButton={this.prevButton} tahun={this.state.tahun} excel={this.excel} excelMenu={this.excelMenu} excelSemua={this.excelSemua} /> : <Loader />}</Col>
 					<Col lg="8">{pelaporan?.data ? <TableLaporan status noBy listData={pelaporan.data} to="/app/pemeriksaan/new" linkName="Evaluasi" /> : <Loader />}</Col>
 				</Row>
 			</ContentWrapper>

+ 19 - 1
pages/app/penjadwalan/index.js

@@ -43,6 +43,24 @@ class Penjadwalan extends Component {
 	shouldComponentUpdate = (prevProps, prevState) => {
 		if (prevState.graph !== this.state.graph) return true;
 	};
+	excelMenu = () => {
+		const url = getExcel(this.props.token, "Laporan", {
+			tahun: this.state.tahun,
+			penjadwalan: true,
+		});
+		Router.push(url);
+	};
+	excelSemua = () => {
+		const url = getExcel(this.props.token, "Laporan", {
+			tahun: this.state.tahun,
+			pelaporan: true,
+			penjadwalan: true,
+			pemeriksaan: true,
+			sanksi: true,
+
+		});
+		Router.push(url);
+	};
 
 	excel = () => {
 		const url = getExcel(this.props.token, "Laporan", { tahun: this.state.tahun });
@@ -74,7 +92,7 @@ class Penjadwalan extends Component {
 					</div>
 				</div>
 				<Row>
-					<Col lg="4">{graph?.data ? <CaseProgress data={graph.data} nextButton={this.nextButton} prevButton={this.prevButton} tahun={this.state.tahun} excel={this.excel} /> : <Loader />}</Col>
+					<Col lg="4">{graph?.data ? <CaseProgress data={graph.data} nextButton={this.nextButton} prevButton={this.prevButton} tahun={this.state.tahun} excel={this.excel} excelMenu={this.excelMenu} excelSemua={this.excelSemua} /> : <Loader />}</Col>
 					<Col lg="8">{pelaporan?.data ? <TableLaporan listData={pelaporan.data} to="/app/penjadwalan/todo" linkName="Atur Jadwal" /> : <Loader />}</Col>
 				</Row>
 			</ContentWrapper>

+ 19 - 1
pages/app/sanksi/index.js

@@ -43,6 +43,24 @@ class Sanksi extends Component {
 	shouldComponentUpdate = (prevProps, prevState) => {
 		if (prevState.graph !== this.state.graph) return true;
 	};
+	excelMenu = () => {
+		const url = getExcel(this.props.token, "Laporan", {
+			tahun: this.state.tahun,
+			sanksi: true,
+		});
+		Router.push(url);
+	};
+	excelSemua = () => {
+		const url = getExcel(this.props.token, "Laporan", {
+			tahun: this.state.tahun,
+			pelaporan: true,
+			penjadwalan: true,
+			pemeriksaan: true,
+			sanksi: true,
+
+		});
+		Router.push(url);
+	};
 
 	excel = () => {
 		const url = getExcel(this.props.token, "Laporan", { tahun: this.state.tahun });
@@ -66,7 +84,7 @@ class Sanksi extends Component {
 					</div>
 				</div>
 				<Row>
-					<Col lg="4">{graph?.data ? <CaseProgress data={graph.data} nextButton={this.nextButton} prevButton={this.prevButton} tahun={this.state.tahun} excel={this.excel} /> : <Loader />}</Col>
+					<Col lg="4">{graph?.data ? <CaseProgress data={graph.data} nextButton={this.nextButton} prevButton={this.prevButton} tahun={this.state.tahun} excel={this.excel} excelMenu={this.excelMenu} excelSemua={this.excelSemua} /> : <Loader />}</Col>
 					<Col lg="8">{pelaporan.data ? <TableLaporan listData={pelaporan.data} /> : <Loader />}</Col>
 				</Row>
 			</ContentWrapper>

+ 25 - 5
pages/app/tuntas/index.js

@@ -2,7 +2,7 @@ import React, { Component } from "react";
 import ContentWrapper from "@/components/Layout/ContentWrapper";
 import { Row, Col } from "reactstrap";
 import { getPelaporan } from "@/actions/pelaporan";
-import { getGraph, getExcel,getlaporanselesai } from "@/actions/graph";
+import { getGraph, getExcel, getlaporanselesai } from "@/actions/graph";
 import CaseProgress from "@/components/PelaporanTuntas/CaseProgress";
 import TableLaporan from "@/components/PelaporanTuntas/TableLaporan";
 import { connect } from "react-redux";
@@ -25,9 +25,11 @@ class PelaporanTuntas extends Component {
     componentDidMount = async () => {
         const { token } = this.props;
         let laporanSelesai = await getlaporanselesai(token);
-        laporanSelesai = {...laporanSelesai, data: {
-            ...laporanSelesai.data, laporan: [...laporanSelesai.data.laporan, ...laporanSelesai.data.sanksi], sanksi: null
-        }}
+        laporanSelesai = {
+            ...laporanSelesai, data: {
+                ...laporanSelesai.data, laporan: [...laporanSelesai.data.laporan, ...laporanSelesai.data.sanksi], sanksi: null
+            }
+        }
         const pelaporan = await getPelaporan(token, { jadwal: true, aktif: false });
         const graph = await getGraph(this.props.token, { evaluasi: true, listJadwal: true, aktif: false });
         this.setState({ pelaporan, graph, laporanSelesai });
@@ -53,6 +55,24 @@ class PelaporanTuntas extends Component {
         const url = getExcel(this.props.token, "Laporan", { tahun: this.state.tahun });
         Router.push(url);
     };
+    excelMenu = () => {
+        const url = getExcel(this.props.token, "Laporan", {
+            tahun: this.state.tahun,
+            pelaporan: true,
+        });
+        Router.push(url);
+    };
+    excelSemua = () => {
+        const url = getExcel(this.props.token, "Laporan", {
+            tahun: this.state.tahun,
+            pelaporan: true,
+            penjadwalan: true,
+            pemeriksaan: true,
+            sanksi: true,
+
+        });
+        Router.push(url);
+    };
 
     render() {
         const { pelaporan, graph, laporanSelesai } = this.state;
@@ -64,7 +84,7 @@ class PelaporanTuntas extends Component {
                     </span>
                 </div>
                 <Row>
-                    <Col lg="4">{laporanSelesai?.data ? <CaseProgress data={laporanSelesai.data} nextButton={this.nextButton} prevButton={this.prevButton} tahun={this.state.tahun} excel={this.excel} /> : <Loader />}</Col>
+                    <Col lg="4">{laporanSelesai?.data ? <CaseProgress data={laporanSelesai.data} nextButton={this.nextButton} prevButton={this.prevButton} tahun={this.state.tahun} excel={this.excel} excelMenu={this.excelMenu} excelSemua={this.excelSemua} /> : <Loader />}</Col>
                     <Col lg="8">{laporanSelesai?.data?.laporan ? <TableLaporan status noBy listData={laporanSelesai.data.laporan} to="/app/tuntas/detail" linkName="Detail" /> : <Loader />}</Col>
                 </Row>
             </ContentWrapper>