|
|
|
@ -1,5 +1,5 @@
|
|
|
|
|
import React, { Component } from "react";
|
|
|
|
|
import { SnackbarHOC, getImageUrl } from 'educoder';
|
|
|
|
|
import React, {Component} from "react";
|
|
|
|
|
import {SnackbarHOC,getImageUrl} from 'educoder';
|
|
|
|
|
import axios from 'axios';
|
|
|
|
|
import {
|
|
|
|
|
Spin,
|
|
|
|
@ -8,15 +8,16 @@ import {
|
|
|
|
|
} from "antd";
|
|
|
|
|
import Colleagechart from './colleagechart/Colleagechart'
|
|
|
|
|
import Colleagechartzu from './colleagechart/Colleagechartzu'
|
|
|
|
|
import TPMIndexHOC from "../modules/tpm/TPMIndexHOC";
|
|
|
|
|
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.answerMdRef = React.createRef();
|
|
|
|
|
this.state = {
|
|
|
|
|
coursesloading: false,
|
|
|
|
|
coursesloading:false,
|
|
|
|
|
columns: [
|
|
|
|
|
{
|
|
|
|
|
title: '名称',
|
|
|
|
@ -42,7 +43,7 @@ class College extends Component {
|
|
|
|
|
className: "edu-txt-center font-14 maxnamewidth340",
|
|
|
|
|
render: (text, record) => (
|
|
|
|
|
<a className="maxnamewidth340" title={record.teachers} style={{
|
|
|
|
|
color: '#05101A'
|
|
|
|
|
color:'#05101A'
|
|
|
|
|
}}>
|
|
|
|
|
{
|
|
|
|
|
record.teachers
|
|
|
|
@ -140,9 +141,9 @@ class College extends Component {
|
|
|
|
|
align: 'center',
|
|
|
|
|
className: "edu-txt-center font-14",
|
|
|
|
|
render: (text, record) => (
|
|
|
|
|
<span className={record.is_end ? '' : 'color-huang'}>
|
|
|
|
|
<span className={record.is_end?'':'color-huang'}>
|
|
|
|
|
{
|
|
|
|
|
record.is_end ?
|
|
|
|
|
record.is_end?
|
|
|
|
|
"已结束"
|
|
|
|
|
:
|
|
|
|
|
"正在进行"
|
|
|
|
@ -165,11 +166,11 @@ class College extends Component {
|
|
|
|
|
)
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
page: 1,
|
|
|
|
|
limit: 10,
|
|
|
|
|
total_users: 50,
|
|
|
|
|
teachersloading: false,
|
|
|
|
|
teacherranking: [
|
|
|
|
|
page:1,
|
|
|
|
|
limit:10,
|
|
|
|
|
total_users:50,
|
|
|
|
|
teachersloading:false,
|
|
|
|
|
teacherranking:[
|
|
|
|
|
{
|
|
|
|
|
title: '排名',
|
|
|
|
|
dataIndex: 'ranking',
|
|
|
|
@ -192,7 +193,7 @@ class College extends Component {
|
|
|
|
|
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',
|
|
|
|
|
color:'#007bff',
|
|
|
|
|
|
|
|
|
|
}}> {
|
|
|
|
|
record.name
|
|
|
|
@ -266,7 +267,7 @@ class College extends Component {
|
|
|
|
|
render: (text, record) => (
|
|
|
|
|
<span>
|
|
|
|
|
{
|
|
|
|
|
record.complete_rate + "%"
|
|
|
|
|
record.complete_rate+"%"
|
|
|
|
|
}
|
|
|
|
|
</span>
|
|
|
|
|
)
|
|
|
|
@ -286,23 +287,23 @@ class College extends Component {
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
studentranking: [
|
|
|
|
|
studentranking:[
|
|
|
|
|
{
|
|
|
|
|
title: '排名',
|
|
|
|
|
dataIndex: 'ranking',
|
|
|
|
|
key: 'ranking',
|
|
|
|
|
align: 'center',
|
|
|
|
|
className: "edu-txt-center font-14",
|
|
|
|
|
width: '100px',
|
|
|
|
|
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
|
|
|
|
|
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>
|
|
|
|
|
)
|
|
|
|
@ -313,10 +314,10 @@ class College extends Component {
|
|
|
|
|
key: 'name',
|
|
|
|
|
align: 'center',
|
|
|
|
|
className: "edu-txt-center font-14 maxnamewidth105",
|
|
|
|
|
width: '100px',
|
|
|
|
|
width:'100px',
|
|
|
|
|
render: (text, record) => (
|
|
|
|
|
<a href={`/users/${record.login}`} title={record.name} target="_blank" className="task-hide maxnamewidth105" style={{
|
|
|
|
|
color: '#007bff',
|
|
|
|
|
color:'#007bff',
|
|
|
|
|
|
|
|
|
|
}}> {
|
|
|
|
|
record.name
|
|
|
|
@ -389,7 +390,7 @@ class College extends Component {
|
|
|
|
|
className: "edu-txt-center font-14",
|
|
|
|
|
render: (text, record) => (
|
|
|
|
|
<span style={{
|
|
|
|
|
color: '#17a2b8'
|
|
|
|
|
color:'#17a2b8'
|
|
|
|
|
}}>
|
|
|
|
|
{
|
|
|
|
|
record.experience
|
|
|
|
@ -398,249 +399,247 @@ class College extends Component {
|
|
|
|
|
)
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
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() {
|
|
|
|
|
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.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`;
|
|
|
|
|
gettop=()=>{
|
|
|
|
|
const id =this.props.match.params.id;
|
|
|
|
|
const url=`/colleges/${id}/statistics.json`;
|
|
|
|
|
axios.get(url).then((response) => {
|
|
|
|
|
if (response === null || response === undefined) {
|
|
|
|
|
if(response===null||response===undefined){
|
|
|
|
|
this.setState({
|
|
|
|
|
teachers_count: 0,
|
|
|
|
|
students_count: 0,
|
|
|
|
|
courses_count: 0,
|
|
|
|
|
shixuns_count: 0,
|
|
|
|
|
school: "",
|
|
|
|
|
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) {
|
|
|
|
|
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: "",
|
|
|
|
|
teachers_count:0,
|
|
|
|
|
students_count:0,
|
|
|
|
|
courses_count:0,
|
|
|
|
|
shixuns_count:0,
|
|
|
|
|
school:"",
|
|
|
|
|
})
|
|
|
|
|
} else {
|
|
|
|
|
}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,
|
|
|
|
|
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: "",
|
|
|
|
|
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`;
|
|
|
|
|
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) {
|
|
|
|
|
if(response===null||response===undefined){
|
|
|
|
|
this.setState({
|
|
|
|
|
shixun_report_count: 0,
|
|
|
|
|
shixun_report_count:0,
|
|
|
|
|
})
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
if (response.data.status === 403 || response.data.status === 401 || response.data.status === 500) {
|
|
|
|
|
if (response.data.status === 403||response.data.status === 401||response.data.status === 500) {
|
|
|
|
|
this.setState({
|
|
|
|
|
shixun_report_count: 0,
|
|
|
|
|
shixun_report_count:0,
|
|
|
|
|
})
|
|
|
|
|
} else {
|
|
|
|
|
if (response.data.status === -1) {
|
|
|
|
|
}else{
|
|
|
|
|
if (response.data.status === -1){
|
|
|
|
|
this.setState({
|
|
|
|
|
shixun_report_count: 0,
|
|
|
|
|
shixun_report_count:0,
|
|
|
|
|
})
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
this.setState({
|
|
|
|
|
shixun_report_count: response.data.shixun_report_count,
|
|
|
|
|
shixun_report_count:response.data.shixun_report_count,
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
}).catch((error) => {
|
|
|
|
|
console.log(error)
|
|
|
|
|
this.setState({
|
|
|
|
|
shixun_report_count: 0,
|
|
|
|
|
shixun_report_count:0,
|
|
|
|
|
})
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//学员实战时间
|
|
|
|
|
Actualcombattimeoftrainees = () => {
|
|
|
|
|
const id = this.props.match.params.id;
|
|
|
|
|
const url = `/colleges/${id}/shixun_time.json`;
|
|
|
|
|
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) {
|
|
|
|
|
if(response===null||response===undefined){
|
|
|
|
|
this.setState({
|
|
|
|
|
shixun_time: 0,
|
|
|
|
|
shixun_time:0,
|
|
|
|
|
})
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
if (response.data.status === 403 || response.data.status === 401 || response.data.status === 500) {
|
|
|
|
|
if (response.data.status === 403||response.data.status === 401||response.data.status === 500) {
|
|
|
|
|
this.setState({
|
|
|
|
|
shixun_time: 0,
|
|
|
|
|
shixun_time:0,
|
|
|
|
|
})
|
|
|
|
|
} else {
|
|
|
|
|
if (response.data.status === -1) {
|
|
|
|
|
}else{
|
|
|
|
|
if (response.data.status === -1){
|
|
|
|
|
this.setState({
|
|
|
|
|
shixun_time: 0,
|
|
|
|
|
shixun_time:0,
|
|
|
|
|
})
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
this.setState({
|
|
|
|
|
shixun_time: response.data.shixun_time,
|
|
|
|
|
shixun_time:response.data.shixun_time,
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
}).catch((error) => {
|
|
|
|
|
console.log(error)
|
|
|
|
|
this.setState({
|
|
|
|
|
shixun_time: 0,
|
|
|
|
|
shixun_time:0,
|
|
|
|
|
})
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//课堂信息
|
|
|
|
|
Classnumber = (page, per_page) => {
|
|
|
|
|
const id = this.props.match.params.id;
|
|
|
|
|
const url = `/colleges/${id}/course_statistics.json`;
|
|
|
|
|
Classnumber=(page,per_page)=>{
|
|
|
|
|
const id =this.props.match.params.id;
|
|
|
|
|
const url=`/colleges/${id}/course_statistics.json`;
|
|
|
|
|
this.setState({
|
|
|
|
|
coursesloading: true
|
|
|
|
|
coursesloading:true
|
|
|
|
|
})
|
|
|
|
|
axios.get(url, {
|
|
|
|
|
params: {
|
|
|
|
|
page: page,
|
|
|
|
|
per_page: per_page,
|
|
|
|
|
axios.get(url,{params:{
|
|
|
|
|
page:page,
|
|
|
|
|
per_page:per_page,
|
|
|
|
|
}
|
|
|
|
|
}).then((response) => {
|
|
|
|
|
if (response === null || response === undefined) {
|
|
|
|
|
if(response===null||response===undefined){
|
|
|
|
|
this.setState({
|
|
|
|
|
courses: [],
|
|
|
|
|
course_count: 0
|
|
|
|
|
courses:[],
|
|
|
|
|
course_count:0
|
|
|
|
|
})
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
if (response.data.status === 403 || response.data.status === 401 || response.data.status === 500) {
|
|
|
|
|
if (response.data.status === 403||response.data.status === 401||response.data.status === 500) {
|
|
|
|
|
this.setState({
|
|
|
|
|
courses: [],
|
|
|
|
|
course_count: 0
|
|
|
|
|
courses:[],
|
|
|
|
|
course_count:0
|
|
|
|
|
})
|
|
|
|
|
} else {
|
|
|
|
|
if (response.data.status === -1) {
|
|
|
|
|
}else{
|
|
|
|
|
if (response.data.status === -1){
|
|
|
|
|
this.setState({
|
|
|
|
|
courses: [],
|
|
|
|
|
course_count: 0
|
|
|
|
|
courses:[],
|
|
|
|
|
course_count:0
|
|
|
|
|
})
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
this.setState({
|
|
|
|
|
courses: response.data.courses,
|
|
|
|
|
course_count: response.data.course_count,
|
|
|
|
|
page: page,
|
|
|
|
|
limit: per_page
|
|
|
|
|
courses:response.data.courses,
|
|
|
|
|
course_count:response.data.course_count,
|
|
|
|
|
page:page,
|
|
|
|
|
limit:per_page
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
this.setState({
|
|
|
|
|
coursesloading: false
|
|
|
|
|
coursesloading:false
|
|
|
|
|
})
|
|
|
|
|
}).catch((error) => {
|
|
|
|
|
this.setState({
|
|
|
|
|
courses: [],
|
|
|
|
|
course_count: 0,
|
|
|
|
|
coursesloading: false
|
|
|
|
|
courses:[],
|
|
|
|
|
course_count:0,
|
|
|
|
|
coursesloading:false
|
|
|
|
|
})
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//教师排名
|
|
|
|
|
Teacherranking = (page, per_page) => {
|
|
|
|
|
const id = this.props.match.params.id;
|
|
|
|
|
const url = `/colleges/${id}/teachers.json`;
|
|
|
|
|
Teacherranking=(page,per_page)=>{
|
|
|
|
|
const id =this.props.match.params.id;
|
|
|
|
|
const url=`/colleges/${id}/teachers.json`;
|
|
|
|
|
this.setState({
|
|
|
|
|
teachersloading: true
|
|
|
|
|
teachersloading:true
|
|
|
|
|
})
|
|
|
|
|
axios.get(url, {
|
|
|
|
|
params: {
|
|
|
|
|
page: page,
|
|
|
|
|
per_page: per_page,
|
|
|
|
|
axios.get(url,{params:{
|
|
|
|
|
page:page,
|
|
|
|
|
per_page:per_page,
|
|
|
|
|
}
|
|
|
|
|
}).then((response) => {
|
|
|
|
|
if (response === null || response === undefined) {
|
|
|
|
|
if(response===null||response===undefined){
|
|
|
|
|
this.setState({
|
|
|
|
|
teachers: [],
|
|
|
|
|
teacher_count: 0
|
|
|
|
|
teachers:[],
|
|
|
|
|
teacher_count:0
|
|
|
|
|
})
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
if (response.data.status === 403 || response.data.status === 401 || response.data.status === 500) {
|
|
|
|
|
if (response.data.status === 403||response.data.status === 401||response.data.status === 500) {
|
|
|
|
|
this.setState({
|
|
|
|
|
teachers: [],
|
|
|
|
|
teacher_count: 0
|
|
|
|
|
teachers:[],
|
|
|
|
|
teacher_count:0
|
|
|
|
|
})
|
|
|
|
|
} else {
|
|
|
|
|
if (response.data.status === -1) {
|
|
|
|
|
}else{
|
|
|
|
|
if (response.data.status === -1){
|
|
|
|
|
this.setState({
|
|
|
|
|
teachers: [],
|
|
|
|
|
teacher_count: 0
|
|
|
|
|
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,
|
|
|
|
|
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, // 未发布实训作业
|
|
|
|
|
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, // 发布实训数
|
|
|
|
@ -651,67 +650,66 @@ class College extends Component {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
this.setState({
|
|
|
|
|
teachers: teachers,
|
|
|
|
|
teacher_count: response.data.teacher_count,
|
|
|
|
|
pages: page,
|
|
|
|
|
limits: per_page,
|
|
|
|
|
teachers:teachers,
|
|
|
|
|
teacher_count:response.data.teacher_count,
|
|
|
|
|
pages:page,
|
|
|
|
|
limits:per_page,
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
this.setState({
|
|
|
|
|
teachersloading: false
|
|
|
|
|
teachersloading:false
|
|
|
|
|
})
|
|
|
|
|
}).catch((error) => {
|
|
|
|
|
this.setState({
|
|
|
|
|
teachers: [],
|
|
|
|
|
teacher_count: 0,
|
|
|
|
|
teachersloading: false
|
|
|
|
|
teachers:[],
|
|
|
|
|
teacher_count:0,
|
|
|
|
|
teachersloading:false
|
|
|
|
|
})
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
//学生排名
|
|
|
|
|
|
|
|
|
|
Studentranking = (page, per_page) => {
|
|
|
|
|
const id = this.props.match.params.id;
|
|
|
|
|
const url = `/colleges/${id}/student_shixun.json`;
|
|
|
|
|
Studentranking=(page,per_page)=>{
|
|
|
|
|
const id =this.props.match.params.id;
|
|
|
|
|
const url=`/colleges/${id}/student_shixun.json`;
|
|
|
|
|
this.setState({
|
|
|
|
|
studentsloading: true
|
|
|
|
|
studentsloading:true
|
|
|
|
|
})
|
|
|
|
|
axios.get(url, {
|
|
|
|
|
params: {
|
|
|
|
|
page: page,
|
|
|
|
|
per_page: per_page,
|
|
|
|
|
axios.get(url,{params:{
|
|
|
|
|
page:page,
|
|
|
|
|
per_page:per_page,
|
|
|
|
|
}
|
|
|
|
|
}).then((response) => {
|
|
|
|
|
if (response === null || response === undefined) {
|
|
|
|
|
if(response===null||response===undefined){
|
|
|
|
|
this.setState({
|
|
|
|
|
students: [],
|
|
|
|
|
student_count: 0,
|
|
|
|
|
students:[],
|
|
|
|
|
student_count:0,
|
|
|
|
|
})
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
if (response.data.status === 403 || response.data.status === 401 || response.data.status === 500) {
|
|
|
|
|
if (response.data.status === 403||response.data.status === 401||response.data.status === 500) {
|
|
|
|
|
this.setState({
|
|
|
|
|
students: [],
|
|
|
|
|
student_count: 0,
|
|
|
|
|
students:[],
|
|
|
|
|
student_count:0,
|
|
|
|
|
})
|
|
|
|
|
} else {
|
|
|
|
|
if (response.data.status === -1) {
|
|
|
|
|
}else{
|
|
|
|
|
if (response.data.status === -1){
|
|
|
|
|
this.setState({
|
|
|
|
|
students: [],
|
|
|
|
|
student_count: 0,
|
|
|
|
|
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,
|
|
|
|
|
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,
|
|
|
|
|
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,
|
|
|
|
|
}
|
|
|
|
@ -719,66 +717,66 @@ class College extends Component {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
this.setState({
|
|
|
|
|
students: students,
|
|
|
|
|
student_count: response.data.student_count,
|
|
|
|
|
pagess: page,
|
|
|
|
|
limitss: per_page,
|
|
|
|
|
students:students,
|
|
|
|
|
student_count:response.data.student_count,
|
|
|
|
|
pagess:page,
|
|
|
|
|
limitss:per_page,
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
this.setState({
|
|
|
|
|
studentsloading: false
|
|
|
|
|
studentsloading:false
|
|
|
|
|
})
|
|
|
|
|
}).catch((error) => {
|
|
|
|
|
this.setState({
|
|
|
|
|
students: [],
|
|
|
|
|
student_count: 0,
|
|
|
|
|
studentsloading: false
|
|
|
|
|
students:[],
|
|
|
|
|
student_count:0,
|
|
|
|
|
studentsloading:false
|
|
|
|
|
})
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//在线实训情况
|
|
|
|
|
Onlinetraining = () => {
|
|
|
|
|
const id = this.props.match.params.id;
|
|
|
|
|
const url = `/colleges/${id}/shixun_chart_data.json`;
|
|
|
|
|
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) {
|
|
|
|
|
if (response.data.status === 403||response.data.status === 401||response.data.status === 500) {
|
|
|
|
|
this.setState({
|
|
|
|
|
shixun_chart_data: [],
|
|
|
|
|
shixun_chart_datanames: []
|
|
|
|
|
shixun_chart_data:[],
|
|
|
|
|
shixun_chart_datanames:[]
|
|
|
|
|
})
|
|
|
|
|
} else {
|
|
|
|
|
if (response.data.status === -1) {
|
|
|
|
|
}else{
|
|
|
|
|
if (response.data.status === -1){
|
|
|
|
|
this.setState({
|
|
|
|
|
shixun_chart_data: [],
|
|
|
|
|
shixun_chart_datanames: []
|
|
|
|
|
shixun_chart_data:[],
|
|
|
|
|
shixun_chart_datanames:[]
|
|
|
|
|
})
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
this.setState({
|
|
|
|
|
shixun_chart_data: response.data.data,
|
|
|
|
|
shixun_chart_datanames: response.data.names
|
|
|
|
|
shixun_chart_data:response.data.data,
|
|
|
|
|
shixun_chart_datanames:response.data.names
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
}).catch((error) => {
|
|
|
|
|
this.setState({
|
|
|
|
|
shixun_chart_data: [],
|
|
|
|
|
shixun_chart_datanames: []
|
|
|
|
|
shixun_chart_data:[],
|
|
|
|
|
shixun_chart_datanames:[]
|
|
|
|
|
})
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
//最热测评
|
|
|
|
|
Hottest = () => {
|
|
|
|
|
const id = this.props.match.params.id;
|
|
|
|
|
const url = `/colleges/${id}/student_hot_evaluations.json`;
|
|
|
|
|
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) {
|
|
|
|
|
if (response.data.status === 403||response.data.status === 401||response.data.status === 500) {
|
|
|
|
|
this.setState({
|
|
|
|
|
studentionsnames: [],
|
|
|
|
|
studentionsvalues: []
|
|
|
|
|
})
|
|
|
|
|
} else {
|
|
|
|
|
}else {
|
|
|
|
|
if (response.data.status === -1) {
|
|
|
|
|
this.setState({
|
|
|
|
|
studentionsnames: [],
|
|
|
|
@ -799,34 +797,34 @@ class College extends Component {
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
table1handleChange() {
|
|
|
|
|
table1handleChange(){
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//塞选
|
|
|
|
|
paginationonChange = (pageNumber) => {
|
|
|
|
|
this.Classnumber(pageNumber, 10);
|
|
|
|
|
paginationonChange=(pageNumber)=>{
|
|
|
|
|
this.Classnumber(pageNumber,10);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
paginationonChanges = (pageNumber) => {
|
|
|
|
|
this.Teacherranking(pageNumber, 10);
|
|
|
|
|
paginationonChanges=(pageNumber)=>{
|
|
|
|
|
this.Teacherranking(pageNumber,10);
|
|
|
|
|
}
|
|
|
|
|
paginationonChangess = (pageNumber) => {
|
|
|
|
|
this.Studentranking(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
|
|
|
|
|
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",
|
|
|
|
|
maxWidth:"1300px",
|
|
|
|
|
width:"1300px",
|
|
|
|
|
height: '100%',
|
|
|
|
|
}}>
|
|
|
|
|
<div className="yslstatistic-header-title">{school}</div>
|
|
|
|
@ -837,7 +835,7 @@ class College extends Component {
|
|
|
|
|
教师
|
|
|
|
|
</div>
|
|
|
|
|
<div className="yslstatistic-header-item-content">
|
|
|
|
|
{teachers_count ? teachers_count : 0}
|
|
|
|
|
{teachers_count?teachers_count:0}
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
@ -846,7 +844,7 @@ class College extends Component {
|
|
|
|
|
学生
|
|
|
|
|
</div>
|
|
|
|
|
<div className="yslstatistic-header-item-content">
|
|
|
|
|
{students_count ? students_count : 0}
|
|
|
|
|
{students_count?students_count:0}
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
@ -855,7 +853,7 @@ class College extends Component {
|
|
|
|
|
课堂
|
|
|
|
|
</div>
|
|
|
|
|
<div className="yslstatistic-header-item-content">
|
|
|
|
|
{courses_count ? courses_count : 0}
|
|
|
|
|
{courses_count?courses_count:0}
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
@ -864,7 +862,7 @@ class College extends Component {
|
|
|
|
|
共建实训
|
|
|
|
|
</div>
|
|
|
|
|
<div className="yslstatistic-header-item-content">
|
|
|
|
|
{shixuns_count ? shixuns_count : 0}
|
|
|
|
|
{shixuns_count?shixuns_count:0}
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
{/*//教师2*/}
|
|
|
|
@ -875,7 +873,7 @@ class College extends Component {
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div className={"educontent edu-back-white mt-4"} style={{ width: "1300px" }}>
|
|
|
|
|
<div className={"educontent edu-back-white mt-4"} style={{width: "1300px"}}>
|
|
|
|
|
<p className="h4 linjibenshiyong">
|
|
|
|
|
基本使用情况
|
|
|
|
|
</p>
|
|
|
|
@ -953,21 +951,20 @@ class College extends Component {
|
|
|
|
|
}
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
{/*基本使用情况3结束*/}
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div className={"educontent edu-back-white mt-4 yinyin"} style={{ width: "1300px" }}>
|
|
|
|
|
<div className={"educontent edu-back-white mt-4 yinyin"} style={{width: "1300px"}}>
|
|
|
|
|
<p className="statistic-label linjibenshiyong">
|
|
|
|
|
课堂
|
|
|
|
|
</p>
|
|
|
|
|
{
|
|
|
|
|
courses === null ?
|
|
|
|
|
courses===null?
|
|
|
|
|
<div className="intermediatecenter" style={{
|
|
|
|
|
height: '500px'
|
|
|
|
|
height:'500px'
|
|
|
|
|
}}>
|
|
|
|
|
<Spin tip="正在加载..." />
|
|
|
|
|
<Spin tip="正在加载..."/>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
:
|
|
|
|
@ -976,9 +973,9 @@ class College extends Component {
|
|
|
|
|
|
|
|
|
|
</NoneData>
|
|
|
|
|
:
|
|
|
|
|
<div style={{ width: "1300px" }}>
|
|
|
|
|
<div style={{width: "1300px"}}>
|
|
|
|
|
<div className={"justify break_full_word new_li edu-back-white"}
|
|
|
|
|
style={{ minHeight: "480px" }}>
|
|
|
|
|
style={{minHeight: "480px"}}>
|
|
|
|
|
<style>{`
|
|
|
|
|
.ant-spin-nested-loading > div > .ant-spin .ant-spin-dot {
|
|
|
|
|
top: 72%;}
|
|
|
|
@ -1015,10 +1012,10 @@ class College extends Component {
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
{
|
|
|
|
|
course_count >= 11 ?
|
|
|
|
|
course_count>=11?
|
|
|
|
|
<div style={{
|
|
|
|
|
width: '100%',
|
|
|
|
|
padding: '40px'
|
|
|
|
|
width:'100%',
|
|
|
|
|
padding:'40px'
|
|
|
|
|
}}>
|
|
|
|
|
<div className="edu-txt-center ">
|
|
|
|
|
<Pagination showQuickJumper current={page} onChange={this.paginationonChange}
|
|
|
|
@ -1027,7 +1024,7 @@ class College extends Component {
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
: ""
|
|
|
|
|
:""
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
@ -1037,7 +1034,7 @@ class College extends Component {
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div className={"educontent edu-back-white yinyin mt-4 sortinxdirection"} style={{ width: "1300px" }}>
|
|
|
|
|
<div className={"educontent edu-back-white yinyin mt-4 sortinxdirection"} style={{width: "1300px"}}>
|
|
|
|
|
<div className=" verticallayout" style={{
|
|
|
|
|
width: "63%"
|
|
|
|
|
}}>
|
|
|
|
@ -1045,11 +1042,11 @@ class College extends Component {
|
|
|
|
|
教师排名
|
|
|
|
|
</p>
|
|
|
|
|
{
|
|
|
|
|
teachers === null ?
|
|
|
|
|
teachers===null?
|
|
|
|
|
<div className="intermediatecenter" style={{
|
|
|
|
|
height: '500px'
|
|
|
|
|
height:'500px'
|
|
|
|
|
}}>
|
|
|
|
|
<Spin tip="正在加载..." />
|
|
|
|
|
<Spin tip="正在加载..."/>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
:
|
|
|
|
@ -1059,7 +1056,7 @@ class College extends Component {
|
|
|
|
|
</NoneData>
|
|
|
|
|
:
|
|
|
|
|
<div className={"justify break_full_word new_li edu-back-white "}
|
|
|
|
|
style={{ minHeight: "480px" }}>
|
|
|
|
|
style={{minHeight: "480px"}}>
|
|
|
|
|
<style>{`
|
|
|
|
|
.ant-spin-nested-loading > div > .ant-spin .ant-spin-dot {
|
|
|
|
|
top: 72%;}
|
|
|
|
@ -1122,11 +1119,11 @@ class College extends Component {
|
|
|
|
|
在线实训情况
|
|
|
|
|
</p>
|
|
|
|
|
{
|
|
|
|
|
shixun_chart_data === null ?
|
|
|
|
|
shixun_chart_data===null?
|
|
|
|
|
<div className="intermediatecenter" style={{
|
|
|
|
|
height: '500px'
|
|
|
|
|
height:'500px'
|
|
|
|
|
}}>
|
|
|
|
|
<Spin tip="正在加载..." />
|
|
|
|
|
<Spin tip="正在加载..."/>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
:
|
|
|
|
@ -1145,7 +1142,7 @@ class College extends Component {
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div className={"educontent edu-back-white yinyin mt-4 sortinxdirection mb80"} style={{ width: "1300px" }}>
|
|
|
|
|
<div className={"educontent edu-back-white yinyin mt-4 sortinxdirection mb80"} style={{width: "1300px"}}>
|
|
|
|
|
<div className=" verticallayout" style={{
|
|
|
|
|
width: "63%"
|
|
|
|
|
}}>
|
|
|
|
@ -1157,7 +1154,7 @@ class College extends Component {
|
|
|
|
|
<div className="intermediatecenter" style={{
|
|
|
|
|
height: '500px'
|
|
|
|
|
}}>
|
|
|
|
|
<Spin tip="正在加载..." />
|
|
|
|
|
<Spin tip="正在加载..."/>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
:
|
|
|
|
@ -1167,7 +1164,7 @@ class College extends Component {
|
|
|
|
|
</NoneData>
|
|
|
|
|
:
|
|
|
|
|
<div className={"justify break_full_word new_li edu-back-white "}
|
|
|
|
|
style={{ minHeight: "480px" }}>
|
|
|
|
|
style={{minHeight: "480px"}}>
|
|
|
|
|
<style>{`
|
|
|
|
|
.ant-spin-nested-loading > div > .ant-spin .ant-spin-dot {
|
|
|
|
|
top: 72%;}
|
|
|
|
@ -1230,11 +1227,11 @@ class College extends Component {
|
|
|
|
|
最热评测
|
|
|
|
|
</p>
|
|
|
|
|
{
|
|
|
|
|
studentionsnames === null ?
|
|
|
|
|
studentionsnames===null?
|
|
|
|
|
<div className="intermediatecenter" style={{
|
|
|
|
|
height: '500px'
|
|
|
|
|
height:'500px'
|
|
|
|
|
}}>
|
|
|
|
|
<Spin tip="正在加载..." />
|
|
|
|
|
<Spin tip="正在加载..."/>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
:
|
|
|
|
@ -1256,6 +1253,7 @@ class College extends Component {
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
export default SnackbarHOC()(TPMIndexHOC(College));
|
|
|
|
|
export default SnackbarHOC() (TPMIndexHOC ( College ));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|