@ -259,15 +259,20 @@ class CommonWorkSetting extends Component{
unified _setting : checked
} )
}
// 启用匿评
anonymous _comment _change = ( e ) => {
const checked = e . target . checked ;
const { end _time } = this . state ;
const currentEndTime = this . _getCurrentEndTime ( )
let evaluation _start , evaluation _end , evaluation _num = 0 , absence _penalty = 0 ;
if ( checked ) {
if ( end _time ) {
evaluation _start = moment ( end _time ) . add ( 7 , 'days' ) . format ( dateFormat )
evaluation _end = moment ( end _time ) . add ( 21 , 'days' ) . format ( dateFormat )
if ( currentEndTime ) {
evaluation _start = moment ( currentEndTime ) . add ( 7 , 'days' ) . format ( dateFormat )
evaluation _end = moment ( currentEndTime ) . add ( 21 , 'days' ) . format ( dateFormat )
}
if ( ! this . state . evaluation _num ) {
evaluation _num = 3
}
if ( ! this . state . absence _penalty ) {
absence _penalty = 2
}
} else {
@ -310,6 +315,7 @@ class CommonWorkSetting extends Component{
absence _penalty : value
} )
}
// 启用匿评申诉
anonymous _appeal _change = ( e ) => {
const { evaluation _end } = this . state ;
const anonymous _appeal = e . target . checked
@ -389,9 +395,10 @@ class CommonWorkSetting extends Component{
this . setState ( {
late _penalty : 5
} )
if ( this . state . end _time && ! this . state . late _time ) {
const currentEndTime = this . _getCurrentEndTime ( ) ;
if ( currentEndTime && ! this . state . late _time ) {
this . setState ( {
late _time : moment ( handleDateString ( this . state . end _t ime) ) . add ( 1 , 'months' ) . format ( dateFormat )
late _time : moment ( handleDateString ( currentEndT ime) ) . add ( 1 , 'months' ) . format ( dateFormat )
} )
}
}
@ -469,6 +476,20 @@ class CommonWorkSetting extends Component{
// }
}
_getCurrentEndTime = ( ) => {
const { unified _setting , end _time , rules } = this . state ;
if ( unified _setting ) {
return end _time
} else {
let max _un _unified _setting _end _time = null ;
rules . map ( item => {
if ( ! max _un _unified _setting _end _time || moment ( item . end _time ) > moment ( max _un _unified _setting _end _time ) ) {
max _un _unified _setting _end _time = item . end _time ;
}
} )
return max _un _unified _setting _end _time
}
}
saveWorkSetting = ( ) => {
let workId = this . props . match . params . workId ;
@ -1077,6 +1098,7 @@ class CommonWorkSetting extends Component{
course _group = { adaptered _group _settings }
rulesCheckInfo = { ( info ) => this . rulesCheckInfo ( info ) }
flagPageEdit = { true }
moduleName = "作业"
> < / P o l l D e t a i l T a b F o r t h R u l e s >
}
@ -1254,7 +1276,7 @@ class CommonWorkSetting extends Component{
margin - left : 18 px ;
}
` }</style>
< PopInstruction width = { 4 4 8} id = { 1 } >
< PopInstruction width = { 4 5 8} id = { 1 } >
< p className = "font-14 edu-txt-left pop-instruction" >
允许学生对自己作品的匿评评分进行申诉 , 由教师和助教处理申诉 < br / >
@ -1297,7 +1319,7 @@ class CommonWorkSetting extends Component{
< / s p a n >
< / T o o l t i p >
< span className = { "font-14 color-grey-9 ml10" } > < / s p a n >
< span className = { "font-14 color-grey-9 ml10" } > ( 学生提交匿评申诉的时间截点 ) < / s p a n >
< / d i v >
{ < div className = { " appeal_time_tip color-red ml60 mb6" } > { appeal _time _tip } < / d i v > }
@ -1311,7 +1333,7 @@ class CommonWorkSetting extends Component{
/ >
< / s p a n >
< / T o o l t i p >
< span className = { "font-14 color-grey-9 ml10" } > < / s p a n >
< span className = { "font-14 color-grey-9 ml10" } > ( 学生违规匿评TA人作品时 , 其成绩将被扣减的分值 ) < / s p a n >
< / d i v >
{ this . state . appeal _penalty _tip && < div className = { " appeal_penalty_tip color-red ml60" } style = { { marginTop : '-6px' } } > { this . state . appeal _penalty _tip } < / d i v > }
@ -1346,21 +1368,17 @@ class CommonWorkSetting extends Component{
< RadioGroup onChange = { this . final _mode _change } value = { final _mode } >
< Radio style = { radioStyle } value = { false } disabled = { noAuth } >
多项评分配比 < span className = { "font-14 color-grey-9 ml10" } > ( 选中 , 则按照比例计算最终成绩 ) < / s p a n >
< PopInstruction width = { 5 00 } id = { 2 } >
< PopInstruction width = { 5 12 } id = { 2 } >
< p className = "font-14 edu-txt-left pop-instruction" >
计算说明 : < br / >
优先顺序排前的非零评分 * 100 % - < br / >
( 迟交扣分 + 缺评扣分 * 缺评数 + 违规匿评扣分 * 违规匿评数 ) < br / >
例 : 有教师评分则教师评分100 % , 否则教辅评分100 % , 依次类推
{ /* 教师评分 * 其百分比 + 助教评分 * 其百分比 + 学生匿评平均分 * 其百分比 - <br/ >
( 迟交扣分 + 缺评扣分 * 缺评数 + 违规匿评扣分 * 违规匿评数 ) < br / >
< br / >
教师评分 * 其百分比 + 助教评分 * 其百分比 + 学生匿评平均分 * 其百分比 - ( < br / >
迟交扣分 + 缺评扣分 * 缺评数 + 违规匿评扣分 * 违规匿评数 ) < br / > < br / >
注意 < br / >
非零百分比的评分选项 , 在没有评分记录的情况下 , 其百分比平摊到另外的评 < br / >
分选项上 。 例如 : 教师评分40 % + 助教评分35 % + 学生匿评25 % , 学生A没 < br / >
有得到教师评分 , 则最终成绩将按照助教评分55 % + 学生匿评45 % 进行计算 * / }
非零百分比的评分选项 , 若评分记录为空 , 则其百分比将自动平摊到其它非零 < br / >
评分选项上 。 < br / >
例 : 教师评分40 % + 助教评分35 % + 学生匿评25 % , 学生A没有教师评分记 < br / >
录 , 则其最终成绩按照助教评分55 % + 学生匿评45 % 进行计算
< / p >
< / P o p I n s t r u c t i o n >
@ -1392,12 +1410,30 @@ class CommonWorkSetting extends Component{
{ < div className = { "color-red ml30 final_mode_false_tip" } > { final _mode _false _tip } < / d i v > }
< Radio style = { radioStyle } value = { true } disabled = { noAuth } >
单项评分优先 < span className = { "font-14 color-grey-9 ml10" } > ( 选中 , 则按照优先顺序计算最终成绩 ) < / s p a n >
< PopInstruction width = { 500 } id = { 3 } >
< p className = "font-14 edu-txt-left pop-instruction" >
计算说明 : < br / >
优先顺序排前的非零评分 * 100 % - < br / >
( 迟交扣分 + 缺评扣分 * 缺评数 + 违规匿评扣分 * 违规匿评数 ) < br / >
例 : 有教师评分则教师评分100 % , 否则教辅评分100 % , 依次类推
{ /* 教师评分 * 其百分比 + 助教评分 * 其百分比 + 学生匿评平均分 * 其百分比 - <br/ >
( 迟交扣分 + 缺评扣分 * 缺评数 + 违规匿评扣分 * 违规匿评数 ) < br / >
< br / >
注意 < br / >
非零百分比的评分选项 , 在没有评分记录的情况下 , 其百分比平摊到另外的评 < br / >
分选项上 。 例如 : 教师评分40 % + 助教评分35 % + 学生匿评25 % , 学生A没 < br / >
有得到教师评分 , 则最终成绩将按照助教评分55 % + 学生匿评45 % 进行计算 * / }
< / p >
< / P o p I n s t r u c t i o n >
< / R a d i o >
< / R a d i o G r o u p >
< div className = { "font-16" } style = { { marginLeft : '25px' } } >
< span > 教师评分 → 教辅评分 → 学生匿评评分 < / s p a n >
< span className = { "font-14 color-grey-9 ml10" } > ( 有教师评分则教师评分100 % , 否则教辅评分100 % , 依次类推 ) < / s p a n >
{ /* <span className={"font-14 color-grey-9 ml10"}>( 有教师评分则教师评分100%, 否则教辅评分100%,依次类推 ) </span> */ }
< / d i v >
< / d i v >