| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169 | import React, { Component } from "react";import Router from "next/router";import ContentWrapper from "@/components/Layout/ContentWrapper";import { Row, Col, Progress } from "reactstrap";import { getPelaporan } from "../../../actions/pelaporan";import Sparkline from "@/components/Common/Sparklines";import Datatable from "@/components/Tables/Datatable";import moment from "moment";class Pelaporan extends Component {	constructor(props) {		super(props);	}	static getInitialProps = async () => {		const pelaporan = await getPelaporan();		return { pelaporan };	};	newReportClick = (e) => {		e.preventDefault();		Router.push({			pathname: "/app/pelaporan/search",		});	};	render() {		const { pelaporan } = this.props;		return (			<ContentWrapper>				<div className="content-heading">Pelaporan</div>				<Row>					<Col lg="4">						<div className="card b">							<div className="card-body bb">								<p>Overvall progress</p>								<div className="d-flex align-items-center mb-2">									<div className="w-100">										<Progress className="progress-xs m0" color="info" value={20} />									</div>									<div className="ml-auto">										<div className="col wd-xxs text-right">											<div className="text-bold text-muted">20%</div>										</div>									</div>								</div>							</div>							<div className="card-body">								<p>Metrics</p>								<div className="row text-center">									<div className="col-6 col-lg-6 col-xl-6">										<Sparkline											values={[20, 80]}											options={{												type: "pie",												height: "50",												sliceColors: ["#edf1f2", "#23b7e5"],											}}											className="sparkline"										/>										<p className="mt-3">Open Case</p>									</div>									<div className="col-6 col-lg-6 col-xl-6">										<Sparkline											values={[80, 20]}											options={{												type: "pie",												height: "50",												sliceColors: ["#edf1f2", "#27c24c"],											}}											className="sparkline"										/>										<p className="mt-3">Close Case</p>									</div>								</div>							</div>							<table className="table bb">								<tbody>									<tr>										<td>											<strong>Open Case</strong>										</td>										<td>80</td>									</tr>									<tr>										<td>											<strong>Close Case</strong>										</td>										<td>20</td>									</tr>									<tr>										<td>											<strong>Performance</strong>										</td>										<td>											<em className="far fa-smile fa-lg text-warning"></em>										</td>									</tr>									<tr>										<td>											<strong>Last Case Closed</strong>										</td>										<td>BI:1107 - 12/01/2016</td>									</tr>								</tbody>							</table>						</div>					</Col>					<Col lg="8">						<div className="mb-3 d-flex">							<div>								<button className="btn btn-sm btn-info" type="button" onClick={(e) => this.newReportClick(e)}>									Laporan Baru								</button>							</div>						</div>						<div className="card b">							<div className="card-body">								<Datatable options={{ responsive: true }}>									<table className="table w-100">										<thead>											<tr>												<th>#ID</th>												<th>Description</th>												<th>Created</th>												<th>Status</th>											</tr>										</thead>										<tbody>											{pelaporan.data.map((value) => {												return (													<tr key={value._id}>														<td>BI:{value._number}</td>														<td className="text-nowrap">															<div className="media align-items-center">																<a className="mr-3" href="">																	<img className="img-fluid rounded thumb64" src="/static/img/dummy-search.png" alt="Dummy" />																</a>																<div className="media-body d-flex">																	<div>																		<h4 className="m-0">Universitas Satyagama</h4>																		<small className="text-muted">0742/O/1990 - www.satyagama.ac.id - info@satyagama.ac.id</small>																		<p>Jalan Kamal Raya No 2-A Cengkareng</p>																		<p> </p>																	</div>																</div>															</div>														</td>														<td>{moment(value.createdAt).fromNow()}</td>														<td>															<div className="inline wd-xxs badge badge-success">open</div>														</td>													</tr>												);											})}										</tbody>									</table>								</Datatable>							</div>						</div>					</Col>				</Row>			</ContentWrapper>		);	}}export default Pelaporan;
 |