CaseProgress.js 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. import { Progress } from "reactstrap";
  2. import Sparkline from "@/components/Common/Sparklines";
  3. import { Container, Row, Col, Card, CardHeader, CardBody } from "reactstrap";
  4. import FlotChart from "@/components/Charts/Flot.js";
  5. import { ChartSpline, ChartArea, ChartBar, ChartBarStacked, ChartDonut, ChartLine, ChartPie } from "@/components/Config/flot.setup.js";
  6. import Datatable from "@/components/Tables/Datatable";
  7. import { useState, useEffect } from "react";
  8. function CaseProgress({ data }) {
  9. const laporan_pertahun = data.laporan_perTahun;
  10. const laporan_terbaru = data.newLaporan;
  11. const [chartData, setChartData] = useState([
  12. {
  13. // "label": "sales",
  14. color: "#287DAD",
  15. data: [],
  16. },
  17. ]);
  18. useEffect(() => {
  19. laporan_pertahun.forEach((e) => {
  20. chartData[0].data.push([convertMonth(e._id.bulan), e.jumlah_laporan]);
  21. });
  22. }, []);
  23. const convertMonth = (int) => {
  24. switch (int) {
  25. case 1:
  26. return "Januari";
  27. break;
  28. case 2:
  29. return "Februari";
  30. break;
  31. case 3:
  32. return "Maret";
  33. break;
  34. case 4:
  35. return "April";
  36. break;
  37. case 5:
  38. return "Mei";
  39. break;
  40. case 6:
  41. return "Juni";
  42. break;
  43. case 7:
  44. return "Juli";
  45. break;
  46. case 8:
  47. return "Agustus";
  48. break;
  49. case 9:
  50. return "September";
  51. break;
  52. case 10:
  53. return "Oktober";
  54. break;
  55. case 11:
  56. return "November";
  57. break;
  58. case 12:
  59. return "Desember";
  60. break;
  61. default:
  62. break;
  63. }
  64. };
  65. return (
  66. <div className="card b">
  67. <div className="card-body bb">
  68. <div className="header-1">
  69. <h2 className="card-title-1">Perkembangan</h2>
  70. </div>
  71. <div className="w-400">
  72. <FlotChart options={ChartBar.options} data={chartData} className="flot-chart" height="200px" />
  73. </div>
  74. </div>
  75. {/* <div className="card-body">
  76. <div className="header-1">
  77. <h2 className="card-title-1">Rekapitulasi</h2>
  78. </div>
  79. <FlotChart options={ChartPie.options} data={ChartPie.data} className="flot-chart" height="250px" />
  80. </div> */}
  81. <div className="card-body">
  82. <div className="header-1">
  83. <h2 className="card-title-1">Laporan Terbaru</h2>
  84. </div>
  85. {laporan_terbaru.map((value) => (
  86. <Card>{`${value.no_laporan} - ${value.pt.nama}`}</Card>
  87. ))}
  88. </div>
  89. </div>
  90. );
  91. }
  92. export default CaseProgress;