import React, {Component} from "react"; import CoursesListType from '../coursesPublic/CoursesListType'; import {WordsBtn} from 'educoder'; import { Select, Input, Checkbox, Table, Radio, Pagination, Tooltip, } from "antd"; import axios from 'axios'; import '../css/members.css' import "../common/formCommon.css" import '../css/Courses.css' import '../css/busyWork.css' import '../poll/pollStyle.css' import moment from 'moment'; import 'moment/locale/zh-cn'; import './yslexercisetable.css'; import {getImageUrl, toPath} from 'educoder'; import CheckBoxGroup from "../../page/component/CheckBoxGroup"; import NoneData from '../../../modules/courses/coursesPublic/NoneData' const Search = Input.Search; const RadioGroup = Radio.Group; const CheckboxGroup = Checkbox.Group; const {Option} = Select; //学生老师页面 class Studentshavecompletedthelist extends Component { // http://localhost:3007/courses/1309/exercises/722/exercises/student_exercise_list?debug=s constructor(props) { super(props); this.state = { data: [], datas: [], page: 1, limit: 20, styletable: { "display": "block" }, course_groupyslstwodatas: [{id: 0, tu: "未评"}, {id: 1, tu: "已评"}], course_groupyslsthree: undefined, teacherlist: undefined, searchtext: "", Teacherliststudentlist: undefined, mylistansum:0, review: null, course_groupysls: undefined, nocomment: false, course_groupyslstwo: undefined, commented: false, commit_status: undefined, submitted: false, unsubmitted: false, exercise_users: undefined, loadingstate: true, order: "end_at", current_answer_user: undefined, course_groups: undefined, course_groupsdatas: false, noclassroom: undefined, current_status: props.current_status, course_groupyslstwodata: [{id: 0, tu: "未提交"}, {id: 1, tu: "已提交"}], columns: [ { title: '序号', dataIndex: 'number', key: 'number', align: 'center', className: "edu-txt-center font-14", width:'100px', render: (text, record) => ( {record.number === "--" ? {record.number} : {record.number} } ) }, { title: '姓名', dataIndex: 'name', key: 'name', align: 'center', className: "edu-txt-center font-14 maxnamewidth110", width:'100px', render: (text, record) => ( {record.name === "--" ? {record.name} : {record.name} } ) }, { title: '学号', dataIndex: 'stduynumber', key: 'stduynumber', align: 'center', className: "edu-txt-center font-14 maxnamewidth175", width:'175px', render: (text, record) => ( {record.stduynumber === null ? -- : record.stduynumber === "" ? -- : {record.stduynumber} } ), }, { title: '分班', key: 'classroom', dataIndex: 'classroom', align: 'center', className: "edu-txt-center font-14 maxnamewidth255", width:'255px', render: (text, record) => ( {record.classroom === null ? -- : record.classroom === "" ? -- : {record.classroom} } ) }, { title: '提交状态', dataIndex: 'submitstate', key: 'submitstate', align: 'center', className: "edu-txt-center font-14", width:'98px', render: (text, record) => ( {record.submitstate} ) }, { title: '提交时间', dataIndex: 'updatetime', key: 'updatetime', align: 'center', className: "edu-txt-center font-14", width:'175px', render: (text, record) => ( {record.updatetime === "--" ? {record.updatetime} : {record.updatetime} } ), }, { title: '客观题得分', dataIndex: 'completion', key: 'completion', align: 'center', className: "edu-txt-center font-14", width:'98px', render: (text, record) => ( { record.completion === "--" ? {record.completion} : 90 ? { color: '#DD1717', textAlign: "center", width:'98px', } : parseInt(record.completion) <= 90 ? { color: '#FF6800', textAlign: "center", width:'98px', } : parseInt(record.completion) <= 60 ? { color: '#747A7F', textAlign: "center", width:'98px', } : { color: '#747A7F', textAlign: "center", width:'98px', }}>{record.completion} } ) }, { title: '主观题得分', dataIndex: 'levelscore', key: 'levelscore', align: 'center', className: "edu-txt-center font-14", width:'99px', render: (text, record) => ( {record.levelscore === "--" ? {record.levelscore} : 90 ? { color: '#DD1717', textAlign: "center", width:'99px', } : parseInt(record.levelscore) <= 90 ? { color: '#FF6800', textAlign: "center", width:'99px', } : parseInt(record.levelscore) <= 60 ? { color: '#747A7F', textAlign: "center", width:'99px', } : {color: '#747A7F', textAlign: "center",width:'99px'}}>{record.levelscore} } ) }, { title: '最终成绩', dataIndex: 'efficiencyscore', key: 'efficiencyscore', align: 'center', className: "edu-txt-center font-14", render: (text, record) => ( {record.efficiencyscore === "--" ? 未评分 }> {record.efficiencyscore} : 90 ? { color: '#DD1717', textAlign: "center" } : parseInt(record.efficiencyscore) <= 90 ? { color: '#FF6800', textAlign: "center" } : parseInt(record.efficiencyscore) <= 60 ? { color: '#747A7F', textAlign: "center", } : { color: '#747A7F', textAlign: "center" }}>{record.efficiencyscore} } ) } ], columnstwo: [ { title: '序号', dataIndex: 'number', key: 'number', align: 'center', className: "edu-txt-center tabletd font-14", width:'100px', render: (text, record) => ( { 我 } ) }, { title: '姓名', dataIndex: 'name', key: 'name', align: 'center', className: "edu-txt-center tabletd font-14 maxnamewidth110", width:'100px', render: (text, record) => ( { record.name === "--" ? {record.name} : {record.name} } ) }, { title: '学号', dataIndex: 'stduynumber', key: 'stduynumber', align: 'center', className: "edu-txt-center tabletd font-14 maxnamewidth175", width:'175px', render: (text, record) => ( {record.stduynumber === null ? -- : record.stduynumber === "" ? -- : {record.stduynumber} } ), }, { title: '分班', key: 'classroom', dataIndex: 'classroom', align: 'center', className: "edu-txt-center tabletd font-14 maxnamewidth255", width:'255px', render: (text, record) => ( {record.classroom === null ? --: record.classroom === "" ? --: {record.classroom} } ) }, { title: '提交状态', dataIndex: 'submitstate', key: 'submitstate', align: 'center', className: "edu-txt-center tabletd font-14", width:'98px', render: (text, record) => ( {record.submitstate} ) }, { title: '提交时间', dataIndex: 'updatetime', key: 'updatetime', align: 'center', className: "edu-txt-center tabletd font-14", width:'175px', render: (text, record) => ( {record.updatetime === "--"? -- : {record.updatetime} } ), }, { title: '客观题得分', dataIndex: 'completion', key: 'completion', align: 'center', className: "edu-txt-center tabletd font-14", width:'98px', render: (text, record) => ( {record.completion === "--" ? -- : 90 ? { color: '#DD1717', textAlign: "center", width:'98px', } : parseInt(record.completion) <= 90 ? { color: '#FF6800', textAlign: "center", width:'98px', } : parseInt(record.completion) <= 60 ? { color: '#747A7F', textAlign: "center", width:'98px', } : { color: '#747A7F', textAlign: "center", width:'98px', }}>{record.completion} } ) }, { title: '主观题得分', dataIndex: 'levelscore', key: 'levelscore', align: 'center', className: "edu-txt-center tabletd font-14", width:'99px', render: (text, record) => ( {record.levelscore === "--"? -- : 90 ? { color: '#DD1717', textAlign: "center", width:'99px' } : parseInt(record.levelscore) <= 90 ? { color: '#FF6800', textAlign: "center", width:'99px' } : parseInt(record.levelscore) <= 60 ? { color: '#747A7F', textAlign: "center", width:'99px' } : {color: '#747A7F', textAlign: "center", width:'99px'}}>{record.levelscore} } ) }, { title: '最终成绩', dataIndex: 'efficiencyscore', key: 'efficiencyscore', align: 'center', className: "edu-txt-center tabletd font-14", render: (text, record) => ( { record.efficiencyscore === "--"? 未评分 }> -- : 90 ? { color: '#DD1717', textAlign: "center", } : parseInt(record.efficiencyscore) <= 90 ? { color: '#FF6800', textAlign: "center", } : parseInt(record.efficiencyscore) <= 60 ? { color: '#747A7F', textAlign: "center", } : { color: '#747A7F', textAlign: "center", }}>{record.efficiencyscore} } ) } ], columnss: [ { title: '序号', dataIndex: 'number', key: 'number', align: 'center', className: "edu-txt-center font-14", render: (text, record) => ( { record.number=== "--"? -- : {record.number} } ) }, { title: '姓名', dataIndex: 'name', key: 'name', align: 'center', className: "edu-txt-center font-14", render: (text, record) => ( { record.name === "--" ? -- : {record.name} } ) }, { title: '学号', dataIndex: 'stduynumber', key: 'stduynumber', align: 'center', className: "edu-txt-center font-14", render: (text, record) => ( {record.stduynumber === null ? -- : record.stduynumber === "" ? -- : {record.stduynumber} } ), }, { title: '分班', key: 'classroom', dataIndex: 'classroom', align: 'center', className: "edu-txt-center font-14", width:"260px", render: (text, record) => ( {record.classroom === null ? -- : record.classroom === "" ? -- : {record.classroom} } ) }, { title: '提交状态', dataIndex: 'submitstate', key: 'submitstate', align: 'center', className: "edu-txt-center font-14", render: (text, record) => ( {record.submitstate} ) }, { title: '提交时间', dataIndex: 'updatetime', key: 'updatetime', align: 'center', className: "edu-txt-center font-14", render: (text, record) => ( { record.updatetime === "--" ? -- : {record.updatetime} } ), }, { title: '客观题得分', dataIndex: 'completion', key: 'completion', align: 'center', className: "edu-txt-center font-14", render: (text, record) => ( { record.completion === "--"? -- : 90 ? { color: '#DD1717', textAlign: "center", } : parseInt(record.completion) <= 90 ? { color: '#FF6800', textAlign: "center", } : parseInt(record.completion) <= 60 ? { color: '#747A7F', textAlign: "center", } : { color: '#747A7F', textAlign: "center", }}>{record.completion} } ) }, { title: '主观题得分', dataIndex: 'levelscore', key: 'levelscore', align: 'center', className: "edu-txt-center font-14", render: (text, record) => ( { record.levelscore === "--" ? -- : 90 ? { color: '#DD1717', textAlign: "center", } : parseInt(record.levelscore) <= 90 ? { color: '#FF6800', textAlign: "center", } : parseInt(record.levelscore) <= 60 ? { color: '#747A7F', textAlign: "center", } : {color: '#747A7F', textAlign: "center"}}>{record.levelscore} } ) }, { title: '最终成绩', dataIndex: 'efficiencyscore', key: 'efficiencyscore', align: 'center', className: "edu-txt-center font-14", render: (text, record) => ( { record.efficiencyscore === "--" ? 未评分 }> -- : 90 ? { color: '#DD1717', textAlign: "center", } : parseInt(record.efficiencyscore) <= 90 ? { color: '#FF6800', textAlign: "center", } : parseInt(record.efficiencyscore) <= 60 ? { color: '#747A7F', textAlign: "center", } : { color: '#747A7F', textAlign: "center", }}>{record.efficiencyscore} } ) }, { title: '操作', dataIndex: 'operating', key: 'operating', align: 'center', className: "edu-txt-center font-14", render: (text, record) => ( {record.operating==="--"? {record.operating} :record.submitstate === "未提交"? -- : {record.operating} } ) }, ], vaiew: false, unlimited: 0, unlimiteds: 0, unlimitedtwo: 0, checkedValues: [], checkedValuesineinfo: [], Evaluationarray: [{id: 1, value: "未评"}, {id: 2, value: "已评"}], columnsys: [ { title: '序号', dataIndex: 'number', key: 'number', align: 'center', className: "edu-txt-center font-14", render: (text, record) => ( {record.number === "--" ? -- : {record.number} } ) }, { title: '姓名', dataIndex: 'name', key: 'name', align: 'center', className: "edu-txt-center font-14", render: (text, record) => ( {record.name==="--"? {record.name} : {record.name} } ) }, { title: '学号', dataIndex: 'stduynumber', key: 'stduynumber', align: 'center', className: "edu-txt-center font-14", render: (text, record) => ( {record.stduynumber === "--" ? {record.stduynumber} : {record.stduynumber} } ), }, { title: '分班', key: 'classroom', dataIndex: 'classroom', align: 'center', className: "edu-txt-center font-14", width:'260px', render: (text, record) => ( {record.classroom==="--"? {record.classroom} : {record.classroom} } ) }, { title: '提交状态', dataIndex: 'submitstate', key: 'submitstate', align: 'center', className: "edu-txt-center font-14", render: (text, record) => ( {record.submitstate} ) }, { title: '提交时间', dataIndex: 'updatetime', key: 'updatetime', align: 'center', className: "edu-txt-center font-14", render: (text, record) => ( {record.updatetime==="--"? -- : {record.updatetime} } ), }, { title: '客观题得分', dataIndex: 'completion', key: 'completion', align: 'center', className: "edu-txt-center font-14", render: (text, record) => ( {record.completion=== "--"? -- : {record.completion} } ) }, { title: '主观题得分', dataIndex: 'levelscore', key: 'levelscore', align: 'center', className: "edu-txt-center font-14", render: (text, record) => ( {record.levelscore==="--"? -- : {record.levelscore} } ) }, { title: '最终成绩', dataIndex: 'efficiencyscore', key: 'efficiencyscore', align: 'center', className: "edu-txt-center font-14", render: (text, record) => ( {record.efficiencyscore === "--" ? 未评分 }> -- : 90 ? { color: '#DD1717', textAlign: "center", } : parseInt(record.efficiencyscore) <= 90 ? { color: '#FF6800', textAlign: "center", } : parseInt(record.efficiencyscore) <= 60 ? { color: '#747A7F', textAlign: "center", } : { color: '#747A7F', textAlign: "center", }}>{record.efficiencyscore} } ) }, { title: '操作', dataIndex: 'finalscore', key: 'finalscore', align: 'center', className: "edu-txt-center font-14", render: (text, record) => ( {record.finalscore==="--"? -- :record.submitstate === "未提交"? -- : {record.finalscore} } ) }, ], columnsystwo: [ { title: '序号', dataIndex: 'number', key: 'number', align: 'center', className: "edu-txt-center font-14", render: (text, record) => ( {record.number === "--" ? -- : {record.number} } ) }, { title: '姓名', dataIndex: 'name', key: 'name', align: 'center', className: "edu-txt-center font-14", render: (text, record) => ( {record.name==="--"? {record.name} : {record.name} } ) }, { title: '学号', dataIndex: 'stduynumber', key: 'stduynumber', align: 'center', className: "edu-txt-center font-14", render: (text, record) => ( {record.stduynumber === "--" ? {record.stduynumber} : {record.stduynumber} } ), }, { title: '分班', key: 'classroom', dataIndex: 'classroom', align: 'center', className: "edu-txt-center font-14", width:'260px', render: (text, record) => ( {record.classroom==="--"? {record.classroom} : {record.classroom} } ) }, { title: '提交状态', dataIndex: 'submitstate', key: 'submitstate', align: 'center', className: "edu-txt-center font-14", render: (text, record) => ( {record.submitstate} ) }, { title: '提交时间', dataIndex: 'updatetime', key: 'updatetime', align: 'center', className: "edu-txt-center font-14", render: (text, record) => ( {record.updatetime==="--"? -- : {record.updatetime} } ), }, { title: '客观题得分', dataIndex: 'completion', key: 'completion', align: 'center', className: "edu-txt-center font-14", render: (text, record) => ( {record.completion=== "--"? -- : {record.completion} } ) }, { title: '主观题得分', dataIndex: 'levelscore', key: 'levelscore', align: 'center', className: "edu-txt-center font-14", render: (text, record) => ( {record.levelscore==="--"? -- : {record.levelscore} } ) }, { title: '最终成绩', dataIndex: 'efficiencyscore', key: 'efficiencyscore', align: 'center', className: "edu-txt-center font-14", render: (text, record) => ( {record.efficiencyscore === "--" ? 未评分 }> -- : 90 ? { color: '#DD1717', textAlign: "center", } : parseInt(record.efficiencyscore) <= 90 ? { color: '#FF6800', textAlign: "center", } : parseInt(record.efficiencyscore) <= 60 ? { color: '#747A7F', textAlign: "center", } : { color: '#747A7F', textAlign: "center", }}>{record.efficiencyscore} } ) }, { title: '操作', dataIndex: 'finalscore', key: 'finalscore', align: 'center', className: "edu-txt-center font-14", render: (text, record) => ( {record.finalscore==="--"? -- :record.submitstate === "未提交"? -- : {record.finalscore} } ) }, ], exercise_status:0, } // console.log("Studentshavecompletedthelist"); // console.log(props.current_status); // columnsys 老师列表 // columnss 学生只能看自己的 未截止页面 // columnstwo 截止显示自己的 // columns 截止后显示其他学生 } paginationonChange = (pageNumber) => { // console.log('Page: '); if (this.state.loadingstate === false) { this.setState({ page: pageNumber, loadingstate: true, }) } else { this.setState({ page: pageNumber, }) } this.Searchdatasys(this.state.order, this.state.course_groupyslstwo, this.state.review, this.state.checkedValuesineinfo, this.state.searchtext, pageNumber, 20); } paginationonChanges = (pageNumber) => { // console.log('Page: '); if (this.state.loadingstate === false) { this.setState({ page: pageNumber, loadingstate: true, }) } else { this.setState({ page: pageNumber, }) } this.Searchdata(this.state.order, null, null, null, null, pageNumber, this.state.limit) } componentDidMount() { // if(this.props.isAdmin() === true){ // this.Teacherliststudentlistsy(); // console.log("1111111111111111"); // console.log(this.props.isAdmin()); // }else { this.Teacherliststudentlist(); // console.log("2222222222222"); // console.log(this.props.isAdmin()); // } try { this.props.triggerRef(this); }catch (e) { } } componentWillReceiveProps = (nextProps) => { } //试卷列表 Teacherliststudentlist = () => { // console.log("Teacherliststudentlist"); // 764 var thiss = this; var exercise_id = this.props.match.params.Id; // console.log(731); // 764 935 var url = `/exercises/${exercise_id}/exercise_lists.json`; axios.get((url), { params: { order: "end_at", commit_status: null, review: null, exercise_group_id: null, search: "", page: null, limit: null, } }).then((response) => { //学生 if (response.data.exercise_types.user_permission === 1) { this.setState({ Teacherliststudentlist: response.data, review: response.data.review, commit_status: response.data.commit_status, exercise_users: response.data.exercise_users, current_answer_user: response.data.current_answer_user, course_groups: response.data.course_groups, mylistansum:response.data.exercise_types.answer_users+response.data.exercise_types.unanswer_users }) if (response.data.current_answer_user === undefined || response.data.current_answer_user === null) { // 学生未截止 // console.log("试卷学生未截止"); this.Generatenewdatas(response.data.exercise_users); if (response.data.exercise_types.subjective === 0) { if (this.state.noclassroom === undefined || this.state.noclassroom === "" || this.state.noclassroom === null) { var arr =[]; for(var i=0;i { console.log(error); console.log("其实数据加载失败了"); console.log("1111"); }); } Generatenewdata(exercise_users, current_answer_user) { let {page, limit} = this.state; let datalist = []; let datalisttwo = []; var teacherlist = undefined; // console.log("开始数据了"); if (exercise_users !== undefined) { // console.log("开始打印数据了"); for (var i = 0; i < exercise_users.length; i++) { if (exercise_users[i].commit_status === 1) { datalist.push({ myid: exercise_users[i].login, user_group_id: exercise_users[i].user_group_id, number: (parseInt(page) - 1) * parseInt(limit) + (i + 1), name: exercise_users[i].user_name, stduynumber: exercise_users[i].student_id === undefined ? "--" : exercise_users[i].student_id === null ? "--" : exercise_users[i].student_id === "" ? "--" : exercise_users[i].student_id, classroom: exercise_users[i].user_group_name, submitstate: exercise_users[i].commit_status === 1 ? "已提交" : "未提交", updatetime: moment(exercise_users[i].end_at).format('YYYY-MM-DD HH:mm') === "Invalid date" ? "--" : moment(exercise_users[i].end_at).format('YYYY-MM-DD HH:mm'), completion: exercise_users[i].objective_score === undefined ? "--" : exercise_users[i].objective_score === null ? "--" : exercise_users[i].objective_score === "" ? "--" : exercise_users[i].objective_score, levelscore: exercise_users[i].subjective_score === undefined ? "--" : exercise_users[i].subjective_score === null ? "--" : exercise_users[i].subjective_score === "" ? "--" : exercise_users[i].subjective_score, efficiencyscore: exercise_users[i].score === null ? "--" : exercise_users[i].score === "" ? "--" : exercise_users[i].score, operating: "评阅" }) } else { datalist.push({ myid: exercise_users[i].login, user_group_id: exercise_users[i].user_group_id, number: (parseInt(page) - 1) * parseInt(limit) + (i + 1), name: exercise_users[i].user_name, stduynumber: exercise_users[i].student_id === undefined ? "--" : exercise_users[i].student_id === null ? "--" : exercise_users[i].student_id === "" ? "--" : exercise_users[i].student_id, classroom: exercise_users[i].user_group_name, submitstate: exercise_users[i].commit_status === 1 ? "已提交" : "未提交", updatetime: moment(exercise_users[i].end_at).format('YYYY-MM-DD HH:mm') === "Invalid date" ? "--" : moment(exercise_users[i].end_at).format('YYYY-MM-DD HH:mm'), completion: exercise_users[i].objective_score === undefined ? "--" : exercise_users[i].objective_score === null ? "--" : exercise_users[i].objective_score === "" ? "--" : exercise_users[i].objective_score, levelscore: exercise_users[i].subjective_score === undefined ? "--" : exercise_users[i].subjective_score === null ? "--" : exercise_users[i].subjective_score === "" ? "--" : exercise_users[i].subjective_score, efficiencyscore: exercise_users[i].score === null ? "--" : exercise_users[i].score === "" ? "--" : exercise_users[i].score, operating: "--" }) } } teacherlist = { //分页 total: exercise_users.length, //数据总数量 pageSize: 20, //一页显示几条 current: this.state.page, } } if (current_answer_user !== undefined) { datalisttwo.push({ myid: current_answer_user.login, student_id: current_answer_user.student_id, user_group_id: current_answer_user.user_group_id, number: 1, name: current_answer_user.user_name, classroom: current_answer_user.user_group_name, stduynumber: current_answer_user.student_id === undefined ? "--" : current_answer_user.student_id === null ? "--" : current_answer_user.student_id === "" ? "--" : current_answer_user.student_id, submitstate: current_answer_user.commit_status === 1 ? "已提交" : "未提交", updatetime: moment(current_answer_user.end_at).format('YYYY-MM-DD HH:mm') === "Invalid date" ? "--" : moment(current_answer_user.end_at).format('YYYY-MM-DD HH:mm'), efficiencyscore: current_answer_user.score === undefined ? "--" : current_answer_user.score === null ? "--" : current_answer_user.score === "" ? "--" : current_answer_user.score, review_status: current_answer_user.review_status, completion: current_answer_user.objective_score === undefined ? "--" : current_answer_user.objective_score === null ? "--" : current_answer_user.objective_score === "" ? "--" : current_answer_user.objective_score, levelscore: current_answer_user.subjective_score === undefined ? "--" : current_answer_user.subjective_score === null ? "--" : current_answer_user.subjective_score === "" ? "--" : current_answer_user.subjective_score, }) } this.setState({ data: datalisttwo, datas: datalist, teacherlist: teacherlist, loadingstate: false, }) } Generatenewdatas(exercise_users) { let {page, limit} = this.state; let datalist = []; var teacherlist = undefined; var noclassroom = undefined; // console.log("开始数据了"); if (exercise_users !== undefined) { // console.log("开始打印数据了"); for (var i = 0; i < exercise_users.length; i++) { datalist.push({ myid: exercise_users[i].login, user_group_id: exercise_users[i].user_group_id, number: (parseInt(page) - 1) * parseInt(limit) + (i + 1), name: exercise_users[i].user_name, stduynumber: exercise_users[i].student_id, classroom: exercise_users[i].user_group_name, submitstate: exercise_users[i].commit_status === 1 ? "已提交" : "未提交", updatetime: moment(exercise_users[i].end_at).format('YYYY-MM-DD HH:mm') === "Invalid date" ? "--" : moment(exercise_users[i].end_at).format('YYYY-MM-DD HH:mm'), completion: exercise_users[i].objective_score === undefined ? "--" : exercise_users[i].objective_score === null ? "--" : exercise_users[i].objective_score === "" ? "--" : exercise_users[i].objective_score, levelscore: exercise_users[i].subjective_score === undefined ? "--" : exercise_users[i].subjective_score === null ? "--" : exercise_users[i].subjective_score === "" ? "--" : exercise_users[i].subjective_score, efficiencyscore: exercise_users[i].score === null ? "--" : exercise_users[i].score === "" ? "--" : exercise_users[i].score, operating: "查看" }) noclassroom = exercise_users[i].user_group_name; } teacherlist = { //分页 total: exercise_users.length, //数据总数量 pageSize: 20, //一页显示几条 current: this.state.page, } } this.setState({ datas: datalist, teacherlist: teacherlist, noclassroom: noclassroom, loadingstate: false, }) } TablePagination = (e) => { // console.log(e.current); var teacherlist = { //分页 total: this.state.exercise_users.length, //数据总数量 pageSize: 20, //一页显示几条 current: e.current, } this.setState({ page: e.current, teacherlist: teacherlist }) } TablePaginations = (e) => { // console.log(e.current); var teacherlists = { //分页 total: this.state.exercise_users, //数据总数量 pageSize: 10, //一页显示几条 current: e.current, } this.setState({ page: e.current, teacherlist: teacherlists }) } //排序 funorder = (e) => { if (e === "end_at") { // 时间 // 时间排序是从小到大 if (this.state.loadingstate === true) { this.setState({ order: "end_at", }) } else { this.setState({ order: "end_at", loadingstate: true, }) } this.Searchdata(e, null, null, null, null, this.state.page, this.state.limit) } if (e === "score") { // 成绩 //成绩排序是从大到小 if (this.state.loadingstate === true) { this.setState({ order: "score", }) } else { this.setState({ order: "score", loadingstate: true, }) } this.Searchdata(e, null, null, null, null, this.state.page, this.state.limit) } if (e === "student_id") { //学号 //学号排序是从大到小 if (this.state.loadingstate === true) { this.setState({ order: "student_id", }) } else { this.setState({ order: "student_id", loadingstate: true }) } this.Searchdata(e, null, null, null, null, this.state.page, this.state.limit) } } Searchdata = (order, commit_status, review, exercise_group_id, search, page, limit) => { var exercise_id = this.props.match.params.Id; // console.log(731); // 764 935 var url = `/exercises/${exercise_id}/exercise_lists.json`; var params = { order: order, commit_status: null, review: null, exercise_group_id: null, search: "", page: page, limit: limit, } axios.get(url, { params: params }).then((response) => { // console.log(JSON.stringify(response)); this.setState({ Teacherliststudentlist: response.data, review: response.data.review, commit_status: response.data.commit_status, exercise_users: response.data.exercise_users, current_answer_user: response.data.current_answer_user, mylistansum:response.data.exercise_types.answer_users+response.data.exercise_types.unanswer_users, }) if (response.data.exercise_types.subjective === 0) { var arr =[]; for(var i=0;i { console.log(error) this.setState({ loadingstate: false, }) }); } //////老师页面调用的 Generatenewdatasy(exercise_users, response) { let {page, limit} = this.state; var thiss = this; let datalist = []; var indexi = 0; var teacherlist = undefined; // console.log("开始数据了"); if (exercise_users !== undefined) { // console.log("开始打印数据了"); for (var i = 0; i < exercise_users.length; i++) { if (exercise_users[i].commit_status === 1) { datalist.push({ myid: exercise_users[i].login, user_group_id: exercise_users[i].user_group_id, number: (parseInt(page) - 1) * parseInt(limit) + (i + 1), name: exercise_users[i].user_name, stduynumber: exercise_users[i].student_id === undefined ? "--" : exercise_users[i].student_id === null ? "--" : exercise_users[i].student_id === "" ? "--" : exercise_users[i].student_id, classroom: exercise_users[i].user_group_name, submitstate: exercise_users[i].commit_status === 1 ? "已提交" : "未提交", updatetime: moment(exercise_users[i].end_at).format('YYYY-MM-DD HH:mm') === "Invalid date" ? "--" : moment(exercise_users[i].end_at).format('YYYY-MM-DD HH:mm'), completion: exercise_users[i].objective_score === undefined ? "--" : exercise_users[i].objective_score === null ? "--" : exercise_users[i].objective_score === "" ? "--" : exercise_users[i].objective_score, levelscore: exercise_users[i].subjective_score === undefined ? "--" : exercise_users[i].subjective_score === null ? "--" : exercise_users[i].subjective_score === "" ? "--" : exercise_users[i].subjective_score, efficiencyscore: exercise_users[i].score === undefined ? "--" : exercise_users[i].score === null ? "--" : exercise_users[i].score === "" ? "--" : exercise_users[i].score, finalscore: "评阅" }) } else { datalist.push({ myid: exercise_users[i].login, user_group_id: exercise_users[i].user_group_id, number: (parseInt(page) - 1) * parseInt(limit) + (i + 1), name: exercise_users[i].user_name, stduynumber: exercise_users[i].student_id === undefined ? "--" : exercise_users[i].student_id === null ? "--" : exercise_users[i].student_id === "" ? "--" : exercise_users[i].student_id, classroom: exercise_users[i].user_group_name, submitstate: exercise_users[i].commit_status === 1 ? "已提交" : "未提交", updatetime: moment(exercise_users[i].end_at).format('YYYY-MM-DD HH:mm') === "Invalid date" ? "--" : moment(exercise_users[i].end_at).format('YYYY-MM-DD HH:mm'), completion: exercise_users[i].objective_score === undefined ? "--" : exercise_users[i].objective_score === null ? "--" : exercise_users[i].objective_score === "" ? "--" : exercise_users[i].objective_score, levelscore: exercise_users[i].subjective_score === undefined ? "--" : exercise_users[i].subjective_score === null ? "--" : exercise_users[i].subjective_score === "" ? "--" : exercise_users[i].subjective_score, efficiencyscore: exercise_users[i].score === undefined ? "--" : exercise_users[i].score === null ? "--" : exercise_users[i].score === "" ? "--" : exercise_users[i].score, finalscore: "--" }) indexi++; } } // teacherlist = { //分页 // total: exercise_users.length, //数据总数量 // pageSize: 20, //一页显示几条 // current: this.state.page, // } } if (response.data.exercise_types.subjective === 0) { //===0 不包括主观题 if (indexi === exercise_users.length) { //都没评论 不显示评论 if (response.data.exercise_types.groups_count > 0) { // console.log("77771111111"); //分班大于0显示分班 //7ge // this.state.columnsys.map((item,key)=>{ // // }) var arr =[]; for(var i=0;i 0) { //显示分班 //8ge var arr =[]; for(var i=0;i 0) { var arr =[]; for(var i=0;i 0) { this.setState({ data: datalist, teacherlist: teacherlist, Teacherliststudentlist: response.data, review: response.data.review, commit_status: response.data.commit_status, exercise_users: response.data.exercise_users, course_groups: response.data.course_groups, mylistansum:response.data.exercise_types.answer_users+response.data.exercise_types.unanswer_users, loadingstate: false, columnsys: this.state.columnsystwo, }) } else { var arr =[]; for(var i=0;i { // console.log(e.current); var teacherlist = { //分页 total: this.state.exercise_users.length, //数据总数量 pageSize: 20, //一页显示几条 current: e.current, } this.setState({ page: e.current, teacherlist: teacherlist }) } Searchdatasys = (order, commit_status, review, exercise_group_id, search, page, limit) => { var exercise_id = this.props.match.params.Id; var url = `/exercises/${exercise_id}/exercise_lists.json`; axios.get((url), { params: { order: order, commit_status: commit_status, review: review, exercise_group_id: exercise_group_id, search: search, page: page, limit: limit, } }).then((response) => { // console.log("528"); // console.log(JSON.stringify(response)); if(response===undefined){ return } this.setState({ loadingstate: false, }) // console.log(response); // console.log(1997); this.Generatenewdatasy(response.data.exercise_users, response); }).catch((error) => { // console.log(error) this.setState({ loadingstate: false, }) }); } notlimited = () => { if (this.state.loadingstate === false) { this.setState({ unlimited: 0, course_groupyslsthree: undefined, loadingstate: true, page:1 }) } else { this.setState({ unlimited: 0, course_groupyslsthree: undefined, page:1, }) } this.Searchdatasys(this.state.order, this.state.course_groupyslstwo, null, this.state.checkedValuesineinfo, this.state.searchtext, 1, this.state.limit); } // notlimiteds = () => { // this.setState({ // unlimiteds: 0, // commit_status: null, // submitted: false, // unsubmitted: false // }) // this.Searchdatasys(this.state.order, null, this.state.review, this.state.checkedValuesineinfo, this.state.searchtext, null, null); // } notlimiteds = () => { if (this.state.loadingstate === false) { this.setState({ unlimiteds: 0, course_groupyslstwo: undefined, loadingstate: true, page:1, }) } else { this.setState({ unlimiteds: 0, course_groupyslstwo: undefined, page:1, }) } this.Searchdatasys(this.state.order, undefined, this.state.review, this.state.checkedValuesineinfo, this.state.searchtext, 1, this.state.limit); } checkeboxstwo = (checkedValues, data) => { // console.log(checkedValues) if (JSON.stringify(checkedValues) === "[]") { // console.log(checkedValues); if (this.state.loadingstate === false) { this.setState({ loadingstate: true, course_groupyslstwo: undefined, unlimiteds: 0, page:1 }) } else { this.setState({ course_groupyslstwo: undefined, unlimiteds: 0, page:1, }) } this.Searchdatasys(this.state.order, checkedValues, this.state.review, this.state.checkedValuesineinfo, this.state.searchtext, 1, this.state.limit); } else if (checkedValues.length === data.length) { if (this.state.loadingstate === false) { this.setState({ loadingstate: true, course_groupyslstwo: undefined, unlimiteds: 0, page:1 }) } else { this.setState({ course_groupyslstwo: undefined, unlimiteds: 0, page:1, }) } this.Searchdatasys(this.state.order, checkedValues, this.state.review, this.state.checkedValuesineinfo, this.state.searchtext, 1, this.state.limit); } else { // console.log(checkedValues); this.Searchdatasys(this.state.order, checkedValues, this.state.review, this.state.checkedValuesineinfo, this.state.searchtext, 1, this.state.limit); if (this.state.loadingstate === false) { this.setState({ loadingstate: true, course_groupyslstwo: checkedValues, unlimiteds: 1, page:1, }) } else { this.setState({ course_groupyslstwo: checkedValues, unlimiteds: 1, page:1, }) } } } notlimitedst = () => { // console.log(); // var datas=this.state.course_groups; // for(var ik=0;ik { // if(JSON.stringify(v)==="[]"){ // this.setState({ // review:undefined // }) // return // } if (JSON.stringify(checkedValues) === "[]") { // console.log(checkedValues); if (this.state.loadingstate === false) { this.setState({ unlimited: 0, course_groupyslsthree: undefined, loadingstate: true, page:1 }) } else { this.setState({ unlimited: 0, course_groupyslsthree: undefined, page:1 }) } this.Searchdatasys(this.state.order, this.state.course_groupyslstwo, checkedValues, this.state.checkedValuesineinfo, this.state.searchtext, 1, this.state.limit); } else if (checkedValues.length === data.length) { if (this.state.loadingstate === false) { this.setState({ unlimited: 0, course_groupyslsthree: undefined, loadingstate: true, page:1 }) } else { this.setState({ unlimited: 0, course_groupyslsthree: undefined, page:1 }) } this.Searchdatasys(this.state.order, this.state.course_groupyslstwo, checkedValues, this.state.checkedValuesineinfo, this.state.searchtext, 1, this.state.limit); } else { // console.log(checkedValues); if (this.state.loadingstate === false) { this.setState({ unlimited: 1, loadingstate: true, course_groupyslsthree: checkedValues, page:1 }) } else { this.setState({ unlimited: 1, course_groupyslsthree: checkedValues, page:1 }) } this.Searchdatasys(this.state.order, this.state.course_groupyslstwo, checkedValues, this.state.checkedValuesineinfo, this.state.searchtext, 1, this.state.limit); } } funtaskstatustwos = () => { if (this.state.loadingstate === false) { this.setState({ unlimitedtwo: 0, checkedValuesineinfo: undefined, course_groupysls: undefined, loadingstate: true, page:1, }) } else { this.setState({ unlimitedtwo: 0, checkedValuesineinfo: undefined, course_groupysls: undefined, page:1, }) } this.Searchdatasys(this.state.order, this.state.course_groupyslstwo, this.state.review, undefined, this.state.searchtext, 1, this.state.limit) } funtaskstatustwo = (checkedValues, data) => { // console.log(checkedValues); if (JSON.stringify(checkedValues) === "[]") { // console.log(checkedValues); if (this.state.loadingstate === false) { this.setState({ course_groupysls: undefined, unlimitedtwo: 0, loadingstate: true, page:1, }) } else { this.setState({ course_groupysls: undefined, unlimitedtwo: 0, page:1, }) } this.Searchdatasys(this.state.order, this.state.course_groupyslstwo, this.state.review, checkedValues, this.state.searchtext, 1, this.state.limit) } else if (checkedValues.length === data.length) { if (this.state.loadingstate === false) { this.setState({ course_groupysls: undefined, unlimitedtwo: 0, loadingstate: true, page:1, }) } else { this.setState({ course_groupysls: undefined, unlimitedtwo: 0, page:1, }) } this.Searchdatasys(this.state.order, this.state.course_groupyslstwo, this.state.review, checkedValues, this.state.searchtext, 1, this.state.limit) } else { // console.log(checkedValues); if (this.state.loadingstate === false) { this.setState({ checkedValuesineinfo: checkedValues, course_groupysls: checkedValues, unlimitedtwo: 1, loadingstate: true, page:1 }) } else { this.setState({ checkedValuesineinfo: checkedValues, course_groupysls: checkedValues, unlimitedtwo: 1, page:1 }) } this.Searchdatasys(this.state.order, this.state.course_groupyslstwo, this.state.review, checkedValues, this.state.searchtext, 1, this.state.limit) this.props.setcourse_groupysls(checkedValues) } } // 输入关键字后按回车,自动提交 onSearchKeywordKeyUp = (e) => { if (e.keyCode === 13) { // this.onSearch(); // console.log("使用了回车键"); // if(this.state.searchtext === ""){ // message.error("请输入姓名或学号搜索"); // return // } if (this.state.loadingstate === false) { this.setState({ loadingstate: true, page:1 }) } this.Searchdatasys(this.state.order, this.state.course_groupyslstwo, this.state.review, this.state.checkedValuesineinfo, this.state.searchtext, 1, this.state.limit); } }; //搜索学生按钮输入 老师 searchValues = (value) => { //点击直接搜索 // if(value === ""){ // message.error("请输入姓名或学号搜索"); // return // } if (this.state.loadingstate === false) { this.setState({ loadingstate: true, page:1, }) } this.Searchdatasys(this.state.order, this.state.course_groupyslstwo, this.state.review, this.state.checkedValuesineinfo, value, 1, this.state.limit); // this.Startsorting(this.state.order,this.state.checkedValuesine,this.state.checkedValuesineinfo,value); // console.log(value) }; _getRequestParams() { const { order, checkedValuesineinfo,course_groupyslstwo ,searchtext, page ,limit,course_groupyslsthree} = this.state return { page, review:course_groupyslsthree, commit_status:course_groupyslstwo, search:searchtext, exercise_group_id:checkedValuesineinfo, limit: limit, order, } } //搜索学生 文字输入 inputSearchValues = (e) => { // console.log(e.target.value) if (e.target.value === "") { this.setState({ searchtext: undefined, }) } else { this.setState({ searchtext: e.target.value, }) } }; //排序 funordersy = (e) => { console.log(this.state.course_groupyslstwo); debugger if (e === "end_at") { // 时间 // 时间排序是从小到大 if (this.state.loadingstate === false) { this.setState({ order: "end_at", loadingstate: true, }) } else { this.setState({ order: "end_at", }) } this.Searchdatasys(e, this.state.course_groupyslstwo, this.state.review, this.state.checkedValuesineinfo, this.state.searchtext, this.state.page,this.state.limit); } if (e === "score") { // 成绩 //成绩排序是从大到小 if (this.state.loadingstate === false) { this.setState({ order: "score", loadingstate: true, }) } else { this.setState({ order: "score", }) } this.Searchdatasys(e, this.state.course_groupyslstwo, this.state.review, this.state.checkedValuesineinfo, this.state.searchtext, this.state.page,this.state.limit); } if (e === "student_id") { //学号 //学号排序是从大到小 if (this.state.loadingstate === false) { this.setState({ order: "student_id", loadingstate: true, }) } else { this.setState({ order: "student_id", }) } this.Searchdatasys(e, this.state.course_groupyslstwo, this.state.review, this.state.checkedValuesineinfo, this.state.searchtext, this.state.page,this.state.limit); } } setExerciseReviewAndAnswer = () => { } render() { const isAdmin = this.props.isAdmin(); let {data, datas, page, columns, course_groupyslsthree, columnstwo, styletable,exercise_status, course_groupyslstwodatas, limit, course_groupysls, course_groupyslstwodata, course_groupyslstwo, teacherlists, Teacherliststudentlist, order, columnss, course_groupsdatas, course_groups, Evaluationarray, unlimited, unlimiteds, unlimitedtwo, teacherlist, searchtext, loadingstate, review, nocomment, commented, unsubmitted, submitted, columnsys, exercise_users,mylistansum} = this.state; // console.log("Studentshavecompletedthelist"); // console.log(this.props.current_status); // console.log("获取到的数据"); // console.log(datas); // console.log(data); // console.log("this.props.Commonheadofthetestpaper.exercise_status"); // console.log(this.props.Commonheadofthetestpaper&&this.props.Commonheadofthetestpaper.exercise_status); // console.log(exercise_status); return ( isAdmin === true ? ( {/*老师*/} { this.props.Commonheadofthetestpaper&&this.props.Commonheadofthetestpaper.exercise_status===0 || this.props.Commonheadofthetestpaper&&this.props.Commonheadofthetestpaper.exercise_status===1 ? : {/*你的评阅:*/} { Teacherliststudentlist === undefined || Teacherliststudentlist.exercise_types.subjective === 0 ? 作品状态: this.notlimiteds()}>不限 this.checkeboxstwo(e, course_groupyslstwodata && course_groupyslstwodata)}> { course_groupyslstwodata.map((item, key) => { return ( {item.tu}({Teacherliststudentlist === undefined ? "0" : key === 0 ? Teacherliststudentlist.exercise_types.unanswer_users : Teacherliststudentlist.exercise_types.answer_users}) ) }) } this.onSearchKeywordKeyUp(e)} onInput={this.inputSearchValues} onSearch={this.searchValues} > : 你的评阅: this.notlimited()}>不限 this.checkeboxs(e, course_groupyslstwodata && course_groupyslstwodata)}> { course_groupyslstwodatas.map((item, key) => { return ( {item.tu}({Teacherliststudentlist === undefined ? "0" : key === 0 ? Teacherliststudentlist.exercise_types.unreview_counts : Teacherliststudentlist.exercise_types.review_counts}) ) }) } this.onSearchKeywordKeyUp(e)} onInput={this.inputSearchValues} onSearch={this.searchValues} > {/*作品状态*/} 作品状态: this.notlimiteds()}>不限 this.checkeboxstwo(e, course_groupyslstwodata && course_groupyslstwodata)}> { course_groupyslstwodata.map((item, key) => { return ( {item.tu}({Teacherliststudentlist === undefined ? "0" : key === 0 ? Teacherliststudentlist.exercise_types.unanswer_users : Teacherliststudentlist.exercise_types.answer_users}) ) }) } } {/*分班情况*/} {course_groups === undefined ? "" : course_groups === null ? "" : course_groups.length < 2 ? "" : JSON.stringify(course_groups) === "[]" ? "" : 分班情况: this.funtaskstatustwos()}>不限 this.funtaskstatustwo(e, course_groups && course_groups)} style={{paddingTop: '4px', display: "inline"}}> { course_groups.map((item, key) => { return ( {item.exercise_group_name}({item.exercise_group_students}) ) }) } } {Teacherliststudentlist === undefined ? "0" : Teacherliststudentlist.exercise_types.total_users}个检索结果({Teacherliststudentlist === undefined ? "0" : Teacherliststudentlist.exercise_types.exercise_all_users}学生) {order === "end_at" ? "时间" : order === "score" ? "成绩" : order === "student_id" ? "学号" : ""}排序 this.funordersy("end_at")} data-remote="true" className=" font-12" style={{textAlign: "center "}}>提交时间 this.funordersy("score")} data-remote="true" className=" font-12" style={{textAlign: "center "}}>最终成绩 this.funordersy("student_id")} data-remote="true" className=" font-12" style={{textAlign: "center "}}>学生学号 {JSON.stringify(data) !== "[]" ? {data === undefined ? "" : } : 暂时还没有相关数据哦! } { Teacherliststudentlist && Teacherliststudentlist.exercise_types.total_users && Teacherliststudentlist.exercise_types.total_users > limit ? : "" } } ) : ( // 学生只能看自己的 Teacherliststudentlist === undefined || Teacherliststudentlist.current_answer_user === undefined || Teacherliststudentlist.current_answer_user === null ? { this.props.Commonheadofthetestpaper&&this.props.Commonheadofthetestpaper.exercise_status === 0 || this.props.Commonheadofthetestpaper&&this.props.Commonheadofthetestpaper.exercise_status === 1 ? : {Teacherliststudentlist === undefined ? "0" : Teacherliststudentlist.exercise_types.answer_users}已交 {Teacherliststudentlist === undefined ? "0" : Teacherliststudentlist.exercise_types.unanswer_users}未交 {Teacherliststudentlist && Teacherliststudentlist.exercise_types.exercise_end_time === "--" ? "" : 剩余提交时间:} {Teacherliststudentlist && Teacherliststudentlist.exercise_types.exercise_end_time === "--" ? "" : {Teacherliststudentlist === undefined ? "0" : Teacherliststudentlist.exercise_types.exercise_end_time} } {JSON.stringify(datas) === "[]" ? 暂时还没有相关数据哦! : {datas === undefined ? "" : } } } : // 学生能看别人的 { this.props.Commonheadofthetestpaper&&this.props.Commonheadofthetestpaper.exercise_status === 0 || this.props.Commonheadofthetestpaper&&this.props.Commonheadofthetestpaper.exercise_status === 1 ? : {data === undefined ? "" : } {JSON.stringify(datas) === "[]" ? 暂时还没有相关数据哦! : < div id="graduation_work_list" style={{ padding: '0px 30px 10px 30px', "margin-top": "20px", "margin-bottom": "10px" }}> {Teacherliststudentlist === undefined ? "0" : Teacherliststudentlist.exercise_types.answer_users}已交 {Teacherliststudentlist === undefined ? "0" : Teacherliststudentlist.exercise_types.unanswer_users}未交 {Teacherliststudentlist && Teacherliststudentlist.exercise_types.exercise_end_time === "--" ? "" : 剩余提交时间:} {Teacherliststudentlist && Teacherliststudentlist.exercise_types.exercise_end_time === "--" ? "" : {Teacherliststudentlist === undefined ? "0" : Teacherliststudentlist.exercise_types.exercise_end_time}} {order === "end_at" ? "时间" : order === "score" ? "成绩" : order === "student_id" ? "学号" : ""}排序 this.funorder("end_at")} data-remote="true" className=" font-12" style={{textAlign: "center "}}>提交时间 this.funorder("score")} data-remote="true" className=" font-12" style={{textAlign: "center "}}>最终成绩 this.funorder("student_id")} data-remote="true" className=" font-12" style={{textAlign: "center "}}>学生学号 {datas === undefined ? "" : } } { mylistansum && mylistansum > limit ? : "" } } ) ) } } // subjective 主要是用于判断答题列表页是否存在 主观题 一栏的 // 客观题没有判断。当主观题存在时,就会有客观题出现,否则只有总成绩 // 当subjective 等于1时,就出现3列,客观题,主观题,最终成绩。当subjective等于0时,你就只出现最终成绩一列就行了 export default Studentshavecompletedthelist;
暂时还没有相关数据哦!