minh android 3 months ago
commit c4682bb61c
  1. 32
      src/_components/chart/RDoughnutChart.js
  2. 31
      src/_components/chart/RPieChart.js
  3. 19
      src/_components/chart/VerticalBarChart.js
  4. 2
      src/_screens/criteria/criteria-manage/index.js
  5. 2
      src/_screens/home/admin/index.js
  6. 3
      src/_screens/home/detail-grade/index.js
  7. 2
      src/_screens/home/headmaster/index.js
  8. 39
      src/_screens/home/teacher/index.js

@ -1,37 +1,9 @@
import React from 'react'; import React from 'react';
import { Chart } from 'react-chartjs-2'; import { Chart } from 'react-chartjs-2';
import { Chart as ChartJS, ArcElement, Tooltip, Legend } from 'chart.js';
import { PRIMARY_COLOR } from '../../_constants/common'; import { PRIMARY_COLOR } from '../../_constants/common';
import { Chart as ChartJS, registerables } from 'chart.js';
ChartJS.register(ArcElement, Tooltip, Legend); ChartJS.register(...registerables);
// 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,
// },
// ],
// };
export default function RDoughnutChart({data = [], ...other}) { export default function RDoughnutChart({data = [], ...other}) {
if (!data?.length) { if (!data?.length) {

@ -1,35 +1,8 @@
import React from 'react'; import React from 'react';
import { Chart as ChartJS, ArcElement, Tooltip, Legend } from 'chart.js';
import { Pie } from 'react-chartjs-2'; import { Pie } from 'react-chartjs-2';
import { Chart as ChartJS, registerables } from 'chart.js';
ChartJS.register(ArcElement, Tooltip, Legend); ChartJS.register(...registerables);
// 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,
// },
// ],
// };
export default function RPieChart({data, ...other}) { export default function RPieChart({data, ...other}) {
return <Pie data={data} {...other} />; return <Pie data={data} {...other} />;

@ -1,24 +1,9 @@
import React from 'react'; import React from 'react';
import {
Chart as ChartJS,
CategoryScale,
LinearScale,
BarElement,
Title,
Tooltip,
Legend,
} from 'chart.js';
import { Bar } from 'react-chartjs-2'; import { Bar } from 'react-chartjs-2';
import { PRIMARY_COLOR } from '../../_constants/common'; import { PRIMARY_COLOR } from '../../_constants/common';
import { Chart as ChartJS, registerables } from 'chart.js';
ChartJS.register( ChartJS.register(...registerables);
CategoryScale,
LinearScale,
BarElement,
Title,
Tooltip,
Legend
);
export function VerticalBarChart({data = [], labels = []}) { export function VerticalBarChart({data = [], labels = []}) {
if (!data?.length) { if (!data?.length) {

@ -339,7 +339,7 @@ export default function CriteriaManage() {
}`; }`;
const res = await apiCaller(endPoint, "GET"); const res = await apiCaller(endPoint, "GET");
if (!res){ if (!res.data){
setIsEndOnlineClasses(true); setIsEndOnlineClasses(true);
} else { } else {
listNext = res?.data; listNext = res?.data;

@ -288,7 +288,7 @@ export default function AdminHome() {
queryParams.length ? `&${queryParams.join("&")}` : "" queryParams.length ? `&${queryParams.join("&")}` : ""
}`; }`;
const res = await apiCaller(endPoint, "GET"); const res = await apiCaller(endPoint, "GET");
if(!res){ if(!res.data){
setIsEndOnlineClasses(true); setIsEndOnlineClasses(true);
} else { } else {
concatListSide = res?.data; concatListSide = res?.data;

@ -166,8 +166,7 @@ export default function DetailGrade() {
!!month?.value ? `&month=${month?.value}` : "" !!month?.value ? `&month=${month?.value}` : ""
}&limit=${limitOnline}&offset=${offsetOnlineMore}`; }&limit=${limitOnline}&offset=${offsetOnlineMore}`;
const res = await apiCaller(endPoint, "GET"); const res = await apiCaller(endPoint, "GET");
console.log('res',res); if(!res.data){
if(!res){
setIsEndOnlineClasses(true); setIsEndOnlineClasses(true);
} else { } else {
listNext = res?.data; listNext = res?.data;

@ -184,7 +184,7 @@ export default function HeadmasterHome() {
const endPoint = `/report/api_report/teacherByOrganizationId?organization_id=${id}&limit=${limitOnline}&offset=${offsetOnlineMore}`; const endPoint = `/report/api_report/teacherByOrganizationId?organization_id=${id}&limit=${limitOnline}&offset=${offsetOnlineMore}`;
const res = await apiCaller(endPoint, "GET"); const res = await apiCaller(endPoint, "GET");
if (!res){ if (!res.data){
setIsEndOnlineClasses(true); setIsEndOnlineClasses(true);
} else { } else {
listNext = res?.data; listNext = res?.data;

@ -105,7 +105,19 @@ export default function TeacherHome() {
getData(); 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 = [ const listHeader = [
"STT", "STT",
"Tên lớp", "Tên lớp",
@ -121,7 +133,7 @@ export default function TeacherHome() {
"học kỳ", "học kỳ",
"Niên khóa", "Niên khóa",
]; ];
const listData = listClass.map((item, index) => [ const listData = res.data.map((item, index) => [
index + 1, index + 1,
item?.class_name, item?.class_name,
teacherName, teacherName,
@ -133,23 +145,24 @@ export default function TeacherHome() {
item?.organization_district ||'', item?.organization_district ||'',
item?.organization_province ||'', item?.organization_province ||'',
!!month?.value !!month?.value
? month.value ? month.value
: getListMonthBySemester(semester.value) : getListMonthBySemester(semester.value)
?.filter((item) => !!item?.value) ?.filter((item) => !!item?.value)
?.map((item) => item?.value) ?.map((item) => item?.value)
?.join(", "), ?.join(", "),
!!semester?.value !!semester?.value
? semester.value ? semester.value
: LIST_SEMESTER?.filter((item) => !!item?.value) : LIST_SEMESTER?.filter((item) => !!item?.value)
?.map((item) => item?.value) ?.map((item) => item?.value)
?.join(", "), ?.join(", "),
schoolYear?.value, schoolYear?.value,
]); ]);
exportExcel( exportExcel(
listHeader, listHeader,
listData, listData,
`Danh sách lớp của giáo viên ${teacherName}.xlsx`, `Danh sách lớp của giáo viên ${teacherName}.xlsx`,
); );
}
}; };
useEffect(() => { useEffect(() => {
@ -184,7 +197,7 @@ export default function TeacherHome() {
`/api_exercise_report/teacher_report_summary?teacher_id=${id}&year=${schoolYear?.value.trim()}&limit=${limitOnline}&offset=${offsetOnlineMore}` + `/api_exercise_report/teacher_report_summary?teacher_id=${id}&year=${schoolYear?.value.trim()}&limit=${limitOnline}&offset=${offsetOnlineMore}` +
(queryParams.length > 0 ? `&${queryParams.join("&")}` : ""); (queryParams.length > 0 ? `&${queryParams.join("&")}` : "");
const res = await apiCaller(endPoint, "GET"); const res = await apiCaller(endPoint, "GET");
if (!res){ if (!res.data){
setIsEndOnlineClasses(true); setIsEndOnlineClasses(true);
} else { } else {
concatListSide = res?.data; concatListSide = res?.data;

Loading…
Cancel
Save