|
|
@ -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 {
|
|
|
@ -12,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';
|
|
|
@ -27,6 +27,7 @@ import moment from 'moment';
|
|
|
|
import 'moment/locale/zh-cn';
|
|
|
|
import 'moment/locale/zh-cn';
|
|
|
|
import Modals from "../../modals/Modals";
|
|
|
|
import Modals from "../../modals/Modals";
|
|
|
|
import DownloadMessage from '../../modals/DownloadMessage';
|
|
|
|
import DownloadMessage from '../../modals/DownloadMessage';
|
|
|
|
|
|
|
|
import Startshixuntask from "../coursesPublic/Startshixuntask";
|
|
|
|
const RadioGroup = Radio.Group;
|
|
|
|
const RadioGroup = Radio.Group;
|
|
|
|
|
|
|
|
|
|
|
|
//GraduationTaskssetting.js
|
|
|
|
//GraduationTaskssetting.js
|
|
|
@ -112,7 +113,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")
|
|
|
@ -124,6 +126,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('/');
|
|
|
@ -142,13 +146,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:[],
|
|
|
@ -180,7 +188,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({
|
|
|
@ -205,6 +215,8 @@ class Trainingjobsetting extends Component {
|
|
|
|
})
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
this.setState({
|
|
|
|
this.setState({
|
|
|
|
rules:array,
|
|
|
|
rules:array,
|
|
|
|
rulest:arrays,
|
|
|
|
rulest:arrays,
|
|
|
@ -221,7 +233,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,
|
|
|
@ -231,10 +243,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
|
|
|
|
})
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
@ -262,7 +270,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)
|
|
|
@ -337,7 +345,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 === "") {
|
|
|
@ -409,7 +417,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(`请输入迟交扣分数`);
|
|
|
|
|
|
|
|
|
|
|
@ -530,7 +538,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, //扣分项
|
|
|
@ -546,7 +554,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, //扣分项
|
|
|
@ -651,9 +659,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');
|
|
|
@ -665,16 +672,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:"",
|
|
|
|
})
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -1049,7 +1059,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;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -1239,13 +1249,22 @@ 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'),
|
|
|
|
late_time:moment(handleDateString(dateString)).add(2, 'months'),
|
|
|
|
late_time:moment(handleDateString(dateString)).add(2, 'months'),
|
|
|
|
late_times:moment(handleDateString(dateString)).add(2, 'months').format('YYYY-MM-DD HH:mm'),
|
|
|
|
late_times:moment(handleDateString(dateString)).add(2, 'months').format('YYYY-MM-DD HH:mm'),
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
this.setState({
|
|
|
|
|
|
|
|
unit_e_tip: "",
|
|
|
|
|
|
|
|
p_flag: false,
|
|
|
|
|
|
|
|
borredss:undefined,
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
} catch (e) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}else{
|
|
|
|
}else{
|
|
|
|
this.setState({
|
|
|
|
this.setState({
|
|
|
|
end_time:moment(handleDateString(dateString)).add(1, 'months'),
|
|
|
|
end_time:moment(handleDateString(dateString)).add(1, 'months'),
|
|
|
@ -1303,7 +1322,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'),
|
|
|
@ -1580,7 +1599,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({
|
|
|
@ -1668,30 +1687,31 @@ class Trainingjobsetting extends Component {
|
|
|
|
|
|
|
|
|
|
|
|
/// 确认是否下载
|
|
|
|
/// 确认是否下载
|
|
|
|
confirmysl(url){
|
|
|
|
confirmysl(url){
|
|
|
|
axios.get(url).then((response) => {
|
|
|
|
this.refs.DownloadMessage.confirmysl(url);
|
|
|
|
if(response.data.status&&response.data.status===-1){
|
|
|
|
// axios.get(url).then((response) => {
|
|
|
|
|
|
|
|
// if(response.data.status&&response.data.status===-1){
|
|
|
|
|
|
|
|
|
|
|
|
}else if(response.data.status&&response.data.status===-2){
|
|
|
|
// }else if(response.data.status&&response.data.status===-2){
|
|
|
|
if(response.data.messages === "100"){
|
|
|
|
// if(response.data.messages === "100"){
|
|
|
|
// 已超出文件导出的上限数量(100 ),建议:
|
|
|
|
// // 已超出文件导出的上限数量(100 ),建议:
|
|
|
|
this.setState({
|
|
|
|
// this.setState({
|
|
|
|
DownloadType:true,
|
|
|
|
// DownloadType:true,
|
|
|
|
DownloadMessageval:100
|
|
|
|
// DownloadMessageval:100
|
|
|
|
})
|
|
|
|
// })
|
|
|
|
}else {
|
|
|
|
// }else {
|
|
|
|
//因附件资料超过500M
|
|
|
|
// //因附件资料超过500M
|
|
|
|
this.setState({
|
|
|
|
// this.setState({
|
|
|
|
DownloadType:true,
|
|
|
|
// DownloadType:true,
|
|
|
|
DownloadMessageval:500
|
|
|
|
// DownloadMessageval:500
|
|
|
|
})
|
|
|
|
// })
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
}else {
|
|
|
|
// }else {
|
|
|
|
this.props.showNotification(`正在下载中`);
|
|
|
|
// this.props.showNotification(`正在下载中`);
|
|
|
|
window.open("/api"+url, '_blank');
|
|
|
|
// window.open("/api"+url, '_blank');
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
}).catch((error) => {
|
|
|
|
// }).catch((error) => {
|
|
|
|
console.log(error)
|
|
|
|
// console.log(error)
|
|
|
|
});
|
|
|
|
// });
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
Downloadcal=()=>{
|
|
|
|
Downloadcal=()=>{
|
|
|
@ -1700,18 +1720,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');
|
|
|
@ -1725,7 +1767,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", minWidth:"1200px"}}>
|
|
|
|
{this.state.showmodel===true?<ShixunWorkModal
|
|
|
|
{this.state.showmodel===true?<ShixunWorkModal
|
|
|
|
{...this.props}
|
|
|
|
{...this.props}
|
|
|
|
visible={this.state.showmodel}
|
|
|
|
visible={this.state.showmodel}
|
|
|
@ -1736,9 +1778,7 @@ class Trainingjobsetting extends Component {
|
|
|
|
|
|
|
|
|
|
|
|
<DownloadMessage
|
|
|
|
<DownloadMessage
|
|
|
|
{...this.props}
|
|
|
|
{...this.props}
|
|
|
|
value={this.state.DownloadMessageval}
|
|
|
|
ref="DownloadMessage"
|
|
|
|
modalCancel={this.Downloadcal}
|
|
|
|
|
|
|
|
modalsType={this.state.DownloadType}
|
|
|
|
|
|
|
|
/>
|
|
|
|
/>
|
|
|
|
|
|
|
|
|
|
|
|
{/*立即发布*/}
|
|
|
|
{/*立即发布*/}
|
|
|
@ -1767,105 +1807,11 @@ class Trainingjobsetting extends Component {
|
|
|
|
loadtype={loadtype}
|
|
|
|
loadtype={loadtype}
|
|
|
|
modalSave={modalSave}
|
|
|
|
modalSave={modalSave}
|
|
|
|
></Modals>
|
|
|
|
></Modals>
|
|
|
|
<div className={"educontent mb20"}>
|
|
|
|
<div className={"educontent "}>
|
|
|
|
<div className="educontent mb20">
|
|
|
|
<div className="edu-back-white" style={{paddingTop: "20px"}}>
|
|
|
|
<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 mb20">
|
|
|
|
|
|
|
|
<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="stud-class-set bor-bottom-greyE ">
|
|
|
|
|
|
|
|
<div className=" clearfix edu-back-white poll_list">
|
|
|
|
|
|
|
|
{this.props.isAdmin() === true ? <Link
|
|
|
|
|
|
|
|
to={`/courses/${this.state.props.match.params.coursesId}/${this.state.shixuntypes}/${this.state.props.match.params.homeworkid}/list`}>作品列表</Link> : <Link
|
|
|
|
|
|
|
|
to={`/courses/${this.state.props.match.params.coursesId}/${this.state.shixuntypes}/${this.state.props.match.params.homeworkid}/openlist`}>作品列表</Link>
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
<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>{
|
|
|
|
|
|
|
|
`
|
|
|
|
|
|
|
|
.poll_list a.active:after {
|
|
|
|
|
|
|
|
content: '';
|
|
|
|
|
|
|
|
width: 57px;
|
|
|
|
|
|
|
|
left: 10px;
|
|
|
|
|
|
|
|
bottom: 0px;
|
|
|
|
|
|
|
|
height: 2px;
|
|
|
|
|
|
|
|
background-color: #4CACFF;
|
|
|
|
|
|
|
|
position: absolute;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
`
|
|
|
|
|
|
|
|
}</style>
|
|
|
|
|
|
|
|
<Link className="active"
|
|
|
|
|
|
|
|
to={`/courses/${this.state.props.match.params.coursesId}/${this.state.shixuntypes}/${this.state.props.match.params.homeworkid}/settings`}
|
|
|
|
|
|
|
|
>设置</Link>
|
|
|
|
|
|
|
|
{/*<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>{`
|
|
|
|
|
|
|
|
.drop_down_menu li a {
|
|
|
|
|
|
|
|
padding: 0px;
|
|
|
|
|
|
|
|
font-size: 14px;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
.drop_down_menu {
|
|
|
|
|
|
|
|
width: 93px;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
.drop_down_menu li {
|
|
|
|
|
|
|
|
overflow: visible;
|
|
|
|
|
|
|
|
width: 93px;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
.drop_down_menu, .drop_down_normal {
|
|
|
|
|
|
|
|
padding-top: 10px;
|
|
|
|
|
|
|
|
padding-bottom: 8px;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
a:hover {
|
|
|
|
|
|
|
|
color:#1A0B00 !important;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
`}</style>
|
|
|
|
|
|
|
|
{this.props.isAdmin() ? <li className="li_line drop_down fr color-blue font-16 mr8 mt20" style={{"padding": "0 20px"}}>
|
|
|
|
|
|
|
|
导出<i className="iconfont icon-xiajiantou font-12 ml2"></i>
|
|
|
|
|
|
|
|
<ul className="drop_down_menu" style={{"right": "-0px", "left": "unset", "height": "auto"}}>
|
|
|
|
|
|
|
|
<li><a onClick={()=>this.confirmysl(`/zip/shixun_report?homework_common_id=${this.props.match.params.homeworkid}`)}>实训报告</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
|
|
<li><a onClick={()=>this.confirmysl(`/homework_commons/${this.props.match.params.homeworkid}/works_list.xlsx`)}>学生成绩</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
</li>: ""}
|
|
|
|
|
|
|
|
{this.props.isAdmin() ?jobsettingsdata&&jobsettingsdata.data.end_immediately===true?
|
|
|
|
|
|
|
|
<a className="fr color-blue font-16" onClick={this.homeworkends}>立即截止</a> : "": ""}
|
|
|
|
|
|
|
|
{this.props.isAdmin() ?jobsettingsdata&&jobsettingsdata.data.publish_immediately===true?
|
|
|
|
|
|
|
|
<a className="fr color-blue font-16" onClick={this.homeworkstart}>立即发布</a> : "": ""}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{this.props.isAdmin()?
|
|
|
|
|
|
|
|
this.state.code_review===true?<a className="fr color-blue font-16" onClick={this.workshowmodel}>代码查重</a>
|
|
|
|
|
|
|
|
: "":""}
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
{/*发布设置*/}
|
|
|
|
{/*发布设置*/}
|
|
|
|
<div className="stud-class-set bor-bottom-greyE edu-back-white">
|
|
|
|
<div className="stud-class-set bor-bottom-greyE edu-back-white">
|
|
|
|
<div className=" mt20 pl20">
|
|
|
|
<div className=" pl20">
|
|
|
|
<p className=" clearfix " style={{height:"41px"}}>
|
|
|
|
<p className=" clearfix " style={{height:"41px"}}>
|
|
|
|
<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>
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -1881,7 +1827,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>
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -1897,7 +1843,7 @@ class Trainingjobsetting extends Component {
|
|
|
|
unifiedsetting === undefined ? "" : unifiedsetting=== true ?
|
|
|
|
unifiedsetting === undefined ? "" : unifiedsetting=== true ?
|
|
|
|
<div>
|
|
|
|
<div>
|
|
|
|
<div className="clearfix mb5 ml15">
|
|
|
|
<div className="clearfix mb5 ml15">
|
|
|
|
<span className="font-16 fl mt6" style={{"color":"#999999"}}>发布时间:</span>
|
|
|
|
<span className="font-16 fl mt3" style={{"color":"#999999"}}>发布时间:</span>
|
|
|
|
<Tooltip placement="bottom" title={this.props.isSuperAdmin() ? "" : !flagPageEditstwo === true ? "发布时间已过,则不能修改" : ""}>
|
|
|
|
<Tooltip placement="bottom" title={this.props.isSuperAdmin() ? "" : !flagPageEditstwo === true ? "发布时间已过,则不能修改" : ""}>
|
|
|
|
<div className="fl">
|
|
|
|
<div className="fl">
|
|
|
|
<DatePicker
|
|
|
|
<DatePicker
|
|
|
@ -1921,16 +1867,16 @@ 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 mt5 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"}}>
|
|
|
|
{
|
|
|
|
{
|
|
|
|
unit_p_tip && unit_p_tip != "" ? <span className="fl">{ unit_p_tip }</span>
|
|
|
|
unit_p_tip && unit_p_tip != "" ? <span className="fl" style={{marginLeft: "94px"}}>{ unit_p_tip }</span>
|
|
|
|
: ""
|
|
|
|
: ""
|
|
|
|
}
|
|
|
|
}
|
|
|
|
</p>
|
|
|
|
</p>
|
|
|
|
<div className="clearfix ml15 mb5">
|
|
|
|
<div className="clearfix ml15 mb5">
|
|
|
|
<span className=" fl mt10 font-16" style={{"color":"#999999"}}>截止时间:</span>
|
|
|
|
<span className=" fl mt3 font-16" style={{"color":"#999999"}}>截止时间:</span>
|
|
|
|
<Tooltip placement="bottom" title={this.props.isSuperAdmin() ? "" : !flagPageEditsthrees === true ? "截止时间已过,则不能修改" : ""}>
|
|
|
|
<Tooltip placement="bottom" title={this.props.isSuperAdmin() ? "" : !flagPageEditsthrees === true ? "截止时间已过,则不能修改" : ""}>
|
|
|
|
<div className="fl">
|
|
|
|
<div className="fl">
|
|
|
|
<DatePicker
|
|
|
|
<DatePicker
|
|
|
@ -1955,11 +1901,11 @@ 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 mt5 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"}}>
|
|
|
|
{
|
|
|
|
{
|
|
|
|
unit_e_tip && unit_e_tip != "" ? <span className="fl">{ unit_e_tip }</span> :""
|
|
|
|
unit_e_tip && unit_e_tip != "" ? <span className="fl" style={{marginLeft: "94px"}}>{ unit_e_tip }</span> :""
|
|
|
|
}
|
|
|
|
}
|
|
|
|
</p>
|
|
|
|
</p>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
@ -1985,13 +1931,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>
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -2009,11 +1955,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}
|
|
|
@ -2032,7 +1978,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>
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -2049,8 +1995,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>
|
|
|
|
{/*评分设置*/}
|
|
|
|
{/*评分设置*/}
|
|
|
@ -2058,26 +2004,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>
|
|
|
|
<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"}}
|
|
|
@ -2086,29 +2029,76 @@ 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>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div className="yslflexhome">
|
|
|
|
|
|
|
|
<div >
|
|
|
|
|
|
|
|
<div className="ml20 mt40 mt20" >
|
|
|
|
|
|
|
|
<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"}}>自定义分值
|
|
|
|
|
|
|
|
{testscripttiptype===true?
|
|
|
|
|
|
|
|
<div className="invite-tipysls clearfix " id="test_script_tip" style={{left: '148px',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>
|
|
|
|
</RadioGroup>
|
|
|
|
<p className="ml95 mt15 c_grey font-13 " style={{"color":"#666666"}}> 关卡名称<span
|
|
|
|
<a onClick={()=>this.testscripttip(0)}><img style={{marginBottom:"3px",marginLeft:"20px"}} src={getImageUrl("images/educoder/problem.png") }/></a>
|
|
|
|
className="color-grey-9 font-10 ml30s" style={{"color":"#999999"}}>(选中的关卡将计入评分计算范围,暂时不支持跳关选择)</span><span
|
|
|
|
</span>
|
|
|
|
className="color-grey-9 ml90" style={{"color":"#666666"}}>分值</span></p>
|
|
|
|
</div>
|
|
|
|
<div className="ml95 mt15">
|
|
|
|
<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>
|
|
|
@ -2117,12 +2107,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">
|
|
|
@ -2131,7 +2134,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>
|
|
|
@ -2162,3 +2165,73 @@ class Trainingjobsetting extends Component {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
export default Trainingjobsetting;
|
|
|
|
export default Trainingjobsetting;
|
|
|
|
|
|
|
|
// <div className="stud-class-set bor-bottom-greyE ">
|
|
|
|
|
|
|
|
// <div className=" clearfix edu-back-white poll_list">
|
|
|
|
|
|
|
|
// <a onClick={(e)=>this.ChangeTab(0)}>作品列表</a>
|
|
|
|
|
|
|
|
// <a onClick={(e)=>this.ChangeTab(1)}>作业问答</a>
|
|
|
|
|
|
|
|
// {this.props.isAdmin()?this.state.code_review===true||jobsettingsdata === undefined ? [""] : jobsettingsdata.data.homework_status[0]==="未发布"?"": <a onClick={(e)=>this.ChangeTab(2)}>代码查重</a> : ""}
|
|
|
|
|
|
|
|
// <style>{
|
|
|
|
|
|
|
|
// `
|
|
|
|
|
|
|
|
// .poll_list a.active:after {
|
|
|
|
|
|
|
|
// content: '';
|
|
|
|
|
|
|
|
// width: 57px;
|
|
|
|
|
|
|
|
// left: 10px;
|
|
|
|
|
|
|
|
// bottom: 0px;
|
|
|
|
|
|
|
|
// height: 2px;
|
|
|
|
|
|
|
|
// background-color: #4CACFF;
|
|
|
|
|
|
|
|
// position: absolute;
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// `
|
|
|
|
|
|
|
|
// }</style>
|
|
|
|
|
|
|
|
// <a className="active"
|
|
|
|
|
|
|
|
// onClick={(e)=>this.ChangeTab(3)}
|
|
|
|
|
|
|
|
// >设置</a>
|
|
|
|
|
|
|
|
// <style>{`
|
|
|
|
|
|
|
|
// .drop_down_menu li a {
|
|
|
|
|
|
|
|
// padding: 0px;
|
|
|
|
|
|
|
|
// font-size: 14px;
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// .drop_down_menu {
|
|
|
|
|
|
|
|
// width: 93px;
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// .drop_down_menu li {
|
|
|
|
|
|
|
|
// overflow: visible;
|
|
|
|
|
|
|
|
// width: 93px;
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// .drop_down_menu, .drop_down_normal {
|
|
|
|
|
|
|
|
// padding-top: 10px;
|
|
|
|
|
|
|
|
// padding-bottom: 8px;
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// a:hover {
|
|
|
|
|
|
|
|
// color:#1A0B00 !important;
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// `}</style>
|
|
|
|
|
|
|
|
// {this.props.isAdmin() ? <li className="li_line drop_down fr color-blue font-16 mr8 mt20" style={{"padding": "0 20px"}}>
|
|
|
|
|
|
|
|
// 导出<i className="iconfont icon-xiajiantou font-12 ml2"></i>
|
|
|
|
|
|
|
|
// <ul className="drop_down_menu" style={{"right": "-0px", "left": "unset", "height": "auto"}}>
|
|
|
|
|
|
|
|
// <li><a onClick={()=>this.confirmysl(`/zip/shixun_report?homework_common_id=${this.props.match.params.homeworkid}`)}>实训报告</a>
|
|
|
|
|
|
|
|
// </li>
|
|
|
|
|
|
|
|
// <li><a onClick={()=>this.confirmysl(`/homework_commons/${this.props.match.params.homeworkid}/works_list.xlsx`)}>学生成绩</a>
|
|
|
|
|
|
|
|
// </li>
|
|
|
|
|
|
|
|
// </ul>
|
|
|
|
|
|
|
|
// </li>: ""}
|
|
|
|
|
|
|
|
// {this.props.isAdmin() ?jobsettingsdata&&jobsettingsdata.data.end_immediately===true?
|
|
|
|
|
|
|
|
// <a className="fr color-blue font-16" onClick={this.homeworkends}>立即截止</a>
|
|
|
|
|
|
|
|
// : "": ""}
|
|
|
|
|
|
|
|
// {this.props.isAdmin() ?jobsettingsdata&&jobsettingsdata.data.publish_immediately===true?
|
|
|
|
|
|
|
|
// <a className="fr color-blue font-16" onClick={this.homeworkstart}>立即发布</a>: "" : ""}
|
|
|
|
|
|
|
|
// {this.props.isAdmin()?
|
|
|
|
|
|
|
|
// jobsettingsdata&&jobsettingsdata.data.code_review===true?
|
|
|
|
|
|
|
|
// <a className="fr color-blue font-16" onClick={this.workshowmodel}>代码查重</a>: "":""}
|
|
|
|
|
|
|
|
// {
|
|
|
|
|
|
|
|
// jobsettingsdata&& jobsettingsdata&&jobsettingsdata.data === undefined ? ""
|
|
|
|
|
|
|
|
// : jobsettingsdata&& jobsettingsdata.data.commit_des === null || jobsettingsdata&& jobsettingsdata.data.commit_des === undefined ? "" :
|
|
|
|
|
|
|
|
// <a className="fr color-blue font-16"
|
|
|
|
|
|
|
|
// href={`/courses/${this.state.props.match.params.coursesId}/${this.state.shixuntypes}/${ jobsettingsdata&& jobsettingsdata.data === undefined ? "" : jobsettingsdata&& jobsettingsdata.data.id}/commitsummary/${this.state.props.match.params.homeworkid}`}>{ jobsettingsdata&& jobsettingsdata.data.commit_des}</a>
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// { jobsettingsdata&&jobsettingsdata.data === undefined ? "" : <Startshixuntask
|
|
|
|
|
|
|
|
// {...this.props}
|
|
|
|
|
|
|
|
// data={ jobsettingsdata&& jobsettingsdata.data}
|
|
|
|
|
|
|
|
// />}
|
|
|
|
|
|
|
|
{/* </div>*/}
|
|
|
|
|
|
|
|
{/*</div>*/}
|
|
|
|