pemantauan.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import React, { Component } from "react";
  2. import ContentWrapper from "@/components/Layout/ContentWrapper";
  3. import Header from "@/components/Main/Header";
  4. import DetailPT from "@/components/Main/DetailPT";
  5. import { getLog } from "@/actions/log";
  6. import { getPelaporan } from "@/actions/pelaporan";
  7. import { Row, Col } from "reactstrap";
  8. import Timeline from "@/components/PT/Timeline";
  9. import { connect } from "react-redux";
  10. import Loader from "@/components/Common/Loader";
  11. class Pemantauan extends Component {
  12. constructor(props) {
  13. super(props);
  14. this.state = {
  15. log: [],
  16. pelaporan: {},
  17. };
  18. }
  19. componentDidMount = async () => {
  20. const { user } = this.props;
  21. const log = await getLog({ ptId: user.peran[0].organisasi.id, isPT: true });
  22. const pelaporan = await getPelaporan({ ptId: user.peran[0].organisasi.id });
  23. this.setState({ log, pelaporan });
  24. };
  25. render() {
  26. const { log, pelaporan } = this.state;
  27. return (
  28. <ContentWrapper unwrap>
  29. <Header data={this.props.pt[0]} />
  30. <div className="p-3">
  31. <Row>
  32. {log && pelaporan.data ? (
  33. <Col xl="9">
  34. <Timeline data={log} dataPelaporan={pelaporan.data[0]} />
  35. </Col>
  36. ) : (
  37. <Loader />
  38. )}
  39. <Col xl="3">{this.props.pt && <DetailPT data={this.props.pt[0]} />}</Col>
  40. </Row>
  41. </div>
  42. </ContentWrapper>
  43. );
  44. }
  45. }
  46. const mapStateToProps = (state) => ({ user: state.user, pt: state.pt });
  47. export default connect(mapStateToProps)(Pemantauan);