You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1262 lines
31 KiB
1262 lines
31 KiB
import React, { Component } from "react";
|
|
import { SnackbarHOC, getImageUrl } from 'educoder';
|
|
import axios from 'axios';
|
|
import {
|
|
Spin,
|
|
Table,
|
|
Pagination,
|
|
} from "antd";
|
|
import Colleagechart from './colleagechart/Colleagechart'
|
|
import Colleagechartzu from './colleagechart/Colleagechartzu'
|
|
import TPMIndexHOC from "../modules/tpm/TPMIndexHOC";
|
|
import NoneData from './../modules/courses/coursesPublic/NoneData';
|
|
|
|
import './colleagecss/colleage.css';
|
|
class College extends Component {
|
|
constructor(props) {
|
|
super(props);
|
|
this.state = {
|
|
coursesloading: false,
|
|
columns: [
|
|
{
|
|
title: '名称',
|
|
dataIndex: 'name',
|
|
key: 'name',
|
|
align: 'center',
|
|
className: "edu-txt-center font-14 maxnamewidth247",
|
|
render: (text, record) => (
|
|
<a href={`/classrooms/${record.id}/students`} title={record.name} target="_blank" className="d-inline-block text-truncate maxnamewidth247"
|
|
style={{
|
|
maxWidth:'220px',
|
|
color:'#007bff',
|
|
}}>{
|
|
record.name
|
|
}</a>
|
|
)
|
|
},
|
|
{
|
|
title: '管理教师',
|
|
dataIndex: 'teachers',
|
|
key: 'teachers',
|
|
align: 'center',
|
|
className: "edu-txt-center font-14 maxnamewidth340",
|
|
render: (text, record) => (
|
|
<a className="maxnamewidth340" title={record.teachers} style={{
|
|
color: '#05101A'
|
|
}}>
|
|
{
|
|
record.teachers
|
|
}
|
|
</a >
|
|
)
|
|
},
|
|
{
|
|
title: '评测次数',
|
|
dataIndex: 'times',
|
|
key: 'times',
|
|
align: 'center',
|
|
className: "edu-txt-center font-14 maxnamewidth175",
|
|
render: (text, record) => (
|
|
<span>
|
|
{
|
|
record.evaluating_count
|
|
}
|
|
</span>
|
|
),
|
|
},
|
|
{
|
|
title: '学生',
|
|
key: 'student',
|
|
dataIndex: 'student',
|
|
align: 'center',
|
|
className: "edu-txt-center font-14 maxnamewidth255",
|
|
render: (text, record) => (
|
|
<span>
|
|
{
|
|
record.student_count
|
|
}
|
|
</span>
|
|
)
|
|
},
|
|
{
|
|
title: '实训作业',
|
|
dataIndex: 'training',
|
|
key: 'training',
|
|
align: 'center',
|
|
className: "edu-txt-center font-14",
|
|
render: (text, record) => (
|
|
<span>
|
|
{
|
|
record.shixun_work_count
|
|
}
|
|
</span>
|
|
)
|
|
|
|
},
|
|
{
|
|
title: '资源',
|
|
dataIndex: 'resources',
|
|
key: 'resources',
|
|
align: 'center',
|
|
className: "edu-txt-center font-14",
|
|
render: (text, record) => (
|
|
<span>
|
|
{
|
|
record.attachment_count
|
|
}
|
|
</span>
|
|
),
|
|
},
|
|
{
|
|
title: '帖子',
|
|
dataIndex: 'posts',
|
|
key: 'posts',
|
|
align: 'center',
|
|
className: "edu-txt-center font-14",
|
|
render: (text, record) => (
|
|
<span>{
|
|
record.message_count
|
|
}</span>
|
|
)
|
|
},
|
|
{
|
|
title: '其它任务',
|
|
dataIndex: 'othertasks',
|
|
key: 'othertasks',
|
|
align: 'center',
|
|
className: "edu-txt-center font-14",
|
|
render: (text, record) => (
|
|
<span>
|
|
{
|
|
record.other_work_count
|
|
}
|
|
</span>
|
|
)
|
|
},
|
|
{
|
|
title: '状态',
|
|
dataIndex: 'states',
|
|
key: 'states',
|
|
align: 'center',
|
|
className: "edu-txt-center font-14",
|
|
render: (text, record) => (
|
|
<span className={record.is_end ? '' : 'color-huang'}>
|
|
{
|
|
record.is_end ?
|
|
"已结束"
|
|
:
|
|
"正在进行"
|
|
}
|
|
</span>
|
|
)
|
|
},
|
|
{
|
|
title: '时间',
|
|
dataIndex: 'timemy',
|
|
key: 'timemy',
|
|
align: 'center',
|
|
className: "edu-txt-center font-14",
|
|
render: (text, record) => (
|
|
<span >
|
|
{
|
|
record.activity_time
|
|
}
|
|
</span>
|
|
)
|
|
},
|
|
],
|
|
page: 1,
|
|
limit: 10,
|
|
total_users: 50,
|
|
teachersloading: false,
|
|
teacherranking: [
|
|
{
|
|
title: '排名',
|
|
dataIndex: 'ranking',
|
|
key: 'ranking',
|
|
align: 'center',
|
|
className: "edu-txt-center font-14",
|
|
render: (text, record) => (
|
|
<span>
|
|
{
|
|
record.id
|
|
}
|
|
</span>
|
|
)
|
|
},
|
|
{
|
|
title: '姓名',
|
|
dataIndex: 'name',
|
|
key: 'name',
|
|
align: 'center',
|
|
className: "edu-txt-center font-14 maxnamewidth105",
|
|
render: (text, record) => (
|
|
<a href={`/users/${record.login}`} title={record.name} target="_blank" className="task-hide maxnamewidth105" style={{
|
|
color: '#007bff',
|
|
|
|
}}> {
|
|
record.name
|
|
}
|
|
</a>
|
|
)
|
|
},
|
|
{
|
|
title: '管理课堂',
|
|
dataIndex: 'classroom',
|
|
key: 'classroom',
|
|
align: 'center',
|
|
className: "edu-txt-center font-14 maxnamewidth175",
|
|
render: (text, record) => (
|
|
<span>
|
|
{
|
|
record.course_count
|
|
}
|
|
</span>
|
|
),
|
|
},
|
|
{
|
|
title: '已发布实训作业',
|
|
key: 'assignment',
|
|
dataIndex: 'assignment',
|
|
align: 'center',
|
|
className: "edu-txt-center font-14 maxnamewidth255",
|
|
render: (text, record) => (
|
|
<span>
|
|
{
|
|
record.shixun_work_count
|
|
}
|
|
</span>
|
|
)
|
|
},
|
|
{
|
|
title: '未发布实训作业',
|
|
dataIndex: 'released',
|
|
key: 'released',
|
|
align: 'center',
|
|
className: "edu-txt-center font-14",
|
|
render: (text, record) => (
|
|
<span>
|
|
{
|
|
record.un_shixun_work_count
|
|
}
|
|
</span>
|
|
)
|
|
|
|
},
|
|
{
|
|
title: '学生数',
|
|
dataIndex: 'studentnumber',
|
|
key: 'studentnumber',
|
|
align: 'center',
|
|
className: "edu-txt-center font-14",
|
|
render: (text, record) => (
|
|
<span>
|
|
{
|
|
record.student_count
|
|
}
|
|
</span>
|
|
),
|
|
},
|
|
{
|
|
title: '完成率',
|
|
dataIndex: 'completionrate',
|
|
key: 'completionrate',
|
|
align: 'center',
|
|
className: "edu-txt-center font-14",
|
|
render: (text, record) => (
|
|
<span>
|
|
{
|
|
record.complete_rate + "%"
|
|
}
|
|
</span>
|
|
)
|
|
},
|
|
{
|
|
title: '发布实训',
|
|
dataIndex: 'releasetraining',
|
|
key: 'releasetraining',
|
|
align: 'center',
|
|
className: "edu-txt-center font-14",
|
|
render: (text, record) => (
|
|
<span className="color-blue">
|
|
{
|
|
record.publish_shixun_count
|
|
}
|
|
</span>
|
|
)
|
|
}
|
|
],
|
|
studentranking: [
|
|
{
|
|
title: '排名',
|
|
dataIndex: 'ranking',
|
|
key: 'ranking',
|
|
align: 'center',
|
|
className: "edu-txt-center font-14",
|
|
width: '100px',
|
|
render: (text, record) => (
|
|
<span>
|
|
{
|
|
record.id === 1 ? <img width="18px" height="22px" className="mt8" src={getImageUrl("images/educoder/competition/1.png")} />
|
|
: record.id === 2 ?
|
|
<img width="18px" height="22px" className="mt8" src={getImageUrl("images/educoder/competition/2.png")} />
|
|
: record.id === 3 ?
|
|
<img width="18px" height="22px" className="mt8" src={getImageUrl("images/educoder/competition/3.png")} />
|
|
: record.id
|
|
}
|
|
</span>
|
|
)
|
|
},
|
|
{
|
|
title: '姓名',
|
|
dataIndex: 'name',
|
|
key: 'name',
|
|
align: 'center',
|
|
className: "edu-txt-center font-14 maxnamewidth105",
|
|
width: '100px',
|
|
render: (text, record) => (
|
|
<a href={`/users/${record.login}`} title={record.name} target="_blank" className="task-hide maxnamewidth105" style={{
|
|
color: '#007bff',
|
|
|
|
}}> {
|
|
record.name
|
|
}
|
|
</a>
|
|
)
|
|
},
|
|
{
|
|
title: '学号',
|
|
dataIndex: 'studentid',
|
|
key: 'studentid',
|
|
align: 'center',
|
|
className: "edu-txt-center font-14 maxnamewidth175",
|
|
render: (text, record) => (
|
|
<span>
|
|
{
|
|
record.student_id
|
|
}
|
|
</span>
|
|
),
|
|
},
|
|
{
|
|
title: '完成实训',
|
|
key: 'training',
|
|
dataIndex: 'training',
|
|
align: 'center',
|
|
className: "edu-txt-center font-14 maxnamewidth255",
|
|
render: (text, record) => (
|
|
<span>
|
|
{
|
|
record.shixun_count
|
|
}
|
|
</span>
|
|
)
|
|
},
|
|
{
|
|
title: '在学实训',
|
|
dataIndex: 'learning',
|
|
key: 'learning',
|
|
align: 'center',
|
|
className: "edu-txt-center font-14",
|
|
render: (text, record) => (
|
|
<span>
|
|
{
|
|
record.study_shixun_count
|
|
}
|
|
</span>
|
|
)
|
|
|
|
},
|
|
{
|
|
title: '金币',
|
|
dataIndex: 'goldcoin',
|
|
key: 'goldcoin',
|
|
align: 'center',
|
|
className: "edu-txt-center font-14",
|
|
render: (text, record) => (
|
|
<span>
|
|
{
|
|
record.grade
|
|
}
|
|
</span>
|
|
),
|
|
},
|
|
{
|
|
title: '经验值',
|
|
dataIndex: 'empirical',
|
|
key: 'empirical',
|
|
align: 'center',
|
|
className: "edu-txt-center font-14",
|
|
render: (text, record) => (
|
|
<span style={{
|
|
color: '#17a2b8'
|
|
}}>
|
|
{
|
|
record.experience
|
|
}
|
|
</span>
|
|
)
|
|
},
|
|
],
|
|
school: "",
|
|
teachers_count: null,
|
|
students_count: null,
|
|
courses_count: null,
|
|
shixuns_count: null,
|
|
shixun_report_count: null,
|
|
shixun_time: null,
|
|
courses: null,
|
|
course_count: 0,
|
|
pages: 1,
|
|
limits: 10,
|
|
teachers: null,
|
|
teacher_count: 0,
|
|
students: null,
|
|
student_count: 0,
|
|
shixun_chart_data: null,
|
|
shixun_chart_datanames: null,
|
|
studentionsnames: null,
|
|
studentionsvalues: null
|
|
}
|
|
|
|
}
|
|
|
|
|
|
componentDidMount() {
|
|
console.log("College");
|
|
console.log(this.props.match.params.id);
|
|
this.gettop();
|
|
this.Numberofinternshipreports();
|
|
this.Actualcombattimeoftrainees();
|
|
this.Classnumber(1, 10);
|
|
this.Teacherranking(1, 10);
|
|
this.Studentranking(1, 10);
|
|
this.Onlinetraining();
|
|
this.Hottest();
|
|
}
|
|
//头部
|
|
gettop = () => {
|
|
const id = this.props.match.params.id;
|
|
const url = `/colleges/${id}/statistics.json`;
|
|
axios.get(url).then((response) => {
|
|
if (response === null || response === undefined) {
|
|
this.setState({
|
|
teachers_count: 0,
|
|
students_count: 0,
|
|
courses_count: 0,
|
|
shixuns_count: 0,
|
|
school: "",
|
|
})
|
|
return
|
|
}
|
|
if (response.data.status === 403 || response.data.status === 401 || response.data.status === 500) {
|
|
this.setState({
|
|
teachers_count: 0,
|
|
students_count: 0,
|
|
courses_count: 0,
|
|
shixuns_count: 0,
|
|
school: "",
|
|
})
|
|
} else {
|
|
this.setState({
|
|
teachers_count: response.data.teachers_count,
|
|
students_count: response.data.students_count,
|
|
courses_count: response.data.courses_count,
|
|
shixuns_count: response.data.shixuns_count,
|
|
school: response.data.school,
|
|
})
|
|
}
|
|
}).catch((error) => {
|
|
console.log(error)
|
|
this.setState({
|
|
teachers_count: 0,
|
|
students_count: 0,
|
|
courses_count: 0,
|
|
shixuns_count: 0,
|
|
school: "",
|
|
})
|
|
});
|
|
}
|
|
|
|
//获取实训报告数
|
|
Numberofinternshipreports = () => {
|
|
const id = this.props.match.params.id;
|
|
const url = `/colleges/${id}/shixun_report_count.json`;
|
|
axios.get(url).then((response) => {
|
|
if (response === null || response === undefined) {
|
|
this.setState({
|
|
shixun_report_count: 0,
|
|
})
|
|
return
|
|
}
|
|
if (response.data.status === 403 || response.data.status === 401 || response.data.status === 500) {
|
|
this.setState({
|
|
shixun_report_count: 0,
|
|
})
|
|
} else {
|
|
if (response.data.status === -1) {
|
|
this.setState({
|
|
shixun_report_count: 0,
|
|
})
|
|
return
|
|
}
|
|
this.setState({
|
|
shixun_report_count: response.data.shixun_report_count,
|
|
})
|
|
}
|
|
}).catch((error) => {
|
|
console.log(error)
|
|
this.setState({
|
|
shixun_report_count: 0,
|
|
})
|
|
});
|
|
}
|
|
|
|
//学员实战时间
|
|
Actualcombattimeoftrainees = () => {
|
|
const id = this.props.match.params.id;
|
|
const url = `/colleges/${id}/shixun_time.json`;
|
|
axios.get(url).then((response) => {
|
|
if (response === null || response === undefined) {
|
|
this.setState({
|
|
shixun_time: 0,
|
|
})
|
|
return
|
|
}
|
|
if (response.data.status === 403 || response.data.status === 401 || response.data.status === 500) {
|
|
this.setState({
|
|
shixun_time: 0,
|
|
})
|
|
} else {
|
|
if (response.data.status === -1) {
|
|
this.setState({
|
|
shixun_time: 0,
|
|
})
|
|
return
|
|
}
|
|
this.setState({
|
|
shixun_time: response.data.shixun_time,
|
|
})
|
|
}
|
|
}).catch((error) => {
|
|
console.log(error)
|
|
this.setState({
|
|
shixun_time: 0,
|
|
})
|
|
});
|
|
}
|
|
|
|
//课堂信息
|
|
Classnumber = (page, per_page) => {
|
|
const id = this.props.match.params.id;
|
|
const url = `/colleges/${id}/course_statistics.json`;
|
|
this.setState({
|
|
coursesloading: true
|
|
})
|
|
axios.get(url, {
|
|
params: {
|
|
page: page,
|
|
per_page: per_page,
|
|
}
|
|
}).then((response) => {
|
|
if (response === null || response === undefined) {
|
|
this.setState({
|
|
courses: [],
|
|
course_count: 0
|
|
})
|
|
return
|
|
}
|
|
if (response.data.status === 403 || response.data.status === 401 || response.data.status === 500) {
|
|
this.setState({
|
|
courses: [],
|
|
course_count: 0
|
|
})
|
|
} else {
|
|
if (response.data.status === -1) {
|
|
this.setState({
|
|
courses: [],
|
|
course_count: 0
|
|
})
|
|
return
|
|
}
|
|
this.setState({
|
|
courses: response.data.courses,
|
|
course_count: response.data.course_count,
|
|
page: page,
|
|
limit: per_page
|
|
})
|
|
}
|
|
this.setState({
|
|
coursesloading: false
|
|
})
|
|
}).catch((error) => {
|
|
this.setState({
|
|
courses: [],
|
|
course_count: 0,
|
|
coursesloading: false
|
|
})
|
|
});
|
|
}
|
|
|
|
//教师排名
|
|
Teacherranking = (page, per_page) => {
|
|
const id = this.props.match.params.id;
|
|
const url = `/colleges/${id}/teachers.json`;
|
|
this.setState({
|
|
teachersloading: true
|
|
})
|
|
axios.get(url, {
|
|
params: {
|
|
page: page,
|
|
per_page: per_page,
|
|
}
|
|
}).then((response) => {
|
|
if (response === null || response === undefined) {
|
|
this.setState({
|
|
teachers: [],
|
|
teacher_count: 0
|
|
})
|
|
return
|
|
}
|
|
if (response.data.status === 403 || response.data.status === 401 || response.data.status === 500) {
|
|
this.setState({
|
|
teachers: [],
|
|
teacher_count: 0
|
|
})
|
|
} else {
|
|
if (response.data.status === -1) {
|
|
this.setState({
|
|
teachers: [],
|
|
teacher_count: 0
|
|
})
|
|
return
|
|
}
|
|
let teachers = [];
|
|
if (response.data.teachers) {
|
|
for (let i = 0; i < response.data.teachers.length; i++) {
|
|
let datay = {
|
|
id: (i + (page - 1) * 10) + 1,
|
|
login: response.data.teachers[i].login,
|
|
name: response.data.teachers[i].name, // 姓名
|
|
course_count: response.data.teachers[i].course_count, // 课堂数
|
|
shixun_work_count: response.data.teachers[i].shixun_work_count, // 已发布实训作业
|
|
un_shixun_work_count: response.data.teachers[i].un_shixun_work_count, // 未发布实训作业
|
|
student_count: response.data.teachers[i].student_count, // 学生数
|
|
complete_rate: response.data.teachers[i].complete_rate, // 完成率
|
|
publish_shixun_count: response.data.teachers[i].publish_shixun_count, // 发布实训数
|
|
}
|
|
teachers.push(datay);
|
|
|
|
}
|
|
|
|
}
|
|
this.setState({
|
|
teachers: teachers,
|
|
teacher_count: response.data.teacher_count,
|
|
pages: page,
|
|
limits: per_page,
|
|
})
|
|
}
|
|
this.setState({
|
|
teachersloading: false
|
|
})
|
|
}).catch((error) => {
|
|
this.setState({
|
|
teachers: [],
|
|
teacher_count: 0,
|
|
teachersloading: false
|
|
})
|
|
});
|
|
}
|
|
//学生排名
|
|
|
|
Studentranking = (page, per_page) => {
|
|
const id = this.props.match.params.id;
|
|
const url = `/colleges/${id}/student_shixun.json`;
|
|
this.setState({
|
|
studentsloading: true
|
|
})
|
|
axios.get(url, {
|
|
params: {
|
|
page: page,
|
|
per_page: per_page,
|
|
}
|
|
}).then((response) => {
|
|
if (response === null || response === undefined) {
|
|
this.setState({
|
|
students: [],
|
|
student_count: 0,
|
|
})
|
|
return
|
|
}
|
|
if (response.data.status === 403 || response.data.status === 401 || response.data.status === 500) {
|
|
this.setState({
|
|
students: [],
|
|
student_count: 0,
|
|
})
|
|
} else {
|
|
if (response.data.status === -1) {
|
|
this.setState({
|
|
students: [],
|
|
student_count: 0,
|
|
})
|
|
return
|
|
}
|
|
let students = [];
|
|
if (response.data.teachers) {
|
|
for (let i = 0; i < response.data.teachers.length; i++) {
|
|
let datay = {
|
|
id: (i + (page - 1) * 10) + 1,
|
|
login: response.data.teachers[i].login,
|
|
name: response.data.teachers[i].name, // 姓名
|
|
student_id: response.data.teachers[i].student_id,
|
|
shixun_count: response.data.teachers[i].shixun_count,
|
|
study_shixun_count: response.data.teachers[i].study_shixun_count,
|
|
grade: response.data.teachers[i].grade,
|
|
experience: response.data.teachers[i].experience,
|
|
}
|
|
students.push(datay);
|
|
}
|
|
}
|
|
this.setState({
|
|
students: students,
|
|
student_count: response.data.student_count,
|
|
pagess: page,
|
|
limitss: per_page,
|
|
})
|
|
}
|
|
this.setState({
|
|
studentsloading: false
|
|
})
|
|
}).catch((error) => {
|
|
this.setState({
|
|
students: [],
|
|
student_count: 0,
|
|
studentsloading: false
|
|
})
|
|
});
|
|
}
|
|
|
|
//在线实训情况
|
|
Onlinetraining = () => {
|
|
const id = this.props.match.params.id;
|
|
const url = `/colleges/${id}/shixun_chart_data.json`;
|
|
axios.get(url).then((response) => {
|
|
if (response.data.status === 403 || response.data.status === 401 || response.data.status === 500) {
|
|
this.setState({
|
|
shixun_chart_data: [],
|
|
shixun_chart_datanames: []
|
|
})
|
|
} else {
|
|
if (response.data.status === -1) {
|
|
this.setState({
|
|
shixun_chart_data: [],
|
|
shixun_chart_datanames: []
|
|
})
|
|
return
|
|
}
|
|
|
|
this.setState({
|
|
shixun_chart_data: response.data.data,
|
|
shixun_chart_datanames: response.data.names
|
|
})
|
|
}
|
|
}).catch((error) => {
|
|
this.setState({
|
|
shixun_chart_data: [],
|
|
shixun_chart_datanames: []
|
|
})
|
|
});
|
|
}
|
|
//最热测评
|
|
Hottest = () => {
|
|
const id = this.props.match.params.id;
|
|
const url = `/colleges/${id}/student_hot_evaluations.json`;
|
|
axios.get(url).then((response) => {
|
|
if (response.data.status === 403 || response.data.status === 401 || response.data.status === 500) {
|
|
this.setState({
|
|
studentionsnames: [],
|
|
studentionsvalues: []
|
|
})
|
|
} else {
|
|
if (response.data.status === -1) {
|
|
this.setState({
|
|
studentionsnames: [],
|
|
studentionsvalues: []
|
|
})
|
|
return
|
|
}
|
|
this.setState({
|
|
studentionsnames: response.data.names,
|
|
studentionsvalues: response.data.values
|
|
})
|
|
}
|
|
}).catch((error) => {
|
|
this.setState({
|
|
studentionsnames: [],
|
|
studentionsvalues: []
|
|
})
|
|
});
|
|
}
|
|
|
|
table1handleChange() {
|
|
|
|
}
|
|
|
|
//塞选
|
|
paginationonChange = (pageNumber) => {
|
|
this.Classnumber(pageNumber, 10);
|
|
}
|
|
|
|
paginationonChanges = (pageNumber) => {
|
|
this.Teacherranking(pageNumber, 10);
|
|
}
|
|
paginationonChangess = (pageNumber) => {
|
|
this.Studentranking(pageNumber, 10);
|
|
}
|
|
render() {
|
|
let { columns, page, limit, total_users, teacherranking, studentranking,
|
|
teachers_count, students_count, courses_count, shixuns_count, shixun_report_count, shixun_time, courses, course_count, school, teachers,
|
|
pages, limits, teacher_count, teachersloading, coursesloading, pagess, limitss, studentsloading, students, student_count, shixun_chart_data,
|
|
shixun_chart_datanames, studentionsnames, studentionsvalues
|
|
} = this.state;
|
|
|
|
return (
|
|
<div className="newMain clearfix edu-back-eeee">
|
|
<div className="yslstatistic-header intermediatecenter" >
|
|
<div className="intermediatecenter " style={{
|
|
maxWidth: "1300px",
|
|
width: "1300px",
|
|
height: '100%',
|
|
}}>
|
|
<div className="yslstatistic-header-title">{school}</div>
|
|
<div className="yslstatistic-header-content">
|
|
<div className="yslstatistic-header-item">
|
|
{/*//教师1*/}
|
|
<div className="yslstatistic-header-item-label">
|
|
教师
|
|
</div>
|
|
<div className="yslstatistic-header-item-content">
|
|
{teachers_count ? teachers_count : 0}
|
|
</div>
|
|
</div>
|
|
|
|
<div className="yslstatistic-header-item">
|
|
<div className="yslstatistic-header-item-label">
|
|
学生
|
|
</div>
|
|
<div className="yslstatistic-header-item-content">
|
|
{students_count ? students_count : 0}
|
|
</div>
|
|
</div>
|
|
|
|
<div className="yslstatistic-header-item">
|
|
<div className="yslstatistic-header-item-label">
|
|
课堂
|
|
</div>
|
|
<div className="yslstatistic-header-item-content">
|
|
{courses_count ? courses_count : 0}
|
|
</div>
|
|
</div>
|
|
|
|
<div className="yslstatistic-header-item">
|
|
<div className="yslstatistic-header-item-label">
|
|
共建实训
|
|
</div>
|
|
<div className="yslstatistic-header-item-content">
|
|
{shixuns_count ? shixuns_count : 0}
|
|
</div>
|
|
</div>
|
|
{/*//教师2*/}
|
|
|
|
|
|
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div className={"educontent edu-back-white mt-4"} style={{ width: "1300px" }}>
|
|
<p className="h4 linjibenshiyong">
|
|
基本使用情况
|
|
</p>
|
|
{/*基本使用情况1*/}
|
|
<div className="jibenshiyong100 sortinxdirection yinyin">
|
|
<p className="yslstatistic-base-item-label">
|
|
教师
|
|
</p>
|
|
<p className="yslstatistic-base-item-label">
|
|
学生
|
|
</p>
|
|
<p className="yslstatistic-base-item-label">
|
|
课堂
|
|
</p>
|
|
<p className="yslstatistic-base-item-label">
|
|
共建实训
|
|
</p>
|
|
<p className="yslstatistic-base-item-label">
|
|
实训报告
|
|
</p>
|
|
<p className="yslstatistic-base-item-label">
|
|
学员实战时间
|
|
</p>
|
|
</div>
|
|
|
|
|
|
{/*基本使用情况2*/}
|
|
<div className="jibenshiyong100 sortinxdirection yinyin">
|
|
<div className="yslstatistic-base-item-labels">
|
|
{
|
|
teachers_count || teachers_count===0?
|
|
<div className="yslstatistic-base-item-labelsp"> {teachers_count}<span className="yslstatistic-base-item-labelsspan">人</span></div>
|
|
:
|
|
<Spin/>
|
|
}
|
|
</div>
|
|
<div className="yslstatistic-base-item-labels">
|
|
{
|
|
students_count || students_count===0?
|
|
<div className="yslstatistic-base-item-labelsp">{students_count}<span className="yslstatistic-base-item-labelsspan">人</span></div>
|
|
:
|
|
<Spin/>
|
|
}
|
|
</div>
|
|
<div className="yslstatistic-base-item-labels">
|
|
{
|
|
courses_count || courses_count === 0?
|
|
<div className="yslstatistic-base-item-labelsp">{courses_count}<span className="yslstatistic-base-item-labelsspan">个</span></div>
|
|
:
|
|
<Spin/>
|
|
}
|
|
</div>
|
|
<div className="yslstatistic-base-item-labels">
|
|
{
|
|
shixuns_count || shixuns_count === 0?
|
|
<div className="yslstatistic-base-item-labelsp">{shixuns_count}<span className="yslstatistic-base-item-labelsspan">个</span></div>
|
|
:
|
|
<Spin/>
|
|
}
|
|
</div>
|
|
<div className="yslstatistic-base-item-labels">
|
|
{
|
|
shixun_report_count || shixun_report_count===0?
|
|
<div className="yslstatistic-base-item-labelsp">{shixun_report_count}<span className="yslstatistic-base-item-labelsspan">个</span></div>
|
|
:
|
|
<Spin/>
|
|
}
|
|
</div>
|
|
<div className="yslstatistic-base-item-labels">
|
|
{
|
|
shixun_time || shixun_time === 0 ?
|
|
<div className="yslstatistic-base-item-labelsp">{shixun_time}<span className="yslstatistic-base-item-labelsspan">天</span></div>
|
|
:
|
|
<Spin/>
|
|
}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{/*基本使用情况3结束*/}
|
|
</div>
|
|
|
|
|
|
<div className={"educontent edu-back-white mt-4 yinyin"} style={{ width: "1300px" }}>
|
|
<p className="statistic-label linjibenshiyong">
|
|
课堂
|
|
</p>
|
|
{
|
|
courses === null ?
|
|
<div className="intermediatecenter" style={{
|
|
height: '500px'
|
|
}}>
|
|
<Spin tip="正在加载..." />
|
|
</div>
|
|
|
|
:
|
|
JSON.stringify(courses) === "[]" ?
|
|
<NoneData>
|
|
|
|
</NoneData>
|
|
:
|
|
<div style={{ width: "1300px" }}>
|
|
<div className={"justify break_full_word new_li edu-back-white"}
|
|
style={{ minHeight: "480px" }}>
|
|
<style>{`
|
|
.ant-spin-nested-loading > div > .ant-spin .ant-spin-dot {
|
|
top: 72%;}
|
|
}
|
|
.ysltableows2 .ant-table-thead > tr > th{
|
|
padding: 9px;
|
|
}
|
|
|
|
|
|
.ysltableows2 .ant-table-tbody > tr > td {
|
|
padding: 15px;
|
|
}
|
|
|
|
.mysjysltable1 .ant-table-thead > tr > th{
|
|
padding: 9px;
|
|
}
|
|
|
|
.mysjysltable1 .ant-table-tbody > tr > td {
|
|
padding: 15px;
|
|
}
|
|
.ysltableows2 .ant-table-thead > tr > th{
|
|
background: #F5F5F5;
|
|
}
|
|
`}</style>
|
|
<div className="edu-table edu-back-white ysltableows2">
|
|
{courses === undefined ? "" : <Table
|
|
dataSource={courses}
|
|
columns={columns}
|
|
className="mysjysltable1"
|
|
pagination={false}
|
|
loading={coursesloading}
|
|
// onChange={this.TablePaginationsy}
|
|
/>}
|
|
</div>
|
|
</div>
|
|
{
|
|
course_count >= 11 ?
|
|
<div style={{
|
|
width: '100%',
|
|
padding: '40px'
|
|
}}>
|
|
<div className="edu-txt-center ">
|
|
<Pagination showQuickJumper current={page} onChange={this.paginationonChange}
|
|
pageSize={limit}
|
|
total={course_count}></Pagination>
|
|
</div>
|
|
|
|
</div>
|
|
: ""
|
|
}
|
|
|
|
</div>
|
|
}
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div className={"educontent edu-back-white yinyin mt-4 sortinxdirection"} style={{ width: "1300px" }}>
|
|
<div className=" verticallayout" style={{
|
|
width: "63%"
|
|
}}>
|
|
<p className="statistic-label ysllinjibenshiyong yinyin">
|
|
教师排名
|
|
</p>
|
|
{
|
|
teachers === null ?
|
|
<div className="intermediatecenter" style={{
|
|
height: '500px'
|
|
}}>
|
|
<Spin tip="正在加载..." />
|
|
</div>
|
|
|
|
:
|
|
JSON.stringify(teachers) === "[]" ?
|
|
<NoneData>
|
|
|
|
</NoneData>
|
|
:
|
|
<div className={"justify break_full_word new_li edu-back-white "}
|
|
style={{ minHeight: "480px" }}>
|
|
<style>{`
|
|
.ant-spin-nested-loading > div > .ant-spin .ant-spin-dot {
|
|
top: 72%;}
|
|
}
|
|
.ysltableows2 .ant-table-thead > tr > th{
|
|
padding: 9px;
|
|
}
|
|
|
|
|
|
.ysltableows2 .ant-table-tbody > tr > td {
|
|
padding: 15px;
|
|
}
|
|
|
|
.mysjysltable1 .ant-table-thead > tr > th{
|
|
padding: 9px;
|
|
}
|
|
|
|
.mysjysltable1 .ant-table-tbody > tr > td {
|
|
padding: 15px;
|
|
}
|
|
.ysltableows2 .ant-table-thead > tr > th{
|
|
background: #F5F5F5;
|
|
}
|
|
|
|
`}</style>
|
|
<div className="edu-table edu-back-white ysltableows2">
|
|
{teachers === undefined ? "" : <Table
|
|
dataSource={teachers}
|
|
columns={teacherranking}
|
|
className="mysjysltable1"
|
|
pagination={false}
|
|
loading={teachersloading}
|
|
// onChange={this.TablePaginationsy}
|
|
/>}
|
|
</div>
|
|
</div>
|
|
}
|
|
|
|
|
|
|
|
{/*<div style={{*/}
|
|
{/* width:'100%',*/}
|
|
{/* padding:'40px'*/}
|
|
{/*}}>*/}
|
|
{/* <div className="edu-txt-center ">*/}
|
|
{/* <Pagination showQuickJumper current={pages} onChange={this.paginationonChanges}*/}
|
|
{/* pageSize={limits}*/}
|
|
{/* total={teacher_count}></Pagination>*/}
|
|
{/* </div>*/}
|
|
|
|
{/*</div>*/}
|
|
</div>
|
|
|
|
<div className="" style={{
|
|
width: "37%"
|
|
}}><div className="yslslinjibenshiyong" style={{
|
|
height: "100%"
|
|
}}>
|
|
<p className="statistic-label ysllinjibenshiyong">
|
|
在线实训情况
|
|
</p>
|
|
{
|
|
shixun_chart_data === null ?
|
|
<div className="intermediatecenter" style={{
|
|
height: '500px'
|
|
}}>
|
|
<Spin tip="正在加载..." />
|
|
</div>
|
|
|
|
:
|
|
JSON.stringify(shixun_chart_data) === "[]" ?
|
|
<NoneData>
|
|
|
|
</NoneData>
|
|
:
|
|
<Colleagechart data={shixun_chart_data} datanane={shixun_chart_datanames}>
|
|
|
|
</Colleagechart>
|
|
}
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div className={"educontent edu-back-white yinyin mt-4 sortinxdirection mb80"} style={{ width: "1300px" }}>
|
|
<div className=" verticallayout" style={{
|
|
width: "63%"
|
|
}}>
|
|
<p className="statistic-label ysllinjibenshiyong yinyin ">
|
|
学生排名
|
|
</p>
|
|
{
|
|
students === null ?
|
|
<div className="intermediatecenter" style={{
|
|
height: '500px'
|
|
}}>
|
|
<Spin tip="正在加载..." />
|
|
</div>
|
|
|
|
:
|
|
JSON.stringify(students) === "[]" ?
|
|
<NoneData>
|
|
|
|
</NoneData>
|
|
:
|
|
<div className={"justify break_full_word new_li edu-back-white "}
|
|
style={{ minHeight: "480px" }}>
|
|
<style>{`
|
|
.ant-spin-nested-loading > div > .ant-spin .ant-spin-dot {
|
|
top: 72%;}
|
|
}
|
|
.ysltableows2 .ant-table-thead > tr > th{
|
|
padding: 9px;
|
|
}
|
|
|
|
|
|
.ysltableows2 .ant-table-tbody > tr > td {
|
|
padding: 15px;
|
|
}
|
|
|
|
.mysjysltable1 .ant-table-thead > tr > th{
|
|
padding: 9px;
|
|
}
|
|
|
|
.mysjysltable1 .ant-table-tbody > tr > td {
|
|
padding: 15px;
|
|
}
|
|
.ysltableows2 .ant-table-thead > tr > th{
|
|
background: #F5F5F5;
|
|
}
|
|
`}</style>
|
|
<div className="edu-table edu-back-white ysltableows2">
|
|
{students === undefined ? "" : <Table
|
|
dataSource={students}
|
|
columns={studentranking}
|
|
className="mysjysltable1"
|
|
pagination={false}
|
|
loading={studentsloading}
|
|
// onChange={this.TablePaginationsy}
|
|
/>}
|
|
</div>
|
|
</div>
|
|
}
|
|
{/*<div style={{*/}
|
|
{/* width:'100%',*/}
|
|
{/* padding:'40px'*/}
|
|
{/*}}>*/}
|
|
{/* <div className="edu-txt-center ">*/}
|
|
{/* <Pagination showQuickJumper current={pagess} onChange={this.paginationonChangess}*/}
|
|
{/* pageSize={limitss}*/}
|
|
{/* total={student_count}></Pagination>*/}
|
|
{/* </div>*/}
|
|
|
|
{/*</div>*/}
|
|
|
|
|
|
</div>
|
|
|
|
<div className="" style={{
|
|
width: "37%"
|
|
}}>
|
|
|
|
<div className="yslslinjibenshiyong" style={{
|
|
height: "100%"
|
|
}}>
|
|
<p className="statistic-label ysllinjibenshiyong">
|
|
最热评测
|
|
</p>
|
|
{
|
|
studentionsnames === null ?
|
|
<div className="intermediatecenter" style={{
|
|
height: '500px'
|
|
}}>
|
|
<Spin tip="正在加载..." />
|
|
</div>
|
|
|
|
:
|
|
JSON.stringify(studentionsnames) === "[]" ?
|
|
<NoneData>
|
|
|
|
</NoneData>
|
|
:
|
|
<Colleagechartzu data={studentionsnames} datavule={studentionsvalues}>
|
|
|
|
</Colleagechartzu>
|
|
}
|
|
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
)
|
|
}
|
|
}
|
|
export default SnackbarHOC()(TPMIndexHOC(College));
|
|
|
|
|