detail.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. import React, { Component } from "react";
  2. import Header from "@/components/Main/Header";
  3. import DetailPT from "@/components/Main/DetailPT";
  4. import { getPelaporan } from "@/actions/pelaporan";
  5. import DetailLaporan from "@/components/Main/DetailLaporan";
  6. import Link from "next/link";
  7. import ContentWrapper from "@/components/Layout/ContentWrapper";
  8. import { Row, Col, Card, CardBody } from "reactstrap";
  9. class DetailPelaporan extends Component {
  10. constructor(props) {
  11. super(props);
  12. this.state = {
  13. pelaporan: {},
  14. };
  15. }
  16. static getInitialProps = async ({ query }) => {
  17. return { query };
  18. };
  19. componentDidMount = async () => {
  20. const { query } = this.props;
  21. const pelaporan = await getPelaporan({ ptId: query.ptId, number: query.number });
  22. this.setState({ pelaporan });
  23. };
  24. render() {
  25. const { pelaporan } = this.state;
  26. return (
  27. <ContentWrapper unwrap>
  28. {/* <Header /> */}
  29. <div className="p-3">
  30. <div className="content-heading">
  31. <div>Detail Pelaporan</div>
  32. <div className="ml-auto">
  33. <Link href="/app/pelaporan">
  34. <button className="btn btn-sm btn-secondary text-sm">&lt; back</button>
  35. </Link>
  36. </div>
  37. </div>
  38. <Row>
  39. <Col xl="9">
  40. <Card className="card-default">
  41. <CardBody>
  42. <Row>
  43. <Col lg={12}>{pelaporan.data && <DetailLaporan data={pelaporan.data[0]} />}</Col>
  44. </Row>
  45. </CardBody>
  46. </Card>
  47. </Col>
  48. <Col xl="3">{pelaporan.data && <DetailPT data={pelaporan.data[0].pt} />}</Col>
  49. </Row>
  50. </div>
  51. </ContentWrapper>
  52. );
  53. }
  54. }
  55. export default DetailPelaporan;