From fdbccae6c8052ec5c68b69b24f2d95ace05bacf5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=9E=97?= <904079904@qq.com> Date: Wed, 11 Mar 2020 18:22:58 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../coursesPublic/ModulationModal_exercise.js | 4 +- .../courses/exercise/ExerciseListItem.js | 21 ++- .../courses/exercise/Exercisesetting.js | 125 +++++++----------- .../exercise/Studentshavecompletedthelist.js | 46 +++++-- .../exercise/Testpapersettinghomepage.js | 18 ++- 5 files changed, 120 insertions(+), 94 deletions(-) diff --git a/public/react/src/modules/courses/coursesPublic/ModulationModal_exercise.js b/public/react/src/modules/courses/coursesPublic/ModulationModal_exercise.js index 7c6e6cf6e..4950d10d0 100644 --- a/public/react/src/modules/courses/coursesPublic/ModulationModal_exercise.js +++ b/public/react/src/modules/courses/coursesPublic/ModulationModal_exercise.js @@ -42,8 +42,8 @@ class ModulationModal_exercise extends Component { } componentDidMount = () => { - console.log("ModulationModal_exercise"); - console.log(this.props); + // console.log("ModulationModal_exercise"); + // console.log(this.props); this.setState({ subjective_score: this.props.subjective_score, objective_score: this.props.objective_score, diff --git a/public/react/src/modules/courses/exercise/ExerciseListItem.js b/public/react/src/modules/courses/exercise/ExerciseListItem.js index 52f05bb6d..f9f3288e8 100644 --- a/public/react/src/modules/courses/exercise/ExerciseListItem.js +++ b/public/react/src/modules/courses/exercise/ExerciseListItem.js @@ -77,7 +77,6 @@ class ExerciseListItem extends Component{ const IsAdmin =this.props.isAdmin(); const IsStudent =this.props.isStudent(); - // console.log(this.props.current_user.user_id) return(
window.$(`.exerciseitem${index} input`).click() }> { @@ -189,8 +188,24 @@ class ExerciseListItem extends Component{ { IsAdmin &&
- this.toDetailPage(`/classrooms/${coursesId}/exercises/${item.id}/student_exercise_list?tab=0`)}>查看详情 - 编辑 + + + { + item&&item.assistant_auth===true? + this.toDetailPage(`/classrooms/${coursesId}/exercises/${item.id}/student_exercise_list?tab=0`)}>查看详情 + : + this.toDetailPage(`/classrooms/${coursesId}/exercises/${item.id}/student_exercise_list?tab=0`)}>查看详情 + + } + { + item&&item.assistant_auth===true? + 编辑 + : + "" + } + 设置
} diff --git a/public/react/src/modules/courses/exercise/Exercisesetting.js b/public/react/src/modules/courses/exercise/Exercisesetting.js index 0e613a554..504c73456 100644 --- a/public/react/src/modules/courses/exercise/Exercisesetting.js +++ b/public/react/src/modules/courses/exercise/Exercisesetting.js @@ -75,10 +75,11 @@ class Exercisesetting extends Component{ limit:10, searchtext:"", order: "end_at", + assistant_auth:false } - console.log("Exercisesetting"); - console.log("69"); - console.log(props); + // console.log("Exercisesetting"); + // console.log("69"); + // console.log(props); } _getRequestParams() { const { order, exercise_group_id,searchtext, page ,limit} = this.state @@ -92,6 +93,10 @@ class Exercisesetting extends Component{ } //加载 componentDidMount=()=>{ + this.setState({ + assistant_auth:this.props.assistant_auth, + }) + this.getSettingInfo(); // window.addEventListener('click', this.handleClick); @@ -113,6 +118,11 @@ class Exercisesetting extends Component{ if(prevProps.Commonheadofthetestpaper!= this.props.Commonheadofthetestpaper){ this.editSetting() } + if(prevProps.assistant_auth!= this.props.assistant_auth){ + this.setState({ + assistant_auth:this.props.assistant_auth, + }) + } } _getRequestParams() { @@ -348,10 +358,16 @@ class Exercisesetting extends Component{ this.commitSetting((result)=>{ console.log(result) - if(result.status==200){ + if(result.status===200){ this.props.showNotification(`${result.data.message}`); this.getSettingInfo(1); this.cancelEdit(); + try { + this.props.assistantauthoritys(this.state.assistant_auth); + + }catch (e) { + + } } }) } @@ -371,6 +387,12 @@ class Exercisesetting extends Component{ this.props.showNotification(`${result.data.message}`); this.cancelEdit(); this.getSettingInfo(1); + try { + this.props.assistantauthoritys(this.state.assistant_auth); + + }catch (e) { + + } } }); @@ -386,11 +408,12 @@ class Exercisesetting extends Component{ publish_time:this.state.publish_time, end_time:this.state.end_time, show_statistic:this.state.show_statistic, - choice_random:this.state.choice_random, + choice_random:this.state.choice_random, score_open:this.state.score_open, answer_open:this.state.answer_open, question_random:this.state.question_random, time:this.state.time, + assistant_auth:this.state.assistant_auth, } }else{ let list=this.state.rules; @@ -403,7 +426,6 @@ class Exercisesetting extends Component{ } lists.push(newlist) }) - params={ unified_setting:this.state.unified_setting, show_statistic:this.state.show_statistic, @@ -413,6 +435,7 @@ class Exercisesetting extends Component{ answer_open:this.state.answer_open, publish_time_groups:lists, time:this.state.time, + assistant_auth:this.state.assistant_auth, } } axios.post((url),params).then((result)=>{ @@ -491,6 +514,12 @@ class Exercisesetting extends Component{ }) } + assistantauthority=(e)=>{ + this.setState({ + assistant_auth:e.target.checked + }) + } + onChangeTimepublish=(date, dateString)=>{ if(date===null){ this.setState({ @@ -608,7 +637,9 @@ class Exercisesetting extends Component{ // console.log("asdasdasda"); // console.log(this.props); // console.log(this.props.Commonheadofthetestpaper); - return( + + + return(
-

