diff --git a/public/react/src/modules/courses/coursesPublic/AccessoryModal.js b/public/react/src/modules/courses/coursesPublic/AccessoryModal.js index 9c57001c8..5baf4e0c6 100644 --- a/public/react/src/modules/courses/coursesPublic/AccessoryModal.js +++ b/public/react/src/modules/courses/coursesPublic/AccessoryModal.js @@ -16,7 +16,8 @@ class AccessoryModal extends Component{ ModalCancel:"", ModalSave:"", loadtype:false, - updatas:false + updatas:false, + shixunsreplace:false } } @@ -103,7 +104,8 @@ class AccessoryModal extends Component{ Modalstype:false, Modalstopval:"", ModalSave:this.ModalCancelModalCancel, - loadtype:false + loadtype:false, + shixunsreplace:false, }) this.props.Cancel() } @@ -115,11 +117,11 @@ class AccessoryModal extends Component{ for(var list of fileList){ newfileList.push(list.response.id) } -debugger + if (newfileList.length == 0) { // this.props.showNotification('请先上传附件') this.setState({ - updatas:true + shixunsreplace:true, }) return; } @@ -130,7 +132,7 @@ debugger attachment_ids:newfileList }).then((result)=>{ console.log(result) - if(result.data.status===0){ + if(result !== undefined){ this.props.setupdate() this.props.showNotification('提交成功') // this.setState({ @@ -139,7 +141,6 @@ debugger // ModalSave:this.ModalCancelModalCancel, // loadtype:true // }) - this.ModalCancelModalCancel() if(this.props.seeworks!=undefined){ this.props.history.push(this.props.seeworks); @@ -155,6 +156,46 @@ debugger description:e.target.value }) } + //确认 + hidestartshixunsreplace=()=>{ + let id=this.props.categoryid; + let {fileList,description} =this.state; + + let newfileList=[]; + for(var list of fileList){ + newfileList.push(list.response.id) + } + let url= this.props.reviseAttachmentUrl || "/graduation_works/"+id+"/revise_attachment.json" + axios.post(url,{ + description:description, + attachment_ids:newfileList + }).then((result)=>{ + console.log(result) + if(result.data.status===0){ + this.props.setupdate() + this.props.showNotification('提交成功') + // this.setState({ + // Modalstype:true, + // Modalstopval:result.data.message, + // ModalSave:this.ModalCancelModalCancel, + // loadtype:true + // }) + + this.ModalCancelModalCancel() + if(this.props.seeworks!=undefined){ + this.props.history.push(this.props.seeworks); + } + } + }).catch((error)=>{ + + }) + } + //取消 + hidestartshixunsreplacetwo=()=>{ + this.setState({ + shixunsreplace:false, + }) + } render(){ let {settextarea,fileList, @@ -163,6 +204,7 @@ debugger ModalCancel, ModalSave, loadtype, + shixunsreplace, }=this.state; let {course_groups}=this.props; const uploadProps = { @@ -186,6 +228,25 @@ debugger return( + + +
+

还未上传附件

+

是否确认提交作品?

+
+
+ this.hidestartshixunsreplace()}>确认 + this.hidestartshixunsreplacetwo()}>取消 +
+
{/*提示*/}

