dev_home
杨树明 5 years ago
commit c520a391af

@ -424,6 +424,9 @@
.competimgabsolute{
position: absolute;
left: 106px;
left: 100px;
bottom: -10px;
}
.competimgabsolute .ant-badge-count{
box-shadow: none !important;
}

@ -1,5 +1,5 @@
import React, { Component } from 'react';
import {Button,Layout,Tabs,Icon, Card, Avatar, Row, Col ,Table} from 'antd';
import {Button,Layout,Tabs,Icon, Card, Avatar, Row, Col ,Table,Badge} from 'antd';
import {markdownToHTML,getImageUrl} from 'educoder';
import axios from 'axios';
@ -200,10 +200,10 @@ class CompetitionContents extends Component{
<li className="pr Competitioncenter">
<img src={getImageUrl("images/educoder/huangguan-two.png")}/>
<div className={"mt10"}>
<a href={`/users/${item.user_login}`} target={"_blank"} className="color-dark">
<div>
<a href={`/users/${item.user_login}`} target={"_blank"} className="color-dark ">
<div className={"relativef"}>
<img className={"rankingimg"} src={getImageUrl(`images/${item.user_image===null?`avatars/User/0?1442652658`:item.user_image}`)} />
<div className={"competimgabsolute"}>123</div>
<div className={"competimgabsolute"}><Badge count={item.competition_prize} style={{ backgroundColor: '#459BE5' }} /></div>
</div>
<p className="task-hide rankName mt5 jinshaifont">{personal===undefined||personal===null?item.record_user_name:personal===true?item.record_user_name:item.team_name}</p>
</a>
@ -237,10 +237,13 @@ class CompetitionContents extends Component{
cover={
<div className={"Competitionfirstbox center"}>
<li className="pr Competitioncenter">
<img src={getImageUrl("images/educoder/huangguan.png")}/>
<img src={getImageUrl("images/educoder/huangguan.png")}/>
<div className={"mt10"}>
<a href={`/users/${item.user_login}`} target={"_blank"} className="color-dark">
<div className={"relativef"}>
<img className={"rankingimg"} src={getImageUrl(`images/${item.user_image===null?`avatars/User/0?1442652658`:item.user_image}`)} />
<div className={"competimgabsolute"}><Badge count={item.competition_prize} style={{ backgroundColor: '#459BE5' }} /></div>
</div>
<p className="task-hide rankName mt5 jinshaifont">{personal===undefined||personal===null?item.record_user_name:personal===true?item.record_user_name:item.team_name}</p>
</a>
</div>
@ -273,10 +276,13 @@ class CompetitionContents extends Component{
cover={
<div className={"Competitionsecondarybox center"}>
<li className=" pr Competitioncenter ">
<img src={getImageUrl("images/educoder/huangguan-three.png")}/>
<img src={getImageUrl("images/educoder/huangguan-three.png")}/>
<div className={"mt10"}>
<a href={`/users/${item.user_login}`} target={"_blank"} className="color-dark">
<img className={"rankingimg"} src={getImageUrl(`images/${item.user_image===null?`avatars/User/0?1442652658`:item.user_image}`)} />
<div className={"relativef"}>
<img className={"rankingimg"} src={getImageUrl(`images/${item.user_image===null?`avatars/User/0?1442652658`:item.user_image}`)} />
<div className={"competimgabsolute"}><Badge count={item.competition_prize} style={{ backgroundColor: '#459BE5' }} /></div>
</div>
<p className="task-hide rankName mt5 jinshaifont">{personal===undefined||personal===null?item.record_user_name:personal===true?item.record_user_name:item.team_name}</p>
</a>
</div>

@ -46,6 +46,7 @@ function disabledDateFunc(current) {
return current && current < moment().endOf('day').subtract(1, 'days');
}
// 类似页面 http://localhost:3007/courses/1309/graduation/graduation_tasks/48/76/setting
//普通作业分组作业设置
class CommonWorkSetting extends Component{
constructor(props){
@ -411,10 +412,11 @@ class CommonWorkSetting extends Component{
}
// 补交设置 允许补交
allow_late_change=(e)=>{
// console.log(e.target.checked );
this.setState({
allow_late: e.target.value
allow_late: e.target.checked
})
if (e.target.value) {
if (e.target.checked) {
this.setState({
late_penalty: 5
})
@ -1155,12 +1157,16 @@ class CommonWorkSetting extends Component{
<div className="stud-class-set bor-bottom-greyE pd20 edu-back-white pl36">
<div className={" font-16 color-dark h20 mb20"}>补交设置
<span className={"ml15 font-14 color-grey-9 "}>选中则允许学生延时提交作品</span>
<span className={"ml15 font-14 color-grey-9 "}></span>
</div>
<RadioGroup onChange={this.allow_late_change} value={allow_late}>
<Radio style={radioStyle} value={true} disabled={noAuth || moment(init_late_time) < this.fetchMoment}>允许补交</Radio>
<Checkbox style={radioStyle} value={"允许补交"} checked={allow_late} className="font-16 "
onChange={this.allow_late_change} disabled={noAuth || moment(init_late_time) < this.fetchMoment}>开启补交 <span
className={"font-14 ml10 color-grey-c"}
style={{textAlign: "left", fontSize: "14px"}}>选中则允许学生延时提交作品</span></Checkbox>
<div className={"h21 mb10 ml30 mt20"}>
<span>迟交扣分</span>
@ -1205,9 +1211,7 @@ class CommonWorkSetting extends Component{
</div>
<Radio style={radioStyle} value={false} disabled={noAuth || moment(init_late_time) < this.fetchMoment}>禁止补交</Radio>
</RadioGroup>
</div>
@ -1539,3 +1543,10 @@ class CommonWorkSetting extends Component{
const CommonWorkSettingForm = Form.create({ name: 'commonworkSettingForm' })(CommonWorkSetting);
export default CommonWorkSettingForm;
// {/*<RadioGroup onChange={this.allow_late_change} value={allow_late}>*/}
//
// {/* <Radio style={radioStyle} value={true} disabled={noAuth || moment(init_late_time) < this.fetchMoment}>允许补交</Radio>*/}
// {/* <Radio style={radioStyle} value={false} disabled={noAuth || moment(init_late_time) < this.fetchMoment}>禁止补交</Radio>*/}
//
// {/*</RadioGroup>*/}

@ -11,21 +11,209 @@ class ModulationModal_exercise extends Component {
score: 0,
subjective_questions: 0,
objective_questions: 0,
subjective_score: 0,
objective_score: 0,
subool: false,
Inputsval: '',
Inputsvals: '',
Inputsvaltype: false,
Inputsvaltypes: false,
Inputsvaltest: "",
Inputsvaltests: "",
}
//因为主观题加客观题的和是总分
}
componentDidMount = () => {
console.log("ModulationModal_exercise");
console.log(this.props);
this.setState({
subjective_score: this.props.subjective_score,
objective_score: this.props.objective_score,
})
if (this.props.subjective_score > 0 && this.props.objective_score > 0) {
this.setState({
subool: false,
})
} else {
this.setState({
subool: true
})
}
}
Saves = () => {
let {textareaval, subjective_questions, objective_questions, score} = this.state;
let {
textareaval,
subjective_questions,
objective_questions,
score,
subool,
Inputsval,
subjective_score,
objective_score,
Inputsvals
} = this.state;
let re = /^[0-9]+.?[0-9]*$/;//判断字符串是否为数字 //判断正整数 /^[1-9]+[0-9]*]*$/
if (subool === false) {
//不是总分模式
if (Inputsval === undefined || Inputsval === null || Inputsval === "") {
this.setState({
Inputsval: "",
Inputsvaltype: true,
Inputsvaltest: "请填写分数",
})
return
}
//判断主观题
var nubmer = Inputsval;
if (!re.test(nubmer)) {
this.setState({
Inputsval: Inputsval,
Inputsvaltype: true,
Inputsvaltest: "请输入0-100的分数",
})
return;
}
if (0 > parseFloat(Inputsval)) {
this.setState({
Inputsval: Inputsval,
Inputsvaltype: true,
Inputsvaltest: "成绩不能小于零",
})
return;
} else if (parseFloat(Inputsval) > this.props.subjective_score) {
this.setState({
Inputsval: Inputsval,
Inputsvaltype: true,
Inputsvaltest: `成绩不能大于${this.props.subjective_score}`,
})
return;
}
//判断客观题
if (Inputsvals === undefined || Inputsvals === null || Inputsvals === "") {
this.setState({
Inputsvals: "",
Inputsvaltypes: true,
Inputsvaltests: "请填写分数",
})
return
}
var nubmers = Inputsvals;
if (!re.test(nubmers)) {
this.setState({
Inputsvals: "",
Inputsvaltypes: true,
Inputsvaltests: "请输入0-100的分数",
})
return;
}
if (0 > parseFloat(Inputsvals)) {
this.setState({
Inputsvals: Inputsvals,
Inputsvaltypes: true,
Inputsvaltests: "请输入0-100的分数",
})
return;
} else if (parseFloat(Inputsval) > 100) {
this.setState({
Inputsvals: Inputsvals,
Inputsvaltypes: true,
Inputsvaltests: `成绩不能大于${this.props.objective_score}`,
})
return;
}
// this.props.Saves(textareaval, Inputsval)
} else {
//总分模式
if (subjective_score > 0) {
//主观题
if (Inputsval === undefined || Inputsval === null || Inputsval === "") {
this.setState({
Inputsval: "",
Inputsvaltype: true,
Inputsvaltest: "请填写分数",
})
return
}
//判断主观题
var nubmer = Inputsval;
if (!re.test(nubmer)) {
this.setState({
Inputsval: Inputsval,
Inputsvaltype: true,
Inputsvaltest: "请输入0-100的分数",
})
return;
}
if (0 > parseFloat(Inputsval)) {
this.setState({
Inputsval: Inputsval,
Inputsvaltype: true,
Inputsvaltest: "成绩不能小于零",
})
return;
} else if (parseFloat(Inputsval) > this.props.subjective_score) {
this.setState({
Inputsval: Inputsval,
Inputsvaltype: true,
Inputsvaltest: `成绩不能大于${this.props.subjective_score}`,
})
return;
}
} else if (objective_score > 0) {
//客观题
if (Inputsvals === undefined || Inputsvals === null || Inputsvals === "") {
this.setState({
Inputsvals: "",
Inputsvaltypes: true,
Inputsvaltests: "请填写分数",
})
return
}
var nubmers = Inputsvals;
if (!re.test(nubmers)) {
this.setState({
Inputsvals: "",
Inputsvaltypes: true,
Inputsvaltests: "请输入0-100的分数",
})
return;
}
if (0 > parseFloat(Inputsvals)) {
this.setState({
Inputsvals: Inputsvals,
Inputsvaltypes: true,
Inputsvaltests: "请输入0-100的分数",
})
return;
} else if (parseFloat(Inputsvals) > 100) {
this.setState({
Inputsvals: Inputsvals,
Inputsvaltypes: true,
Inputsvaltests: `成绩不能大于${this.props.objective_score}`,
})
return;
}
}
}
this.props.Saves(Inputsval, Inputsvals);
}
@ -35,13 +223,57 @@ class ModulationModal_exercise extends Component {
})
}
//主观题
setInputs = (e) => {
console.log("主");
console.log(e.target.value);
this.setState({
Inputsval: e.target.value,
Inputsvaltype: false,
})
}
//客观题
setInputss = (e) => {
console.log("客");
console.log(e.target.value);
this.setState({
Inputsvals: e.target.value,
Inputsvaltypes: false,
})
}
//最终成绩主观题
setInputsss = (e) => {
console.log("终主");
console.log(e.target.value);
this.setState({
Inputsval: e.target.value,
Inputsvaltype: false,
})
}
//最终成绩客观题
setInputssss = (e) => {
console.log("终客");
console.log(e.target.value);
this.setState({
Inputsvals: e.target.value,
Inputsvaltypes: false,
})
}
render() {
let {Inputsvaltype, subjective_questions, objective_questions, score} = this.state;
let {
Inputsvaltype,
Inputsvaltypes,
Inputsvaltest,
Inputsvaltests,
subjective_score,
objective_score,
Inputsval,
Inputsvals,
} = this.state;
return (
<div>
<Modal
@ -58,66 +290,216 @@ class ModulationModal_exercise extends Component {
flexDirection: "column",
alignItems: "center",
}}>
{
subjective_score > 0 && objective_score > 0 ?
<div>
{Inputsvaltype === true ?
<style>
{
`
.ant-input:hover {
border: 1px solid #DD1717!important;
}
.ant-input:focus {
border: 1px solid #DD1717!important;
}
}
`
}
</style>
:
""
<div className="mexertwo">
<p className="mexeheigth2">主观题成绩:</p>
<Input
className={Inputsvaltype === true ? "borerinput myinputnumbers bor-reds" : "myinputnumbers"}
style={{
width: "120px",
height: "40px",
}}
placeholder="请填写主观题成绩"
onChange={(e) => this.setInputs(e)}
value={subjective_questions === undefined || subjective_questions === null ? "" : subjective_questions}/>
<p className="mexeheigth"> ,</p>
<p className="mexeheigth"><span>总分</span><span>45.0 </span><span></span></p>
</div>
<div className="mexertwo">
<p className="mexeheigth2">客观题成绩:</p>
<Input
className={Inputsvaltype === true ? "borerinput myinputnumbers bor-reds" : "myinputnumbers"}
style={{
width: "120px",
height: "40px",
}}
placeholder="请填写客观题成绩"
onChange={(e) => this.setInputs(e)}
value={objective_questions === undefined || objective_questions === null ? "" : objective_questions}/>
<p className="mexeheigth"> ,</p>
<p className="mexeheigth"><span>总分</span><span>45.0 </span><span></span></p>
</div>
<div className="mexertwo">
<p className="mexeheigth2">最终成绩:</p>
<Input
className={Inputsvaltype === true ? "borerinput myinputnumbers bor-reds" : "myinputnumbers"}
style={{
width: "120px",
height: "40px",
}}
placeholder="请填写最终成绩"
onChange={(e) => this.setInputs(e)}
value={score === undefined || score === null ? "" : score}/>
<p className="mexeheigth"> ,</p>
<p className="mexeheigth"><span>总分</span><span>45.0 </span><span></span></p>
</div>
<div className="minbuttionte">
<a className="task-btn color-white mr30" style={{width: "72px",}}
onClick={this.props.Cancel}>{this.props.Cancelname || '取消'}</a>
<a className="task-btn task-btn-orange" style={{width: "72px",}}
onClick={this.Saves}>{this.props.Savesname || '保存'}</a>
</div>
}
<div className="mexertwo">
<p className="mexeheigth2">主观题成绩:</p>
<Input
className={Inputsvaltype === true ? "borerinput myinputnumbers bor-reds" : "myinputnumbers"}
style={{
width: "150px",
height: "40px",
}}
placeholder="请填写主观题成绩"
onInput={this.setInputs}
value={Inputsval === undefined || Inputsval === null ? "" : Inputsval}/>
<p className="mexeheigth ml10"> ,</p>
<p className="mexeheigth"><span>总分</span><span>{subjective_score}</span><span
className="ml10"></span></p>
</div>
{
Inputsvaltype === true ?
<p style={{
color: "#DD1717",
width: "77%",
marginLeft: "75px",
marginTop: "10px",
}}>{Inputsvaltest}</p>
: ""
}
{Inputsvaltypes === true ?
<style>
{
`
.ant-input:hover {
border: 1px solid #DD1717!important;
}
.ant-input:focus {
border: 1px solid #DD1717!important;
}
}
`
}
</style>
:
""
</div>
}
<div className="mexertwo">
<p className="mexeheigth2">客观题成绩:</p>
<Input
className={Inputsvaltypes === true ? "borerinput myinputnumbers bor-reds" : "myinputnumbers"}
style={{
width: "150px",
height: "40px",
}}
placeholder="请填写客观题成绩"
onInput={this.setInputss}
value={Inputsvals === undefined || Inputsvals === null ? "" : Inputsvals}/>
<p className="mexeheigth ml10"> ,</p>
<p className="mexeheigth"><span>总分</span><span>{objective_score} </span><span
className="ml10"></span></p>
</div>
{
Inputsvaltypes === true ?
<p style={{
color: "#DD1717",
width: "77%",
marginLeft: "75px",
marginTop: "10px",
}}>{Inputsvaltests}</p>
: ""
}
</div>
:
<div className="mt20">
{
subjective_score > 0 && objective_score === 0 ?
<div>
{Inputsvaltype === true ?
<style>
{
`
.ant-input:hover {
border: 1px solid #DD1717!important;
}
.ant-input:focus {
border: 1px solid #DD1717!important;
}
}
`
}
</style>
:
""
}
<div className="mexertwo">
<p className="mexeheigth2">最终成绩:</p>
<Input
className={Inputsvaltype === true ? "borerinput myinputnumbers bor-reds" : "myinputnumbers"}
style={{
width: "150px",
height: "40px",
}}
placeholder="请填写最终成绩"
onInput={this.setInputsss}
value={Inputsval === undefined || Inputsval === null ? "" : Inputsval}/>
<p className="mexeheigth ml10"> ,</p>
<p className="mexeheigth">
<span>总分</span><span>{subjective_score > 0 && objective_score === 0 ? subjective_score : ""} {objective_score > 0 && subjective_score === 0 ? objective_score : ""}</span><span
className="ml10"></span></p>
</div>
{
Inputsvaltype === true ?
<p style={{
color: "#DD1717",
width: "77%",
marginLeft: "75px",
marginTop: "10px",
}}>{Inputsvaltest}</p>
: ""
}
</div>
:
""
}
{
objective_score > 0 && subjective_score === 0 ?
<div>
{Inputsvaltypes === true ?
<style>
{
`
.ant-input:hover {
border: 1px solid #DD1717!important;
}
.ant-input:focus {
border: 1px solid #DD1717!important;
}
}
`
}
</style>
:
""
}
<div className="mexertwo">
<p className="mexeheigth2">最终成绩:</p>
<Input
className={Inputsvaltypes === true ? "borerinput myinputnumbers bor-reds" : "myinputnumbers"}
style={{
width: "150px",
height: "40px",
}}
placeholder="请填写最终成绩"
onInput={this.setInputssss}
value={Inputsvals === undefined || Inputsvals === null ? "" : Inputsvals}/>
<p className="mexeheigth ml10"> ,</p>
<p className="mexeheigth">
<span>总分</span><span>{subjective_score > 0 && objective_score === 0 ? subjective_score : ""} {objective_score > 0 && subjective_score === 0 ? objective_score : ""}</span><span
className="ml10"></span></p>
</div>
{
Inputsvaltypes === true ?
<p style={{
color: "#DD1717",
width: "77%",
marginLeft: "75px",
marginTop: "10px",
}}>{Inputsvaltests}</p>
: ""
}
</div>
:
""
}
<div className="minbuttionte">
<a className="task-btn color-white mr30" style={{width: "72px",}}
onClick={this.props.Cancel}>{this.props.Cancelname || '取消'}</a>
<a className="task-btn task-btn-orange" style={{width: "72px",}}
onClick={this.Saves}>{this.props.Savesname || '保存'}</a>
</div>
</div>
}
</div>
</Modal>
</div>
)

@ -361,7 +361,7 @@
.minbuttionte {
/* display: flex; */
margin-top: 27px;
margin-top: 20px;
width: 100%;
/* align-items: center; */
margin-bottom: 17px;

@ -1031,10 +1031,8 @@ class Studentshavecompletedthelist extends Component {
render: (text, record) => (
<span>
{record.finalscore==="--"?
<span style={{textAlign: "center", color: '#999999'}}
>--</span>
<a style={{textAlign: "center"}} className="color-blue" target="_blank"
onClick={() => this.Adjustment(record.user_id)}>评阅</a>
:
<a style={{textAlign: "center"}} className="color-blue"
target="_blank"
@ -1229,8 +1227,8 @@ class Studentshavecompletedthelist extends Component {
render: (text, record) => (
<span>
{record.finalscore==="--"?
<span style={{textAlign: "center", color: '#999999'}}
>--</span>
<a style={{textAlign: "center"}} className="color-blue" target="_blank"
onClick={() => this.Adjustment(record.user_id)}>评阅</a>
:
<a style={{textAlign: "center"}} className="color-blue"
target="_blank"
@ -2608,9 +2606,11 @@ class Studentshavecompletedthelist extends Component {
}
// 调分
Adjustment = (e) => {
console.log("Adjustment");
console.log(e);
this.setState({
testpapergradingboll: true,
exeuserid: e.user_id,
exeuserid: e,
})
}
@ -2625,12 +2625,13 @@ class Studentshavecompletedthelist extends Component {
//试卷调分
Testpapergrading = (v, n) => {
// debugger
var exercise_id = this.props.match.params.Id;
let url = `/exercises/${exercise_id}/adjust_score.json`;
axios.post(url, {
user_id: this.state.exeuserid,
subjective_score: n,
objective_score: v,
subjective_score: v,
objective_score: n,
})
.then((response) => {
if (response.data.status == '0') {
@ -2639,7 +2640,7 @@ class Studentshavecompletedthelist extends Component {
this.Teacherliststudentlist();
}
})
.catch(function (error) {
.catch((error) => {
console.log(error);
this.setState({testpapergradingboll: false})
});
@ -2676,18 +2677,20 @@ class Studentshavecompletedthelist extends Component {
</div>
:
<div>
{testpapergradingboll === true ? <ModulationModal
visible={testpapergradingboll}
Cancel={() => this.Adjustments()}
Saves={(value, num) => this.Testpapergrading(value, num)}
/> : ""}
{/*{*/}
{/* testpapergradingboll === true ? <ModulationModal_exercise*/}
{/* visible={testpapergradingboll}*/}
{/* Cancel={() => this.Adjustments()}*/}
{/* Saves={(value, num) => this.Testpapergrading(value, num)}*/}
{/* /> : ""*/}
{/*}*/}
{/*{testpapergradingboll === true ? <ModulationModal*/}
{/* visible={testpapergradingboll}*/}
{/* Cancel={() => this.Adjustments()}*/}
{/* Saves={(value, num) => this.Testpapergrading(value, num)}*/}
{/*/> : ""}*/}
{
testpapergradingboll === true ? <ModulationModal_exercise
{...this.props}
{...this.state}
visible={testpapergradingboll}
Cancel={() => this.Adjustments()}
Saves={(value, num) => this.Testpapergrading(value, num)}
/> : ""
}
<div className="edu-back-white" >
<ul className="clearfix" style={{padding: '10px 30px 10px 30px'}}>

@ -31,7 +31,7 @@ function disabledDate(current) {
return current && current < moment().endOf('day').subtract(1, 'days');
}
//毕设任务设置
class GraduationTaskssettingapp extends Component{
constructor(props){
@ -315,17 +315,17 @@ class GraduationTaskssettingapp extends Component{
allowlatefun=(e)=>{
let {end_time}=this.state;
if(e.target.value===true||e.target.value===1){
if(e.target.checked===true||e.target.checked===1){
this.setState({
latepenalty:5,
allowlate:e.target.value,
allowlate:e.target.checked,
latetime:end_time===null||end_time === ""?"":moment(moment(handleDateString(end_time))).add(1, 'months').format("YYYY-MM-DD HH:mm"),
})
}else{
this.setState({
latepenalty:0,
allowlate:e.target.value,
allowlate:e.target.checked,
latetime:""
})
}
@ -1120,10 +1120,10 @@ debugger
<div className="stud-class-set bor-bottom-greyE pd20 edu-back-white pl36">
<div className={" font-16 color-dark h20 mb20"}>补交设置 </div>
<RadioGroup onChange={this.allowlatefun} value={allowlate===true||allowlate===1?1:2} disabled={this.props.isAdmin()===true?flagPageEdit===true?false:true:true}>
<Radio style={radioStyle} value={1}>开启补交<span className={"font-14 color-grey-c "}>选中则允许学生延时提交作品</span></Radio>
<Checkbox style={radioStyle} value={"允许补交"} checked={allowlate} className="font-16 "
onChange={this.allowlatefun} disabled={this.props.isAdmin()===true?flagPageEdit===true?false:true:true}>开启补交 <span
className={"font-14 ml10 color-grey-c"}
style={{textAlign: "left", fontSize: "14px"}}>选中则允许学生延时提交作品</span></Checkbox>
<div className={"h21 mb30 ml30 mt20"}>
<span>迟交扣分</span>
@ -1163,11 +1163,6 @@ debugger
{latetimetype===true?<div className={"color-red ml70"}>{this.state.latetimetypeval}</div>:""}
</div>
<Radio style={radioStyle} value={2}>禁止补交</Radio>
</RadioGroup>
</div>
@ -1308,3 +1303,9 @@ debugger
const GraduationTaskssetting = Form.create({ name: 'coursesNew' })(GraduationTaskssettingapp);
export default GraduationTaskssetting;
// {/*<RadioGroup onChange={this.allowlatefun} value={allowlate===true||allowlate===1?1:2} disabled={this.props.isAdmin()===true?flagPageEdit===true?false:true:true}>*/}
//
// {/* <Radio style={radioStyle} value={1}>开启补交<span className={"font-14 color-grey-c "}>(选中,则允许学生延时提交作品)</span></Radio>*/}
// {/* <Radio style={radioStyle} value={2}>禁止补交</Radio>*/}
//
// {/*</RadioGroup>*/}

@ -45,6 +45,7 @@ const {Option} = Select;
//作品列表(学生)
let allow_lates=false;
let answer_open_evaluation=false;
class Listofworksstudentone extends Component {
//unifiedsetting 统一设置
//allowreplenishment 允许补交
@ -1173,7 +1174,7 @@ class Listofworksstudentone extends Component {
<div>{record.late_penalty === "--" ? <span>迟交扣分0</span> :
<span>迟交扣分{record.late_penalty}</span>}</div>
{record.view_answer_count===null?"":<div>查看参考答案{record.view_answer_count}</div>}
{record.view_answer_count===null?"":answer_open_evaluation===true?<div>查看参考答案{record.view_answer_count}</div>:""}
<div>{record.finalscore === "--" ? <span>最终成绩0</span> :
<span>最终成绩{record.finalscore}</span>}</div>
@ -1510,7 +1511,7 @@ class Listofworksstudentone extends Component {
<div>{record.late_penalty === "--" ? <span>迟交扣分0</span> :
<span>迟交扣分{record.late_penalty}</span>}</div>
{record.view_answer_count===null?"":<div>查看参考答案{record.view_answer_count}</div>}
{record.view_answer_count===null?"":answer_open_evaluation===true?<div>查看参考答案{record.view_answer_count}</div>:""}
<div>{record.finalscore === "--" ? <span>最终成绩0</span> :
<span>最终成绩{record.finalscore}</span>}</div>
@ -1749,9 +1750,11 @@ class Listofworksstudentone extends Component {
loadingstate: false,
computeTimetype: true,
homework_status: result.data.homework_status,
update_score: result.data.update_score
update_score: result.data.update_score,
});
allow_lates=result.data.allow_late;
answer_open_evaluation=result.data.answer_open_evaluation;
//老师
this.seacthdatat(result.data, result.data.student_works, result.data.work_efficiency, result.data.course_group_info, 1);
if (result.data.student_works === undefined || result.data.student_works === null || JSON.stringify(result.data.student_works) === "[]") {
@ -2491,8 +2494,11 @@ class Listofworksstudentone extends Component {
code_review: result.data.code_review,
challenges_count: result.data.challenges_count,
homework_status: result.data.homework_status,
answer_open_evaluation:result.data.answer_open_evaluation,
});
allow_lates=result.data.allow_late
allow_lates=result.data.allow_late;
answer_open_evaluation=result.data.answer_open_evaluation;
//老师
this.seacthdatat(result.data, result.data.student_works, result.data.work_efficiency, result.data.course_group_info, page);
this.props.Getdataback(result, result.data);
// }

@ -132,3 +132,17 @@
font-size: 16px;
margin-left:15px;
}
.maxnamewidth200 {
max-width: 200px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
cursor: default;
}
.maxnamewidth180 {
max-width: 180px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
cursor: default;
}

@ -201,15 +201,17 @@ class Statistics extends Component{
{
title: '姓名',
dataIndex:'user_name',
className: 'maxnamewidth180',
render: (text, record) => (
<span>{record.user_name}</span>
<a title={record.user_name} className="maxnamewidth180">{record.user_name}</a>
)
},
{
title: '分班',
dataIndex: 'course_group',
className: 'maxnamewidth200',
render: (text, record) => (
<span >{record.course_group}</span>
<a title={record.course_group} className="maxnamewidth200">{record.course_group}</a>
)
},
{

Loading…
Cancel
Save