import { useState, useEffect, useRef } from "react"; import styles from "./learn.module.less"; import { Typography, Input, Modal, Image, Button, Space, message, Table, } from "antd"; import { useNavigate, useLocation } from "react-router-dom"; import { BackBartment, DurationText } from "../../compenents"; import { dateFormat } from "../../utils/index"; import { user as member } from "../../api/index"; const { Column, ColumnGroup } = Table; interface DataType { id: React.Key; title: string; type: string; created_at: string; total_duration: number; finished_duration: number; is_finished: boolean; } const MemberDepartmentProgressPage = () => { const result = new URLSearchParams(useLocation().search); const [loading, setLoading] = useState(false); const [page, setPage] = useState(1); const [size, setSize] = useState(10); const [list, setList] = useState([]); const [total, setTotal] = useState(0); const [refresh, setRefresh] = useState(false); const [courses, setCourses] = useState([]); const [records, setRecords] = useState({}); const [name, setName] = useState(""); const [email, setEmail] = useState(""); const [id_card, setIdCard] = useState(""); const [did, setDid] = useState(Number(result.get("id"))); useEffect(() => { getData(); }, [refresh, page, size, name, email, id_card]); const getData = () => { if (loading) { return; } setLoading(true); member .departmentProgress(did, page, size, { sort_field: "", sort_algo: "", name: name, email: email, id_card: id_card, }) .then((res: any) => { setList(res.data.data); setTotal(res.data.total); let data = res.data.courses; let arr = []; for (let key in data) { arr.push(data[key]); } setCourses(arr); setRecords(res.data.user_course_records); setLoading(false); }); }; const resetData = () => { setName(""); setEmail(""); setIdCard(""); setPage(1); setSize(10); setList([]); setRefresh(!refresh); }; const paginationProps = { current: page, //当前页码 pageSize: size, total: total, // 总条数 onChange: (page: number, pageSize: number) => handlePageChange(page, pageSize), //改变页码的函数 showSizeChanger: true, }; const handlePageChange = (page: number, pageSize: number) => { setPage(page); setSize(pageSize); }; const getTotalHours = (params: any) => { if (params) { let value = 0; for (let key in params) { value += params[key].hour_count; } return value; } else { return 0; } }; const getFinishedHours = (params: any) => { if (params) { let value = 0; for (let key in params) { value += params[key].finished_count; } return value; } else { return 0; } }; return (
姓名: { setName(e.target.value); }} style={{ width: 160 }} placeholder="请输入姓名关键字" />
邮箱: { setEmail(e.target.value); }} style={{ width: 160 }} placeholder="请输入邮箱" />
身份证号: { setIdCard(e.target.value); }} style={{ width: 160 }} placeholder="请输入身份证号" />
record.id} > ( <> {record.name} )} /> {courses.map((item: any) => ( ( <> {records[record.id] && records[record.id][item.id] ? ( {records[record.id][item.id].finished_count} ) : ( 0 )} )} /> ( <> {item.class_hour} )} /> ))} ( <>{getFinishedHours(records[record.id])} )} /> ( <>{getTotalHours(records[record.id])} )} />
); }; export default MemberDepartmentProgressPage;