- 发布设置(课堂管理员、教师、助教拥有发布设置权限) + 发布设置 { !flagPageEdit&&this.props.isAdmin()===true ? @@ -660,7 +660,7 @@ class Exercisesetting extends Component{ {getFieldDecorator('time') ( - )} diff --git a/public/react/src/modules/courses/graduation/tasks/GraduationTasksappraise.js b/public/react/src/modules/courses/graduation/tasks/GraduationTasksappraise.js index 638a09507..562882bbb 100644 --- a/public/react/src/modules/courses/graduation/tasks/GraduationTasksappraise.js +++ b/public/react/src/modules/courses/graduation/tasks/GraduationTasksappraise.js @@ -253,7 +253,7 @@ class GraduationTasksappraise extends Component{

补交附件
-
+
补交原因:{firelistdata&&firelistdata.revise_reason}
diff --git a/public/react/src/modules/courses/graduation/tasks/GraduationTaskssettinglist.js b/public/react/src/modules/courses/graduation/tasks/GraduationTaskssettinglist.js index 63bc79e91..015971265 100644 --- a/public/react/src/modules/courses/graduation/tasks/GraduationTaskssettinglist.js +++ b/public/react/src/modules/courses/graduation/tasks/GraduationTaskssettinglist.js @@ -640,6 +640,7 @@ class GraduationTaskssettinglist extends Component{ title: '姓名', dataIndex: 'name', key: 'name', + className:'edu-txt-center' }, { title: '学号', diff --git a/public/react/src/modules/courses/shixunHomework/ShixunWorkReport.js b/public/react/src/modules/courses/shixunHomework/ShixunWorkReport.js index ee97a77d9..e07b772e9 100644 --- a/public/react/src/modules/courses/shixunHomework/ShixunWorkReport.js +++ b/public/react/src/modules/courses/shixunHomework/ShixunWorkReport.js @@ -45,7 +45,16 @@ class ShixunWorkReport extends Component { shixuntypes:type[3] }) } - + jumptopic=(anchorName)=>{ +; if (anchorName) { + // 找到锚点 + let anchorElement = document.getElementById(anchorName); + // 如果对应id的锚点存在,就跳转到锚点 + if(anchorElement) { + anchorElement.scrollIntoView(); + } + } + } render() { let{data} =this.state; let category_id=data===undefined?"":data.category.category_id; @@ -100,6 +109,7 @@ class ShixunWorkReport extends Component {
@@ -167,7 +177,7 @@ class ShixunWorkReport extends Component { { data&&data.shixun_detail===undefined?"":data.shixun_detail.map((item,key)=>{ return( -
+

@@ -175,7 +185,7 @@ class ShixunWorkReport extends Component { 第{item.position}关 - + {item.subject} @@ -185,8 +195,8 @@ class ShixunWorkReport extends Component { />

- {item.st===0?
-
+ {item.st===0?
+

最近通过的代码 {item.path} diff --git a/public/react/src/modules/courses/shixunHomework/Shixunworkdetails/ShixunWorkModal.js b/public/react/src/modules/courses/shixunHomework/Shixunworkdetails/ShixunWorkModal.js index e914ee19c..eaf1c433e 100644 --- a/public/react/src/modules/courses/shixunHomework/Shixunworkdetails/ShixunWorkModal.js +++ b/public/react/src/modules/courses/shixunHomework/Shixunworkdetails/ShixunWorkModal.js @@ -74,6 +74,9 @@ class ShixunWorkModal extends Component{ response.data. course_groups.group_list&&response.data.group_list.map((item,key)=>{ newgroup_list.push(item) }) + response.data. course_groups.ungroup_list&&response.data.ungroup_list.map((items,keys)=>{ + newgroup_list.push(items) + }) this.setState({ course_groups:response.data, group_list:newgroup_list, @@ -123,6 +126,15 @@ class ShixunWorkModal extends Component{ isSave=()=>{ let{group_ids}=this.state; + if(group_ids&&group_ids.length === 0){ + this.props.showNotification(`请先选择分班`); + return + } + if(group_ids&&group_ids.length < 2){ + this.props.showNotification(`有效作品数少于2个,无法查重`); + return + } + let url="/homework_commons/"+this.props.match.params.homeworkid+"/homework_code_repeat.json"; axios.post(url, { group_ids: group_ids, diff --git a/public/react/src/modules/courses/shixunHomework/shixunreport/OfficialAcademicTranscript.js b/public/react/src/modules/courses/shixunHomework/shixunreport/OfficialAcademicTranscript.js index 091b94130..fb24e6a3e 100644 --- a/public/react/src/modules/courses/shixunHomework/shixunreport/OfficialAcademicTranscript.js +++ b/public/react/src/modules/courses/shixunHomework/shixunreport/OfficialAcademicTranscript.js @@ -1,173 +1,181 @@ -import React, {Component} from "react"; -import {WordsBtn} from 'educoder'; -import {Table} from "antd"; -import {Link,Switch,Route,Redirect} from 'react-router-dom'; - -class OfficialAcademicTranscript extends Component { - - constructor(props) { - super(props); - this.state = { - loadingstate:true, - datas:undefined - } - } - - componentDidMount() { - - } - - render() { - - let {data}=this.props; - - let datas=[]; - if(data!=undefined){ - data.stage_list===undefined?"":data.stage_list.forEach((item,key)=>{ - datas.push({ - customs: key+1, - taskname:{name:item.name,complete_status:item.complete_status}, - openingtime:item.open_time, - evaluating: item.evaluate_count, - finishtime:item.finished_time, - elapsedtime:item.time_consuming, - empvalue:{myself:item.myself_experience,experience:item.experience}, - // adjustmentminute:asdasd - }) - }) - } - - - - let columns=[{ - title: '关卡', - dataIndex: 'customs', - key: 'customs', - render: (text, record) => ( - - {record.customs} - - ), - }, { - title: '任务名称', - dataIndex: 'taskname', - key: 'taskname', - render: (text, record) => ( - - {record.taskname.name} - {record.taskname.complete_status===2?延时:record.taskname.complete_status===3?延时:""} - - ), - }, { - title: '开启时间', - dataIndex: 'openingtime', - key: 'openingtime', - render: (text, record) => ( - - {record.openingtime} - - ), - }, { - title: '评测次数', - key: 'evaluating', - dataIndex: 'evaluating', - - render: (text, record) => ( - - {record.evaluating} - - ), - }, { - title: '完成时间', - key: 'finishtime', - dataIndex: 'finishtime', - render: (text, record) => ( - - {record.finishtime} - - ), - }, { - title: '耗时', - key: 'elapsedtime', - dataIndex: 'elapsedtime', - - render: (text, record) => ( - - {record.elapsedtime} - - ), - }, { - title: '经验值', - key: 'empvalue', - dataIndex: 'empvalue', - - render: (text, record) => ( - - {record.empvalue.myself}/{record.empvalue.experience} - - ), - }]; - // { - // title: '调分', - // key: 'adjustmentminute', - // dataIndex: 'adjustmentminute', - // - // render: (text, record) => ( - // - // 6小时 50分钟 6秒 - // - // ), - // }, - - - - return ( -

- {/*{data===undefined?"":""}*/} - - {datas===undefined?"":} - - - ) - } -} - +import React, {Component} from "react"; +import {WordsBtn} from 'educoder'; +import {Table} from "antd"; +import {Link,Switch,Route,Redirect} from 'react-router-dom'; + +class OfficialAcademicTranscript extends Component { + + constructor(props) { + super(props); + this.state = { + loadingstate:true, + datas:undefined + } + } + + componentDidMount() { + + } + myjumptopic=(e)=>{ + console.log("获取到值"); + console.log(e); + this.props.jumptopic(e); + } + + render() { + + let {data}=this.props; + + let datas=[]; + if(data!=undefined){ + data.stage_list===undefined?"":data.stage_list.forEach((item,key)=>{ + datas.push({ + customs: key+1, + taskname:{name:item.name,complete_status:item.complete_status}, + openingtime:item.open_time, + evaluating: item.evaluate_count, + finishtime:item.finished_time, + elapsedtime:item.time_consuming, + empvalue:{myself:item.myself_experience,experience:item.experience}, + // adjustmentminute:asdasd + }) + }) + } + + + + let columns=[{ + title: '关卡', + dataIndex: 'customs', + key: 'customs', + render: (text, record) => ( + + {record.customs} + + ), + }, { + title: '任务名称', + dataIndex: 'taskname', + key: 'taskname', + render: (text, record) => ( + + this.myjumptopic("id"+record.customs)} >{record.taskname.name} + {record.taskname.complete_status===2?延时:record.taskname.complete_status===3?延时:""} + + ), + }, { + title: '开启时间', + dataIndex: 'openingtime', + key: 'openingtime', + render: (text, record) => ( + + {record.openingtime} + + ), + }, { + title: '评测次数', + key: 'evaluating', + dataIndex: 'evaluating', + + render: (text, record) => ( + + {record.evaluating} + + ), + }, { + title: '完成时间', + key: 'finishtime', + dataIndex: 'finishtime', + render: (text, record) => ( + + {record.finishtime} + + ), + }, { + title: '耗时', + key: 'elapsedtime', + dataIndex: 'elapsedtime', + + render: (text, record) => ( + + {record.elapsedtime} + + ), + }, { + title: '经验值', + key: 'empvalue', + dataIndex: 'empvalue', + + render: (text, record) => ( + + {record.empvalue.myself}/{record.empvalue.experience} + + ), + }]; + // { + // title: '调分', + // key: 'adjustmentminute', + // dataIndex: 'adjustmentminute', + // + // render: (text, record) => ( + // + // 6小时 50分钟 6秒 + // + // ), + // }, + + + + return ( +
+ {/*{data===undefined?"":""}*/} + + {datas===undefined?"":
} + + + ) + } +} + export default OfficialAcademicTranscript; \ No newline at end of file