|
|
@ -1,10 +1,9 @@
|
|
|
|
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 {Base64} from 'js-base64';
|
|
|
|
|
|
|
|
import {
|
|
|
|
import {
|
|
|
|
Button,
|
|
|
|
Button,
|
|
|
|
Checkbox,
|
|
|
|
Checkbox,
|
|
|
@ -13,7 +12,7 @@ import {
|
|
|
|
DatePicker,
|
|
|
|
DatePicker,
|
|
|
|
Radio,
|
|
|
|
Radio,
|
|
|
|
Tooltip,
|
|
|
|
Tooltip,
|
|
|
|
notification
|
|
|
|
notification,
|
|
|
|
} from "antd";
|
|
|
|
} from "antd";
|
|
|
|
import {Link} from 'react-router-dom';
|
|
|
|
import {Link} from 'react-router-dom';
|
|
|
|
import locale from 'antd/lib/date-picker/locale/zh_CN';
|
|
|
|
import locale from 'antd/lib/date-picker/locale/zh_CN';
|
|
|
@ -113,7 +112,8 @@ class Trainingjobsetting extends Component {
|
|
|
|
group_settings:undefined,
|
|
|
|
group_settings:undefined,
|
|
|
|
rulesdata:[],
|
|
|
|
rulesdata:[],
|
|
|
|
showmodel:false,
|
|
|
|
showmodel:false,
|
|
|
|
code_review:false
|
|
|
|
code_review:false,
|
|
|
|
|
|
|
|
testscripttiptype:false,
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// console.log("获取到的值")
|
|
|
|
// console.log("获取到的值")
|
|
|
|
// console.log("Trainingjobsetting")
|
|
|
|
// console.log("Trainingjobsetting")
|
|
|
@ -125,6 +125,8 @@ class Trainingjobsetting extends Component {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
componentDidMount() {
|
|
|
|
componentDidMount() {
|
|
|
|
|
|
|
|
console.log("Trainingjobsetting");
|
|
|
|
|
|
|
|
console.log("componentDidMount");
|
|
|
|
this.getTrainingjobsetting();
|
|
|
|
this.getTrainingjobsetting();
|
|
|
|
let query = this.props.location.pathname;
|
|
|
|
let query = this.props.location.pathname;
|
|
|
|
const type = query.split('/');
|
|
|
|
const type = query.split('/');
|
|
|
@ -143,13 +145,17 @@ class Trainingjobsetting extends Component {
|
|
|
|
// console.log(homeworkid)
|
|
|
|
// console.log(homeworkid)
|
|
|
|
let url = `/homework_commons/${homeworkid}/settings.json`;
|
|
|
|
let url = `/homework_commons/${homeworkid}/settings.json`;
|
|
|
|
axios.get(url).then((result) => {
|
|
|
|
axios.get(url).then((result) => {
|
|
|
|
|
|
|
|
console.log(url);
|
|
|
|
|
|
|
|
console.log(result);
|
|
|
|
if (result!=undefined) {
|
|
|
|
if (result!=undefined) {
|
|
|
|
|
|
|
|
this.props.Getdataback(result,result.data);
|
|
|
|
// console.log(result.data.code_review)
|
|
|
|
// console.log(result.data.code_review)
|
|
|
|
// console.log("设置页")
|
|
|
|
// console.log("设置页")
|
|
|
|
// console.log(JSON.stringify(result))
|
|
|
|
// console.log(JSON.stringify(result))
|
|
|
|
let array=[];
|
|
|
|
let array=[];
|
|
|
|
let arrays=[];
|
|
|
|
let arrays=[];
|
|
|
|
var rulesdatas=[];
|
|
|
|
var rulesdatas=[];
|
|
|
|
|
|
|
|
if(result.data.group_settings !== undefined){
|
|
|
|
if(result.data.group_settings.length === 0){
|
|
|
|
if(result.data.group_settings.length === 0){
|
|
|
|
array.push({
|
|
|
|
array.push({
|
|
|
|
course_group_id:[],
|
|
|
|
course_group_id:[],
|
|
|
@ -181,7 +187,9 @@ class Trainingjobsetting extends Component {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(result.data.group_settings!== undefined){
|
|
|
|
for(var i=0;i<result.data.group_settings.length;i++){
|
|
|
|
for(var i=0;i<result.data.group_settings.length;i++){
|
|
|
|
|
|
|
|
|
|
|
|
arrays.push({
|
|
|
|
arrays.push({
|
|
|
@ -206,6 +214,8 @@ class Trainingjobsetting extends Component {
|
|
|
|
})
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
this.setState({
|
|
|
|
this.setState({
|
|
|
|
rules:array,
|
|
|
|
rules:array,
|
|
|
|
rulest:arrays,
|
|
|
|
rulest:arrays,
|
|
|
@ -222,7 +232,7 @@ class Trainingjobsetting extends Component {
|
|
|
|
deadline: result.data.end_time === undefined ? undefined : result.data.end_time === null ? undefined : result.data.end_time,
|
|
|
|
deadline: result.data.end_time === undefined ? undefined : result.data.end_time === null ? undefined : result.data.end_time,
|
|
|
|
late_time: result.data.late_time === undefined ? undefined : result.data.late_time === null ? undefined : result.data.late_time,
|
|
|
|
late_time: result.data.late_time === undefined ? undefined : result.data.late_time === null ? undefined : result.data.late_time,
|
|
|
|
late_times: result.data.late_time === undefined ? undefined : result.data.late_time === null ? undefined : result.data.late_time,
|
|
|
|
late_times: result.data.late_time === undefined ? undefined : result.data.late_time === null ? undefined : result.data.late_time,
|
|
|
|
allowreplenishment: result.data.allow_late === true ? "允许补交" : "禁止补交",
|
|
|
|
allowreplenishment: result.data.allow_late,
|
|
|
|
latededuction: result.data.late_penalty,
|
|
|
|
latededuction: result.data.late_penalty,
|
|
|
|
level: result.data.answer_open_evaluation === true ? "满分" : "扣分",
|
|
|
|
level: result.data.answer_open_evaluation === true ? "满分" : "扣分",
|
|
|
|
completionefficiencyscore: result.data.work_efficiency,
|
|
|
|
completionefficiencyscore: result.data.work_efficiency,
|
|
|
@ -232,10 +242,6 @@ class Trainingjobsetting extends Component {
|
|
|
|
challenge_settings: result.data.challenge_settings,
|
|
|
|
challenge_settings: result.data.challenge_settings,
|
|
|
|
code_review:result.data.code_review
|
|
|
|
code_review:result.data.code_review
|
|
|
|
})
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
@ -263,7 +269,7 @@ class Trainingjobsetting extends Component {
|
|
|
|
if (datas[i].checked === true) {
|
|
|
|
if (datas[i].checked === true) {
|
|
|
|
var object = {
|
|
|
|
var object = {
|
|
|
|
challenge_id: datas[i].challenge_id,
|
|
|
|
challenge_id: datas[i].challenge_id,
|
|
|
|
challenge_score: parseInt(datas[i].challenge_score),
|
|
|
|
challenge_score: datas[i].challenge_score,
|
|
|
|
};
|
|
|
|
};
|
|
|
|
challenge_scoredata.push(datas[i].challenge_score);
|
|
|
|
challenge_scoredata.push(datas[i].challenge_score);
|
|
|
|
array.push(object)
|
|
|
|
array.push(object)
|
|
|
@ -338,7 +344,7 @@ class Trainingjobsetting extends Component {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (this.state.allowreplenishment === "允许补交") {
|
|
|
|
if (this.state.allowreplenishment === true) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (this.state.late_times === undefined || this.state.late_times === null || this.state.late_times === "") {
|
|
|
|
if (this.state.late_times === undefined || this.state.late_times === null || this.state.late_times === "") {
|
|
|
@ -410,7 +416,7 @@ class Trainingjobsetting extends Component {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (this.state.allowreplenishment === "允许补交") {
|
|
|
|
if (this.state.allowreplenishment === true) {
|
|
|
|
if (this.state.latededuction === undefined) {
|
|
|
|
if (this.state.latededuction === undefined) {
|
|
|
|
this.props.showNotification(`请输入迟交扣分数`);
|
|
|
|
this.props.showNotification(`请输入迟交扣分数`);
|
|
|
|
|
|
|
|
|
|
|
@ -531,7 +537,7 @@ class Trainingjobsetting extends Component {
|
|
|
|
unified_setting: this.state.unifiedsetting, //统一配置
|
|
|
|
unified_setting: this.state.unifiedsetting, //统一配置
|
|
|
|
publish_time: moment(this.state.publish_time).format('YYYY-MM-DD HH:mm'), //发布时间
|
|
|
|
publish_time: moment(this.state.publish_time).format('YYYY-MM-DD HH:mm'), //发布时间
|
|
|
|
end_time: moment(this.state.end_time).format('YYYY-MM-DD HH:mm'), //截止时间
|
|
|
|
end_time: moment(this.state.end_time).format('YYYY-MM-DD HH:mm'), //截止时间
|
|
|
|
allow_late: this.state.allowreplenishment === "允许补交" ? true : false, //补交
|
|
|
|
allow_late: this.state.allowreplenishment, //补交
|
|
|
|
late_penalty: parseInt(this.state.latededuction), //迟交扣分
|
|
|
|
late_penalty: parseInt(this.state.latededuction), //迟交扣分
|
|
|
|
late_time: moment(this.state.late_time).format('YYYY-MM-DD HH:mm'), //结束时间
|
|
|
|
late_time: moment(this.state.late_time).format('YYYY-MM-DD HH:mm'), //结束时间
|
|
|
|
answer_open_evaluation: this.state.level === "满分" ? true : false, //扣分项
|
|
|
|
answer_open_evaluation: this.state.level === "满分" ? true : false, //扣分项
|
|
|
@ -547,7 +553,7 @@ class Trainingjobsetting extends Component {
|
|
|
|
data = {
|
|
|
|
data = {
|
|
|
|
unified_setting: this.state.unifiedsetting, //非统一配置
|
|
|
|
unified_setting: this.state.unifiedsetting, //非统一配置
|
|
|
|
group_settings: this.state.rulesdata,
|
|
|
|
group_settings: this.state.rulesdata,
|
|
|
|
allow_late: this.state.allowreplenishment === "允许补交" ? true : false, //补交
|
|
|
|
allow_late: this.state.allowreplenishment, //补交
|
|
|
|
late_penalty: parseInt(this.state.latededuction), //迟交扣分
|
|
|
|
late_penalty: parseInt(this.state.latededuction), //迟交扣分
|
|
|
|
late_time: moment(this.state.late_time).format('YYYY-MM-DD HH:mm'), //结束时间
|
|
|
|
late_time: moment(this.state.late_time).format('YYYY-MM-DD HH:mm'), //结束时间
|
|
|
|
answer_open_evaluation: this.state.level === "满分" ? true : false, //扣分项
|
|
|
|
answer_open_evaluation: this.state.level === "满分" ? true : false, //扣分项
|
|
|
@ -652,9 +658,8 @@ class Trainingjobsetting extends Component {
|
|
|
|
|
|
|
|
|
|
|
|
//允许补交
|
|
|
|
//允许补交
|
|
|
|
onChanges = (e) => {
|
|
|
|
onChanges = (e) => {
|
|
|
|
// console.log("640");
|
|
|
|
|
|
|
|
// console.log(this.state.end_time);
|
|
|
|
// console.log(this.state.end_time);
|
|
|
|
if(e.target.value ==="允许补交"){
|
|
|
|
if(e.target.checked ===true){
|
|
|
|
if(this.state.end_time !== null && this.state.end_time!== undefined){
|
|
|
|
if(this.state.end_time !== null && this.state.end_time!== undefined){
|
|
|
|
// console.log(this.state.end_time);
|
|
|
|
// console.log(this.state.end_time);
|
|
|
|
// var times = this.state.deadline.format('YYYY-MM-DD HH:mm');
|
|
|
|
// var times = this.state.deadline.format('YYYY-MM-DD HH:mm');
|
|
|
@ -666,16 +671,19 @@ class Trainingjobsetting extends Component {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
this.setState({
|
|
|
|
this.setState({
|
|
|
|
allowreplenishment: e.target.value,
|
|
|
|
allowreplenishment: e.target.checked,
|
|
|
|
latededuction:5,
|
|
|
|
latededuction:5,
|
|
|
|
whethertopay:true,
|
|
|
|
whethertopay:true,
|
|
|
|
})
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
}else {
|
|
|
|
}else {
|
|
|
|
this.setState({
|
|
|
|
this.setState({
|
|
|
|
allowreplenishment: e.target.value,
|
|
|
|
allowreplenishment: e.target.checked,
|
|
|
|
latededuction:0,
|
|
|
|
latededuction:0,
|
|
|
|
whethertopay:false,
|
|
|
|
whethertopay:false,
|
|
|
|
|
|
|
|
hand__e_tip: "",
|
|
|
|
|
|
|
|
hand_flags: false,
|
|
|
|
|
|
|
|
handclass:"",
|
|
|
|
})
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -693,11 +701,11 @@ class Trainingjobsetting extends Component {
|
|
|
|
|
|
|
|
|
|
|
|
this.state.proportion=e.target.value
|
|
|
|
this.state.proportion=e.target.value
|
|
|
|
if (e.target.value === "均分比例") {
|
|
|
|
if (e.target.value === "均分比例") {
|
|
|
|
this.Equalproportion();
|
|
|
|
this.Equalproportion(this.state.latedeductiontwo);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (e.target.value === "经验值比例") {
|
|
|
|
if (e.target.value === "经验值比例") {
|
|
|
|
this.Empiricalvalueratio();
|
|
|
|
this.Empiricalvalueratio(this.state.latedeductiontwo);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (e.target.value === "自定义分值") {
|
|
|
|
if (e.target.value === "自定义分值") {
|
|
|
@ -717,11 +725,11 @@ class Trainingjobsetting extends Component {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
onChangeslevelproportiontwo=(value)=>{
|
|
|
|
onChangeslevelproportiontwo=(value)=>{
|
|
|
|
if (value === "均分比例") {
|
|
|
|
if (value === "均分比例") {
|
|
|
|
this.Equalproportion();
|
|
|
|
this.Equalproportion(this.state.latedeductiontwo);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (value === "经验值比例") {
|
|
|
|
if (value === "经验值比例") {
|
|
|
|
this.Empiricalvalueratio();
|
|
|
|
this.Empiricalvalueratio(this.state.latedeductiontwo);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (value=== "自定义分值") {
|
|
|
|
if (value=== "自定义分值") {
|
|
|
@ -739,9 +747,9 @@ class Trainingjobsetting extends Component {
|
|
|
|
})
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//均分比例
|
|
|
|
//均分比例
|
|
|
|
Equalproportion = () => {
|
|
|
|
Equalproportion = (latedeductiontwo) => {
|
|
|
|
var challenge_settingsdata=this.state.challenge_settings;
|
|
|
|
var challenge_settingsdata=this.state.challenge_settings;
|
|
|
|
var latedeductiontwos=this.state.latedeductiontwo;
|
|
|
|
var latedeductiontwos=latedeductiontwo;
|
|
|
|
if(latedeductiontwos === undefined || latedeductiontwos===null || latedeductiontwos===""){
|
|
|
|
if(latedeductiontwos === undefined || latedeductiontwos===null || latedeductiontwos===""){
|
|
|
|
latedeductiontwos=0;
|
|
|
|
latedeductiontwos=0;
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -774,15 +782,22 @@ class Trainingjobsetting extends Component {
|
|
|
|
var intkks=0;
|
|
|
|
var intkks=0;
|
|
|
|
if(srbool==true){
|
|
|
|
if(srbool==true){
|
|
|
|
// 奇数
|
|
|
|
// 奇数
|
|
|
|
var exams = Math.round(Proportion)
|
|
|
|
var exams = parseFloat(Proportion.toFixed(1));
|
|
|
|
var intk = srorelength*exams;
|
|
|
|
var intk = srorelength*exams;
|
|
|
|
intkk=oushution - intk;
|
|
|
|
intkk=oushution - intk;
|
|
|
|
|
|
|
|
console.log("奇数");
|
|
|
|
|
|
|
|
console.log(srorelength);//3
|
|
|
|
|
|
|
|
console.log(oushution);//79
|
|
|
|
|
|
|
|
console.log(exams);//26.3
|
|
|
|
|
|
|
|
console.log(intk);//78.9
|
|
|
|
|
|
|
|
console.log(intkk);
|
|
|
|
}else {
|
|
|
|
}else {
|
|
|
|
// 偶数
|
|
|
|
// 偶数
|
|
|
|
var examsy = Math.round(Proportion)
|
|
|
|
var examsy =parseFloat(Proportion.toFixed(1));
|
|
|
|
intkks=oushution - (examsy*srorelength);
|
|
|
|
intkks=oushution - (examsy*srorelength);
|
|
|
|
|
|
|
|
console.log("偶数");
|
|
|
|
|
|
|
|
console.log(oushution);
|
|
|
|
|
|
|
|
console.log((examsy*srorelength));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
var mact=0;
|
|
|
|
var mact=0;
|
|
|
|
|
|
|
|
|
|
|
@ -790,20 +805,23 @@ class Trainingjobsetting extends Component {
|
|
|
|
for (var i=0;i<challenge_settingsdata.length;i++){
|
|
|
|
for (var i=0;i<challenge_settingsdata.length;i++){
|
|
|
|
if(challenge_settingsdata[i].checked === true) {
|
|
|
|
if(challenge_settingsdata[i].checked === true) {
|
|
|
|
if(srbool===false){
|
|
|
|
if(srbool===false){
|
|
|
|
|
|
|
|
console.log(intkks);
|
|
|
|
mact=mact+1;
|
|
|
|
mact=mact+1;
|
|
|
|
if(mact===srorelength){
|
|
|
|
if(mact===srorelength){
|
|
|
|
challenge_settingsdata[i].challenge_score = Math.round(Proportion)+intkks;
|
|
|
|
challenge_settingsdata[i].challenge_score = (parseFloat(Proportion.toFixed(1))+parseFloat(intkks.toFixed(1))).toFixed(1);
|
|
|
|
|
|
|
|
console.log( challenge_settingsdata[i].challenge_score);
|
|
|
|
|
|
|
|
|
|
|
|
}else {
|
|
|
|
}else {
|
|
|
|
challenge_settingsdata[i].challenge_score = Math.round(Proportion);
|
|
|
|
challenge_settingsdata[i].challenge_score = Proportion.toFixed(1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}else{
|
|
|
|
}else{
|
|
|
|
|
|
|
|
console.log(intkk);
|
|
|
|
mact=mact+1;
|
|
|
|
mact=mact+1;
|
|
|
|
if(mact===srorelength){
|
|
|
|
if(mact===srorelength){
|
|
|
|
challenge_settingsdata[i].challenge_score = Math.round(Proportion)+intkk;
|
|
|
|
challenge_settingsdata[i].challenge_score = (parseFloat(Proportion.toFixed(1))+parseFloat( intkk.toFixed(1))).toFixed(1);
|
|
|
|
|
|
|
|
console.log( challenge_settingsdata[i].challenge_score);
|
|
|
|
}else {
|
|
|
|
}else {
|
|
|
|
challenge_settingsdata[i].challenge_score = Math.round(Proportion);
|
|
|
|
challenge_settingsdata[i].challenge_score = Proportion.toFixed(1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -822,10 +840,10 @@ class Trainingjobsetting extends Component {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//经验值比例
|
|
|
|
//经验值比例
|
|
|
|
Empiricalvalueratio=()=>{
|
|
|
|
Empiricalvalueratio=(latedeductiontwo)=>{
|
|
|
|
var shixun_exp = this.state.shixun_exp;
|
|
|
|
var shixun_exp = this.state.shixun_exp;
|
|
|
|
var challenge_settingsdata=this.state.challenge_settings;
|
|
|
|
var challenge_settingsdata=this.state.challenge_settings;
|
|
|
|
var latedeductiontwos=this.state.latedeductiontwo;
|
|
|
|
var latedeductiontwos=latedeductiontwo;
|
|
|
|
if(latedeductiontwos === undefined || latedeductiontwos===null || latedeductiontwos===""){
|
|
|
|
if(latedeductiontwos === undefined || latedeductiontwos===null || latedeductiontwos===""){
|
|
|
|
latedeductiontwos=0;
|
|
|
|
latedeductiontwos=0;
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -845,14 +863,53 @@ class Trainingjobsetting extends Component {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//开始循环赋值
|
|
|
|
//开始循环赋值
|
|
|
|
|
|
|
|
var expzs=0;
|
|
|
|
|
|
|
|
var mact=0;
|
|
|
|
for (var i=0;i<challenge_settingsdata.length;i++){
|
|
|
|
for (var i=0;i<challenge_settingsdata.length;i++){
|
|
|
|
if(challenge_settingsdata[i].checked===true) {
|
|
|
|
if(challenge_settingsdata[i].checked===true) {
|
|
|
|
|
|
|
|
mact=mact+1;
|
|
|
|
var myint = (challenge_settingsdata[i].challenge_exp / Proportion) * ionsp;
|
|
|
|
var myint = (challenge_settingsdata[i].challenge_exp / Proportion) * ionsp;
|
|
|
|
challenge_settingsdata[i].challenge_score = myint.toFixed(2);
|
|
|
|
challenge_settingsdata[i].challenge_score = myint.toFixed(1);
|
|
|
|
|
|
|
|
expzs=parseFloat(myint.toFixed(1))+parseFloat(expzs);
|
|
|
|
|
|
|
|
}else{
|
|
|
|
|
|
|
|
challenge_settingsdata[i].challenge_score =0;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
var expzsy=0;
|
|
|
|
|
|
|
|
var bool= true;
|
|
|
|
|
|
|
|
if(ionsp - expzs>0){
|
|
|
|
|
|
|
|
expzsy=parseFloat(ionsp.toFixed(1)) - parseFloat(expzs.toFixed(1));
|
|
|
|
|
|
|
|
expzsy=Math.abs(expzsy);
|
|
|
|
|
|
|
|
bool=true;
|
|
|
|
|
|
|
|
}else{
|
|
|
|
|
|
|
|
expzsy= parseFloat(ionsp.toFixed(1)) - parseFloat(expzs.toFixed(1));
|
|
|
|
|
|
|
|
expzsy= Math.abs(expzsy);
|
|
|
|
|
|
|
|
bool=false;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
var macts=0;
|
|
|
|
|
|
|
|
for (var i=0;i<challenge_settingsdata.length;i++){
|
|
|
|
|
|
|
|
if(challenge_settingsdata[i].checked===true) {
|
|
|
|
|
|
|
|
macts= macts+1;
|
|
|
|
|
|
|
|
if(mact===macts){
|
|
|
|
|
|
|
|
if(bool===true){
|
|
|
|
|
|
|
|
challenge_settingsdata[i].challenge_score = (parseFloat(challenge_settingsdata[i].challenge_score)+parseFloat(expzsy.toFixed(1))).toFixed(1);
|
|
|
|
|
|
|
|
console.log(parseFloat(challenge_settingsdata[i].challenge_score)+parseFloat(expzsy.toFixed(1)));
|
|
|
|
|
|
|
|
console.log(parseFloat(expzsy.toFixed(1)));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}else {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
challenge_settingsdata[i].challenge_score = (parseFloat(challenge_settingsdata[i].challenge_score)-parseFloat(expzsy.toFixed(1))).toFixed(1);
|
|
|
|
|
|
|
|
console.log(parseFloat(challenge_settingsdata[i].challenge_score)-parseFloat(expzsy.toFixed(1)));
|
|
|
|
|
|
|
|
console.log(parseFloat(expzsy.toFixed(1)));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}else{
|
|
|
|
}else{
|
|
|
|
challenge_settingsdata[i].challenge_score =0;
|
|
|
|
challenge_settingsdata[i].challenge_score =0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -873,10 +930,10 @@ class Trainingjobsetting extends Component {
|
|
|
|
})
|
|
|
|
})
|
|
|
|
//均分比例
|
|
|
|
//均分比例
|
|
|
|
if(this.state.proportion==="均分比例"){
|
|
|
|
if(this.state.proportion==="均分比例"){
|
|
|
|
this.Equalproportion();
|
|
|
|
this.Equalproportion(20);
|
|
|
|
|
|
|
|
|
|
|
|
}else if(this.state.proportion==="经验值比例"){
|
|
|
|
}else if(this.state.proportion==="经验值比例"){
|
|
|
|
this.Empiricalvalueratio();
|
|
|
|
this.Empiricalvalueratio(20);
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -889,10 +946,10 @@ class Trainingjobsetting extends Component {
|
|
|
|
})
|
|
|
|
})
|
|
|
|
//均分比例
|
|
|
|
//均分比例
|
|
|
|
if(this.state.proportion==="均分比例"){
|
|
|
|
if(this.state.proportion==="均分比例"){
|
|
|
|
this.Equalproportion();
|
|
|
|
this.Equalproportion(0);
|
|
|
|
|
|
|
|
|
|
|
|
}else if(this.state.proportion==="经验值比例"){
|
|
|
|
}else if(this.state.proportion==="经验值比例"){
|
|
|
|
this.Empiricalvalueratio();
|
|
|
|
this.Empiricalvalueratio(0);
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -959,6 +1016,14 @@ class Trainingjobsetting extends Component {
|
|
|
|
this.setState({
|
|
|
|
this.setState({
|
|
|
|
latedeductiontwo: value,
|
|
|
|
latedeductiontwo: value,
|
|
|
|
})
|
|
|
|
})
|
|
|
|
|
|
|
|
//均分比例
|
|
|
|
|
|
|
|
if(this.state.proportion==="均分比例"){
|
|
|
|
|
|
|
|
this.Equalproportion(value);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}else if(this.state.proportion==="经验值比例"){
|
|
|
|
|
|
|
|
this.Empiricalvalueratio(value);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -993,7 +1058,7 @@ class Trainingjobsetting extends Component {
|
|
|
|
var challenge_settings = this.state.challenge_settings;
|
|
|
|
var challenge_settings = this.state.challenge_settings;
|
|
|
|
for (var i = 0; i < challenge_settings.length; i++) {
|
|
|
|
for (var i = 0; i < challenge_settings.length; i++) {
|
|
|
|
if (i === index) {
|
|
|
|
if (i === index) {
|
|
|
|
challenge_settings[i].challenge_score = parseInt(value);
|
|
|
|
challenge_settings[i].challenge_score = value;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -1183,7 +1248,7 @@ class Trainingjobsetting extends Component {
|
|
|
|
this.setState({
|
|
|
|
this.setState({
|
|
|
|
publish_time:moment(handleDateString(dateString))
|
|
|
|
publish_time:moment(handleDateString(dateString))
|
|
|
|
})
|
|
|
|
})
|
|
|
|
if(this.state.allowreplenishment === "允许补交") {
|
|
|
|
if(this.state.allowreplenishment === true) {
|
|
|
|
this.setState({
|
|
|
|
this.setState({
|
|
|
|
end_time:moment(handleDateString(dateString)).add(1, 'months'),
|
|
|
|
end_time:moment(handleDateString(dateString)).add(1, 'months'),
|
|
|
|
deadline:moment(handleDateString(dateString)).add(1, 'months').format('YYYY-MM-DD HH:mm'),
|
|
|
|
deadline:moment(handleDateString(dateString)).add(1, 'months').format('YYYY-MM-DD HH:mm'),
|
|
|
@ -1247,7 +1312,7 @@ class Trainingjobsetting extends Component {
|
|
|
|
end_time:moment(handleDateString(dateString))
|
|
|
|
end_time:moment(handleDateString(dateString))
|
|
|
|
})
|
|
|
|
})
|
|
|
|
// this.onChangedata('end_time', value, dateString);
|
|
|
|
// this.onChangedata('end_time', value, dateString);
|
|
|
|
if(this.state.allowreplenishment === "允许补交"){
|
|
|
|
if(this.state.allowreplenishment === true){
|
|
|
|
this.setState({
|
|
|
|
this.setState({
|
|
|
|
deadline:moment(handleDateString(dateString)).format('YYYY-MM-DD HH:mm'),
|
|
|
|
deadline:moment(handleDateString(dateString)).format('YYYY-MM-DD HH:mm'),
|
|
|
|
late_time:moment(handleDateString(dateString)).add(2, 'months'),
|
|
|
|
late_time:moment(handleDateString(dateString)).add(2, 'months'),
|
|
|
@ -1524,7 +1589,7 @@ class Trainingjobsetting extends Component {
|
|
|
|
if(moment(this.state.late_time,"YYYY-MM-DD HH:mm")<=moment()){
|
|
|
|
if(moment(this.state.late_time,"YYYY-MM-DD HH:mm")<=moment()){
|
|
|
|
endtime=false;
|
|
|
|
endtime=false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if(this.state.allowreplenishment === "禁止补交"){
|
|
|
|
if(this.state.allowreplenishment === false){
|
|
|
|
whethertopays=false;
|
|
|
|
whethertopays=false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
this.setState({
|
|
|
|
this.setState({
|
|
|
@ -1619,18 +1684,19 @@ class Trainingjobsetting extends Component {
|
|
|
|
if(response.data.messages === "100"){
|
|
|
|
if(response.data.messages === "100"){
|
|
|
|
// 已超出文件导出的上限数量(100 ),建议:
|
|
|
|
// 已超出文件导出的上限数量(100 ),建议:
|
|
|
|
this.setState({
|
|
|
|
this.setState({
|
|
|
|
DownloadType:false,
|
|
|
|
DownloadType:true,
|
|
|
|
DownloadMessageval:100
|
|
|
|
DownloadMessageval:100
|
|
|
|
})
|
|
|
|
})
|
|
|
|
}else {
|
|
|
|
}else {
|
|
|
|
//因附件资料超过500M
|
|
|
|
//因附件资料超过500M
|
|
|
|
this.setState({
|
|
|
|
this.setState({
|
|
|
|
DownloadType:false,
|
|
|
|
DownloadType:true,
|
|
|
|
DownloadMessageval:500
|
|
|
|
DownloadMessageval:500
|
|
|
|
})
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}else {
|
|
|
|
}else {
|
|
|
|
window.open(url, '_blank');
|
|
|
|
this.props.showNotification(`正在下载中`);
|
|
|
|
|
|
|
|
window.open("/api"+url, '_blank');
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}).catch((error) => {
|
|
|
|
}).catch((error) => {
|
|
|
|
console.log(error)
|
|
|
|
console.log(error)
|
|
|
@ -1643,18 +1709,40 @@ class Trainingjobsetting extends Component {
|
|
|
|
DownloadMessageval:undefined
|
|
|
|
DownloadMessageval:undefined
|
|
|
|
})
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
testscripttip =(e)=>{
|
|
|
|
|
|
|
|
if(e === 0){
|
|
|
|
|
|
|
|
this.setState({
|
|
|
|
|
|
|
|
testscripttiptype:true,
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
}else {
|
|
|
|
|
|
|
|
this.setState({
|
|
|
|
|
|
|
|
testscripttiptype:false,
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
ChangeTab=(e)=>{
|
|
|
|
|
|
|
|
this.props.ChangeTab(e);
|
|
|
|
|
|
|
|
}
|
|
|
|
render() {
|
|
|
|
render() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const dataformat = 'YYYY-MM-DD HH:mm';
|
|
|
|
const dataformat = 'YYYY-MM-DD HH:mm';
|
|
|
|
let {flagPageEdit,flagPageEdits,flagPageEditstwo,flagPageEditsbox,whethertopay,handclass,flagPageEditsthrees, flagPageEditsfor,rules,rulest,unifiedsetting,group_settings, course_group,unit_e_tip, borreds,borredss,unit_p_tip, end_time, late_time, score_open, publish_time, starttimetype, modalsType, modalsTopval, loadtype, modalSave, endtimetype, latetimetype, allowlate, latepenaltytype, jobsettingsdata, endOpen, mystyle, mystyles} = this.state;
|
|
|
|
let {flagPageEdit,testscripttiptype,flagPageEdits,flagPageEditstwo,flagPageEditsbox,whethertopay,handclass,flagPageEditsthrees, flagPageEditsfor,rules,rulest,unifiedsetting,group_settings, course_group,unit_e_tip, borreds,borredss,unit_p_tip, end_time, late_time, score_open, publish_time, starttimetype, modalsType, modalsTopval, loadtype, modalSave, endtimetype, latetimetype, allowlate, latepenaltytype, jobsettingsdata, endOpen, mystyle, mystyles} = this.state;
|
|
|
|
const radioStyle = {
|
|
|
|
const radioStyle = {
|
|
|
|
display: 'block',
|
|
|
|
display: 'block',
|
|
|
|
height: '30px',
|
|
|
|
height: '30px',
|
|
|
|
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');
|
|
|
@ -1668,7 +1756,7 @@ class Trainingjobsetting extends Component {
|
|
|
|
// console.log(this.props.isAdmin())
|
|
|
|
// console.log(this.props.isAdmin())
|
|
|
|
// console.log(this.state.code_review===false)
|
|
|
|
// console.log(this.state.code_review===false)
|
|
|
|
return (
|
|
|
|
return (
|
|
|
|
<div className="newMain clearfix " ref='targetElementTrainingjobsetting'>
|
|
|
|
<div className=" clearfix " ref='targetElementTrainingjobsetting' style={{margin: "auto" ,paddingBottom: "235px", minWidth:"1200px"}}>
|
|
|
|
{this.state.showmodel===true?<ShixunWorkModal
|
|
|
|
{this.state.showmodel===true?<ShixunWorkModal
|
|
|
|
{...this.props}
|
|
|
|
{...this.props}
|
|
|
|
visible={this.state.showmodel}
|
|
|
|
visible={this.state.showmodel}
|
|
|
@ -1711,43 +1799,12 @@ class Trainingjobsetting extends Component {
|
|
|
|
modalSave={modalSave}
|
|
|
|
modalSave={modalSave}
|
|
|
|
></Modals>
|
|
|
|
></Modals>
|
|
|
|
<div className={"educontent mb20"}>
|
|
|
|
<div className={"educontent mb20"}>
|
|
|
|
<div className="educontent mb30">
|
|
|
|
|
|
|
|
<p className="clearfix mb20 mt10">
|
|
|
|
|
|
|
|
<ActionBtn className=" btn colorgrey fl hovercolorblue "
|
|
|
|
|
|
|
|
to={`/courses/${this.props.match.params.coursesId}/students`}>{jobsettingsdata === undefined ? "" : jobsettingsdata.data.course_name}</ActionBtn>
|
|
|
|
|
|
|
|
<span className="color-grey-9 fl ml3 mr3">></span>
|
|
|
|
|
|
|
|
<ActionBtn
|
|
|
|
|
|
|
|
className=" btn colorgrey fl hovercolorblue "
|
|
|
|
|
|
|
|
to={`/courses/${this.props.match.params.coursesId}/${this.state.shixuntypes}/${jobsettingsdata === undefined ? "" : jobsettingsdata.data.category.category_id}`}>{jobsettingsdata === undefined ? "" : jobsettingsdata.data.category.category_name}</ActionBtn>
|
|
|
|
|
|
|
|
<span className="color-grey-9 fl ml3 mr3">></span>
|
|
|
|
|
|
|
|
<WordsBtn className="fl">作业详情</WordsBtn>
|
|
|
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div className="educontent mb30">
|
|
|
|
|
|
|
|
<p className=" fl color-black summaryname mt5" style={{heigth:"33px"}}>
|
|
|
|
|
|
|
|
{jobsettingsdata === undefined ? "" : jobsettingsdata.data.homework_name}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
<CoursesListType
|
|
|
|
|
|
|
|
typelist={jobsettingsdata === undefined ? [""] : jobsettingsdata.data.homework_status}
|
|
|
|
|
|
|
|
/>
|
|
|
|
|
|
|
|
<a className="color-grey-9 fr font-16 summaryname ml20 mr20" href={`/courses/${this.state.props.match.params.coursesId}/${this.state.shixuntypes}/${jobsettingsdata === undefined ? "" :jobsettingsdata.data.category.category_id}`}>返回</a>
|
|
|
|
|
|
|
|
<a className="color-grey-9 fr font-16 mr20" href={`/shixuns/${jobsettingsdata===undefined?"":jobsettingsdata.data.shixun_identifier}/challenges`} target={"_blank"}>实训详情</a>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div className="edu-back-white">
|
|
|
|
<div className="edu-back-white">
|
|
|
|
<div className="stud-class-set bor-bottom-greyE ">
|
|
|
|
<div className="stud-class-set bor-bottom-greyE ">
|
|
|
|
<div className=" clearfix edu-back-white poll_list">
|
|
|
|
<div className=" clearfix edu-back-white poll_list">
|
|
|
|
{this.props.isAdmin() === true ? <Link
|
|
|
|
<a onClick={(e)=>this.ChangeTab(0)}>作品列表</a>
|
|
|
|
to={`/courses/${this.state.props.match.params.coursesId}/${this.state.shixuntypes}/${this.state.props.match.params.homeworkid}/list`}>作品列表</Link> : <Link
|
|
|
|
<a onClick={(e)=>this.ChangeTab(1)}>作业问答</a>
|
|
|
|
to={`/courses/${this.state.props.match.params.coursesId}/${this.state.shixuntypes}/${this.state.props.match.params.homeworkid}/openlist`}>作品列表</Link>
|
|
|
|
{this.props.isAdmin()?this.state.code_review===true||jobsettingsdata === undefined ? [""] : jobsettingsdata.data.homework_status[0]==="未发布"?"": <a onClick={(e)=>this.ChangeTab(2)}>代码查重</a> : ""}
|
|
|
|
}
|
|
|
|
|
|
|
|
<Link
|
|
|
|
|
|
|
|
to={`/courses/${this.state.props.match.params.coursesId}/${this.state.shixuntypes}/${this.state.props.match.params.homeworkid}/questions`}>作业问答</Link>
|
|
|
|
|
|
|
|
{this.props.isAdmin()?this.state.code_review===true||jobsettingsdata === undefined ? [""] : jobsettingsdata.data.homework_status[0]==="未发布"?"": <Link
|
|
|
|
|
|
|
|
to={`/courses/${this.state.props.match.params.coursesId}/${this.state.shixuntypes}/${this.state.props.match.params.homeworkid}/student_work`}>代码查重</Link> : ""}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<style>{
|
|
|
|
<style>{
|
|
|
|
`
|
|
|
|
`
|
|
|
|
.poll_list a.active:after {
|
|
|
|
.poll_list a.active:after {
|
|
|
@ -1761,12 +1818,9 @@ class Trainingjobsetting extends Component {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
`
|
|
|
|
`
|
|
|
|
}</style>
|
|
|
|
}</style>
|
|
|
|
<Link className="active"
|
|
|
|
<a className="active"
|
|
|
|
to={`/courses/${this.state.props.match.params.coursesId}/${this.state.shixuntypes}/${this.state.props.match.params.homeworkid}/settings`}
|
|
|
|
onClick={(e)=>this.ChangeTab(3)}
|
|
|
|
>设置</Link>
|
|
|
|
>设置</a>
|
|
|
|
{/*<Link className="ml30" to={`/courses/${this.state.props.match.params.coursesId}/shixun_homeworks/${this.state.props.match.params.homeworkid}/shixun_work_report`}>*/}
|
|
|
|
|
|
|
|
{/*<a className="color-blue">查看实训报告</a>*/}
|
|
|
|
|
|
|
|
{/*</Link>*/}
|
|
|
|
|
|
|
|
<style>{`
|
|
|
|
<style>{`
|
|
|
|
.drop_down_menu li a {
|
|
|
|
.drop_down_menu li a {
|
|
|
|
padding: 0px;
|
|
|
|
padding: 0px;
|
|
|
@ -1797,13 +1851,13 @@ class Trainingjobsetting extends Component {
|
|
|
|
</ul>
|
|
|
|
</ul>
|
|
|
|
</li>: ""}
|
|
|
|
</li>: ""}
|
|
|
|
{this.props.isAdmin() ?jobsettingsdata&&jobsettingsdata.data.end_immediately===true?
|
|
|
|
{this.props.isAdmin() ?jobsettingsdata&&jobsettingsdata.data.end_immediately===true?
|
|
|
|
<a className="fr color-blue font-16" onClick={this.homeworkends}>立即截止</a> : "": ""}
|
|
|
|
<a className="fr color-blue font-16" onClick={this.homeworkends}>立即截止</a>
|
|
|
|
|
|
|
|
: "": ""}
|
|
|
|
{this.props.isAdmin() ?jobsettingsdata&&jobsettingsdata.data.publish_immediately===true?
|
|
|
|
{this.props.isAdmin() ?jobsettingsdata&&jobsettingsdata.data.publish_immediately===true?
|
|
|
|
<a className="fr color-blue font-16" onClick={this.homeworkstart}>立即发布</a>: "" : ""}
|
|
|
|
<a className="fr color-blue font-16" onClick={this.homeworkstart}>立即发布</a>: "" : ""}
|
|
|
|
|
|
|
|
|
|
|
|
{this.props.isAdmin()?
|
|
|
|
{this.props.isAdmin()?
|
|
|
|
this.state.code_review===true?<a className="fr color-blue font-16" onClick={this.workshowmodel}>代码查重</a>
|
|
|
|
jobsettingsdata&&jobsettingsdata.data.code_review===true?
|
|
|
|
: "":""}
|
|
|
|
<a className="fr color-blue font-16" onClick={this.workshowmodel}>代码查重</a>: "":""}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
{/*发布设置*/}
|
|
|
|
{/*发布设置*/}
|
|
|
@ -1813,8 +1867,8 @@ class Trainingjobsetting extends Component {
|
|
|
|
<span className="font-16 fl "style={{"color":"#05101A"}}>发布设置 <span className="ml15 color-grey-9" style={{"font-size":"14px","text-align":"left"}}></span></span>
|
|
|
|
<span className="font-16 fl "style={{"color":"#05101A"}}>发布设置 <span className="ml15 color-grey-9" style={{"font-size":"14px","text-align":"left"}}></span></span>
|
|
|
|
{
|
|
|
|
{
|
|
|
|
!flagPageEdit && this.props.isAdmin() === true ?
|
|
|
|
!flagPageEdit && this.props.isAdmin() === true ?
|
|
|
|
<a className="fr" onClick={this.editSetting}><Tooltip title="编辑"><i
|
|
|
|
<a className="fr" onClick={this.editSetting}><i
|
|
|
|
className="iconfont icon-bianjidaibeijing font-20 color-green pr20 "></i></Tooltip></a>
|
|
|
|
className="iconfont font-16 pr20 " style={{color:"#333333"}}>编辑</i></a>
|
|
|
|
: ""
|
|
|
|
: ""
|
|
|
|
}
|
|
|
|
}
|
|
|
|
</p>
|
|
|
|
</p>
|
|
|
@ -1824,7 +1878,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>
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -1864,7 +1918,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"}}>
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -1898,7 +1952,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"}}>
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -1928,13 +1982,13 @@ class Trainingjobsetting extends Component {
|
|
|
|
<div className=" clearfix edu-back-white poll_list mt10">
|
|
|
|
<div className=" clearfix edu-back-white poll_list mt10">
|
|
|
|
<div className={"font-16 color-dark fl pl20 mt10 "} style={{"color":"#05101A"}}>补交设置</div>
|
|
|
|
<div className={"font-16 color-dark fl pl20 mt10 "} style={{"color":"#05101A"}}>补交设置</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
{/*value={this.state.allowreplenishment}*/}
|
|
|
|
|
|
|
|
<div className="ml40 mt10"
|
|
|
|
|
|
|
|
>
|
|
|
|
|
|
|
|
<Checkbox style={radioStyle} value={"允许补交"} checked={this.state.allowreplenishment} onChange={this.onChanges} disabled={!flagPageEdit}>开启补交 <span
|
|
|
|
|
|
|
|
className={"font-14 ml10 color-grey-c"} style={{"text-align":"left","font-size":"14px"}} >(选中,则允许学生延时提交作品)</span></Checkbox>
|
|
|
|
|
|
|
|
|
|
|
|
<RadioGroup className="ml40 mt10" onChange={this.onChanges}
|
|
|
|
<div className={"h21 mb30 mt20"}>
|
|
|
|
value={this.state.allowreplenishment}>
|
|
|
|
|
|
|
|
<Radio style={radioStyle} value={"允许补交"} disabled={!flagPageEdit}>允许补交 <span
|
|
|
|
|
|
|
|
className={"font-14 ml10 color-grey-9"} style={{"text-align":"left","font-size":"14px"}} >(选中,则允许学生延时提交作品)</span></Radio>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div className={"h21 mb30 ml30 mt20"}>
|
|
|
|
|
|
|
|
<span style={{"width": "100px","color":"#999999"}}>迟交扣分:</span>
|
|
|
|
<span style={{"width": "100px","color":"#999999"}}>迟交扣分:</span>
|
|
|
|
<style>
|
|
|
|
<style>
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -1952,11 +2006,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}
|
|
|
@ -1975,7 +2029,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>
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -1992,8 +2046,8 @@ class Trainingjobsetting extends Component {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
</p>
|
|
|
|
</p>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<Radio style={radioStyle} value={"禁止补交"} disabled={!flagPageEdit}>禁止补交</Radio>
|
|
|
|
{/*<Radio style={radioStyle} value={"禁止补交"} disabled={!flagPageEdit}>禁止补交</Radio>*/}
|
|
|
|
</RadioGroup>
|
|
|
|
</div>
|
|
|
|
<div className="h20 mb10 "></div>
|
|
|
|
<div className="h20 mb10 "></div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
{/*评分设置*/}
|
|
|
|
{/*评分设置*/}
|
|
|
@ -2001,26 +2055,23 @@ 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
|
|
|
|
<div className="yslflexhomes">
|
|
|
|
className=" font-14 color-grey-9 ml15" style={{"text-align":"left"}}>(学生通过评测后再查看参考答案,不对成绩产生影响)</span></p>
|
|
|
|
<div style={{width:"700px"}}>
|
|
|
|
|
|
|
|
<div className="ml20 mt10 mt20">
|
|
|
|
<RadioGroup className="ml60 mt20" onChange={this.onChangeslevel} value={this.state.level}>
|
|
|
|
<span className="c_grey font-13" style={{"color":"#333333"}}> 关卡任务的选择和分值设置 </span><span className="ml15 font-14 color-grey-c" style={{"text-align":"left"}}>(成绩 = 效率分+ 关卡任务总分)</span>
|
|
|
|
<Radio style={radioStyle} disabled={!flagPageEdit} className="c_grey" value={"扣分"}>按查看答案级别扣分<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" style={{marginLeft:" 40px"}}>
|
|
|
|
<div className=" clearfix edu-back-white poll_list mt10">
|
|
|
|
<Checkbox disabled={!flagPageEdit} className=" font-13 mt10"
|
|
|
|
<Checkbox disabled={!flagPageEdit} className="ml60 font-13 mt20"
|
|
|
|
|
|
|
|
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>
|
|
|
|
<div className="ml85 mt30">
|
|
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<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"}}
|
|
|
@ -2029,29 +2080,75 @@ 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>
|
|
|
|
value={this.state.proportion}>
|
|
|
|
<div>
|
|
|
|
<Radio style={radioStyle} disabled={!flagPageEdit} className="c_grey mt20"
|
|
|
|
<div className="yslflexhomes invite-tipysl" style={{marginTop: "45px"}} >
|
|
|
|
value={"均分比例"} style={{"color":"#666666"}}>均分比例<span
|
|
|
|
<span className="to-back-left"></span>
|
|
|
|
className="color-grey-9 font-10 ml15" style={{"color":"#999999"}}>(根据任务数平均分配) 例如:实训任务5关,每一关分值为 1 / 5 * 100 = 20分</span></Radio>
|
|
|
|
<div className="padding20 invitecontent clearfix" style={{backgroundColor:" #FAFAFA"}}>
|
|
|
|
<Radio style={radioStyle} disabled={!flagPageEdit} className="c_grey mt20"
|
|
|
|
<p className="font-12 edu-txt-left">
|
|
|
|
value={"经验值比例"} style={{"color":"#666666"}}>经验值比例 <span
|
|
|
|
(学生工作效率= log(实训总得分/实训总耗时)<br/>
|
|
|
|
className="color-grey-9 font-10 ml15" style={{"color":"#999999"}}>(根据任务经验值在实训总经验值的比例进行分配) 例如:实训总经验值1500,某一关经验值为600,则这一关的分值为600 / 1500 * 100 = 40分
|
|
|
|
(学生效率分 = 学生工作效率 / 课堂学生最高工作效率 * 分值)<br/>
|
|
|
|
</span></Radio>
|
|
|
|
</p>
|
|
|
|
<Radio style={radioStyle} disabled={!flagPageEdit} className="c_grey mt20"
|
|
|
|
</div>
|
|
|
|
value={"自定义分值"} style={{"color":"#666666"}}>自定义分值 <span
|
|
|
|
</div>
|
|
|
|
className="color-grey-9 font-10 ml15" style={{"color":"#999999"}}>(手动设置关卡分值)</span></Radio>
|
|
|
|
</div>
|
|
|
|
</RadioGroup>
|
|
|
|
</div>
|
|
|
|
<p className="ml95 mt15 c_grey font-13 " style={{"color":"#666666"}}> 关卡名称<span
|
|
|
|
<div className="yslflexhome">
|
|
|
|
className="color-grey-9 font-10 ml30s" style={{"color":"#999999"}}>(选中的关卡将计入评分计算范围,暂时不支持跳关选择)</span><span
|
|
|
|
<div >
|
|
|
|
className="color-grey-9 ml90" style={{"color":"#666666"}}>分值</span></p>
|
|
|
|
<div className="ml20 mt40 mt20" >
|
|
|
|
<div className="ml95 mt15">
|
|
|
|
<span className="c_grey font-13" style={{"color":"#333333"}}> 关卡任务分值设置规则 </span> <span> <RadioGroup className="ml50" onChange={this.onChangeslevelproportion} value={this.state.proportion}>
|
|
|
|
|
|
|
|
<Radio style={{ display: 'block',
|
|
|
|
|
|
|
|
height: '30px',
|
|
|
|
|
|
|
|
lineHeight: '30px',
|
|
|
|
|
|
|
|
color:"#666666",
|
|
|
|
|
|
|
|
}} disabled={!flagPageEdit} className="c_grey mt20 "
|
|
|
|
|
|
|
|
value={"均分比例"} style={{"color":"#666666"}}>均分比例</Radio>
|
|
|
|
|
|
|
|
<Radio style={{ display: 'block',
|
|
|
|
|
|
|
|
height: '30px',
|
|
|
|
|
|
|
|
lineHeight: '30px',
|
|
|
|
|
|
|
|
color:"#666666",
|
|
|
|
|
|
|
|
}} disabled={!flagPageEdit} className="c_grey ml30"
|
|
|
|
|
|
|
|
value={"经验值比例"} style={{"color":"#666666"}}>难易度</Radio>
|
|
|
|
|
|
|
|
<Radio style={{ display: 'block',
|
|
|
|
|
|
|
|
height: '30px',
|
|
|
|
|
|
|
|
lineHeight: '30px',
|
|
|
|
|
|
|
|
color:"#666666",
|
|
|
|
|
|
|
|
}} disabled={!flagPageEdit} className="c_grey mt20 ml30"
|
|
|
|
|
|
|
|
value={"自定义分值"} style={{"color":"#666666"}}>自定义分值
|
|
|
|
|
|
|
|
<a onClick={()=>this.testscripttip(0)}><img style={{marginBottom:"3px",marginLeft:"10px"}} src={getImageUrl("images/educoder/problem.png") }/></a>
|
|
|
|
|
|
|
|
{testscripttiptype===true?
|
|
|
|
|
|
|
|
<div className="invite-tip clearfix " id="test_script_tip" style={{left: '140px',width: '322px',zIndex: '10'}}>
|
|
|
|
|
|
|
|
<span className="right-black-trangles"></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 onClick={()=>this.testscripttip(1)}>知道了</a>
|
|
|
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
:""}
|
|
|
|
|
|
|
|
</Radio>
|
|
|
|
|
|
|
|
</RadioGroup></span>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<p className="ml20 mt15 c_grey font-13 " style={{"color":"#666666"}}> 关卡名称<span
|
|
|
|
|
|
|
|
className="color-grey-c font-10 ml10">(需要学生完成的任务请选中)</span></p>
|
|
|
|
|
|
|
|
<div className="ml40 mt15" >
|
|
|
|
{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>
|
|
|
|
<Checkbox className="ml110 mt20 "
|
|
|
|
<Checkbox className="ml110 mt20 "
|
|
|
|
disabled={!flagPageEditsbox}
|
|
|
|
disabled={!flagPageEditsbox}
|
|
|
|
style={{"width": "400px","color":"#05101A"}}
|
|
|
|
style={{"width": "480px","color":"#05101A"}}
|
|
|
|
checked={object.checked}
|
|
|
|
checked={object.checked}
|
|
|
|
onChange={(value) => this.onChangedatasheet(value, index)}
|
|
|
|
onChange={(value) => this.onChangedatasheet(value, index)}
|
|
|
|
>{object.challenge_name}</Checkbox>
|
|
|
|
>{object.challenge_name}</Checkbox>
|
|
|
@ -2060,12 +2157,25 @@ 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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</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 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 ">
|
|
|
|
<div className=" clearfix edu-back-white poll_list mt20">
|
|
|
|
<div className=" clearfix edu-back-white poll_list mt20">
|
|
|
@ -2074,7 +2184,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>
|
|
|
|