|
|
@ -1,7 +1,7 @@
|
|
|
|
import React, {Component} from "react";
|
|
|
|
import React, {Component} from "react";
|
|
|
|
import CoursesListType from '../coursesPublic/CoursesListType';
|
|
|
|
import CoursesListType from '../coursesPublic/CoursesListType';
|
|
|
|
import HomeworkModal from "../coursesPublic/HomeworkModal";
|
|
|
|
import HomeworkModal from "../coursesPublic/HomeworkModal";
|
|
|
|
import {WordsBtn, ActionBtn, handleDateString} from 'educoder';
|
|
|
|
import {WordsBtn, ActionBtn, handleDateString,getImageUrl} from 'educoder';
|
|
|
|
import PollDetailTabForthRules from '../poll/PollDetailTabForthRules';
|
|
|
|
import PollDetailTabForthRules from '../poll/PollDetailTabForthRules';
|
|
|
|
import ShixunWorkModal from './Shixunworkdetails/ShixunWorkModal';
|
|
|
|
import ShixunWorkModal from './Shixunworkdetails/ShixunWorkModal';
|
|
|
|
import {
|
|
|
|
import {
|
|
|
@ -1709,7 +1709,13 @@ class Trainingjobsetting extends Component {
|
|
|
|
lineHeight: '30px',
|
|
|
|
lineHeight: '30px',
|
|
|
|
color:"#666666"
|
|
|
|
color:"#666666"
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
const radioStyles = {
|
|
|
|
|
|
|
|
display: 'block',
|
|
|
|
|
|
|
|
height: '30px',
|
|
|
|
|
|
|
|
lineHeight: '30px',
|
|
|
|
|
|
|
|
color:"#666666",
|
|
|
|
|
|
|
|
marginLeft:'38px',
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
// const startDate=moment(this.state.publish_time).format('YYYY-MM-DD HH:mm');
|
|
|
|
// const startDate=moment(this.state.publish_time).format('YYYY-MM-DD HH:mm');
|
|
|
|
// const endDate =moment(this.state.publish_time).add('months',1).format('YYYY-MM-DD HH:mm');
|
|
|
|
// const endDate =moment(this.state.publish_time).add('months',1).format('YYYY-MM-DD HH:mm');
|
|
|
@ -1879,7 +1885,7 @@ class Trainingjobsetting extends Component {
|
|
|
|
<Checkbox className="ml15 font-16" style={{"color":"#666666"}} onChange={this.onChange}
|
|
|
|
<Checkbox className="ml15 font-16" style={{"color":"#666666"}} onChange={this.onChange}
|
|
|
|
checked={this.state.unifiedsetting}
|
|
|
|
checked={this.state.unifiedsetting}
|
|
|
|
defaultChecked={this.state.boolUnite} disabled={!flagPageEdit}>统一设置<span
|
|
|
|
defaultChecked={this.state.boolUnite} disabled={!flagPageEdit}>统一设置<span
|
|
|
|
className={"font-14 ml15"} style={{"color":"#999999","text-align":"left"}}>(选中则所有分班使用相同的发布设置,否则各个分班单独设置)</span></Checkbox>
|
|
|
|
className={"font-14 ml15 color-grey-c"} style={{"text-align":"left"}}>(选中则所有分班使用相同的发布设置,否则各个分班单独设置)</span></Checkbox>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
:<div></div>
|
|
|
|
:<div></div>
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -1919,7 +1925,7 @@ class Trainingjobsetting extends Component {
|
|
|
|
/>
|
|
|
|
/>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</Tooltip>
|
|
|
|
</Tooltip>
|
|
|
|
<span className="ml20 fl mt10" style={{"color":"#999999","text-align":"left","font-size":"14px"}}>(学生收到作业的时间)</span>
|
|
|
|
<span className="ml20 fl mt10 color-grey-c" style={{"text-align":"left","font-size":"14px"}}>(学生收到作业的时间)</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<p className="color-red lineh-25 clearfix" style={{height:"25px"}}>
|
|
|
|
<p className="color-red lineh-25 clearfix" style={{height:"25px"}}>
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -1953,7 +1959,7 @@ class Trainingjobsetting extends Component {
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</Tooltip>
|
|
|
|
</Tooltip>
|
|
|
|
|
|
|
|
|
|
|
|
<span className=" ml20 fl mt10 color-grey-9" style={{"text-align":"left","font-size":"14px"}}>(学生“按时”提交作品的时间截点)</span>
|
|
|
|
<span className=" ml20 fl mt10 color-grey-c" style={{"text-align":"left","font-size":"14px"}}>(学生“按时”提交作品的时间截点)</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<p className="color-red lineh-25 clearfix" style={{height:"25px"}}>
|
|
|
|
<p className="color-red lineh-25 clearfix" style={{height:"25px"}}>
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -1987,9 +1993,9 @@ class Trainingjobsetting extends Component {
|
|
|
|
<div className="ml40 mt10"
|
|
|
|
<div className="ml40 mt10"
|
|
|
|
>
|
|
|
|
>
|
|
|
|
<Checkbox style={radioStyle} value={"允许补交"} checked={this.state.allowreplenishment} onChange={this.onChanges} disabled={!flagPageEdit}>开启补交 <span
|
|
|
|
<Checkbox style={radioStyle} value={"允许补交"} checked={this.state.allowreplenishment} onChange={this.onChanges} disabled={!flagPageEdit}>开启补交 <span
|
|
|
|
className={"font-14 ml10 color-grey-9"} style={{"text-align":"left","font-size":"14px"}} >(选中,则允许学生延时提交作品)</span></Checkbox>
|
|
|
|
className={"font-14 ml10 color-grey-c"} style={{"text-align":"left","font-size":"14px"}} >(选中,则允许学生延时提交作品)</span></Checkbox>
|
|
|
|
|
|
|
|
|
|
|
|
<div className={"h21 mb30 ml30 mt20"}>
|
|
|
|
<div className={"h21 mb30 mt20"}>
|
|
|
|
<span style={{"width": "100px","color":"#999999"}}>迟交扣分:</span>
|
|
|
|
<span style={{"width": "100px","color":"#999999"}}>迟交扣分:</span>
|
|
|
|
<style>
|
|
|
|
<style>
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -2007,11 +2013,11 @@ class Trainingjobsetting extends Component {
|
|
|
|
style={{"color":"#999999","height": "40px"}}
|
|
|
|
style={{"color":"#999999","height": "40px"}}
|
|
|
|
value={this.state.latededuction}/>
|
|
|
|
value={this.state.latededuction}/>
|
|
|
|
<span className="ml10 color-grey-9" >分</span>
|
|
|
|
<span className="ml10 color-grey-9" >分</span>
|
|
|
|
<span className="ml15 color-grey-9" style={{"text-align":"left","font-size":"14px"}}>(延时提交作品时,学生成绩将被扣减的分值)</span>
|
|
|
|
<span className="ml15 color-grey-c" style={{"text-align":"left","font-size":"14px"}}>(延时提交作品时,学生成绩将被扣减的分值)</span>
|
|
|
|
{/*{latepenaltytype===true?<div className={"color-red ml40"}></div>:""}*/}
|
|
|
|
{/*{latepenaltytype===true?<div className={"color-red ml40"}></div>:""}*/}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
<div className={"h20 mb50 ml30"}>
|
|
|
|
<div className={"h20 mb20 "}>
|
|
|
|
<span style={{"width": "100px","color":"#999999"}}>结束时间:</span>
|
|
|
|
<span style={{"width": "100px","color":"#999999"}}>结束时间:</span>
|
|
|
|
<DatePicker
|
|
|
|
<DatePicker
|
|
|
|
showToday={false}
|
|
|
|
showToday={false}
|
|
|
@ -2030,7 +2036,7 @@ class Trainingjobsetting extends Component {
|
|
|
|
dropdownClassName="hideDisable"
|
|
|
|
dropdownClassName="hideDisable"
|
|
|
|
className={handclass}
|
|
|
|
className={handclass}
|
|
|
|
/>
|
|
|
|
/>
|
|
|
|
<span className="ml15 color-grey-9" style={{"text-align":"left","font-size":"14px"}}>(学生“延时”提交作品的时间截点)</span>
|
|
|
|
<span className="ml15 color-grey-c" style={{"text-align":"left","font-size":"14px"}}>(学生“延时”提交作品的时间截点)</span>
|
|
|
|
{/*{latetimetype===true?<div className={"color-red "}>结束时间不能小于截止时间</div>:""}*/}
|
|
|
|
{/*{latetimetype===true?<div className={"color-red "}>结束时间不能小于截止时间</div>:""}*/}
|
|
|
|
<style>
|
|
|
|
<style>
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -2056,26 +2062,18 @@ class Trainingjobsetting extends Component {
|
|
|
|
<div className=" clearfix edu-back-white poll_list mt20">
|
|
|
|
<div className=" clearfix edu-back-white poll_list mt20">
|
|
|
|
<div className={"font-16 color-dark fl pl20 "} style={{"color":"#05101A"}}>评分设置</div>
|
|
|
|
<div className={"font-16 color-dark fl pl20 "} style={{"color":"#05101A"}}>评分设置</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<p className="ml40 mt20 c_grey font-13 " style={{"color":"#666666"}}> 查看参考答案才通过评测的关卡扣分规则<span
|
|
|
|
|
|
|
|
className=" font-14 color-grey-9 ml15" style={{"text-align":"left"}}>(学生通过评测后再查看参考答案,不对成绩产生影响)</span></p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<RadioGroup className="ml60 mt20" onChange={this.onChangeslevel} value={this.state.level}>
|
|
|
|
<div className="ml20 mt10 mt20">
|
|
|
|
<Radio style={radioStyle} disabled={!flagPageEdit} className="c_grey" value={"扣分"}>按查看答案级别扣分<span
|
|
|
|
<span className="c_grey font-13" style={{"color":"#333333"}}> 关卡任务的选择和分值设置 </span><span className="ml15 font-14 color-grey-c" style={{"text-align":"left"}}>(成绩 = 效率分+ 关卡任务总分)</span>
|
|
|
|
className="color-grey-9 font-14 ml15" style={{"text-align":"left"}}>根据学员选择查看的实训答案级别(解题思路、完整答案),扣减相应的分值</span></Radio>
|
|
|
|
|
|
|
|
<Radio style={radioStyle} disabled={!flagPageEdit} className="c_grey mt15"
|
|
|
|
|
|
|
|
value={"满分"}>不扣分 </Radio>
|
|
|
|
|
|
|
|
</RadioGroup>
|
|
|
|
|
|
|
|
<div className="ml40 mt10 mt20">
|
|
|
|
|
|
|
|
<span className="c_grey font-13" style={{"color":"#333333"}}> 关卡任务的选择和分值设置 </span><span className="ml15 font-14 color-grey-9" style={{"text-align":"left"}}>(成绩 = 效率分+ 关卡任务总分)</span>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
<div className=" clearfix edu-back-white poll_list mt10">
|
|
|
|
<div className=" clearfix edu-back-white poll_list mt10" style={{marginLeft:" 40px"}}>
|
|
|
|
<Checkbox disabled={!flagPageEdit} className="ml60 font-13 mt20"
|
|
|
|
<Checkbox disabled={!flagPageEdit} className=" font-13 mt10"
|
|
|
|
onChange={this.onChangeeffectiveness}
|
|
|
|
onChange={this.onChangeeffectiveness}
|
|
|
|
checked={this.state.completionefficiencyscore} style={{"color":"#666666"}}>效率分<span
|
|
|
|
checked={this.state.completionefficiencyscore} style={{"color":"#666666"}}>效率分<span
|
|
|
|
className={"font-14 color-grey-9 font-14 ml15"} style={{"text-align":"left"}}>(选中,则学生最终成绩包含效率分)</span></Checkbox>
|
|
|
|
className={"font-14 color-grey-c font-14 ml15"} style={{"text-align":"left"}}>(选中,则学生最终成绩包含效率分)</span></Checkbox>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div className="ml85 mt30">
|
|
|
|
<div className=" mt20" style={{marginLeft:"75px"}}>
|
|
|
|
<span className="c_grey mr10" style={{"color":"#999999"}}>分值</span>
|
|
|
|
<span className="c_grey mr10" style={{"color":"#999999"}}>分值</span>
|
|
|
|
<InputNumber min={0} disabled={!flagPageEdit} max={100} className="ml10 h40 mr10 color-grey-9"
|
|
|
|
<InputNumber min={0} disabled={!flagPageEdit} max={100} className="ml10 h40 mr10 color-grey-9"
|
|
|
|
style={{width: "100px","color":"#999999"}}
|
|
|
|
style={{width: "100px","color":"#999999"}}
|
|
|
@ -2084,23 +2082,34 @@ class Trainingjobsetting extends Component {
|
|
|
|
<span className="ml10" style={{"color":"#999999"}}>分</span>
|
|
|
|
<span className="ml10" style={{"color":"#999999"}}>分</span>
|
|
|
|
<span className={"font-14 color-grey-9 "} style={{"color":"#999999"}}></span>
|
|
|
|
<span className={"font-14 color-grey-9 "} style={{"color":"#999999"}}></span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<RadioGroup className="ml60 mt10" onChange={this.onChangeslevelproportion}
|
|
|
|
<div className="yslflexhome">
|
|
|
|
value={this.state.proportion}>
|
|
|
|
<div style={{width:"720px"}}>
|
|
|
|
<Radio style={radioStyle} disabled={!flagPageEdit} className="c_grey mt20"
|
|
|
|
<div className="ml20 mt40 mt20" style={{width:"600px"}}>
|
|
|
|
value={"均分比例"} style={{"color":"#666666"}}>均分比例<span
|
|
|
|
<span className="c_grey font-13" style={{"color":"#333333"}}> 关卡任务分值设置规则 </span> <span> <RadioGroup className="ml50" onChange={this.onChangeslevelproportion} value={this.state.proportion}>
|
|
|
|
className="color-grey-9 font-10 ml15" style={{"color":"#999999"}}>(根据任务数平均分配) 例如:实训任务5关,每一关分值为 1 / 5 * 100 = 20分</span></Radio>
|
|
|
|
<Radio style={{ display: 'block',
|
|
|
|
<Radio style={radioStyle} disabled={!flagPageEdit} className="c_grey mt20"
|
|
|
|
height: '30px',
|
|
|
|
value={"经验值比例"} style={{"color":"#666666"}}>经验值比例 <span
|
|
|
|
lineHeight: '30px',
|
|
|
|
className="color-grey-9 font-10 ml15" style={{"color":"#999999"}}>(根据任务经验值在实训总经验值的比例进行分配) 例如:实训总经验值1500,某一关经验值为600,则这一关的分值为600 / 1500 * 100 = 40分
|
|
|
|
color:"#666666",
|
|
|
|
</span></Radio>
|
|
|
|
}} disabled={!flagPageEdit} className="c_grey mt20 "
|
|
|
|
<Radio style={radioStyle} disabled={!flagPageEdit} className="c_grey mt20"
|
|
|
|
value={"均分比例"} style={{"color":"#666666"}}>均分比例</Radio>
|
|
|
|
value={"自定义分值"} style={{"color":"#666666"}}>自定义分值 <span
|
|
|
|
<Radio style={{ display: 'block',
|
|
|
|
className="color-grey-9 font-10 ml15" style={{"color":"#999999"}}>(手动设置关卡分值)</span></Radio>
|
|
|
|
height: '30px',
|
|
|
|
</RadioGroup>
|
|
|
|
lineHeight: '30px',
|
|
|
|
<p className="ml95 mt15 c_grey font-13 " style={{"color":"#666666"}}> 关卡名称<span
|
|
|
|
color:"#666666",
|
|
|
|
className="color-grey-9 font-10 ml30s" style={{"color":"#999999"}}>(选中的关卡将计入评分计算范围,暂时不支持跳关选择)</span><span
|
|
|
|
}} disabled={!flagPageEdit} className="c_grey ml30"
|
|
|
|
className="color-grey-9 ml90" style={{"color":"#666666"}}>分值</span></p>
|
|
|
|
value={"经验值比例"} style={{"color":"#666666"}}>经验值比例</Radio>
|
|
|
|
<div className="ml95 mt15">
|
|
|
|
<Radio style={{ display: 'block',
|
|
|
|
|
|
|
|
height: '30px',
|
|
|
|
|
|
|
|
lineHeight: '30px',
|
|
|
|
|
|
|
|
color:"#666666",
|
|
|
|
|
|
|
|
}} disabled={!flagPageEdit} className="c_grey mt20 ml30"
|
|
|
|
|
|
|
|
value={"自定义分值"} style={{"color":"#666666"}}>自定义分值 <a><img style={{marginBottom:"3px",marginLeft:"10px"}}
|
|
|
|
|
|
|
|
src={getImageUrl("images/educoder/problem.png") }/></a></Radio>
|
|
|
|
|
|
|
|
</RadioGroup></span>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<p className="ml20 mt15 c_grey font-13 " style={{"color":"#666666",width: "600px"}}> 关卡名称<span
|
|
|
|
|
|
|
|
className="color-grey-c font-10 ml10">(需要学生完成的任务请选中)</span></p>
|
|
|
|
|
|
|
|
<div className="ml40 mt15" style={{width: "600px"}}>
|
|
|
|
{this.state.challenge_settings === undefined ? "" : this.state.challenge_settings.map((object, index) => {
|
|
|
|
{this.state.challenge_settings === undefined ? "" : this.state.challenge_settings.map((object, index) => {
|
|
|
|
return (
|
|
|
|
return (
|
|
|
|
<li>
|
|
|
|
<li>
|
|
|
@ -2115,11 +2124,48 @@ class Trainingjobsetting extends Component {
|
|
|
|
onChange={(value) => this.hangeTopicNametwodatasheet(value, index)}
|
|
|
|
onChange={(value) => this.hangeTopicNametwodatasheet(value, index)}
|
|
|
|
value={object.challenge_score}
|
|
|
|
value={object.challenge_score}
|
|
|
|
/>
|
|
|
|
/>
|
|
|
|
|
|
|
|
<span className="ml10" style={{"color":"#999999"}}>分</span>
|
|
|
|
</li>
|
|
|
|
</li>
|
|
|
|
)
|
|
|
|
)
|
|
|
|
})}
|
|
|
|
})}
|
|
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div style={{
|
|
|
|
|
|
|
|
height: "467px",
|
|
|
|
|
|
|
|
width: "468px",
|
|
|
|
|
|
|
|
}}>
|
|
|
|
|
|
|
|
<div className="yslinvitetip"
|
|
|
|
|
|
|
|
style={{width: '468px'}}>
|
|
|
|
|
|
|
|
<span className="right-black-trangle"></span>
|
|
|
|
|
|
|
|
<div className="padding20 invitecontent clearfix">
|
|
|
|
|
|
|
|
<p className="font-12 edu-txt-left">
|
|
|
|
|
|
|
|
若完成效率分值 = 10分, 则<br/>
|
|
|
|
|
|
|
|
均分比例: 根据任务数平均分配<br/>
|
|
|
|
|
|
|
|
例: 实训任务3关, 每关分值: 1/3*(100-10)=30分<br/>
|
|
|
|
|
|
|
|
<br/>
|
|
|
|
|
|
|
|
难易度: 根据关卡经验值的高低确定关卡分值<br/>
|
|
|
|
|
|
|
|
例: 实训总经验值1200, 某关经验值200,<br/>
|
|
|
|
|
|
|
|
则其分值:200/1200*(100-10)=15分<br/>
|
|
|
|
|
|
|
|
<br/>
|
|
|
|
|
|
|
|
自定义分值: 手动设置关卡分值<br/>
|
|
|
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<p className="inviteTipbtn with100 fl">
|
|
|
|
|
|
|
|
<a>知道了</a>
|
|
|
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<p className="ml20 mt40 c_grey font-13 " style={{"color":"#333333"}}> 查看参考答案才通过评测的关卡扣分规则<span
|
|
|
|
|
|
|
|
className=" font-14 color-grey-c ml15" style={{textAlign:"left",marginLeft:"40px"}}>(学生通过评测后再查看参考答案,不对成绩产生影响)</span></p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<RadioGroup className="ml40 mt20" onChange={this.onChangeslevel} value={this.state.level}>
|
|
|
|
|
|
|
|
<Radio style={radioStyle} disabled={!flagPageEdit} className="c_grey" value={"扣分"}>按查看答案级别扣分<span
|
|
|
|
|
|
|
|
className="color-grey-c font-14 ml15" style={{"text-align":"left"}}>根据学员选择查看的实训答案级别(解题思路、完整答案),扣减相应的分值</span></Radio>
|
|
|
|
|
|
|
|
<Radio style={radioStyle} disabled={!flagPageEdit} className="c_grey mt15"
|
|
|
|
|
|
|
|
value={"满分"}>不扣分 </Radio>
|
|
|
|
|
|
|
|
</RadioGroup>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
{/*公开设置*/}
|
|
|
|
{/*公开设置*/}
|
|
|
|
<div className="stud-class-set bor-top-greyE edu-back-white mt35 pb5 ">
|
|
|
|
<div className="stud-class-set bor-top-greyE edu-back-white mt35 pb5 ">
|
|
|
@ -2129,7 +2175,7 @@ class Trainingjobsetting extends Component {
|
|
|
|
<div className={"mb20 mt15"}>
|
|
|
|
<div className={"mb20 mt15"}>
|
|
|
|
<Checkbox disabled={!flagPageEdit} className="ml40" onChange={this.onChangepublicwork}
|
|
|
|
<Checkbox disabled={!flagPageEdit} className="ml40" onChange={this.onChangepublicwork}
|
|
|
|
checked={this.state.publicwork} style={{"color":"#666666"}}>公开成绩</Checkbox>
|
|
|
|
checked={this.state.publicwork} style={{"color":"#666666"}}>公开成绩</Checkbox>
|
|
|
|
<span className={"font-14 color-grey-9 font-14 "} style={{"text-align":"left"}}>(选中,则在作业截止/补交结束时间之后,已提交作品的学生可以查看其它学生的成绩,否则只能查看自己的成绩)</span>
|
|
|
|
<span className="font-14 color-grey-c font-14 " style={{"text-align":"left"}}>(选中,则在作业截止/补交结束时间之后,已提交作品的学生可以查看其它学生的成绩,否则只能查看自己的成绩)</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|