dev_forum
hjm 5 years ago
parent 7145037a53
commit 3993378c4d

@ -180,6 +180,12 @@ class CommonWorkAppraise extends Component{
</div> */} </div> */}
<div className={" "} style={{}}> <div className={" "} style={{}}>
<style>{`
.workAppraise>div:last-child {
border-bottom: none !important;
}
`}</style>
<div className={"workAppraise"}>
{(description || (attachments && attachments.length != 0)) && <div className={"stud-class-set bor-bottom-greyE edu-back-white"} style={{ padding: '20px 20px 20px 20px'}}> {(description || (attachments && attachments.length != 0)) && <div className={"stud-class-set bor-bottom-greyE edu-back-white"} style={{ padding: '20px 20px 20px 20px'}}>
<div className={"color-grey-6 h20 mb20 font-16"}> <div className={"color-grey-6 h20 mb20 font-16"}>
内容 内容
@ -286,6 +292,7 @@ class CommonWorkAppraise extends Component{
</div> </div>
</div> </div>
} }
</div>
{/* task_type={datalist&&datalist.task_type} */} {/* task_type={datalist&&datalist.task_type} */}

@ -228,7 +228,7 @@ function buildColumns(that, student_works) {
<Tooltip title={ <Tooltip title={
getScoreTip(student_score, getScoreTip(student_score,
<div> <div>
<div>{`${record.student_comment_count}名学生进行了匿评`}</div> {record.student_comment_count && <div>{`${record.student_comment_count}名学生进行了匿评`}</div>}
<div>有效平均分{record.student_score}</div> <div>有效平均分{record.student_score}</div>
</div> </div>
) )

@ -259,15 +259,20 @@ class CommonWorkSetting extends Component{
unified_setting: checked unified_setting: checked
}) })
} }
// 启用匿评
anonymous_comment_change = (e) => { anonymous_comment_change = (e) => {
const checked = e.target.checked; 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; let evaluation_start, evaluation_end, evaluation_num = 0, absence_penalty = 0;
if (checked) { if (checked) {
if (end_time) { if (currentEndTime) {
evaluation_start = moment(end_time).add(7, 'days').format(dateFormat) evaluation_start = moment(currentEndTime).add(7, 'days').format(dateFormat)
evaluation_end = moment(end_time).add(21, 'days').format(dateFormat) evaluation_end = moment(currentEndTime).add(21, 'days').format(dateFormat)
}
if (!this.state.evaluation_num) {
evaluation_num = 3 evaluation_num = 3
}
if (!this.state.absence_penalty) {
absence_penalty = 2 absence_penalty = 2
} }
} else { } else {
@ -310,6 +315,7 @@ class CommonWorkSetting extends Component{
absence_penalty:value absence_penalty:value
}) })
} }
// 启用匿评申诉
anonymous_appeal_change = (e) => { anonymous_appeal_change = (e) => {
const { evaluation_end } = this.state; const { evaluation_end } = this.state;
const anonymous_appeal = e.target.checked const anonymous_appeal = e.target.checked
@ -389,9 +395,10 @@ class CommonWorkSetting extends Component{
this.setState({ this.setState({
late_penalty: 5 late_penalty: 5
}) })
if (this.state.end_time && !this.state.late_time) { const currentEndTime = this._getCurrentEndTime();
if (currentEndTime && !this.state.late_time) {
this.setState({ this.setState({
late_time: moment(handleDateString(this.state.end_time)).add(1, 'months').format(dateFormat) late_time: moment(handleDateString(currentEndTime)).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=()=>{ saveWorkSetting=()=>{
let workId=this.props.match.params.workId; let workId=this.props.match.params.workId;
@ -1077,6 +1098,7 @@ class CommonWorkSetting extends Component{
course_group={adaptered_group_settings} course_group={adaptered_group_settings}
rulesCheckInfo={(info)=>this.rulesCheckInfo(info)} rulesCheckInfo={(info)=>this.rulesCheckInfo(info)}
flagPageEdit={true} flagPageEdit={true}
moduleName="作业"
></PollDetailTabForthRules> ></PollDetailTabForthRules>
} }
@ -1254,7 +1276,7 @@ class CommonWorkSetting extends Component{
margin-left: 18px; margin-left: 18px;
} }
`}</style> `}</style>
<PopInstruction width={448} id={1}> <PopInstruction width={458} id={1}>
<p className="font-14 edu-txt-left pop-instruction"> <p className="font-14 edu-txt-left pop-instruction">
允许学生对自己作品的匿评评分进行申诉由教师和助教处理申诉<br/> 允许学生对自己作品的匿评评分进行申诉由教师和助教处理申诉<br/>
@ -1297,7 +1319,7 @@ class CommonWorkSetting extends Component{
</span> </span>
</Tooltip> </Tooltip>
<span className={"font-14 color-grey-9 ml10"}></span> <span className={"font-14 color-grey-9 ml10"}>学生提交匿评申诉的时间截点</span>
</div> </div>
{<div className={" appeal_time_tip color-red ml60 mb6"}>{appeal_time_tip}</div>} {<div className={" appeal_time_tip color-red ml60 mb6"}>{appeal_time_tip}</div>}
@ -1311,7 +1333,7 @@ class CommonWorkSetting extends Component{
/> />
</span> </span>
</Tooltip> </Tooltip>
<span className={"font-14 color-grey-9 ml10"}></span> <span className={"font-14 color-grey-9 ml10"}>学生违规匿评TA人作品时其成绩将被扣减的分值</span>
</div> </div>
{this.state.appeal_penalty_tip && <div className={" appeal_penalty_tip color-red ml60"} style={{marginTop: '-6px'}}>{this.state.appeal_penalty_tip}</div>} {this.state.appeal_penalty_tip && <div className={" appeal_penalty_tip color-red ml60"} style={{marginTop: '-6px'}}>{this.state.appeal_penalty_tip}</div>}
@ -1346,21 +1368,17 @@ class CommonWorkSetting extends Component{
<RadioGroup onChange={this.final_mode_change} value={final_mode}> <RadioGroup onChange={this.final_mode_change} value={final_mode}>
<Radio style={radioStyle} value={false} disabled={noAuth}> <Radio style={radioStyle} value={false} disabled={noAuth}>
多项评分配比<span className={"font-14 color-grey-9 ml10"}>选中则按照比例计算最终成绩</span> 多项评分配比<span className={"font-14 color-grey-9 ml10"}>选中则按照比例计算最终成绩</span>
<PopInstruction width={500} id={2}> <PopInstruction width={512} id={2}>
<p className="font-14 edu-txt-left pop-instruction"> <p className="font-14 edu-txt-left pop-instruction">
计算说明<br/> 计算说明<br/>
优先顺序排前的非零评分 * 100% - <br/> 教师评分 * 其百分比 + 助教评分 * 其百分比 + 学生匿评平均分 * 其百分比 - ( <br/>
( 迟交扣分 + 缺评扣分 * 缺评数 + 违规匿评扣分 * 违规匿评数 )<br/> 迟交扣分 + 缺评扣分 * 缺评数 + 违规匿评扣分 * 违规匿评数 )<br/><br/>
有教师评分则教师评分100%否则教辅评分100%依次类推
{/* 教师评分 * 其百分比 + 助教评分 * 其百分比 + 学生匿评平均分 * 其百分比 - <br/>
( 迟交扣分 + 缺评扣分 * 缺评数 + 违规匿评扣分 * 违规匿评数 )<br/>
<br/>
注意<br/> 注意<br/>
非零百分比的评分选项在没有评分记录的情况下其百分比平摊到另外的评<br/> 非零百分比的评分选项若评分记录为空则其百分比将自动平摊到其它非零<br/>
分选项上例如教师评分40% + 助教评分35% + 学生匿评25%学生A没<br/> 评分选项上<br/>
有得到教师评分则最终成绩将按照助教评分55% + 学生匿评45%进行计算 */} 教师评分40% + 助教评分35% + 学生匿评25%学生A没有教师评分记<br/>
则其最终成绩按照助教评分55% + 学生匿评45%进行计算
</p> </p>
</PopInstruction> </PopInstruction>
@ -1392,12 +1410,30 @@ class CommonWorkSetting extends Component{
{<div className={"color-red ml30 final_mode_false_tip"}>{final_mode_false_tip}</div>} {<div className={"color-red ml30 final_mode_false_tip"}>{final_mode_false_tip}</div>}
<Radio style={radioStyle} value={true} disabled={noAuth}> <Radio style={radioStyle} value={true} disabled={noAuth}>
单项评分优先<span className={"font-14 color-grey-9 ml10"}>选中则按照优先顺序计算最终成绩</span> 单项评分优先<span className={"font-14 color-grey-9 ml10"}>选中则按照优先顺序计算最终成绩</span>
<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>
</PopInstruction>
</Radio> </Radio>
</RadioGroup> </RadioGroup>
<div className={"font-16"} style={{ marginLeft: '25px' }}> <div className={"font-16"} style={{ marginLeft: '25px' }}>
<span>教师评分 教辅评分 学生匿评评分</span> <span>教师评分 教辅评分 学生匿评评分</span>
<span className={"font-14 color-grey-9 ml10"}>有教师评分则教师评分100%否则教辅评分100%依次类推 </span> {/* <span className={"font-14 color-grey-9 ml10"}>有教师评分则教师评分100%否则教辅评分100%,依次类推 </span> */}
</div> </div>
</div> </div>

@ -197,7 +197,6 @@ class GraduationTasksappraiseMainEditor extends Component{
.mainEditor { .mainEditor {
padding: 0 10px; padding: 0 10px;
padding-bottom: 8px; padding-bottom: 8px;
height: 288px;
} }
.mainEditorTitle { .mainEditorTitle {
margin-bottom: 6px; margin-bottom: 6px;
@ -218,7 +217,7 @@ class GraduationTasksappraiseMainEditor extends Component{
</Upload> </Upload>
<div> <div style={{height: '36px'}}>
<div style={{ float: 'left' }}> <div style={{ float: 'left' }}>
<InputNumber placeholder="请填写分数" value={score} onChange={this.onScoreChange} className={numberErrorMessage ? 'numberInputError' : ''} <InputNumber placeholder="请填写分数" value={score} onChange={this.onScoreChange} className={numberErrorMessage ? 'numberInputError' : ''}
style={{width:"120px", marginRight: '6px'}} style={{width:"120px", marginRight: '6px'}}

@ -340,8 +340,8 @@ class PollDetailTabForthRules extends Component{
<div className="bor-top-greyE pt20"> <div className="bor-top-greyE pt20">
<p className="clearfix mb10"> <p className="clearfix mb10">
<span className="fl with40 pr20">&nbsp;</span> <span className="fl with40 pr20">&nbsp;</span>
<span className="fl pr20 color-grey-c with25">(学生收到{this.props.type==="Exercise"?"试卷":"问卷"}的时间)</span> <span className="fl pr20 color-grey-c with25">(学生收到{this.props.moduleName || (this.props.type==="Exercise"?"试卷":"问卷")}的时间)</span>
<span className="fl color-grey-c">(学生可以答题的时间截点)</span> <span className="fl color-grey-c">({this.props.moduleName == '作业' ? '学生“按时”提交作品的时间截点' : '学生可以答题的时间截点'})</span>
</p> </p>
{ {

Loading…
Cancel
Save