|
@@ -5,10 +5,9 @@ import React, { useEffect, useRef, useState } from 'react';
|
|
|
import ProList from '@ant-design/pro-list';
|
|
import ProList from '@ant-design/pro-list';
|
|
|
import { Image, Tabs } from 'antd';
|
|
import { Image, Tabs } from 'antd';
|
|
|
import './style/index.less';
|
|
import './style/index.less';
|
|
|
-import CourseImage from '@/assets/img/course_image.png';
|
|
|
|
|
import { history } from "@umijs/max";
|
|
import { history } from "@umijs/max";
|
|
|
import { useLocation, useRouteProps } from '@@/exports';
|
|
import { useLocation, useRouteProps } from '@@/exports';
|
|
|
-import { getTeacherCourses } from '@/services/record/RecordController';
|
|
|
|
|
|
|
+import { getExpertActives, getSelectSubject, getTeacherCourses } from '@/services/record/RecordController';
|
|
|
import { ActionType } from '@ant-design/pro-table/lib';
|
|
import { ActionType } from '@ant-design/pro-table/lib';
|
|
|
|
|
|
|
|
const TableList: React.FC<unknown> = () => {
|
|
const TableList: React.FC<unknown> = () => {
|
|
@@ -17,6 +16,10 @@ const TableList: React.FC<unknown> = () => {
|
|
|
const [selectedKeys, setSelectedKeys] = useState(location.pathname);
|
|
const [selectedKeys, setSelectedKeys] = useState(location.pathname);
|
|
|
const [teacherId, setTeacherId] = useState<string>('');
|
|
const [teacherId, setTeacherId] = useState<string>('');
|
|
|
const actionRef = useRef<ActionType>();
|
|
const actionRef = useRef<ActionType>();
|
|
|
|
|
+ const [actives, setActives] = useState<{ label: string; value: string }[]>([]);
|
|
|
|
|
+ const [gradeSubjects, setGradeSubjects] = useState<{ label: string, value: string }[]>([]);
|
|
|
|
|
+ const [courseStart, setCourseStart] = useState<string>();
|
|
|
|
|
+ const [courseEnd, setCourseEnd] = useState<string>();
|
|
|
|
|
|
|
|
useEffect(() => {
|
|
useEffect(() => {
|
|
|
if(location.pathname) {
|
|
if(location.pathname) {
|
|
@@ -34,119 +37,31 @@ const TableList: React.FC<unknown> = () => {
|
|
|
}
|
|
}
|
|
|
}, [location.search]);
|
|
}, [location.search]);
|
|
|
|
|
|
|
|
|
|
+ useEffect(() => {
|
|
|
|
|
+ const oneData = async () => {
|
|
|
|
|
+ const activeData = await getExpertActives()
|
|
|
|
|
+ if (activeData.code === 200) {
|
|
|
|
|
+ if (activeData.data.length > 0) {
|
|
|
|
|
+ setActives(activeData.data.map((item: any) =>
|
|
|
|
|
+ ({ label: item.activeName, value: item.id })
|
|
|
|
|
+ ));
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- const data = [
|
|
|
|
|
- {
|
|
|
|
|
- courseId: '1',
|
|
|
|
|
- image: 'https://gw.alipayobjects.com/zos/antfincdn/aPkFc8Sj7n/method-draw-image.svg',
|
|
|
|
|
- courseName: '这是课程名称',
|
|
|
|
|
- gradeSubjectName: '高中数学',
|
|
|
|
|
- schoolName: '杭州市滨江区市一中',
|
|
|
|
|
- teacherName: '张老师',
|
|
|
|
|
- teacherTime: '2025-05-28 12:00:00',
|
|
|
|
|
- classRoom: '高一4班'
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- courseId: '2',
|
|
|
|
|
- image: 'https://gw.alipayobjects.com/zos/antfincdn/aPkFc8Sj7n/method-draw-image.svg',
|
|
|
|
|
- courseName: '这是课程名称',
|
|
|
|
|
- gradeSubjectName: '高中数学',
|
|
|
|
|
- schoolName: '杭州市滨江区市一中',
|
|
|
|
|
- teacherName: '张老师',
|
|
|
|
|
- teacherTime: '2025-05-28 12:00:00',
|
|
|
|
|
- classRoom: '高一4班'
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- courseId: '3',
|
|
|
|
|
- image: 'https://gw.alipayobjects.com/zos/antfincdn/aPkFc8Sj7n/method-draw-image.svg',
|
|
|
|
|
- courseName: '这是课程名称',
|
|
|
|
|
- gradeSubjectName: '高中数学',
|
|
|
|
|
- schoolName: '杭州市滨江区市一中',
|
|
|
|
|
- teacherName: '张老师',
|
|
|
|
|
- teacherTime: '2025-05-28 12:00:00',
|
|
|
|
|
- classRoom: '高一4班'
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- courseId: '4',
|
|
|
|
|
- image: 'https://gw.alipayobjects.com/zos/antfincdn/aPkFc8Sj7n/method-draw-image.svg',
|
|
|
|
|
- courseName: '这是课程名称',
|
|
|
|
|
- gradeSubjectName: '高中数学',
|
|
|
|
|
- schoolName: '杭州市滨江区市一中',
|
|
|
|
|
- teacherName: '张老师',
|
|
|
|
|
- teacherTime: '2025-05-28 12:00:00',
|
|
|
|
|
- classRoom: '高一4班'
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- courseId: '5',
|
|
|
|
|
- image: 'https://gw.alipayobjects.com/zos/antfincdn/aPkFc8Sj7n/method-draw-image.svg',
|
|
|
|
|
- courseName: '这是课程名称',
|
|
|
|
|
- gradeSubjectName: '高中数学',
|
|
|
|
|
- schoolName: '杭州市滨江区市一中',
|
|
|
|
|
- teacherName: '张老师',
|
|
|
|
|
- teacherTime: '2025-05-28 12:00:00',
|
|
|
|
|
- classRoom: '高一4班'
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- courseId: '6',
|
|
|
|
|
- image: 'https://gw.alipayobjects.com/zos/antfincdn/aPkFc8Sj7n/method-draw-image.svg',
|
|
|
|
|
- courseName: '这是课程名称',
|
|
|
|
|
- gradeSubjectName: '高中数学',
|
|
|
|
|
- schoolName: '杭州市滨江区市一中',
|
|
|
|
|
- teacherName: '张老师',
|
|
|
|
|
- teacherTime: '2025-05-28 12:00:00',
|
|
|
|
|
- classRoom: '高一4班'
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- courseId: '7',
|
|
|
|
|
- image: 'https://gw.alipayobjects.com/zos/antfincdn/aPkFc8Sj7n/method-draw-image.svg',
|
|
|
|
|
- courseName: '这是课程名称',
|
|
|
|
|
- gradeSubjectName: '高中数学',
|
|
|
|
|
- schoolName: '杭州市滨江区市一中',
|
|
|
|
|
- teacherName: '张老师',
|
|
|
|
|
- teacherTime: '2025-05-28 12:00:00',
|
|
|
|
|
- classRoom: '高一4班'
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- courseId: '1',
|
|
|
|
|
- image: 'https://gw.alipayobjects.com/zos/antfincdn/aPkFc8Sj7n/method-draw-image.svg',
|
|
|
|
|
- courseName: '这是课程名称',
|
|
|
|
|
- gradeSubjectName: '高中数学',
|
|
|
|
|
- schoolName: '杭州市滨江区市一中',
|
|
|
|
|
- teacherName: '张老师',
|
|
|
|
|
- teacherTime: '2025-05-28 12:00:00',
|
|
|
|
|
- classRoom: '高一4班'
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- courseId: '9',
|
|
|
|
|
- image: 'https://gw.alipayobjects.com/zos/antfincdn/aPkFc8Sj7n/method-draw-image.svg',
|
|
|
|
|
- courseName: '这是课程名称',
|
|
|
|
|
- gradeSubjectName: '高中数学',
|
|
|
|
|
- schoolName: '杭州市滨江区市一中',
|
|
|
|
|
- teacherName: '张老师',
|
|
|
|
|
- teacherTime: '2025-05-28 12:00:00',
|
|
|
|
|
- classRoom: '高一4班'
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- courseId: '10',
|
|
|
|
|
- image: 'https://gw.alipayobjects.com/zos/antfincdn/aPkFc8Sj7n/method-draw-image.svg',
|
|
|
|
|
- courseName: '这是课程名称',
|
|
|
|
|
- gradeSubjectName: '高中数学',
|
|
|
|
|
- schoolName: '杭州市滨江区市一中',
|
|
|
|
|
- teacherName: '张老师',
|
|
|
|
|
- teacherTime: '2025-05-28 12:00:00',
|
|
|
|
|
- classRoom: '高一4班'
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- courseId: '11',
|
|
|
|
|
- image: 'https://gw.alipayobjects.com/zos/antfincdn/aPkFc8Sj7n/method-draw-image.svg',
|
|
|
|
|
- courseName: '这是课程名称',
|
|
|
|
|
- gradeSubjectName: '高中数学',
|
|
|
|
|
- schoolName: '杭州市滨江区市一中',
|
|
|
|
|
- teacherName: '张老师',
|
|
|
|
|
- teacherTime: '2025-05-28 12:00:00',
|
|
|
|
|
- classRoom: '高一4班'
|
|
|
|
|
- },
|
|
|
|
|
- ];
|
|
|
|
|
|
|
+ // 获取学科下拉列表
|
|
|
|
|
+ const subjectData = await getSelectSubject()
|
|
|
|
|
+ if (subjectData.code === 200) {
|
|
|
|
|
+ const subjectList = subjectData.data.map((item: any) => {
|
|
|
|
|
+ return {
|
|
|
|
|
+ 'label': item.configLabel,
|
|
|
|
|
+ 'value': item.id,
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+ setGradeSubjects(subjectList)
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ oneData();
|
|
|
|
|
+ }, []);
|
|
|
|
|
|
|
|
return (
|
|
return (
|
|
|
<PageContainer className="page-box">
|
|
<PageContainer className="page-box">
|
|
@@ -182,16 +97,16 @@ const TableList: React.FC<unknown> = () => {
|
|
|
width={'100%'}
|
|
width={'100%'}
|
|
|
style={{ aspectRatio: '16/9', borderRadius: '15px 15px 0 0' }}
|
|
style={{ aspectRatio: '16/9', borderRadius: '15px 15px 0 0' }}
|
|
|
preview={false}
|
|
preview={false}
|
|
|
- src={CourseImage}
|
|
|
|
|
|
|
+ src={item.fullScreenOssUrl + '?x-oss-process=video/snapshot,t_0,f_jpg,w_800,h_450'}
|
|
|
/>
|
|
/>
|
|
|
<div className="course-info">
|
|
<div className="course-info">
|
|
|
<div className="info-flex">
|
|
<div className="info-flex">
|
|
|
- <div style={{ fontWeight: 'bold', fontSize: '18px' }}>{item.courseName}</div>
|
|
|
|
|
|
|
+ <div style={{ fontWeight: 'bold', fontSize: '18px' }}>{item.courseTitle}</div>
|
|
|
<div style={{ color: '#3C50E0' }}>{item.gradeSubjectName}</div>
|
|
<div style={{ color: '#3C50E0' }}>{item.gradeSubjectName}</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div className="info-flex">
|
|
<div className="info-flex">
|
|
|
- <div>所属学校:{item.schoolName}</div>
|
|
|
|
|
- <div>授课老师:{item.teacherName}</div>
|
|
|
|
|
|
|
+ <div>所属学校:{localStorage.getItem('schoolName')}</div>
|
|
|
|
|
+ <div>授课老师:{localStorage.getItem('teacherName')}</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div className="info-flex">
|
|
<div className="info-flex">
|
|
|
<div>授课时间:{item.courseDate}</div>
|
|
<div>授课时间:{item.courseDate}</div>
|
|
@@ -203,32 +118,51 @@ const TableList: React.FC<unknown> = () => {
|
|
|
metas={{
|
|
metas={{
|
|
|
active: {
|
|
active: {
|
|
|
title: '评审活动',
|
|
title: '评审活动',
|
|
|
- dataIndex: 'active',
|
|
|
|
|
|
|
+ dataIndex: 'activeId',
|
|
|
|
|
+ valueType: 'select',
|
|
|
fieldProps: {
|
|
fieldProps: {
|
|
|
placeholder: '请输入评审活动',
|
|
placeholder: '请输入评审活动',
|
|
|
|
|
+ options: actives,
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
gradeSubjectName: {
|
|
gradeSubjectName: {
|
|
|
title: '授课学科',
|
|
title: '授课学科',
|
|
|
- dataIndex: 'gradeSubjectName',
|
|
|
|
|
|
|
+ dataIndex: 'subjectCode',
|
|
|
|
|
+ valueType: 'select',
|
|
|
fieldProps: {
|
|
fieldProps: {
|
|
|
placeholder: '请选择授课学科',
|
|
placeholder: '请选择授课学科',
|
|
|
|
|
+ options: gradeSubjects,
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
teacherTime: {
|
|
teacherTime: {
|
|
|
title: '授课时间',
|
|
title: '授课时间',
|
|
|
- dataIndex: 'teacherTime',
|
|
|
|
|
|
|
+ dataIndex: 'teachTime',
|
|
|
|
|
+ valueType: 'dateRange',
|
|
|
fieldProps: {
|
|
fieldProps: {
|
|
|
|
|
+ format: 'YYYY-MM-DD HH:mm:ss',
|
|
|
placeholder: '请选择授课时间',
|
|
placeholder: '请选择授课时间',
|
|
|
|
|
+ onChange: (value: [Date, Date]) => {
|
|
|
|
|
+ if (value) {
|
|
|
|
|
+ setCourseStart(value[0].toString());
|
|
|
|
|
+ setCourseEnd(value[1].toString());
|
|
|
|
|
+ } else {
|
|
|
|
|
+ setCourseStart(undefined);
|
|
|
|
|
+ setCourseEnd(undefined);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
actions: {},
|
|
actions: {},
|
|
|
}}
|
|
}}
|
|
|
request={async (params) => {
|
|
request={async (params) => {
|
|
|
|
|
+ delete params.teachTime;
|
|
|
const { pageSize } = params
|
|
const { pageSize } = params
|
|
|
const data = await getTeacherCourses({
|
|
const data = await getTeacherCourses({
|
|
|
|
|
+ ...params,
|
|
|
teacherId: teacherId,
|
|
teacherId: teacherId,
|
|
|
size: pageSize,
|
|
size: pageSize,
|
|
|
|
|
+ courseStart: courseStart,
|
|
|
|
|
+ courseEnd: courseEnd,
|
|
|
})
|
|
})
|
|
|
return {
|
|
return {
|
|
|
data: data.data.records,
|
|
data: data.data.records,
|