公开设置

+

属性设置

@@ -790,7 +821,7 @@ class Exercisesetting extends Component{ (选中,则在试卷截止时间之后,已提交答题的学生可以查看试卷题目的答案,否则不能查看)

-

+

{getFieldDecorator('show_statistic') ( @@ -799,6 +830,15 @@ class Exercisesetting extends Component{ (选中,则在试卷截止时间之后,已提交答题的学生可以查看答题统计,否则不能查看)

+

+ + {getFieldDecorator('assistantauthority') + ( + 助教权限 + )} + + (勾选则允许助教查看答案) +

@@ -820,70 +860,3 @@ const WrappedExercisesetting = Form.create({ name: 'exercisesetting' })(Exercise export default WrappedExercisesetting; -// //提交form表单 -// handleSubmit = (e) => { -// -// let{unified_setting,answer_open}=this.state; -// e.preventDefault(); -// let exercise_id=this.props.match.params.Id; -// -// this.props.form.validateFieldsAndScroll((err, values) => { -// debugger -// if(!err){ -// // 第一次进行问卷设置或者勾选了统一设置 -// if(unified_setting==true){ -// if(this.state.p_flag == false && this.state.e_flag == true){ -// // 选择了发布时间但截至时间没有选择 -// this.setState({ -// modalsType:true, -// modalsTopval:"请选择截止时间", -// loadtype:true, -// modalSave:this.cancelBox -// }) -// return; -// }else if(this.state.p_flag == true && this.state.e_flag == true){ -// // 如果两个时间都没有填写则弹出立即发布弹框 -// let{publish_time,end_time}=this.state -// if(publish_time==undefined && end_time ==undefined){ -// -// }else{ -// // 否则就是选择的时间错误 -// this.setState({ -// modalsType:true, -// modalsTopval:"请选择正确的发布时间和截止时间", -// loadtype:true, -// modalSave:this.cancelBox -// }) -// } -// return; -// } -// } -// -// let url=`/exercises/${exercise_id}/commit_setting.json`; -// let params=[]; -// if(values.unitSet){ -// params={ -// unified_setting:values.unitSet, -// publish_time:this.state.publish_time, -// end_time:this.state.end_time, -// show_result:values.public, -// un_anonymous:values.real -// } -// }else{ -// params={ -// unified_setting:values.unitSet, -// show_result:values.public, -// un_anonymous:values.real, -// publish_time_groups:this.state.rules -// } -// } -// axios.post((url),{params}).then((result)=>{ -// if(result.status==200){ -// this.props.showNotification(`${result.data.message}`); -// } -// }).catch((error)=>{ -// console.log(error); -// }) -// } -// }) -// } diff --git a/public/react/src/modules/courses/exercise/Studentshavecompletedthelist.js b/public/react/src/modules/courses/exercise/Studentshavecompletedthelist.js index 9c6e8a87b..e9568a1cf 100644 --- a/public/react/src/modules/courses/exercise/Studentshavecompletedthelist.js +++ b/public/react/src/modules/courses/exercise/Studentshavecompletedthelist.js @@ -1158,8 +1158,19 @@ class Studentshavecompletedthelist extends Component { { record.submitstate === "未提交"||record.commit_method===5? - this.Adjustment(record.user_id)}>评阅 + ( + this.props.assistant_auth&&this.props.assistant_auth===true? + ( + this.props.Commonheadofthetestpaper && this.props.Commonheadofthetestpaper.exercise_status===3? + this.Adjustment(record.user_id)}>评阅 + : + -- + ) + : + this.Adjustment(record.user_id)}>评阅 + ) :record.submitstate === "已提交"? { record.submitstate === "未提交"||record.commit_method===5? - this.Adjustment(record.user_id)}>评阅 + ( + this.props.assistant_auth&&this.props.assistant_auth===true? + ( + this.props.Commonheadofthetestpaper && this.props.Commonheadofthetestpaper.exercise_status===3? + this.Adjustment(record.user_id)}>评阅 + : + -- + ) + : + this.Adjustment(record.user_id)}>评阅 + ) :record.submitstate === "已提交"? { - console.log("Adjustment"); - console.log(e); + // console.log("Adjustment"); + // console.log(e); + if(this.state.objective_score===0&&this.state.subjective_score===0){ + this.props.showNotification('试卷题型分被限制为0分,不能调分,请到编辑试卷中修改题型分数'); + + return + } + + + this.setState({ testpapergradingboll: true, exeuserid: e, @@ -2828,8 +2858,8 @@ class Studentshavecompletedthelist extends Component { // //console.log("this.props.Commonheadofthetestpaper.exercise_status"); // //console.log(this.props.Commonheadofthetestpaper&&this.props.Commonheadofthetestpaper.exercise_status); // //console.log(exercise_status); - console.log("Studentshavecompletedthelis123123t"); - console.log(columnss); + // console.log("Studentshavecompletedthelis123123t"); + // console.log(columnss); return ( isAdmin === true ? ( diff --git a/public/react/src/modules/courses/exercise/Testpapersettinghomepage.js b/public/react/src/modules/courses/exercise/Testpapersettinghomepage.js index ce63ca526..17f95b352 100644 --- a/public/react/src/modules/courses/exercise/Testpapersettinghomepage.js +++ b/public/react/src/modules/courses/exercise/Testpapersettinghomepage.js @@ -35,6 +35,7 @@ class Testpapersettinghomepage extends Component{ DownloadMessageval:undefined, donwloading:false, exercise_status:3, + assistant_auth:false, //设置助教 } } //切换tab @@ -72,6 +73,7 @@ class Testpapersettinghomepage extends Component{ Commonheadofthetestpaper:response.data, current_status:response.data.user_permission.current_status, exercise_status:response.data.exercise_status, + assistant_auth:response.data.assistant_auth, }) // console.log(JSON.stringify(response.data.show_statistic)); @@ -85,6 +87,12 @@ class Testpapersettinghomepage extends Component{ } + assistantauthoritys=(bool)=>{ + this.setState({ + assistant_auth:bool, + }) + } + Ecerciseacallagain=()=>{ this.setState({ visible:true @@ -287,7 +295,7 @@ class Testpapersettinghomepage extends Component{ this.props.history.goBack() } render(){ - let {tab,visible,Commonheadofthetestpaper,exercise_status}=this.state; + let {tab,visible,Commonheadofthetestpaper,exercise_status,assistant_auth}=this.state; const isAdmin =this.props.isAdmin(); const isStudent = this.props.isStudent(); // TODO @@ -461,22 +469,22 @@ class Testpapersettinghomepage extends Component{ /> { // 教师列表 - parseInt(tab[0])==0 ? this.setcourse_groupysls(value)} current_status = {this.state.current_status} Commonheadofthetestpaper={this.state.Commonheadofthetestpaper} yslstustate={[`${polls_status[Commonheadofthetestpaper && Commonheadofthetestpaper.exercise_status]}`]}>:"" + parseInt(tab[0])==0 ? this.setcourse_groupysls(value)} current_status = {this.state.current_status} Commonheadofthetestpaper={this.state.Commonheadofthetestpaper} yslstustate={[`${polls_status[Commonheadofthetestpaper && Commonheadofthetestpaper.exercise_status]}`]}>:"" } {/*统计结果*/} { - parseInt(tab[0])==1 ? :"" + parseInt(tab[0])==1 ? :"" } { - parseInt(tab[0])==2 ? :"" + parseInt(tab[0])==2 ? :"" } { - parseInt(tab[0])==3 ? :"" + parseInt(tab[0])==3 ? this.assistantauthoritys(bool)}>:"" }