|
|
@ -1,6 +1,6 @@
|
|
|
|
import React,{Component} from "react";
|
|
|
|
import React, { Component } from "react";
|
|
|
|
import { Form, Select, Input, Button,Checkbox,Upload,Icon,message,Modal, Table, Divider, Tag,DatePicker,Radio,Tooltip,Spin, Pagination} from "antd";
|
|
|
|
import { Form, Table, Tooltip, Spin, Pagination } from "antd";
|
|
|
|
import {WordsBtn, ConditionToolTip, queryString, publicSearchs, on, off, NoneData, sortDirections} from 'educoder';
|
|
|
|
import { queryString, publicSearchs, on, off, NoneData, sortDirections } from 'educoder';
|
|
|
|
import axios from 'axios';
|
|
|
|
import axios from 'axios';
|
|
|
|
import CheckAllGroup from '../common/button/CheckAllGroup'
|
|
|
|
import CheckAllGroup from '../common/button/CheckAllGroup'
|
|
|
|
import moment from 'moment';
|
|
|
|
import moment from 'moment';
|
|
|
@ -11,7 +11,6 @@ import ModulationModal from "../coursesPublic/ModulationModal";
|
|
|
|
import AccessoryModal from "../coursesPublic/AccessoryModal";
|
|
|
|
import AccessoryModal from "../coursesPublic/AccessoryModal";
|
|
|
|
import LeaderIcon from './common/LeaderIcon'
|
|
|
|
import LeaderIcon from './common/LeaderIcon'
|
|
|
|
const $ = window.$;
|
|
|
|
const $ = window.$;
|
|
|
|
const Search = Input.Search;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function renderScore(score, content) {
|
|
|
|
function renderScore(score, content) {
|
|
|
|
let color = '#747A7F'
|
|
|
|
let color = '#747A7F'
|
|
|
@ -21,7 +20,7 @@ function renderScore(score, content) {
|
|
|
|
color = '#FF6800'
|
|
|
|
color = '#FF6800'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return <a href="javascript:;" style={{ color, cursor: 'default', minWidth: '30px', display: 'inline-block', textAlign: 'center' }}>
|
|
|
|
return <a href="javascript:;" style={{ color, cursor: 'default', minWidth: '30px', display: 'inline-block', textAlign: 'center' }}>
|
|
|
|
{score == null || score == undefined || score == '--' ? '--': (content || score)}
|
|
|
|
{score == null || score == undefined || score == '--' ? '--' : (content || score)}
|
|
|
|
</a>
|
|
|
|
</a>
|
|
|
|
}
|
|
|
|
}
|
|
|
|
function getScoreTip(score, dom) {
|
|
|
|
function getScoreTip(score, dom) {
|
|
|
@ -47,8 +46,8 @@ function buildColumns(that, student_works, studentData) {
|
|
|
|
gotProjectInfo = true;
|
|
|
|
gotProjectInfo = true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
let courseId= that.props.match.params.coursesId;
|
|
|
|
let courseId = that.props.match.params.coursesId;
|
|
|
|
let workId= that.props.match.params.workId;
|
|
|
|
let workId = that.props.match.params.workId;
|
|
|
|
const { course_group_count, homework_status } = that.state;
|
|
|
|
const { course_group_count, homework_status } = that.state;
|
|
|
|
const isAdmin = that.props.isAdmin()
|
|
|
|
const isAdmin = that.props.isAdmin()
|
|
|
|
const isAdminOrStudent = that.props.isAdminOrStudent()
|
|
|
|
const isAdminOrStudent = that.props.isAdminOrStudent()
|
|
|
@ -68,7 +67,8 @@ function buildColumns(that, student_works, studentData) {
|
|
|
|
<span style={{ minWidth: '50px', display: 'inline-block', textAlign: 'center' }} >
|
|
|
|
<span style={{ minWidth: '50px', display: 'inline-block', textAlign: 'center' }} >
|
|
|
|
{record.isMine == true && (student_works && student_works.length) ? '我' : (that.state.page - 1) * PAGE_SIZE + index + 1}
|
|
|
|
{record.isMine == true && (student_works && student_works.length) ? '我' : (that.state.page - 1) * PAGE_SIZE + index + 1}
|
|
|
|
</span>
|
|
|
|
</span>
|
|
|
|
)},
|
|
|
|
)
|
|
|
|
|
|
|
|
},
|
|
|
|
}, {
|
|
|
|
}, {
|
|
|
|
title: '姓名',
|
|
|
|
title: '姓名',
|
|
|
|
width: 90,
|
|
|
|
width: 90,
|
|
|
@ -84,10 +84,8 @@ function buildColumns(that, student_works, studentData) {
|
|
|
|
width: '74px',
|
|
|
|
width: '74px',
|
|
|
|
margin: '0 auto'
|
|
|
|
margin: '0 auto'
|
|
|
|
}} title={text && text.length > 5 ? text : ''}>
|
|
|
|
}} title={text && text.length > 5 ? text : ''}>
|
|
|
|
{/* <Tooltip placement="bottom" title={text}>
|
|
|
|
|
|
|
|
</Tooltip> */}
|
|
|
|
|
|
|
|
{record.is_leader ?
|
|
|
|
{record.is_leader ?
|
|
|
|
<div style={{ display: 'flex', 'flex-direction': 'column', 'align-items': 'center'}}>
|
|
|
|
<div style={{ display: 'flex', 'flex-direction': 'column', 'align-items': 'center' }}>
|
|
|
|
<div >{text}</div>
|
|
|
|
<div >{text}</div>
|
|
|
|
<LeaderIcon></LeaderIcon>
|
|
|
|
<LeaderIcon></LeaderIcon>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
@ -114,7 +112,8 @@ function buildColumns(that, student_works, studentData) {
|
|
|
|
'width': '98px',
|
|
|
|
'width': '98px',
|
|
|
|
display: 'block',
|
|
|
|
display: 'block',
|
|
|
|
overflow: 'hidden'
|
|
|
|
overflow: 'hidden'
|
|
|
|
, margin: '0 auto', cursor: 'default'}}
|
|
|
|
, margin: '0 auto', cursor: 'default'
|
|
|
|
|
|
|
|
}}
|
|
|
|
>{record.student_id}</a>
|
|
|
|
>{record.student_id}</a>
|
|
|
|
</span>
|
|
|
|
</span>
|
|
|
|
),
|
|
|
|
),
|
|
|
@ -123,16 +122,16 @@ function buildColumns(that, student_works, studentData) {
|
|
|
|
|
|
|
|
|
|
|
|
// TODO 只有有分班时才显示分班列
|
|
|
|
// TODO 只有有分班时才显示分班列
|
|
|
|
if (course_group_count != 0 && !niPingAndIsStudent) {
|
|
|
|
if (course_group_count != 0 && !niPingAndIsStudent) {
|
|
|
|
columns.push( {
|
|
|
|
columns.push({
|
|
|
|
title: '分班',
|
|
|
|
title: '分班',
|
|
|
|
key: 'group_name',
|
|
|
|
key: 'group_name',
|
|
|
|
dataIndex: 'group_name',
|
|
|
|
dataIndex: 'group_name',
|
|
|
|
render: (text, record) => (
|
|
|
|
render: (text, record) => (
|
|
|
|
<span>
|
|
|
|
<span>
|
|
|
|
<a href="javascript:;" style={{color:'#9A9A9A', cursor: 'default'}}>{record.group_name}</a>
|
|
|
|
<a href="javascript:;" style={{ color: '#9A9A9A', cursor: 'default' }}>{record.group_name}</a>
|
|
|
|
</span>
|
|
|
|
</span>
|
|
|
|
),
|
|
|
|
),
|
|
|
|
} )
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (gotWorkGroup && !niPingAndIsStudent) {
|
|
|
|
if (gotWorkGroup && !niPingAndIsStudent) {
|
|
|
|
columns.push({
|
|
|
|
columns.push({
|
|
|
@ -143,7 +142,7 @@ function buildColumns(that, student_works, studentData) {
|
|
|
|
|
|
|
|
|
|
|
|
render: (text, record) => (
|
|
|
|
render: (text, record) => (
|
|
|
|
<span>
|
|
|
|
<span>
|
|
|
|
<a href="javascript:void(0);" style={{color:'#4CACFF'}}>{record.work_group}</a>
|
|
|
|
<a href="javascript:void(0);" style={{ color: '#4CACFF' }}>{record.work_group}</a>
|
|
|
|
</span>
|
|
|
|
</span>
|
|
|
|
),
|
|
|
|
),
|
|
|
|
})
|
|
|
|
})
|
|
|
@ -183,7 +182,7 @@ function buildColumns(that, student_works, studentData) {
|
|
|
|
if (status === 2) {
|
|
|
|
if (status === 2) {
|
|
|
|
color = '#DD1717'
|
|
|
|
color = '#DD1717'
|
|
|
|
text = '延时提交'
|
|
|
|
text = '延时提交'
|
|
|
|
} else if (status === 0 ) {
|
|
|
|
} else if (status === 0) {
|
|
|
|
color = '#747A7F'
|
|
|
|
color = '#747A7F'
|
|
|
|
text = '未提交'
|
|
|
|
text = '未提交'
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
@ -192,11 +191,12 @@ function buildColumns(that, student_works, studentData) {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return (
|
|
|
|
return (
|
|
|
|
<span>
|
|
|
|
<span>
|
|
|
|
<a href="javascript:;" style={{color: color, cursor: 'default'}}>
|
|
|
|
<a href="javascript:;" style={{ color: color, cursor: 'default' }}>
|
|
|
|
{status === 0 ? "未提交" : status === 1 ? "按时提交" : status === 2 ? "延时提交" : ""}
|
|
|
|
{status === 0 ? "未提交" : status === 1 ? "按时提交" : status === 2 ? "延时提交" : ""}
|
|
|
|
</a>
|
|
|
|
</a>
|
|
|
|
</span>
|
|
|
|
</span>
|
|
|
|
)},
|
|
|
|
)
|
|
|
|
|
|
|
|
},
|
|
|
|
}, {
|
|
|
|
}, {
|
|
|
|
width: 106, // isStudent ? undefined : 106 , // 匿评中 只有这几列: 序号 姓名 提交状态 更新时间 匿评评分 操作
|
|
|
|
width: 106, // isStudent ? undefined : 106 , // 匿评中 只有这几列: 序号 姓名 提交状态 更新时间 匿评评分 操作
|
|
|
|
title: '更新时间',
|
|
|
|
title: '更新时间',
|
|
|
@ -207,7 +207,7 @@ function buildColumns(that, student_works, studentData) {
|
|
|
|
sortDirections: sortDirections,
|
|
|
|
sortDirections: sortDirections,
|
|
|
|
render: (update_time, record) => (
|
|
|
|
render: (update_time, record) => (
|
|
|
|
<span>
|
|
|
|
<span>
|
|
|
|
<a href="javascript:;" style={{color:'#989898', cursor: 'default'}}>{update_time ? moment(update_time).format('YYYY-MM-DD HH:mm') : '--'}</a>
|
|
|
|
<a href="javascript:;" style={{ color: '#989898', cursor: 'default' }}>{update_time ? moment(update_time).format('YYYY-MM-DD HH:mm') : '--'}</a>
|
|
|
|
</span>
|
|
|
|
</span>
|
|
|
|
),
|
|
|
|
),
|
|
|
|
}])
|
|
|
|
}])
|
|
|
@ -220,9 +220,9 @@ function buildColumns(that, student_works, studentData) {
|
|
|
|
|
|
|
|
|
|
|
|
render: (teacher_score, record) => (
|
|
|
|
render: (teacher_score, record) => (
|
|
|
|
|
|
|
|
|
|
|
|
<Tooltip title={ getScoreTip(teacher_score, teacher_score) }>
|
|
|
|
<Tooltip title={getScoreTip(teacher_score, teacher_score)}>
|
|
|
|
<span>
|
|
|
|
<span>
|
|
|
|
{ renderScore(teacher_score) }
|
|
|
|
{renderScore(teacher_score)}
|
|
|
|
</span>
|
|
|
|
</span>
|
|
|
|
</Tooltip>
|
|
|
|
</Tooltip>
|
|
|
|
),
|
|
|
|
),
|
|
|
@ -240,16 +240,16 @@ function buildColumns(that, student_works, studentData) {
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
render: (teaching_asistant_score, record) => (
|
|
|
|
render: (teaching_asistant_score, record) => (
|
|
|
|
<span>
|
|
|
|
<span>
|
|
|
|
{ <Tooltip placement="bottom" title={
|
|
|
|
{<Tooltip placement="bottom" title={
|
|
|
|
getScoreTip(teaching_asistant_score,
|
|
|
|
getScoreTip(teaching_asistant_score,
|
|
|
|
<div>
|
|
|
|
<div>
|
|
|
|
<div>{record.ta_comment_count}名助教进行了评分</div>
|
|
|
|
<div>{record.ta_comment_count}名助教进行了评分</div>
|
|
|
|
<div>{that.state.ta_mode == 1 ? '平均分': '复审分'}:{teaching_asistant_score}分</div>
|
|
|
|
<div>{that.state.ta_mode == 1 ? '平均分' : '复审分'}:{teaching_asistant_score}分</div>
|
|
|
|
</div>) }
|
|
|
|
</div>)}
|
|
|
|
>
|
|
|
|
>
|
|
|
|
|
|
|
|
|
|
|
|
{renderScore(teaching_asistant_score) }
|
|
|
|
{renderScore(teaching_asistant_score)}
|
|
|
|
</Tooltip> }
|
|
|
|
</Tooltip>}
|
|
|
|
</span>
|
|
|
|
</span>
|
|
|
|
),
|
|
|
|
),
|
|
|
|
})
|
|
|
|
})
|
|
|
@ -265,7 +265,7 @@ function buildColumns(that, student_works, studentData) {
|
|
|
|
columns.push({
|
|
|
|
columns.push({
|
|
|
|
width: 84,
|
|
|
|
width: 84,
|
|
|
|
// title: <div style={{color: 'rgba(0,0,0,.85)'}}><div style={{color: 'rgba(0,0,0,.85)'}}>匿评</div>评分</div>,
|
|
|
|
// title: <div style={{color: 'rgba(0,0,0,.85)'}}><div style={{color: 'rgba(0,0,0,.85)'}}>匿评</div>评分</div>,
|
|
|
|
title: <div style={{color: 'rgba(0,0,0,.85)'}}>匿评评分</div>,
|
|
|
|
title: <div style={{ color: 'rgba(0,0,0,.85)' }}>匿评评分</div>,
|
|
|
|
key: 'student_score',
|
|
|
|
key: 'student_score',
|
|
|
|
dataIndex: 'student_score',
|
|
|
|
dataIndex: 'student_score',
|
|
|
|
|
|
|
|
|
|
|
@ -279,7 +279,7 @@ function buildColumns(that, student_works, studentData) {
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
)
|
|
|
|
)
|
|
|
|
}>
|
|
|
|
}>
|
|
|
|
{ renderScore(student_score, `${student_score}${record.student_comment_count ? ` (${record.student_comment_count})` : ''}`) }
|
|
|
|
{renderScore(student_score, `${student_score}${record.student_comment_count ? ` (${record.student_comment_count})` : ''}`)}
|
|
|
|
</Tooltip>
|
|
|
|
</Tooltip>
|
|
|
|
</span>
|
|
|
|
</span>
|
|
|
|
),
|
|
|
|
),
|
|
|
@ -300,8 +300,8 @@ function buildColumns(that, student_works, studentData) {
|
|
|
|
<span style={{ minWidth: '30px', display: 'inline-block', textAlign: 'center' }}>
|
|
|
|
<span style={{ minWidth: '30px', display: 'inline-block', textAlign: 'center' }}>
|
|
|
|
{`${record.appeal_deal_count}/${appeal_all_count}`}
|
|
|
|
{`${record.appeal_deal_count}/${appeal_all_count}`}
|
|
|
|
</span>
|
|
|
|
</span>
|
|
|
|
</Tooltip> }
|
|
|
|
</Tooltip>}
|
|
|
|
{ !appeal_all_count && <span style={{ color: '#747A7F' }}>-/-</span>}
|
|
|
|
{!appeal_all_count && <span style={{ color: '#747A7F' }}>-/-</span>}
|
|
|
|
</span>
|
|
|
|
</span>
|
|
|
|
),
|
|
|
|
),
|
|
|
|
})
|
|
|
|
})
|
|
|
@ -324,15 +324,15 @@ function buildColumns(that, student_works, studentData) {
|
|
|
|
{record.ultimate_score ?
|
|
|
|
{record.ultimate_score ?
|
|
|
|
<div>最终调整成绩:{record.work_score}分</div> :
|
|
|
|
<div>最终调整成绩:{record.work_score}分</div> :
|
|
|
|
<div>
|
|
|
|
<div>
|
|
|
|
{ record.final_score && <div>作业评分:{record.final_score}分</div> }
|
|
|
|
{record.final_score && <div>作业评分:{record.final_score}分</div>}
|
|
|
|
{ record.late_penalty >= 0 && <div>迟交扣分:{record.late_penalty}分</div>}
|
|
|
|
{record.late_penalty >= 0 && <div>迟交扣分:{record.late_penalty}分</div>}
|
|
|
|
{ record.absence_penalty >= 0 && <div>缺评扣分:{record.absence_penalty}分</div>}
|
|
|
|
{record.absence_penalty >= 0 && <div>缺评扣分:{record.absence_penalty}分</div>}
|
|
|
|
{ record.appeal_penalty >= 0 && <div>违规匿评扣分:{record.appeal_penalty}分</div>}
|
|
|
|
{record.appeal_penalty >= 0 && <div>违规匿评扣分:{record.appeal_penalty}分</div>}
|
|
|
|
<div>最终成绩:{record.work_score}分</div>
|
|
|
|
<div>最终成绩:{record.work_score}分</div>
|
|
|
|
</div> }
|
|
|
|
</div>}
|
|
|
|
</div>)
|
|
|
|
</div>)
|
|
|
|
}>
|
|
|
|
}>
|
|
|
|
{ renderScore(work_score) }
|
|
|
|
{renderScore(work_score)}
|
|
|
|
</Tooltip>
|
|
|
|
</Tooltip>
|
|
|
|
</span>
|
|
|
|
</span>
|
|
|
|
)
|
|
|
|
)
|
|
|
@ -346,19 +346,19 @@ function buildColumns(that, student_works, studentData) {
|
|
|
|
key: 'operation',
|
|
|
|
key: 'operation',
|
|
|
|
dataIndex: 'operation',
|
|
|
|
dataIndex: 'operation',
|
|
|
|
render: (operation, record) => (
|
|
|
|
render: (operation, record) => (
|
|
|
|
record.work_status === 0 && !isAdmin ? <span style={{ color: '#747A7F' }}>--</span>:
|
|
|
|
record.work_status === 0 && !isAdmin ? <span style={{ color: '#747A7F' }}>--</span> :
|
|
|
|
<div>
|
|
|
|
<div>
|
|
|
|
{/* 0 未提交 */}
|
|
|
|
{/* 0 未提交 */}
|
|
|
|
{/*<React.Fragment>*/}
|
|
|
|
{/*<React.Fragment>*/}
|
|
|
|
{/*</React.Fragment>*/}
|
|
|
|
{/*</React.Fragment>*/}
|
|
|
|
{ isAdmin && <Tooltip placement="bottom" title={<pre>调整学生当前成绩<br/>其它历史评分将全部失效</pre>}>
|
|
|
|
{isAdmin && <Tooltip placement="bottom" title={<pre>调整学生当前成绩<br />其它历史评分将全部失效</pre>}>
|
|
|
|
<a style={{color: "#4CACFF"}}
|
|
|
|
<a style={{ color: "#4CACFF" }}
|
|
|
|
onClick={() => that.showModulationModal(record)}
|
|
|
|
onClick={() => that.showModulationModal(record)}
|
|
|
|
>调分</a>
|
|
|
|
>调分</a>
|
|
|
|
</Tooltip> }
|
|
|
|
</Tooltip>}
|
|
|
|
{/* toWorkDetailPage */}
|
|
|
|
{/* toWorkDetailPage */}
|
|
|
|
{/* /courses/"+courseId+"/common_homeworks/"+workId+ '/' + record.id +"/appraise */}
|
|
|
|
{/* /courses/"+courseId+"/common_homeworks/"+workId+ '/' + record.id +"/appraise */}
|
|
|
|
<a style={{color: '#4CACFF', marginLeft: '4px'}} id={"asdasdasdasd"}
|
|
|
|
<a style={{ color: '#4CACFF', marginLeft: '4px' }} id={"asdasdasdasd"}
|
|
|
|
onMouseDown={(e) => that.props.toWorkDetailPage2(e, courseId, workId, record.id)}
|
|
|
|
onMouseDown={(e) => that.props.toWorkDetailPage2(e, courseId, workId, record.id)}
|
|
|
|
onClick={() => that.props.toWorkDetailPage(courseId, workId, record.id)}>{isAdmin ? '评阅' : '查看'}</a>
|
|
|
|
onClick={() => that.props.toWorkDetailPage(courseId, workId, record.id)}>{isAdmin ? '评阅' : '查看'}</a>
|
|
|
|
|
|
|
|
|
|
|
@ -371,25 +371,16 @@ function buildColumns(that, student_works, studentData) {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// update_time,最终成绩:work_score,学号:student_id
|
|
|
|
// update_time,最终成绩:work_score,学号:student_id
|
|
|
|
// desc:倒序 , asc:顺序
|
|
|
|
|
|
|
|
const orderMap = {
|
|
|
|
|
|
|
|
update_time: 'desc',
|
|
|
|
|
|
|
|
work_score: 'asc',
|
|
|
|
|
|
|
|
student_id: 'asc',
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
const PAGE_SIZE = 20
|
|
|
|
const PAGE_SIZE = 20
|
|
|
|
// 类似页面 http://localhost:3007/courses/1309/graduation/graduation_tasks/48/76/setting
|
|
|
|
// 类似页面 http://localhost:3007/courses/1309/graduation/graduation_tasks/48/76/setting
|
|
|
|
class CommonWorkList extends Component{
|
|
|
|
class CommonWorkList extends Component {
|
|
|
|
|
|
|
|
|
|
|
|
constructor(props){
|
|
|
|
constructor(props) {
|
|
|
|
super(props)
|
|
|
|
super(props)
|
|
|
|
|
|
|
|
|
|
|
|
this.publishModal = React.createRef();
|
|
|
|
this.state = {
|
|
|
|
this.endModal = React.createRef();
|
|
|
|
course_name: "",
|
|
|
|
|
|
|
|
homework_name: "",
|
|
|
|
this.state={
|
|
|
|
|
|
|
|
course_name:"",
|
|
|
|
|
|
|
|
homework_name:"",
|
|
|
|
|
|
|
|
search: '',
|
|
|
|
search: '',
|
|
|
|
task_status: [],
|
|
|
|
task_status: [],
|
|
|
|
teacher_comment: [],
|
|
|
|
teacher_comment: [],
|
|
|
@ -399,13 +390,13 @@ class CommonWorkList extends Component{
|
|
|
|
arg_course_group: [],
|
|
|
|
arg_course_group: [],
|
|
|
|
order: 'update_time',
|
|
|
|
order: 'update_time',
|
|
|
|
page: 1,
|
|
|
|
page: 1,
|
|
|
|
isSpin:true,
|
|
|
|
isSpin: true,
|
|
|
|
left_time: {},
|
|
|
|
left_time: {},
|
|
|
|
category: {},
|
|
|
|
category: {},
|
|
|
|
b_order: 'desc',
|
|
|
|
b_order: 'desc',
|
|
|
|
searchtypes:false,
|
|
|
|
searchtypes: false,
|
|
|
|
loadingstate:false,
|
|
|
|
loadingstate: false,
|
|
|
|
comwbool:false
|
|
|
|
comwbool: false
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
onTablePagination = (page) => {
|
|
|
|
onTablePagination = (page) => {
|
|
|
@ -415,27 +406,27 @@ class CommonWorkList extends Component{
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
onSearchValue = (val) => {
|
|
|
|
onSearchValue = (val) => {
|
|
|
|
if (val === ""||val===undefined) {
|
|
|
|
if (val === "" || val === undefined) {
|
|
|
|
this.setState({
|
|
|
|
this.setState({
|
|
|
|
search: undefined,
|
|
|
|
search: undefined,
|
|
|
|
searchtypes:false
|
|
|
|
searchtypes: false
|
|
|
|
})
|
|
|
|
})
|
|
|
|
}else{
|
|
|
|
} else {
|
|
|
|
this.setState({
|
|
|
|
this.setState({
|
|
|
|
searchtypes:true,
|
|
|
|
searchtypes: true,
|
|
|
|
loadingstate:true
|
|
|
|
loadingstate: true
|
|
|
|
})
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
this.fetchList()
|
|
|
|
this.fetchList()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
onSearchValueInput = (e) => {
|
|
|
|
onSearchValueInput = (e) => {
|
|
|
|
if (e.target.value === ""||e.target.value===undefined) {
|
|
|
|
if (e.target.value === "" || e.target.value === undefined) {
|
|
|
|
this.setState({
|
|
|
|
this.setState({
|
|
|
|
search: undefined,
|
|
|
|
search: undefined,
|
|
|
|
})
|
|
|
|
})
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
this.setState({search: e.target.value})
|
|
|
|
this.setState({ search: e.target.value })
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -446,7 +437,7 @@ class CommonWorkList extends Component{
|
|
|
|
$("html").animate({ scrollTop: $('html').scrollTop() - 100 });
|
|
|
|
$("html").animate({ scrollTop: $('html').scrollTop() - 100 });
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
this.props.triggerRef(this);
|
|
|
|
this.props.triggerRef(this);
|
|
|
|
}catch (e) {
|
|
|
|
} catch (e) {
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -459,7 +450,7 @@ class CommonWorkList extends Component{
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
_getRequestParams() {
|
|
|
|
_getRequestParams() {
|
|
|
|
const {search, arg_work_status, arg_teacher_comment, arg_course_group, order, page, arg_member_work, b_order} = this.state
|
|
|
|
const { search, arg_work_status, arg_teacher_comment, arg_course_group, order, page, arg_member_work, b_order } = this.state
|
|
|
|
return {
|
|
|
|
return {
|
|
|
|
page,
|
|
|
|
page,
|
|
|
|
search,
|
|
|
|
search,
|
|
|
@ -469,7 +460,7 @@ class CommonWorkList extends Component{
|
|
|
|
order,
|
|
|
|
order,
|
|
|
|
limit: PAGE_SIZE,
|
|
|
|
limit: PAGE_SIZE,
|
|
|
|
b_order: b_order,
|
|
|
|
b_order: b_order,
|
|
|
|
group_id:arg_course_group,
|
|
|
|
group_id: arg_course_group,
|
|
|
|
member_work: arg_member_work
|
|
|
|
member_work: arg_member_work
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -477,47 +468,47 @@ class CommonWorkList extends Component{
|
|
|
|
this.fetchList()
|
|
|
|
this.fetchList()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
fetchList = () => {
|
|
|
|
fetchList = () => {
|
|
|
|
if(this.state.comwbool===true){
|
|
|
|
if (this.state.comwbool === true) {
|
|
|
|
console.log('arg_course_group2');
|
|
|
|
console.log('arg_course_group2');
|
|
|
|
console.log(this.state.arg_course_group);
|
|
|
|
console.log(this.state.arg_course_group);
|
|
|
|
return
|
|
|
|
return
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
this.setState({
|
|
|
|
this.setState({
|
|
|
|
comwbool:true,
|
|
|
|
comwbool: true,
|
|
|
|
})
|
|
|
|
})
|
|
|
|
//分班
|
|
|
|
//分班
|
|
|
|
let workId=this.props.match.params.workId;
|
|
|
|
let workId = this.props.match.params.workId;
|
|
|
|
let courseId=this.props.match.params.coursesId;
|
|
|
|
let courseId = this.props.match.params.coursesId;
|
|
|
|
|
|
|
|
|
|
|
|
const url = `/homework_commons/${workId}/works_list.json`
|
|
|
|
const url = `/homework_commons/${workId}/works_list.json`
|
|
|
|
let params = this._getRequestParams()
|
|
|
|
let params = this._getRequestParams()
|
|
|
|
axios.post(url, params).then((response)=> {
|
|
|
|
axios.post(url, params).then((response) => {
|
|
|
|
if (response.data) {
|
|
|
|
if (response.data) {
|
|
|
|
this.setState({
|
|
|
|
this.setState({
|
|
|
|
...response.data,
|
|
|
|
...response.data,
|
|
|
|
isSpin:false,
|
|
|
|
isSpin: false,
|
|
|
|
loadingstate:false
|
|
|
|
loadingstate: false
|
|
|
|
})
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
this.props.initWorkDetailCommonState && this.props.initWorkDetailCommonState( Object.assign({...response.data}, {
|
|
|
|
this.props.initWorkDetailCommonState && this.props.initWorkDetailCommonState(Object.assign({ ...response.data }, {
|
|
|
|
moduleName: '作品列表'
|
|
|
|
moduleName: '作品列表'
|
|
|
|
}))
|
|
|
|
}))
|
|
|
|
}
|
|
|
|
}
|
|
|
|
setTimeout(() => {
|
|
|
|
setTimeout(() => {
|
|
|
|
this.setState({
|
|
|
|
this.setState({
|
|
|
|
comwbool:false,
|
|
|
|
comwbool: false,
|
|
|
|
})
|
|
|
|
})
|
|
|
|
}, 1000)
|
|
|
|
}, 1000)
|
|
|
|
}).catch((error)=>{
|
|
|
|
}).catch((error) => {
|
|
|
|
console.log(error)
|
|
|
|
console.log(error)
|
|
|
|
this.setState({
|
|
|
|
this.setState({
|
|
|
|
isSpin:false,
|
|
|
|
isSpin: false,
|
|
|
|
loadingstate:false
|
|
|
|
loadingstate: false
|
|
|
|
})
|
|
|
|
})
|
|
|
|
setTimeout(() => {
|
|
|
|
setTimeout(() => {
|
|
|
|
this.setState({
|
|
|
|
this.setState({
|
|
|
|
comwbool:false,
|
|
|
|
comwbool: false,
|
|
|
|
})
|
|
|
|
})
|
|
|
|
}, 1000)
|
|
|
|
}, 1000)
|
|
|
|
|
|
|
|
|
|
|
@ -526,23 +517,23 @@ class CommonWorkList extends Component{
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
teacherCommentOptionChange = (values, isAllChecked) => {
|
|
|
|
teacherCommentOptionChange = (values, isAllChecked) => {
|
|
|
|
this.setState({arg_teacher_comment: isAllChecked ? [] : values, page: 1}, () => {
|
|
|
|
this.setState({ arg_teacher_comment: isAllChecked ? [] : values, page: 1 }, () => {
|
|
|
|
this.fetchList()
|
|
|
|
this.fetchList()
|
|
|
|
})
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
|
|
|
statusOptionChange = (values, isAllChecked) => {
|
|
|
|
statusOptionChange = (values, isAllChecked) => {
|
|
|
|
this.setState({arg_work_status: isAllChecked ? [] : values, page: 1}, () => {
|
|
|
|
this.setState({ arg_work_status: isAllChecked ? [] : values, page: 1 }, () => {
|
|
|
|
this.fetchList()
|
|
|
|
this.fetchList()
|
|
|
|
})
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
|
|
|
courseGroupOptionChange = (values, isAllChecked) => {
|
|
|
|
courseGroupOptionChange = (values, isAllChecked) => {
|
|
|
|
|
|
|
|
|
|
|
|
this.setState({arg_course_group: isAllChecked ? [] : values, page: 1}, () => {
|
|
|
|
this.setState({ arg_course_group: isAllChecked ? [] : values, page: 1 }, () => {
|
|
|
|
this.fetchList()
|
|
|
|
this.fetchList()
|
|
|
|
})
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
|
|
|
memberWorkChange = (values, isAllChecked) => {
|
|
|
|
memberWorkChange = (values, isAllChecked) => {
|
|
|
|
this.setState({arg_member_work: isAllChecked ? '' : values[0], page: 1}, () => {
|
|
|
|
this.setState({ arg_member_work: isAllChecked ? '' : values[0], page: 1 }, () => {
|
|
|
|
this.fetchList()
|
|
|
|
this.fetchList()
|
|
|
|
})
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -588,15 +579,15 @@ class CommonWorkList extends Component{
|
|
|
|
// --------------调分 END
|
|
|
|
// --------------调分 END
|
|
|
|
|
|
|
|
|
|
|
|
// 补交附件
|
|
|
|
// 补交附件
|
|
|
|
Cancelvisible=()=>{
|
|
|
|
Cancelvisible = () => {
|
|
|
|
this.setState({
|
|
|
|
this.setState({
|
|
|
|
visible:false
|
|
|
|
visible: false
|
|
|
|
})
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
addAccessory=()=>{
|
|
|
|
addAccessory = () => {
|
|
|
|
this.setState({
|
|
|
|
this.setState({
|
|
|
|
visible:true
|
|
|
|
visible: true
|
|
|
|
})
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
|
|
|
setupdate = () => {
|
|
|
|
setupdate = () => {
|
|
|
@ -661,11 +652,11 @@ class CommonWorkList extends Component{
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
render(){
|
|
|
|
render() {
|
|
|
|
const { getFieldDecorator } = this.props.form;
|
|
|
|
const { getFieldDecorator } = this.props.form;
|
|
|
|
const dateFormat = 'YYYY-MM-DD HH:mm';
|
|
|
|
const dateFormat = 'YYYY-MM-DD HH:mm';
|
|
|
|
|
|
|
|
|
|
|
|
let {course_name, homework_name, search, page, loadingstate, student_works, work_count,
|
|
|
|
let { course_name, homework_name, search, page, loadingstate, student_works, work_count,
|
|
|
|
all_member_count, time_status,
|
|
|
|
all_member_count, time_status,
|
|
|
|
// 老师显示的三个过滤条件
|
|
|
|
// 老师显示的三个过滤条件
|
|
|
|
task_status, teacher_comment, course_group_info, order,
|
|
|
|
task_status, teacher_comment, course_group_info, order,
|
|
|
@ -678,12 +669,12 @@ class CommonWorkList extends Component{
|
|
|
|
|
|
|
|
|
|
|
|
, end_immediately, publish_immediately
|
|
|
|
, end_immediately, publish_immediately
|
|
|
|
, homework_id, visible, work_group, project_info, is_leader
|
|
|
|
, homework_id, visible, work_group, project_info, is_leader
|
|
|
|
} =this.state;
|
|
|
|
} = this.state;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let courseId=this.props.match.params.coursesId;
|
|
|
|
let courseId = this.props.match.params.coursesId;
|
|
|
|
let category_id=this.props.match.params.category_id;
|
|
|
|
let category_id = this.props.match.params.category_id;
|
|
|
|
let workId=this.props.match.params.workId;
|
|
|
|
let workId = this.props.match.params.workId;
|
|
|
|
const radioStyle = {
|
|
|
|
const radioStyle = {
|
|
|
|
display: 'block',
|
|
|
|
display: 'block',
|
|
|
|
height: '30px',
|
|
|
|
height: '30px',
|
|
|
@ -719,25 +710,27 @@ class CommonWorkList extends Component{
|
|
|
|
// work_group
|
|
|
|
// work_group
|
|
|
|
let StudentData;
|
|
|
|
let StudentData;
|
|
|
|
|
|
|
|
|
|
|
|
if(id===undefined){
|
|
|
|
if (id === undefined) {
|
|
|
|
StudentData=undefined
|
|
|
|
StudentData = undefined
|
|
|
|
}else{
|
|
|
|
} else {
|
|
|
|
StudentData=isStudent ? [{ id, user_name, user_login, student_id, group_name, work_status, update_time, teacher_score, teaching_asistant_score, student_score,
|
|
|
|
StudentData = isStudent ? [{
|
|
|
|
|
|
|
|
id, user_name, user_login, student_id, group_name, work_status, update_time, teacher_score, teaching_asistant_score, student_score,
|
|
|
|
ultimate_score, work_score, student_comment_count, appeal_all_count, appeal_deal_count,
|
|
|
|
ultimate_score, work_score, student_comment_count, appeal_all_count, appeal_deal_count,
|
|
|
|
late_penalty, absence_penalty, appeal_penalty, project_info, is_leader,
|
|
|
|
late_penalty, absence_penalty, appeal_penalty, project_info, is_leader,
|
|
|
|
work_group, isMine: true }] : []
|
|
|
|
work_group, isMine: true
|
|
|
|
|
|
|
|
}] : []
|
|
|
|
}
|
|
|
|
}
|
|
|
|
const columns = buildColumns(this, student_works, StudentData)
|
|
|
|
const columns = buildColumns(this, student_works, StudentData)
|
|
|
|
|
|
|
|
|
|
|
|
let params = this._getRequestParams()
|
|
|
|
let params = this._getRequestParams()
|
|
|
|
let exportUrl = `/api/homework_commons/${workId}/works_list.zip?${queryString.stringify(params)}`;
|
|
|
|
let exportUrl = `/api/homework_commons/${workId}/works_list.zip?${queryString.stringify(params)}`;
|
|
|
|
const exportResultUrl = `/api/homework_commons/${workId}/works_list.xlsx`;
|
|
|
|
const exportResultUrl = `/api/homework_commons/${workId}/works_list.xlsx`;
|
|
|
|
let appraisetype=false;
|
|
|
|
let appraisetype = false;
|
|
|
|
let appraiselist=this.state.homework_status;
|
|
|
|
let appraiselist = this.state.homework_status;
|
|
|
|
|
|
|
|
|
|
|
|
appraiselist&&appraiselist.map((item,key)=>{
|
|
|
|
appraiselist && appraiselist.map((item, key) => {
|
|
|
|
if(item==="评阅中"){
|
|
|
|
if (item === "评阅中") {
|
|
|
|
appraisetype=true
|
|
|
|
appraisetype = true
|
|
|
|
return
|
|
|
|
return
|
|
|
|
}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
})
|
|
|
@ -759,7 +752,7 @@ class CommonWorkList extends Component{
|
|
|
|
|
|
|
|
|
|
|
|
// console.log(StudentData)
|
|
|
|
// console.log(StudentData)
|
|
|
|
// console.log(student_works)
|
|
|
|
// console.log(student_works)
|
|
|
|
return(
|
|
|
|
return (
|
|
|
|
<React.Fragment>
|
|
|
|
<React.Fragment>
|
|
|
|
<CheckCodeModal
|
|
|
|
<CheckCodeModal
|
|
|
|
ref="checkCodeModal"
|
|
|
|
ref="checkCodeModal"
|
|
|
@ -778,9 +771,9 @@ class CommonWorkList extends Component{
|
|
|
|
reviseAttachmentUrl={`/student_works/${id}/revise_attachment.json`}
|
|
|
|
reviseAttachmentUrl={`/student_works/${id}/revise_attachment.json`}
|
|
|
|
/>
|
|
|
|
/>
|
|
|
|
|
|
|
|
|
|
|
|
<PublishRightnow ref={this.publishModal} showActionButton={false} {...this.props} checkBoxValues={[workId]}
|
|
|
|
<PublishRightnow showActionButton={false} {...this.props} checkBoxValues={[workId]}
|
|
|
|
isPublish={true} doWhenSuccess={this.doWhenSuccess}></PublishRightnow>
|
|
|
|
isPublish={true} doWhenSuccess={this.doWhenSuccess}></PublishRightnow>
|
|
|
|
<PublishRightnow ref={this.endModal} showActionButton={false} {...this.props} checkBoxValues={[workId]}
|
|
|
|
<PublishRightnow showActionButton={false} {...this.props} checkBoxValues={[workId]}
|
|
|
|
isPublish={false} doWhenSuccess={this.doWhenSuccess}></PublishRightnow>
|
|
|
|
isPublish={false} doWhenSuccess={this.doWhenSuccess}></PublishRightnow>
|
|
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -812,17 +805,17 @@ class CommonWorkList extends Component{
|
|
|
|
padding: 10px 1px;
|
|
|
|
padding: 10px 1px;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
`}</style>
|
|
|
|
`}</style>
|
|
|
|
<div style={{ background: '#fff'}} className="workListContent">
|
|
|
|
<div style={{ background: '#fff' }} className="workListContent">
|
|
|
|
{ isAdmin && hasData && <ul className="clearfix" style={{padding: "20px 40px 10px", position: 'relative', paddingLeft: '24px'}}>
|
|
|
|
{isAdmin && hasData && <ul className="clearfix" style={{ padding: "20px 40px 10px", position: 'relative', paddingLeft: '24px' }}>
|
|
|
|
|
|
|
|
|
|
|
|
<CheckAllGroup comwbool={this.state.comwbool} options={options_teacher_comment} label={'你的评阅:'} onChange={this.teacherCommentOptionChange}></CheckAllGroup>
|
|
|
|
<CheckAllGroup comwbool={this.state.comwbool} options={options_teacher_comment} label={'你的评阅:'} onChange={this.teacherCommentOptionChange}></CheckAllGroup>
|
|
|
|
<CheckAllGroup comwbool={this.state.comwbool} options={options_status} label={'作品状态:'} onChange={this.statusOptionChange}></CheckAllGroup>
|
|
|
|
<CheckAllGroup comwbool={this.state.comwbool} options={options_status} label={'作品状态:'} onChange={this.statusOptionChange}></CheckAllGroup>
|
|
|
|
{isGroup && <CheckAllGroup comwbool={this.state.comwbool} options={options_member_work} label={'组内角色:'} onChange={this.memberWorkChange}></CheckAllGroup>}
|
|
|
|
{isGroup && <CheckAllGroup comwbool={this.state.comwbool} options={options_member_work} label={'组内角色:'} onChange={this.memberWorkChange}></CheckAllGroup>}
|
|
|
|
{options_course_group.length > 1 && <CheckAllGroup comwbool={this.state.comwbool} options={options_course_group} label={'分班情况:'} onChange={this.courseGroupOptionChange} checkboxGroupStyle={{width: '980px'}}></CheckAllGroup>}
|
|
|
|
{options_course_group.length > 1 && <CheckAllGroup comwbool={this.state.comwbool} options={options_course_group} label={'分班情况:'} onChange={this.courseGroupOptionChange} checkboxGroupStyle={{ width: '980px' }}></CheckAllGroup>}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{/* value={search} */}
|
|
|
|
{/* value={search} */}
|
|
|
|
<div className="fr search-new mr8" style={{marginBottom:'1px'}}>
|
|
|
|
<div className="fr search-new mr8" style={{ marginBottom: '1px' }}>
|
|
|
|
{/*<Search*/}
|
|
|
|
{/*<Search*/}
|
|
|
|
{/* placeholder="请输入姓名或学号搜索1"*/}
|
|
|
|
{/* placeholder="请输入姓名或学号搜索1"*/}
|
|
|
|
{/* id="subject_search_input"*/}
|
|
|
|
{/* id="subject_search_input"*/}
|
|
|
@ -830,20 +823,20 @@ class CommonWorkList extends Component{
|
|
|
|
{/* onSearch={this.onSearchValue}*/}
|
|
|
|
{/* onSearch={this.onSearchValue}*/}
|
|
|
|
{/* autoComplete="off"*/}
|
|
|
|
{/* autoComplete="off"*/}
|
|
|
|
{/*></Search>*/}
|
|
|
|
{/*></Search>*/}
|
|
|
|
{publicSearchs("请输入姓名或学号搜索",this.onSearchValue,this.onSearchValueInput,this.onSearchValueInput)}
|
|
|
|
{publicSearchs("请输入姓名或学号搜索", this.onSearchValue, this.onSearchValueInput, this.onSearchValueInput)}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</ul> }
|
|
|
|
</ul>}
|
|
|
|
|
|
|
|
|
|
|
|
{ <div id="graduation_work_list" style={{padding: isStudent ? '10px 24px 10px 24px' : '0px 24px 10px 24px'}}>
|
|
|
|
{<div id="graduation_work_list" style={{ padding: isStudent ? '10px 24px 10px 24px' : '0px 24px 10px 24px' }}>
|
|
|
|
<div className="clearfix">
|
|
|
|
<div className="clearfix">
|
|
|
|
{hasData && <span className="fl color-grey-6 font-12">
|
|
|
|
{hasData && <span className="fl color-grey-6 font-12">
|
|
|
|
{ isAdmin ?
|
|
|
|
{isAdmin ?
|
|
|
|
(!!all_member_count) && <React.Fragment>
|
|
|
|
(!!all_member_count) && <React.Fragment>
|
|
|
|
<span className="color-orange-tip">{work_count || '0'}</span>个检索结果({all_member_count} 学生)
|
|
|
|
<span className="color-orange-tip">{work_count || '0'}</span>个检索结果({all_member_count} 学生)
|
|
|
|
</React.Fragment> :
|
|
|
|
</React.Fragment> :
|
|
|
|
(!!commit_count || !!uncommit_count) &&
|
|
|
|
(!!commit_count || !!uncommit_count) &&
|
|
|
|
<React.Fragment>
|
|
|
|
<React.Fragment>
|
|
|
|
<span className="color-orange-tip">{commit_count}</span>已交 {uncommit_count}未交
|
|
|
|
<span className="color-orange-tip">{commit_count}</span>已交 {uncommit_count}未交
|
|
|
|
{timeMsg || ''}
|
|
|
|
{timeMsg || ''}
|
|
|
|
<span className="color-orange-tip">{left_time.time}</span>
|
|
|
|
<span className="color-orange-tip">{left_time.time}</span>
|
|
|
|
</React.Fragment>
|
|
|
|
</React.Fragment>
|
|
|
@ -852,7 +845,7 @@ class CommonWorkList extends Component{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div> }
|
|
|
|
</div>}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<style>{`
|
|
|
|
<style>{`
|
|
|
@ -864,23 +857,20 @@ class CommonWorkList extends Component{
|
|
|
|
font-size: 13px !important;
|
|
|
|
font-size: 13px !important;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
`}</style>
|
|
|
|
`}</style>
|
|
|
|
{ isStudent &&StudentData===undefined?"":StudentData===undefined?"":
|
|
|
|
{isStudent && StudentData === undefined ? "" : StudentData === undefined ? "" :
|
|
|
|
<Table
|
|
|
|
<Table
|
|
|
|
className="studentTable"
|
|
|
|
className="studentTable"
|
|
|
|
dataSource={StudentData}
|
|
|
|
dataSource={StudentData}
|
|
|
|
onChange={this.table1handleChange}
|
|
|
|
onChange={this.table1handleChange}
|
|
|
|
columns={columns}
|
|
|
|
columns={columns}
|
|
|
|
pagination={false}
|
|
|
|
pagination={false}
|
|
|
|
showHeader={ !student_works || student_works.length == 0}
|
|
|
|
showHeader={!student_works || student_works.length == 0}
|
|
|
|
/>
|
|
|
|
/>
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div className={"justify break_full_word new_li edu-back-white course_table_wrap"} style={{minHeight:"480px", marginBottom: '30px'}}>
|
|
|
|
<div className={"justify break_full_word new_li edu-back-white course_table_wrap"} style={{ minHeight: "480px", marginBottom: '30px' }}>
|
|
|
|
<style>{`
|
|
|
|
<style>{`
|
|
|
|
// .ant-spin-nested-loading > div > .ant-spin .ant-spin-dot {
|
|
|
|
|
|
|
|
// top: 72%;}
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
.singleLine tr.ant-table-row {
|
|
|
|
.singleLine tr.ant-table-row {
|
|
|
|
background: #f1f9ff;
|
|
|
|
background: #f1f9ff;
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -889,7 +879,7 @@ class CommonWorkList extends Component{
|
|
|
|
text-align: center;
|
|
|
|
text-align: center;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
`}</style>
|
|
|
|
`}</style>
|
|
|
|
{isStudent && student_works && student_works.length == 0 || !isStudent && student_works===undefined?"":JSON.stringify(student_works) === "[]" ||student_works===undefined?
|
|
|
|
{isStudent && student_works && student_works.length == 0 || !isStudent && student_works === undefined ? "" : JSON.stringify(student_works) === "[]" || student_works === undefined ?
|
|
|
|
<Spin size="large" spinning={this.state.isSpin}>
|
|
|
|
<Spin size="large" spinning={this.state.isSpin}>
|
|
|
|
<div id="forum_list" className="forum_table">
|
|
|
|
<div id="forum_list" className="forum_table">
|
|
|
|
<div className="mh650 edu-back-white">
|
|
|
|
<div className="mh650 edu-back-white">
|
|
|
|