diff --git a/src/_components/chart/RDoughnutChart.js b/src/_components/chart/RDoughnutChart.js index 00b5752..06cfba5 100644 --- a/src/_components/chart/RDoughnutChart.js +++ b/src/_components/chart/RDoughnutChart.js @@ -1,37 +1,9 @@ import React from 'react'; import { Chart } from 'react-chartjs-2'; -import { Chart as ChartJS, ArcElement, Tooltip, Legend } from 'chart.js'; import { PRIMARY_COLOR } from '../../_constants/common'; +import { Chart as ChartJS, registerables } from 'chart.js'; -ChartJS.register(ArcElement, Tooltip, Legend); - - -// const data = { -// labels: ['Red', 'Blue', 'Yellow', 'Green', 'Purple', 'Orange'], -// datasets: [ -// { -// label: '# of Votes', -// data: [12, 19, 3, 5, 2, 3], -// backgroundColor: [ -// 'rgba(255, 99, 132, 0.2)', -// 'rgba(54, 162, 235, 0.2)', -// 'rgba(255, 206, 86, 0.2)', -// 'rgba(75, 192, 192, 0.2)', -// 'rgba(153, 102, 255, 0.2)', -// 'rgba(255, 159, 64, 0.2)', -// ], -// borderColor: [ -// 'rgba(255, 99, 132, 1)', -// 'rgba(54, 162, 235, 1)', -// 'rgba(255, 206, 86, 1)', -// 'rgba(75, 192, 192, 1)', -// 'rgba(153, 102, 255, 1)', -// 'rgba(255, 159, 64, 1)', -// ], -// borderWidth: 1, -// }, -// ], -// }; +ChartJS.register(...registerables); export default function RDoughnutChart({data = [], ...other}) { if (!data?.length) { diff --git a/src/_components/chart/RPieChart.js b/src/_components/chart/RPieChart.js index ceeae3b..5417177 100644 --- a/src/_components/chart/RPieChart.js +++ b/src/_components/chart/RPieChart.js @@ -1,35 +1,8 @@ import React from 'react'; -import { Chart as ChartJS, ArcElement, Tooltip, Legend } from 'chart.js'; import { Pie } from 'react-chartjs-2'; +import { Chart as ChartJS, registerables } from 'chart.js'; -ChartJS.register(ArcElement, Tooltip, Legend); - -// const data = { -// labels: ['Red', 'Blue', 'Yellow', 'Green', 'Purple', 'Orange'], -// datasets: [ -// { -// label: '# of Votes', -// data: [12, 19, 3, 5, 2, 3], -// backgroundColor: [ -// 'rgba(255, 99, 132, 0.2)', -// 'rgba(54, 162, 235, 0.2)', -// 'rgba(255, 206, 86, 0.2)', -// 'rgba(75, 192, 192, 0.2)', -// 'rgba(153, 102, 255, 0.2)', -// 'rgba(255, 159, 64, 0.2)', -// ], -// borderColor: [ -// 'rgba(255, 99, 132, 1)', -// 'rgba(54, 162, 235, 1)', -// 'rgba(255, 206, 86, 1)', -// 'rgba(75, 192, 192, 1)', -// 'rgba(153, 102, 255, 1)', -// 'rgba(255, 159, 64, 1)', -// ], -// borderWidth: 1, -// }, -// ], -// }; +ChartJS.register(...registerables); export default function RPieChart({data, ...other}) { return ; diff --git a/src/_components/chart/VerticalBarChart.js b/src/_components/chart/VerticalBarChart.js index bf2dabb..6864473 100644 --- a/src/_components/chart/VerticalBarChart.js +++ b/src/_components/chart/VerticalBarChart.js @@ -1,24 +1,9 @@ import React from 'react'; -import { - Chart as ChartJS, - CategoryScale, - LinearScale, - BarElement, - Title, - Tooltip, - Legend, -} from 'chart.js'; import { Bar } from 'react-chartjs-2'; import { PRIMARY_COLOR } from '../../_constants/common'; +import { Chart as ChartJS, registerables } from 'chart.js'; -ChartJS.register( - CategoryScale, - LinearScale, - BarElement, - Title, - Tooltip, - Legend -); +ChartJS.register(...registerables); export function VerticalBarChart({data = [], labels = []}) { if (!data?.length) { diff --git a/src/_screens/home/teacher/index.js b/src/_screens/home/teacher/index.js index 1306247..7595634 100644 --- a/src/_screens/home/teacher/index.js +++ b/src/_screens/home/teacher/index.js @@ -105,7 +105,19 @@ export default function TeacherHome() { getData(); }; - const handleExport = () => { + const handleExport = async () => { + let queryParams = [] + if(!!semester?.value){ + queryParams.push(`&semester=${semester?.value}`) + } + if(!!month?.value){ + queryParams.push(`month=${month?.value}`) + } + const endPoint = + `/api_exercise_report/teacher_report_summary?teacher_id=${id}&year=${schoolYear?.value.trim()}&detail=true` + + (queryParams.length > 0 ? `&${queryParams.join("&")}` : ""); + const res = await apiCaller(endPoint, "GET"); + if(res?.status){ const listHeader = [ "STT", "Tên lớp", @@ -121,7 +133,7 @@ export default function TeacherHome() { "học kỳ", "Niên khóa", ]; - const listData = listClass.map((item, index) => [ + const listData = res.data.map((item, index) => [ index + 1, item?.class_name, teacherName, @@ -133,23 +145,24 @@ export default function TeacherHome() { item?.organization_district ||'', item?.organization_province ||'', !!month?.value - ? month.value + ? month.value : getListMonthBySemester(semester.value) - ?.filter((item) => !!item?.value) - ?.map((item) => item?.value) + ?.filter((item) => !!item?.value) + ?.map((item) => item?.value) ?.join(", "), !!semester?.value ? semester.value : LIST_SEMESTER?.filter((item) => !!item?.value) ?.map((item) => item?.value) ?.join(", "), - schoolYear?.value, - ]); - exportExcel( - listHeader, - listData, - `Danh sách lớp của giáo viên ${teacherName}.xlsx`, - ); + schoolYear?.value, + ]); + exportExcel( + listHeader, + listData, + `Danh sách lớp của giáo viên ${teacherName}.xlsx`, + ); + } }; useEffect(() => {