|
|
|
@ -22,7 +22,7 @@ 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;
|
|
|
|
@ -1217,6 +1217,7 @@ class Studentshavecompletedthelist extends Component {
|
|
|
|
|
)
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
exercise_status:0,
|
|
|
|
|
}
|
|
|
|
|
// console.log("Studentshavecompletedthelist");
|
|
|
|
|
// console.log(props.current_status);
|
|
|
|
@ -1277,6 +1278,20 @@ class Studentshavecompletedthelist extends Component {
|
|
|
|
|
}catch (e) {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
try {
|
|
|
|
|
if(this.props.Commonheadofthetestpaper.exercise_status !== undefined){
|
|
|
|
|
this.setState({
|
|
|
|
|
exercise_status:this.props.Commonheadofthetestpaper.exercise_status,
|
|
|
|
|
})
|
|
|
|
|
}else{
|
|
|
|
|
this.setState({
|
|
|
|
|
exercise_status:0,
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
}catch (e) {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
componentWillReceiveProps = (nextProps) => {
|
|
|
|
@ -2065,11 +2080,11 @@ class Studentshavecompletedthelist extends Component {
|
|
|
|
|
this.setState({
|
|
|
|
|
loadingstate: false,
|
|
|
|
|
})
|
|
|
|
|
console.log(response);
|
|
|
|
|
console.log(1997);
|
|
|
|
|
// console.log(response);
|
|
|
|
|
// console.log(1997);
|
|
|
|
|
this.Generatenewdatasy(response.data.exercise_users, response);
|
|
|
|
|
}).catch((error) => {
|
|
|
|
|
console.log(error)
|
|
|
|
|
// console.log(error)
|
|
|
|
|
this.setState({
|
|
|
|
|
loadingstate: false,
|
|
|
|
|
})
|
|
|
|
@ -2472,7 +2487,7 @@ class Studentshavecompletedthelist extends Component {
|
|
|
|
|
render() {
|
|
|
|
|
const isAdmin = this.props.isAdmin();
|
|
|
|
|
|
|
|
|
|
let {data, datas, page, columns, course_groupyslsthree, columnstwo, styletable, 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;
|
|
|
|
|
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);
|
|
|
|
|
return (
|
|
|
|
@ -2483,202 +2498,209 @@ class Studentshavecompletedthelist extends Component {
|
|
|
|
|
" min-width": " 1200px",
|
|
|
|
|
}}>
|
|
|
|
|
{/*老师*/}
|
|
|
|
|
<div className="edu-back-white" >
|
|
|
|
|
<ul className="clearfix" style={{padding: '10px 30px 10px 30px'}}>
|
|
|
|
|
{
|
|
|
|
|
exercise_status===0 || exercise_status===1 ?
|
|
|
|
|
<NoneData></NoneData>
|
|
|
|
|
:
|
|
|
|
|
<div>
|
|
|
|
|
<div className="edu-back-white" >
|
|
|
|
|
<ul className="clearfix" style={{padding: '10px 30px 10px 30px'}}>
|
|
|
|
|
|
|
|
|
|
{/*你的评阅:*/}
|
|
|
|
|
{
|
|
|
|
|
Teacherliststudentlist === undefined || Teacherliststudentlist.exercise_types.subjective === 0 ?
|
|
|
|
|
<li className="clearfix mt10">
|
|
|
|
|
<span className="fl mr10 color-grey-8 ">作品状态:</span>
|
|
|
|
|
<span className="fl "><a id="graduation_comment_no_limit"
|
|
|
|
|
className={unlimiteds === 0 ? "pl10 pr10 mr20 check_on" : "pl10 pr10 mr20 "}
|
|
|
|
|
onClick={() => this.notlimiteds()}>不限</a></span>
|
|
|
|
|
<CheckboxGroup value={course_groupyslstwo}
|
|
|
|
|
onChange={(e) => this.checkeboxstwo(e, course_groupyslstwodata && course_groupyslstwodata)}>
|
|
|
|
|
{
|
|
|
|
|
course_groupyslstwodata.map((item, key) => {
|
|
|
|
|
return (
|
|
|
|
|
<span key={key}><Checkbox className="fl mt5"
|
|
|
|
|
key={item.id}
|
|
|
|
|
value={item.id}>{item.tu}<span>({Teacherliststudentlist === undefined ? "0" : key === 0 ? Teacherliststudentlist.exercise_types.unanswer_users : Teacherliststudentlist.exercise_types.answer_users})</span></Checkbox></span>
|
|
|
|
|
)
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
</CheckboxGroup>
|
|
|
|
|
<div className="fr mr5 search-new" style={{marginBottom: '1px'}}>
|
|
|
|
|
<Search
|
|
|
|
|
placeholder="请输入姓名或学号搜索"
|
|
|
|
|
id="subject_search_input"
|
|
|
|
|
autoComplete="off"
|
|
|
|
|
value={searchtext}
|
|
|
|
|
onKeyUp={(e) => this.onSearchKeywordKeyUp(e)}
|
|
|
|
|
onInput={this.inputSearchValues}
|
|
|
|
|
onSearch={this.searchValues}
|
|
|
|
|
></Search>
|
|
|
|
|
</div>
|
|
|
|
|
</li>
|
|
|
|
|
:
|
|
|
|
|
<div>
|
|
|
|
|
<li className="clearfix mt10">
|
|
|
|
|
<span className="fl mr10 color-grey-8 ">你的评阅:</span>
|
|
|
|
|
<span className="fl "><a id="graduation_comment_no_limit"
|
|
|
|
|
className={unlimited === 0 ? "pl10 pr10 mr20 check_on" : "pl10 pr10 mr20 "}
|
|
|
|
|
onClick={() => this.notlimited()}>不限</a></span>
|
|
|
|
|
|
|
|
|
|
<CheckboxGroup value={course_groupyslsthree}
|
|
|
|
|
onChange={(e) => this.checkeboxs(e, course_groupyslstwodata && course_groupyslstwodata)}>
|
|
|
|
|
{
|
|
|
|
|
course_groupyslstwodatas.map((item, key) => {
|
|
|
|
|
return (
|
|
|
|
|
<span key={key}><Checkbox className="fl mt5"
|
|
|
|
|
key={item.id}
|
|
|
|
|
value={item.id}>{item.tu}<span>({Teacherliststudentlist === undefined ? "0" : key === 0 ? Teacherliststudentlist.exercise_types.unreview_counts : Teacherliststudentlist.exercise_types.review_counts})</span></Checkbox></span>
|
|
|
|
|
)
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
</CheckboxGroup>
|
|
|
|
|
<div className="fr mr5 search-new" style={{marginBottom: '1px'}}>
|
|
|
|
|
<Search
|
|
|
|
|
placeholder="请输入姓名或学号搜索"
|
|
|
|
|
id="subject_search_input"
|
|
|
|
|
autoComplete="off"
|
|
|
|
|
value={searchtext}
|
|
|
|
|
onKeyUp={(e) => this.onSearchKeywordKeyUp(e)}
|
|
|
|
|
onInput={this.inputSearchValues}
|
|
|
|
|
onSearch={this.searchValues}
|
|
|
|
|
></Search>
|
|
|
|
|
</div>
|
|
|
|
|
</li>
|
|
|
|
|
{/*作品状态*/}
|
|
|
|
|
<li className="clearfix mt10">
|
|
|
|
|
<span className="fl mr10 color-grey-8 ">作品状态:</span>
|
|
|
|
|
<span className="fl "><a id="graduation_comment_no_limit"
|
|
|
|
|
className={unlimiteds === 0 ? "pl10 pr10 mr20 check_on" : "pl10 pr10 mr20 "}
|
|
|
|
|
onClick={() => this.notlimiteds()}>不限</a></span>
|
|
|
|
|
<CheckboxGroup value={course_groupyslstwo}
|
|
|
|
|
onChange={(e) => this.checkeboxstwo(e, course_groupyslstwodata && course_groupyslstwodata)}>
|
|
|
|
|
{
|
|
|
|
|
course_groupyslstwodata.map((item, key) => {
|
|
|
|
|
return (
|
|
|
|
|
<span key={key}><Checkbox className="fl mt5"
|
|
|
|
|
key={item.id}
|
|
|
|
|
value={item.id}>{item.tu}<span>({Teacherliststudentlist === undefined ? "0" : key === 0 ? Teacherliststudentlist.exercise_types.unanswer_users : Teacherliststudentlist.exercise_types.answer_users})</span></Checkbox></span>
|
|
|
|
|
)
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
</CheckboxGroup>
|
|
|
|
|
</li>
|
|
|
|
|
</div>
|
|
|
|
|
{/*你的评阅:*/}
|
|
|
|
|
{
|
|
|
|
|
Teacherliststudentlist === undefined || Teacherliststudentlist.exercise_types.subjective === 0 ?
|
|
|
|
|
<li className="clearfix mt10">
|
|
|
|
|
<span className="fl mr10 color-grey-8 ">作品状态:</span>
|
|
|
|
|
<span className="fl "><a id="graduation_comment_no_limit"
|
|
|
|
|
className={unlimiteds === 0 ? "pl10 pr10 mr20 check_on" : "pl10 pr10 mr20 "}
|
|
|
|
|
onClick={() => this.notlimiteds()}>不限</a></span>
|
|
|
|
|
<CheckboxGroup value={course_groupyslstwo}
|
|
|
|
|
onChange={(e) => this.checkeboxstwo(e, course_groupyslstwodata && course_groupyslstwodata)}>
|
|
|
|
|
{
|
|
|
|
|
course_groupyslstwodata.map((item, key) => {
|
|
|
|
|
return (
|
|
|
|
|
<span key={key}><Checkbox className="fl mt5"
|
|
|
|
|
key={item.id}
|
|
|
|
|
value={item.id}>{item.tu}<span>({Teacherliststudentlist === undefined ? "0" : key === 0 ? Teacherliststudentlist.exercise_types.unanswer_users : Teacherliststudentlist.exercise_types.answer_users})</span></Checkbox></span>
|
|
|
|
|
)
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
</CheckboxGroup>
|
|
|
|
|
<div className="fr mr5 search-new" style={{marginBottom: '1px'}}>
|
|
|
|
|
<Search
|
|
|
|
|
placeholder="请输入姓名或学号搜索"
|
|
|
|
|
id="subject_search_input"
|
|
|
|
|
autoComplete="off"
|
|
|
|
|
value={searchtext}
|
|
|
|
|
onKeyUp={(e) => this.onSearchKeywordKeyUp(e)}
|
|
|
|
|
onInput={this.inputSearchValues}
|
|
|
|
|
onSearch={this.searchValues}
|
|
|
|
|
></Search>
|
|
|
|
|
</div>
|
|
|
|
|
</li>
|
|
|
|
|
:
|
|
|
|
|
<div>
|
|
|
|
|
<li className="clearfix mt10">
|
|
|
|
|
<span className="fl mr10 color-grey-8 ">你的评阅:</span>
|
|
|
|
|
<span className="fl "><a id="graduation_comment_no_limit"
|
|
|
|
|
className={unlimited === 0 ? "pl10 pr10 mr20 check_on" : "pl10 pr10 mr20 "}
|
|
|
|
|
onClick={() => this.notlimited()}>不限</a></span>
|
|
|
|
|
|
|
|
|
|
<CheckboxGroup value={course_groupyslsthree}
|
|
|
|
|
onChange={(e) => this.checkeboxs(e, course_groupyslstwodata && course_groupyslstwodata)}>
|
|
|
|
|
{
|
|
|
|
|
course_groupyslstwodatas.map((item, key) => {
|
|
|
|
|
return (
|
|
|
|
|
<span key={key}><Checkbox className="fl mt5"
|
|
|
|
|
key={item.id}
|
|
|
|
|
value={item.id}>{item.tu}<span>({Teacherliststudentlist === undefined ? "0" : key === 0 ? Teacherliststudentlist.exercise_types.unreview_counts : Teacherliststudentlist.exercise_types.review_counts})</span></Checkbox></span>
|
|
|
|
|
)
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
</CheckboxGroup>
|
|
|
|
|
<div className="fr mr5 search-new" style={{marginBottom: '1px'}}>
|
|
|
|
|
<Search
|
|
|
|
|
placeholder="请输入姓名或学号搜索"
|
|
|
|
|
id="subject_search_input"
|
|
|
|
|
autoComplete="off"
|
|
|
|
|
value={searchtext}
|
|
|
|
|
onKeyUp={(e) => this.onSearchKeywordKeyUp(e)}
|
|
|
|
|
onInput={this.inputSearchValues}
|
|
|
|
|
onSearch={this.searchValues}
|
|
|
|
|
></Search>
|
|
|
|
|
</div>
|
|
|
|
|
</li>
|
|
|
|
|
{/*作品状态*/}
|
|
|
|
|
<li className="clearfix mt10">
|
|
|
|
|
<span className="fl mr10 color-grey-8 ">作品状态:</span>
|
|
|
|
|
<span className="fl "><a id="graduation_comment_no_limit"
|
|
|
|
|
className={unlimiteds === 0 ? "pl10 pr10 mr20 check_on" : "pl10 pr10 mr20 "}
|
|
|
|
|
onClick={() => this.notlimiteds()}>不限</a></span>
|
|
|
|
|
<CheckboxGroup value={course_groupyslstwo}
|
|
|
|
|
onChange={(e) => this.checkeboxstwo(e, course_groupyslstwodata && course_groupyslstwodata)}>
|
|
|
|
|
{
|
|
|
|
|
course_groupyslstwodata.map((item, key) => {
|
|
|
|
|
return (
|
|
|
|
|
<span key={key}><Checkbox className="fl mt5"
|
|
|
|
|
key={item.id}
|
|
|
|
|
value={item.id}>{item.tu}<span>({Teacherliststudentlist === undefined ? "0" : key === 0 ? Teacherliststudentlist.exercise_types.unanswer_users : Teacherliststudentlist.exercise_types.answer_users})</span></Checkbox></span>
|
|
|
|
|
)
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
</CheckboxGroup>
|
|
|
|
|
</li>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
{/*分班情况*/}
|
|
|
|
|
{course_groups === undefined ? "" : course_groups === null ? "" : course_groups.length < 2 ? "" : JSON.stringify(course_groups) === "[]" ? "" :
|
|
|
|
|
<li className="clearfix mt10">
|
|
|
|
|
<tr>
|
|
|
|
|
<td className="w80" style={{"vertical-align": "top"}}><span
|
|
|
|
|
className=" mr10 color-grey-8 ">分班情况:</span></td>
|
|
|
|
|
<td className="w70" style={{"vertical-align": "top"}}><span><a
|
|
|
|
|
id="graduation_comment_no_limit"
|
|
|
|
|
className={unlimitedtwo === 0 ? "pl10 pr10 mr20 check_on" : "pl10 pr10 mr20 "}
|
|
|
|
|
onClick={() => this.funtaskstatustwos()}>不限</a></span>
|
|
|
|
|
</td>
|
|
|
|
|
<td>
|
|
|
|
|
<CheckboxGroup value={course_groupysls}
|
|
|
|
|
onChange={(e) => this.funtaskstatustwo(e, course_groups && course_groups)}
|
|
|
|
|
style={{paddingTop: '4px', display: "inline"}}>
|
|
|
|
|
{
|
|
|
|
|
course_groups.map((item, key) => {
|
|
|
|
|
return (
|
|
|
|
|
<span key={key}><Checkbox className="fl mt5"
|
|
|
|
|
key={item.exercise_group_id}
|
|
|
|
|
value={item.exercise_group_id}>{item.exercise_group_name}<span>({item.exercise_group_students})</span></Checkbox></span>
|
|
|
|
|
)
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
</CheckboxGroup>
|
|
|
|
|
}
|
|
|
|
|
{/*分班情况*/}
|
|
|
|
|
{course_groups === undefined ? "" : course_groups === null ? "" : course_groups.length < 2 ? "" : JSON.stringify(course_groups) === "[]" ? "" :
|
|
|
|
|
<li className="clearfix mt10">
|
|
|
|
|
<tr>
|
|
|
|
|
<td className="w80" style={{"vertical-align": "top"}}><span
|
|
|
|
|
className=" mr10 color-grey-8 ">分班情况:</span></td>
|
|
|
|
|
<td className="w70" style={{"vertical-align": "top"}}><span><a
|
|
|
|
|
id="graduation_comment_no_limit"
|
|
|
|
|
className={unlimitedtwo === 0 ? "pl10 pr10 mr20 check_on" : "pl10 pr10 mr20 "}
|
|
|
|
|
onClick={() => this.funtaskstatustwos()}>不限</a></span>
|
|
|
|
|
</td>
|
|
|
|
|
<td>
|
|
|
|
|
<CheckboxGroup value={course_groupysls}
|
|
|
|
|
onChange={(e) => this.funtaskstatustwo(e, course_groups && course_groups)}
|
|
|
|
|
style={{paddingTop: '4px', display: "inline"}}>
|
|
|
|
|
{
|
|
|
|
|
course_groups.map((item, key) => {
|
|
|
|
|
return (
|
|
|
|
|
<span key={key}><Checkbox className="fl mt5"
|
|
|
|
|
key={item.exercise_group_id}
|
|
|
|
|
value={item.exercise_group_id}>{item.exercise_group_name}<span>({item.exercise_group_students})</span></Checkbox></span>
|
|
|
|
|
)
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
</CheckboxGroup>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
}
|
|
|
|
|
</li>
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div id="graduation_work_list" style={{padding: '0px 30px 10px 30px'}}>
|
|
|
|
|
<div className="clearfix">
|
|
|
|
|
<div id="graduation_work_list" style={{padding: '0px 30px 10px 30px'}}>
|
|
|
|
|
<div className="clearfix">
|
|
|
|
|
<span
|
|
|
|
|
className="fl color-grey-6 font-12"><span
|
|
|
|
|
style={{color: '#FF6800'}}>{Teacherliststudentlist === undefined ? "0" : Teacherliststudentlist.exercise_types.total_users}</span><span
|
|
|
|
|
className="color-orange-tip"></span>个检索结果({Teacherliststudentlist === undefined ? "0" : Teacherliststudentlist.exercise_types.exercise_all_users}学生) </span>
|
|
|
|
|
|
|
|
|
|
<div className="fr color-grey-6 edu-menu-panel">
|
|
|
|
|
<ul>
|
|
|
|
|
<li className="edu-position edu-position-hidebox">
|
|
|
|
|
<a className="font-12">
|
|
|
|
|
{order === "end_at" ? "时间" : order === "score" ? "成绩" : order === "student_id" ? "学号" : ""}排序</a>
|
|
|
|
|
<i className="iconfont icon-xiajiantou ml5 font-12"></i>
|
|
|
|
|
<ul className="edu-position-hide undis mt10">
|
|
|
|
|
<li><a onClick={(e) => this.funordersy("end_at")} data-remote="true"
|
|
|
|
|
className=" font-12" style={{textAlign: "center "}}>提交时间</a></li>
|
|
|
|
|
<li><a onClick={(e) => this.funordersy("score")} data-remote="true"
|
|
|
|
|
className=" font-12" style={{textAlign: "center "}}>最终成绩</a></li>
|
|
|
|
|
<li><a onClick={(e) => this.funordersy("student_id")} data-remote="true"
|
|
|
|
|
className=" font-12" style={{textAlign: "center "}}>学生学号</a></li>
|
|
|
|
|
</ul>
|
|
|
|
|
</li>
|
|
|
|
|
</ul>
|
|
|
|
|
</div>
|
|
|
|
|
<div className="fr color-grey-6 edu-menu-panel">
|
|
|
|
|
<ul>
|
|
|
|
|
<li className="edu-position edu-position-hidebox">
|
|
|
|
|
<a className="font-12">
|
|
|
|
|
{order === "end_at" ? "时间" : order === "score" ? "成绩" : order === "student_id" ? "学号" : ""}排序</a>
|
|
|
|
|
<i className="iconfont icon-xiajiantou ml5 font-12"></i>
|
|
|
|
|
<ul className="edu-position-hide undis mt10">
|
|
|
|
|
<li><a onClick={(e) => this.funordersy("end_at")} data-remote="true"
|
|
|
|
|
className=" font-12" style={{textAlign: "center "}}>提交时间</a></li>
|
|
|
|
|
<li><a onClick={(e) => this.funordersy("score")} data-remote="true"
|
|
|
|
|
className=" font-12" style={{textAlign: "center "}}>最终成绩</a></li>
|
|
|
|
|
<li><a onClick={(e) => this.funordersy("student_id")} data-remote="true"
|
|
|
|
|
className=" font-12" style={{textAlign: "center "}}>学生学号</a></li>
|
|
|
|
|
</ul>
|
|
|
|
|
</li>
|
|
|
|
|
</ul>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
{JSON.stringify(data) !== "[]" ?
|
|
|
|
|
<div className={"justify break_full_word new_li edu-back-white"}
|
|
|
|
|
style={{minHeight: "480px"}}>
|
|
|
|
|
<style>{`
|
|
|
|
|
{JSON.stringify(data) !== "[]" ?
|
|
|
|
|
<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%;}
|
|
|
|
|
}
|
|
|
|
|
`}</style>
|
|
|
|
|
<div className="edu-table edu-back-white">
|
|
|
|
|
{data === undefined ? "" : <Table
|
|
|
|
|
dataSource={data}
|
|
|
|
|
columns={columnsys}
|
|
|
|
|
className="mysjysltable1"
|
|
|
|
|
pagination={false}
|
|
|
|
|
loading={loadingstate}
|
|
|
|
|
// onChange={this.TablePaginationsy}
|
|
|
|
|
/>}
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div className="edu-table edu-back-white">
|
|
|
|
|
{data === undefined ? "" : <Table
|
|
|
|
|
dataSource={data}
|
|
|
|
|
columns={columnsys}
|
|
|
|
|
className="mysjysltable1"
|
|
|
|
|
pagination={false}
|
|
|
|
|
loading={loadingstate}
|
|
|
|
|
// onChange={this.TablePaginationsy}
|
|
|
|
|
/>}
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
:
|
|
|
|
|
<div id="forum_list" className="forum_table">
|
|
|
|
|
<div className="minH-560 edu-back-white">
|
|
|
|
|
<div className="edu-tab-con-box clearfix edu-txt-center">
|
|
|
|
|
<img className="edu-nodata-img mb20"
|
|
|
|
|
src={getImageUrl("images/educoder/nodata.png")}/>
|
|
|
|
|
<p className="edu-nodata-p mb30">暂时还没有相关数据哦!</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
:
|
|
|
|
|
<div id="forum_list" className="forum_table">
|
|
|
|
|
<div className="minH-560 edu-back-white">
|
|
|
|
|
<div className="edu-tab-con-box clearfix edu-txt-center">
|
|
|
|
|
<img className="edu-nodata-img mb20"
|
|
|
|
|
src={getImageUrl("images/educoder/nodata.png")}/>
|
|
|
|
|
<p className="edu-nodata-p mb30">暂时还没有相关数据哦!</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
}
|
|
|
|
|
</div>
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
{
|
|
|
|
|
Teacherliststudentlist && Teacherliststudentlist.exercise_types.total_users && Teacherliststudentlist.exercise_types.total_users > limit ?
|
|
|
|
|
<div className="edu-txt-center mt30 mb50">
|
|
|
|
|
<Pagination showQuickJumper current={page} onChange={this.paginationonChange}
|
|
|
|
|
pageSize={limit}
|
|
|
|
|
total={Teacherliststudentlist.exercise_types.total_users}></Pagination>
|
|
|
|
|
</div>
|
|
|
|
|
{
|
|
|
|
|
Teacherliststudentlist && Teacherliststudentlist.exercise_types.total_users && Teacherliststudentlist.exercise_types.total_users > limit ?
|
|
|
|
|
<div className="edu-txt-center mt30 mb50">
|
|
|
|
|
<Pagination showQuickJumper current={page} onChange={this.paginationonChange}
|
|
|
|
|
pageSize={limit}
|
|
|
|
|
total={Teacherliststudentlist.exercise_types.total_users}></Pagination>
|
|
|
|
|
</div>
|
|
|
|
|
: ""
|
|
|
|
|
}
|
|
|
|
|
</div>
|
|
|
|
|
: ""
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
@ -2691,16 +2713,20 @@ class Studentshavecompletedthelist extends Component {
|
|
|
|
|
<div>
|
|
|
|
|
<div className=" clearfix "
|
|
|
|
|
style={{"margin": "0 auto", "padding-bottom": "100px", " min-width": " 1200px"}}>
|
|
|
|
|
<div className={"educontent mb20"}>
|
|
|
|
|
{
|
|
|
|
|
exercise_status === 0 || exercise_status === 1 ?
|
|
|
|
|
<NoneData></NoneData>
|
|
|
|
|
:
|
|
|
|
|
<div className={"educontent mb20"}>
|
|
|
|
|
|
|
|
|
|
<div className="edu-back-white" id="graduation_work_list"
|
|
|
|
|
style={{
|
|
|
|
|
padding: '0px 30px 10px 30px',
|
|
|
|
|
"height": "50px",
|
|
|
|
|
"margin-bottom": "10px"
|
|
|
|
|
}}>
|
|
|
|
|
<div className="edu-back-white" id="graduation_work_list"
|
|
|
|
|
style={{
|
|
|
|
|
padding: '0px 30px 10px 30px',
|
|
|
|
|
"height": "50px",
|
|
|
|
|
"margin-bottom": "10px"
|
|
|
|
|
}}>
|
|
|
|
|
|
|
|
|
|
<div className="clearfix ">
|
|
|
|
|
<div className="clearfix ">
|
|
|
|
|
<span className="fl color-grey-6 font-12 mt10">
|
|
|
|
|
<span className="color-orange-tip"
|
|
|
|
|
style={{color: '#FF6800'}}>{Teacherliststudentlist === undefined ? "0" : Teacherliststudentlist.exercise_types.answer_users}</span><span
|
|
|
|
@ -2716,45 +2742,45 @@ class Studentshavecompletedthelist extends Component {
|
|
|
|
|
</span>}
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{JSON.stringify(datas) === "[]" ?
|
|
|
|
|
<div id="forum_list" className="forum_table">
|
|
|
|
|
<div className="mh650 edu-back-white">
|
|
|
|
|
<div className="edu-tab-con-box clearfix edu-txt-center">
|
|
|
|
|
<img className="edu-nodata-img mb20"
|
|
|
|
|
src={getImageUrl("images/educoder/nodata.png")}/>
|
|
|
|
|
<p className="edu-nodata-p mb30">暂时还没有相关数据哦!</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
{JSON.stringify(datas) === "[]" ?
|
|
|
|
|
<div id="forum_list" className="forum_table">
|
|
|
|
|
<div className="mh650 edu-back-white">
|
|
|
|
|
<div className="edu-tab-con-box clearfix edu-txt-center">
|
|
|
|
|
<img className="edu-nodata-img mb20"
|
|
|
|
|
src={getImageUrl("images/educoder/nodata.png")}/>
|
|
|
|
|
<p className="edu-nodata-p mb30">暂时还没有相关数据哦!</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
:
|
|
|
|
|
<div className={"justify break_full_word new_li edu-back-white"}
|
|
|
|
|
style={{minHeight: "480px"}}>
|
|
|
|
|
<style>{`
|
|
|
|
|
</div>
|
|
|
|
|
:
|
|
|
|
|
<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%;}
|
|
|
|
|
}
|
|
|
|
|
`}</style>
|
|
|
|
|
<div className="edu-table edu-back-white minH-560">
|
|
|
|
|
{datas === undefined ? "" : <Table
|
|
|
|
|
dataSource={datas}
|
|
|
|
|
columns={columnss}
|
|
|
|
|
className="mysjysltable2"
|
|
|
|
|
pagination={false}
|
|
|
|
|
loading={false}
|
|
|
|
|
/>}
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
<div className="edu-table edu-back-white minH-560">
|
|
|
|
|
{datas === undefined ? "" : <Table
|
|
|
|
|
dataSource={datas}
|
|
|
|
|
columns={columnss}
|
|
|
|
|
className="mysjysltable2"
|
|
|
|
|
pagination={false}
|
|
|
|
|
loading={false}
|
|
|
|
|
/>}
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
@ -2766,10 +2792,15 @@ class Studentshavecompletedthelist extends Component {
|
|
|
|
|
"padding-bottom": "100px",
|
|
|
|
|
" min-width": " 1200px"
|
|
|
|
|
}}>
|
|
|
|
|
<div className={"educontent mb20 edu-back-white"}>
|
|
|
|
|
<style>
|
|
|
|
|
{
|
|
|
|
|
`
|
|
|
|
|
{
|
|
|
|
|
exercise_status === 0 || exercise_status === 1 ?
|
|
|
|
|
<NoneData></NoneData>
|
|
|
|
|
:
|
|
|
|
|
<div>
|
|
|
|
|
<div className={"educontent mb20 edu-back-white"}>
|
|
|
|
|
<style>
|
|
|
|
|
{
|
|
|
|
|
`
|
|
|
|
|
.edu-table .ant-table-tbody > tr > td {
|
|
|
|
|
height: 58px;
|
|
|
|
|
}
|
|
|
|
@ -2786,40 +2817,40 @@ class Studentshavecompletedthelist extends Component {
|
|
|
|
|
padding: 9px;
|
|
|
|
|
}
|
|
|
|
|
`
|
|
|
|
|
}
|
|
|
|
|
</style>
|
|
|
|
|
<div className={"justify break_full_word new_li edu-back-white ysltableows"}
|
|
|
|
|
>
|
|
|
|
|
{data === undefined ? "" : <Table
|
|
|
|
|
dataSource={data}
|
|
|
|
|
columns={columnstwo}
|
|
|
|
|
className="mysjysltable3"
|
|
|
|
|
pagination={false}
|
|
|
|
|
loading={false}
|
|
|
|
|
showHeader={false}
|
|
|
|
|
/>}
|
|
|
|
|
</div>
|
|
|
|
|
{JSON.stringify(datas) === "[]" ?
|
|
|
|
|
|
|
|
|
|
<div id="forum_list" className="forum_table ">
|
|
|
|
|
<div className="mh650 edu-back-white">
|
|
|
|
|
<div className="edu-tab-con-box clearfix edu-txt-center">
|
|
|
|
|
<img className="edu-nodata-img mb20"
|
|
|
|
|
src={getImageUrl("images/educoder/nodata.png")}/>
|
|
|
|
|
<p className="edu-nodata-p mb30">暂时还没有相关数据哦!</p>
|
|
|
|
|
}
|
|
|
|
|
</style>
|
|
|
|
|
<div className={"justify break_full_word new_li edu-back-white ysltableows"}
|
|
|
|
|
>
|
|
|
|
|
{data === undefined ? "" : <Table
|
|
|
|
|
dataSource={data}
|
|
|
|
|
columns={columnstwo}
|
|
|
|
|
className="mysjysltable3"
|
|
|
|
|
pagination={false}
|
|
|
|
|
loading={false}
|
|
|
|
|
showHeader={false}
|
|
|
|
|
/>}
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
{JSON.stringify(datas) === "[]" ?
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
:
|
|
|
|
|
<div className="edu-back-white">
|
|
|
|
|
< div id="graduation_work_list" style={{
|
|
|
|
|
padding: '0px 30px 10px 30px',
|
|
|
|
|
"margin-top": "20px",
|
|
|
|
|
"margin-bottom": "10px"
|
|
|
|
|
}}>
|
|
|
|
|
|
|
|
|
|
<div className="clearfix">
|
|
|
|
|
<div id="forum_list" className="forum_table ">
|
|
|
|
|
<div className="mh650 edu-back-white">
|
|
|
|
|
<div className="edu-tab-con-box clearfix edu-txt-center">
|
|
|
|
|
<img className="edu-nodata-img mb20"
|
|
|
|
|
src={getImageUrl("images/educoder/nodata.png")}/>
|
|
|
|
|
<p className="edu-nodata-p mb30">暂时还没有相关数据哦!</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
:
|
|
|
|
|
<div className="edu-back-white">
|
|
|
|
|
< div id="graduation_work_list" style={{
|
|
|
|
|
padding: '0px 30px 10px 30px',
|
|
|
|
|
"margin-top": "20px",
|
|
|
|
|
"margin-bottom": "10px"
|
|
|
|
|
}}>
|
|
|
|
|
|
|
|
|
|
<div className="clearfix">
|
|
|
|
|
<span className="fl color-grey-6 font-12"><span
|
|
|
|
|
className="color-orange-tip"
|
|
|
|
|
style={{color: '#FF6800'}}>{Teacherliststudentlist === undefined ? "0" : Teacherliststudentlist.exercise_types.answer_users}</span><span
|
|
|
|
@ -2832,32 +2863,32 @@ class Studentshavecompletedthelist extends Component {
|
|
|
|
|
<span
|
|
|
|
|
style={{color: '#FF6800'}}> {Teacherliststudentlist === undefined ? "0" : Teacherliststudentlist.exercise_types.exercise_end_time}</span>}
|
|
|
|
|
</span>
|
|
|
|
|
<div className="fr color-grey-6 edu-menu-panel">
|
|
|
|
|
<ul>
|
|
|
|
|
<li className="edu-position edu-position-hidebox">
|
|
|
|
|
<a className="font-12 ">
|
|
|
|
|
{order === "end_at" ? "时间" : order === "score" ? "成绩" : order === "student_id" ? "学号" : ""}排序</a>
|
|
|
|
|
<i className="iconfont icon-xiajiantou ml5 font-12 color-grey-6"></i>
|
|
|
|
|
<ul className="edu-position-hide undis mt10">
|
|
|
|
|
<li><a onClick={(e) => this.funorder("end_at")} data-remote="true"
|
|
|
|
|
className=" font-12" style={{textAlign: "center "}}>提交时间</a>
|
|
|
|
|
</li>
|
|
|
|
|
<li><a onClick={(e) => this.funorder("score")} data-remote="true"
|
|
|
|
|
className=" font-12" style={{textAlign: "center "}}>最终成绩</a>
|
|
|
|
|
</li>
|
|
|
|
|
<li><a onClick={(e) => this.funorder("student_id")} data-remote="true"
|
|
|
|
|
className=" font-12" style={{textAlign: "center "}}>学生学号</a>
|
|
|
|
|
</li>
|
|
|
|
|
</ul>
|
|
|
|
|
</li>
|
|
|
|
|
</ul>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
<div className={"justify break_full_word new_li edu-back-white"}
|
|
|
|
|
style={{minHeight: "480px"}}>
|
|
|
|
|
<style>{`
|
|
|
|
|
<div className="fr color-grey-6 edu-menu-panel">
|
|
|
|
|
<ul>
|
|
|
|
|
<li className="edu-position edu-position-hidebox">
|
|
|
|
|
<a className="font-12 ">
|
|
|
|
|
{order === "end_at" ? "时间" : order === "score" ? "成绩" : order === "student_id" ? "学号" : ""}排序</a>
|
|
|
|
|
<i className="iconfont icon-xiajiantou ml5 font-12 color-grey-6"></i>
|
|
|
|
|
<ul className="edu-position-hide undis mt10">
|
|
|
|
|
<li><a onClick={(e) => this.funorder("end_at")} data-remote="true"
|
|
|
|
|
className=" font-12" style={{textAlign: "center "}}>提交时间</a>
|
|
|
|
|
</li>
|
|
|
|
|
<li><a onClick={(e) => this.funorder("score")} data-remote="true"
|
|
|
|
|
className=" font-12" style={{textAlign: "center "}}>最终成绩</a>
|
|
|
|
|
</li>
|
|
|
|
|
<li><a onClick={(e) => this.funorder("student_id")} data-remote="true"
|
|
|
|
|
className=" font-12" style={{textAlign: "center "}}>学生学号</a>
|
|
|
|
|
</li>
|
|
|
|
|
</ul>
|
|
|
|
|
</li>
|
|
|
|
|
</ul>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
<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%;}
|
|
|
|
|
}
|
|
|
|
@ -2877,30 +2908,32 @@ class Studentshavecompletedthelist extends Component {
|
|
|
|
|
padding: 9px;
|
|
|
|
|
}
|
|
|
|
|
`}</style>
|
|
|
|
|
<div className="edu-table edu-back-white minH-560 ysltableowss">
|
|
|
|
|
{datas === undefined ? "" : <Table
|
|
|
|
|
dataSource={datas}
|
|
|
|
|
columns={columns}
|
|
|
|
|
pagination={false}
|
|
|
|
|
className="mysjysltable4"
|
|
|
|
|
loading={loadingstate}
|
|
|
|
|
/>}</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div className="edu-table edu-back-white minH-560 ysltableowss">
|
|
|
|
|
{datas === undefined ? "" : <Table
|
|
|
|
|
dataSource={datas}
|
|
|
|
|
columns={columns}
|
|
|
|
|
pagination={false}
|
|
|
|
|
className="mysjysltable4"
|
|
|
|
|
loading={loadingstate}
|
|
|
|
|
/>}</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
</div>
|
|
|
|
|
}
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
mylistansum && mylistansum > limit ?
|
|
|
|
|
<div className="edu-txt-center mt30 mb20">
|
|
|
|
|
<Pagination showQuickJumper current={page}
|
|
|
|
|
onChange={this.paginationonChanges} pageSize={limit}
|
|
|
|
|
total={mylistansum}></Pagination>
|
|
|
|
|
{
|
|
|
|
|
mylistansum && mylistansum > limit ?
|
|
|
|
|
<div className="edu-txt-center mt30 mb20">
|
|
|
|
|
<Pagination showQuickJumper current={page}
|
|
|
|
|
onChange={this.paginationonChanges} pageSize={limit}
|
|
|
|
|
total={mylistansum}></Pagination>
|
|
|
|
|
</div>
|
|
|
|
|
: ""
|
|
|
|
|
}
|
|
|
|
|
</div>
|
|
|
|
|
: ""
|
|
|
|
|
}
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|