From d8ad34a8625d870fe11509eedbfc37c81669bf63 Mon Sep 17 00:00:00 2001 From: hjm <63528605@qq.com> Date: Fri, 28 Jun 2019 14:20:42 +0800 Subject: [PATCH 01/13] =?UTF-8?q?=E6=9A=82=E6=9C=AA=E5=86=99=E8=AF=84?= =?UTF-8?q?=E8=AF=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../courses/busyWork/reply/CommonWorkAppraiseReply.js | 2 ++ .../src/modules/courses/common/comments/CCommentItem.js | 2 +- .../graduation/tasks/GraduationTasksappraiseMainEditor.js | 6 +++--- .../graduation/tasks/GraduationTasksappraiseReplyChild.js | 3 ++- 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/public/react/src/modules/courses/busyWork/reply/CommonWorkAppraiseReply.js b/public/react/src/modules/courses/busyWork/reply/CommonWorkAppraiseReply.js index c41f888ca..146511712 100644 --- a/public/react/src/modules/courses/busyWork/reply/CommonWorkAppraiseReply.js +++ b/public/react/src/modules/courses/busyWork/reply/CommonWorkAppraiseReply.js @@ -205,6 +205,7 @@ class CommonWorkAppraiseReply extends Component{ const isAdmin = this.props.isAdmin() const isNiPing = homework_status && homework_status.indexOf('匿评中') != -1 + const isGroup = this.props.isGroup() /** isAdmin || 评阅入口:超级管理员、老师和助教显示; -》 改成admin也不显示 匿评人:匿评期间显示 @@ -276,6 +277,7 @@ class CommonWorkAppraiseReply extends Component{ showModulationtype={this.showModulationtype} addSuccess={this.addSuccess} ref={this.editorRef} totalCount={comment_scores.length} onReply={this.onReply} placeholder={"请在此输入对本作品的评语,最大限制2000个字符"} + showSameScore={isGroup} > } {/* ${!!comment_scores.length ? 'bor-bottom-greyE' : ''} */} diff --git a/public/react/src/modules/courses/common/comments/CCommentItem.js b/public/react/src/modules/courses/common/comments/CCommentItem.js index e4286e456..183ef6ea5 100644 --- a/public/react/src/modules/courses/common/comments/CCommentItem.js +++ b/public/react/src/modules/courses/common/comments/CCommentItem.js @@ -329,7 +329,7 @@ class CCommentItem extends Component{
} - {!_content && {"暂未写评语"}} + {!_content && {"暂未写评语"}}
{attachments && attachments.map((attaItem, key)=>{ return( diff --git a/public/react/src/modules/courses/graduation/tasks/GraduationTasksappraiseMainEditor.js b/public/react/src/modules/courses/graduation/tasks/GraduationTasksappraiseMainEditor.js index 15300c628..dc87c9272 100644 --- a/public/react/src/modules/courses/graduation/tasks/GraduationTasksappraiseMainEditor.js +++ b/public/react/src/modules/courses/graduation/tasks/GraduationTasksappraiseMainEditor.js @@ -26,7 +26,7 @@ class GraduationTasksappraiseMainEditor extends Component{ onSubmit = () => { const { score, same_score } = this.state let category_id= this.props.match.params.category_id; - const url = this.props.replyUrl || `/graduation_works/${category_id}/add_score.json` + const url = `/graduation_works/${category_id}/add_score.json` const attachment_ids = this.state.fileList.map(item => { return item.response ? item.response.id : item.id }) @@ -153,7 +153,7 @@ class GraduationTasksappraiseMainEditor extends Component{ } render(){ let { total_count, comments, pageCount, fileList, score, same_score, errorMessage, numberErrorMessage } = this.state - const { current_user, memo, task_type, placeholder } = this.props + const { current_user, memo, showSameScore, placeholder } = this.props const isAdmin = this.props.isAdmin() const commentUploadProp = { width: 600, @@ -205,7 +205,7 @@ class GraduationTasksappraiseMainEditor extends Component{ {this.props.title && {this.props.title}} - { task_type == 2 &&
+ { showSameScore == true &&
整组同评 (选中,则本次评阅对象指小组全部成员,否则仅评阅此成员1人 )
} diff --git a/public/react/src/modules/courses/graduation/tasks/GraduationTasksappraiseReplyChild.js b/public/react/src/modules/courses/graduation/tasks/GraduationTasksappraiseReplyChild.js index 345a9874d..83d42f9fc 100644 --- a/public/react/src/modules/courses/graduation/tasks/GraduationTasksappraiseReplyChild.js +++ b/public/react/src/modules/courses/graduation/tasks/GraduationTasksappraiseReplyChild.js @@ -76,7 +76,8 @@ class GraduationTasksappraiseReplyChild extends Component{
} {this.props.ultimate===true ? "": isAdmin && this.props.addSuccess()} + addSuccess={() => this.props.addSuccess()} + showSameScore={true} > }
From 7c2c06874a600e1cce6f44d0d4a9ae17b7788e45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=98=8E?= <775174143@qq.com> Date: Fri, 28 Jun 2019 14:50:29 +0800 Subject: [PATCH 02/13] =?UTF-8?q?=20=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/images/{edu_user => educoder}/EWM.jpg | Bin .../courses/coursesDetail/CoursesBanner.js | 2 +- .../courses/coursesPublic/AccessoryModal.js | 32 +- .../courses/coursesPublic/AccessoryModal2.js | 523 +++++++++--------- .../courses/exercise/ExerciseListItem.js | 6 +- .../graduation/tasks/GraduateTaskItem.js | 1 + .../tasks/GraduationTasksappraise.js | 1 + .../tasks/GraduationTaskssettinglist.js | 1 + public/react/src/modules/tpm/SiderBar.js | 256 ++++----- 9 files changed, 422 insertions(+), 400 deletions(-) rename public/images/{edu_user => educoder}/EWM.jpg (100%) diff --git a/public/images/edu_user/EWM.jpg b/public/images/educoder/EWM.jpg similarity index 100% rename from public/images/edu_user/EWM.jpg rename to public/images/educoder/EWM.jpg diff --git a/public/react/src/modules/courses/coursesDetail/CoursesBanner.js b/public/react/src/modules/courses/coursesDetail/CoursesBanner.js index 3389951f5..cc3646b9d 100644 --- a/public/react/src/modules/courses/coursesDetail/CoursesBanner.js +++ b/public/react/src/modules/courses/coursesDetail/CoursesBanner.js @@ -458,7 +458,7 @@ class CoursesBanner extends Component { { ` .teachersbox{ - margin-right:28px !important; + margin-right:22px !important; } ` } diff --git a/public/react/src/modules/courses/coursesPublic/AccessoryModal.js b/public/react/src/modules/courses/coursesPublic/AccessoryModal.js index 5baf4e0c6..26d4499aa 100644 --- a/public/react/src/modules/courses/coursesPublic/AccessoryModal.js +++ b/public/react/src/modules/courses/coursesPublic/AccessoryModal.js @@ -1,5 +1,5 @@ import React,{ Component } from "react"; -import { Modal,Checkbox,Upload,Button,Icon,message} from "antd"; +import { Modal,Checkbox,Upload,Button,Icon,message,notification} from "antd"; import { WordsBtn,getUrl, getUploadActionUrl} from 'educoder'; import axios from 'axios'; import Modals from '../../modals/Modals'; @@ -110,6 +110,7 @@ class AccessoryModal extends Component{ this.props.Cancel() } Saves=()=>{ + let id=this.props.categoryid; let {fileList,description} =this.state; @@ -131,10 +132,12 @@ class AccessoryModal extends Component{ description:description, attachment_ids:newfileList }).then((result)=>{ - console.log(result) - if(result !== undefined){ - this.props.setupdate() - this.props.showNotification('提交成功') + + if(result.data.status===0){ + debugger + this.props.Cancel() + this.props.setupdate() + // this.setState({ // Modalstype:true, // Modalstopval:result.data.message, @@ -142,9 +145,16 @@ class AccessoryModal extends Component{ // loadtype:true // }) this.ModalCancelModalCancel() + + notification.open({ + message: '提示', + description: + '提交成功' + }); if(this.props.seeworks!=undefined){ this.props.history.push(this.props.seeworks); } + } }).catch((error)=>{ @@ -170,10 +180,12 @@ class AccessoryModal extends Component{ description:description, attachment_ids:newfileList }).then((result)=>{ - console.log(result) + if(result.data.status===0){ + debugger + this.props.Cancel() this.props.setupdate() - this.props.showNotification('提交成功') + // this.setState({ // Modalstype:true, // Modalstopval:result.data.message, @@ -182,9 +194,15 @@ class AccessoryModal extends Component{ // }) this.ModalCancelModalCancel() + notification.open({ + message: '提示', + description: + '提交成功' + }); if(this.props.seeworks!=undefined){ this.props.history.push(this.props.seeworks); } + } }).catch((error)=>{ diff --git a/public/react/src/modules/courses/coursesPublic/AccessoryModal2.js b/public/react/src/modules/courses/coursesPublic/AccessoryModal2.js index 0cd48c245..14b1f71e1 100644 --- a/public/react/src/modules/courses/coursesPublic/AccessoryModal2.js +++ b/public/react/src/modules/courses/coursesPublic/AccessoryModal2.js @@ -1,262 +1,263 @@ -import React,{ Component } from "react"; -import { Modal,Checkbox,Upload,Button,Icon,message} from "antd"; -import { WordsBtn, getUploadActionUrl} from 'educoder'; -import axios from 'axios'; -import Modals from '../../modals/Modals'; -const CheckboxGroup = Checkbox.Group; - -class AccessoryModal2 extends Component{ - constructor(props){ - super(props); - this.state={ - group_ids:[], - fileList:[], - Modalstype:false, - Modalstopval:"", - ModalCancel:"", - ModalSave:"", - loadtype:false - } - } - - - componentDidMount() { - - } - - //勾选实训 - shixunhomeworkedit=(list)=>{ - - this.setState({ - group_ids:list - }) - - } - // 附件相关 START - handleChange = (info) => { - let fileList = info.fileList; - console.log(fileList) - // for(var list of fileList ){ - // console.log(fileList) - // } - this.setState({ fileList }); - } - - onAttachmentRemove = (file) => { - // confirm({ - // title: '确定要删除这个附件吗?', - // okText: '确定', - // cancelText: '取消', - // // content: 'Some descriptions', - // onOk: () => { - // this.deleteAttachment(file) - // }, - // onCancel() { - // console.log('Cancel'); - // }, - // }); - // return false; - - // this.setState({ - // Modalstype:true, - // Modalstopval:'确定要删除这个附件吗?', - // ModalSave: ()=>this.deleteAttachment(file), - // ModalCancel:this.cancelAttachment - // }) - // return false; - - this.deleteAttachment(file); - } - - - - - deleteAttachment = (file) => { - const url = `/attachments/${file.response ? file.response.id : file.uid}.json` - axios.delete(url, { - }) - .then((response) => { - if (response.data) { - const { status } = response.data; - if (status == 0) { - console.log('--- success') - - this.setState((state) => { - const index = state.fileList.indexOf(file); - const newFileList = state.fileList.slice(); - newFileList.splice(index, 1); - return { - fileList: newFileList, - }; - }); - } - } - }) - .catch(function (error) { - console.log(error); - }); - } - - ModalCancelModalCancel=()=>{ - this.setState({ - Modalstype:false, - Modalstopval:"", - ModalSave:this.ModalCancelModalCancel, - loadtype:false - }) - this.props.Cancel() - } - componentDidUpdate = (prevProps) => { - if (JSON.stringify(prevProps.fileList) != JSON.stringify(this.props.fileList)) { - this.setState({ - fileList: this.props.fileList - }) - } - if (prevProps.description != this.props.description) { - this.setState({ - description: this.props.description - }) - } - } - Saves=()=>{ - let {fileList,description} =this.state; - let newfileList=[]; - for(var list of fileList){ - newfileList.push(list.response.id) - } - this.props.Saves && this.props.Saves(newfileList, description) - return; - let id=this.props.categoryid; - - console.log(newfileList) - let url="/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.setState({ - Modalstype:true, - Modalstopval:result.data.message, - ModalSave:this.ModalCancelModalCancel, - loadtype:true - }) - - } - }).catch((error)=>{ - - }) - } - - settextarea=(e)=>{ - this.setState({ - description:e.target.value - }) - } - - render(){ - let {description,fileList, - Modalstype, - Modalstopval, - ModalCancel, - ModalSave, - loadtype, - }=this.state; - let {course_groups}=this.props; - const uploadProps = { - width: 600, - // https://github.com/ant-design/ant-design/issues/15505 - // showUploadList={false},然后外部拿到 fileList 数组自行渲染列表。 - // showUploadList: false, - action: getUploadActionUrl(), - onChange: this.handleChange, - onRemove: this.onAttachmentRemove, - beforeUpload: (file) => { - console.log('beforeUpload', file.name); - const isLt150M = file.size / 1024 / 1024 < 150; - if (!isLt150M) { - message.error('文件大小必须小于150MB!'); - } - return isLt150M; - }, - }; - - - return( -
- {/*提示*/} - - -
-

- - -

- - - -

- - - (单个文件最大150M) - -

- - - -
- {this.props.Cancelname || '取消'} - this.Saves()}>{this.props.Savesname || '确认'} -
- -
-
-
- ) - } -} +import React,{ Component } from "react"; +import { Modal,Checkbox,Upload,Button,Icon,message} from "antd"; +import { WordsBtn, getUploadActionUrl} from 'educoder'; +import axios from 'axios'; +import Modals from '../../modals/Modals'; +const CheckboxGroup = Checkbox.Group; + +class AccessoryModal2 extends Component{ + constructor(props){ + super(props); + this.state={ + group_ids:[], + fileList:[], + Modalstype:false, + Modalstopval:"", + ModalCancel:"", + ModalSave:"", + loadtype:false + } + } + + + componentDidMount() { + + } + + //勾选实训 + shixunhomeworkedit=(list)=>{ + + this.setState({ + group_ids:list + }) + + } + // 附件相关 START + handleChange = (info) => { + let fileList = info.fileList; + console.log(fileList) + // for(var list of fileList ){ + // console.log(fileList) + // } + this.setState({ fileList }); + } + + onAttachmentRemove = (file) => { + // confirm({ + // title: '确定要删除这个附件吗?', + // okText: '确定', + // cancelText: '取消', + // // content: 'Some descriptions', + // onOk: () => { + // this.deleteAttachment(file) + // }, + // onCancel() { + // console.log('Cancel'); + // }, + // }); + // return false; + + // this.setState({ + // Modalstype:true, + // Modalstopval:'确定要删除这个附件吗?', + // ModalSave: ()=>this.deleteAttachment(file), + // ModalCancel:this.cancelAttachment + // }) + // return false; + + this.deleteAttachment(file); + } + + + + + deleteAttachment = (file) => { + const url = `/attachments/${file.response ? file.response.id : file.uid}.json` + axios.delete(url, { + }) + .then((response) => { + if (response.data) { + const { status } = response.data; + if (status == 0) { + console.log('--- success') + + this.setState((state) => { + const index = state.fileList.indexOf(file); + const newFileList = state.fileList.slice(); + newFileList.splice(index, 1); + return { + fileList: newFileList, + }; + }); + } + } + }) + .catch(function (error) { + console.log(error); + }); + } + + ModalCancelModalCancel=()=>{ + this.setState({ + Modalstype:false, + Modalstopval:"", + ModalSave:this.ModalCancelModalCancel, + loadtype:false + }) + this.props.Cancel() + } + componentDidUpdate = (prevProps) => { + if (JSON.stringify(prevProps.fileList) != JSON.stringify(this.props.fileList)) { + this.setState({ + fileList: this.props.fileList + }) + } + if (prevProps.description != this.props.description) { + this.setState({ + description: this.props.description + }) + } + } + Saves=()=>{ + debugger + let {fileList,description} =this.state; + let newfileList=[]; + for(var list of fileList){ + newfileList.push(list.response.id) + } + this.props.Saves && this.props.Saves(newfileList, description) + return; + let id=this.props.categoryid; + + console.log(newfileList) + let url="/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.setState({ + Modalstype:true, + Modalstopval:result.data.message, + ModalSave:this.ModalCancelModalCancel, + loadtype:true + }) + + } + }).catch((error)=>{ + + }) + } + + settextarea=(e)=>{ + this.setState({ + description:e.target.value + }) + } + + render(){ + let {description,fileList, + Modalstype, + Modalstopval, + ModalCancel, + ModalSave, + loadtype, + }=this.state; + let {course_groups}=this.props; + const uploadProps = { + width: 600, + // https://github.com/ant-design/ant-design/issues/15505 + // showUploadList={false},然后外部拿到 fileList 数组自行渲染列表。 + // showUploadList: false, + action: getUploadActionUrl(), + onChange: this.handleChange, + onRemove: this.onAttachmentRemove, + beforeUpload: (file) => { + console.log('beforeUpload', file.name); + const isLt150M = file.size / 1024 / 1024 < 150; + if (!isLt150M) { + message.error('文件大小必须小于150MB!'); + } + return isLt150M; + }, + }; + + + return( +
+ {/*提示*/} + + +
+

+ + +

+ + + +

+ + + (单个文件最大150M) + +

+ + + +
+ {this.props.Cancelname || '取消'} + this.Saves()}>{this.props.Savesname || '确认'} +
+ +
+
+
+ ) + } +} export default AccessoryModal2; \ No newline at end of file diff --git a/public/react/src/modules/courses/exercise/ExerciseListItem.js b/public/react/src/modules/courses/exercise/ExerciseListItem.js index 70df3f577..afa0669d4 100644 --- a/public/react/src/modules/courses/exercise/ExerciseListItem.js +++ b/public/react/src/modules/courses/exercise/ExerciseListItem.js @@ -193,9 +193,9 @@ class ExerciseListItem extends Component{ { IsStudent &&
- {item.current_status ===0&&item.exercise_status>1?
  • 继续答题
  • : - item.current_status ===1&&item.exercise_status>1?
  • 查看答题
  • : - item.current_status ===2&&item.exercise_status>1?
  • this.setgameexercise(`/courses/${coursesId}/exercises/${item.id}/users/${this.props.current_user.login}`)}>开始答题
  • :""} + {item.current_status ===0&&item.exercise_status>1?
  • 继续答题
  • : + item.current_status ===1&&item.exercise_status>1?
  • 查看答题
  • : + item.current_status ===2&&item.exercise_status>1?
  • this.setgameexercise(`/courses/${coursesId}/exercises/${item.id}/users/${this.props.current_user.login}`)}>开始答题
  • :""}
    } diff --git a/public/react/src/modules/courses/graduation/tasks/GraduateTaskItem.js b/public/react/src/modules/courses/graduation/tasks/GraduateTaskItem.js index 1fe0e5c9b..2cbf0fe33 100644 --- a/public/react/src/modules/courses/graduation/tasks/GraduateTaskItem.js +++ b/public/react/src/modules/courses/graduation/tasks/GraduateTaskItem.js @@ -178,6 +178,7 @@ class GraduateTaskItem extends Component{ funlist={this.props.funlist} />:""} {this.state.visibles===true?0){ - if($(document).scrollTop()>0){ - $(".-task-sidebar .gotop").show(); - $(".gotop").click(function(){ - $("html,body").scrollTop(0); - }); - } - if($(document).scrollTop()==0){ - $(".-task-sidebar .gotop").hide(); - } - } -}); - -function rightSlider(){ - var poi=parseInt((parseInt($(window).width())- 1200 )/2)-60; - // console.log(parseInt($(window).width())+" "+poi); - if(poi>0){ - $(".-task-sidebar").css("right",poi); - }else{ - $(".-task-sidebar").css("right","0px"); - } - $(".-task-sidebar").show(); -} - - -function _initSider() { - var $descSide = $("
    ").appendTo("body"); - $(".-task-sidebar>div").hover(function(){ - //移入显示二维码 - if($(this).hasClass("scan")){ - $(".scan_ewm").show().css({right:"75px",opacity:0}).stop().animate({ - right:"45px",opacity:1 - }) - return; - } - var $tool = $(this).attr("tooltips"); - $descSide.html($tool+"
    "); - $descSide.data('_dom', this) - $descSide.show().css({ - left:$(this).offset().left - $descSide.width()-30, - opacity:0, - top:$(this).offset().top - }).stop().animate({ - left:$(this).offset().left - $descSide.width()-5, - opacity:1 - },400); - },function(){ - if($(this).hasClass("scan")){ - $(".scan_ewm").stop().animate({right:"75px",opacity:0},200).hide(); - } - $descSide.stop().animate({ - left:$(this).offset().left - $descSide.width()-30, - opacity:0 - },200).hide(); - }); - rightSlider(); - - $(window).scroll(function() { - if ($descSide.height()) { - var hoverIcon = $descSide.data('_dom') - $descSide.css('top', $(hoverIcon).offset().top) - } - }) -} - -class SiderBar extends Component { - constructor(props) { - super(props) - - } - - componentDidMount() { - _initSider(); - - } - - render() { - return ( -
    -
    - - - -
    - -
    - - - -
    - - - -
    - -

    -

    - -

    微信扫一扫

    -

    关注公众号

    - -

    -

    -
    - -
    - - - -
    - -
    - ); - } -} - -export default SiderBar; +import React, { Component } from 'react'; +import { getImageUrl} from 'educoder'; +import './TPMIndex.css'; + +const $ = window.$; + +$(window).resize(function(){ + rightSlider(); +}); + +$(window).scroll(function(){ + if($(".gotop").length>0){ + if($(document).scrollTop()>0){ + $(".-task-sidebar .gotop").show(); + $(".gotop").click(function(){ + $("html,body").scrollTop(0); + }); + } + if($(document).scrollTop()==0){ + $(".-task-sidebar .gotop").hide(); + } + } +}); + +function rightSlider(){ + var poi=parseInt((parseInt($(window).width())- 1200 )/2)-60; + // console.log(parseInt($(window).width())+" "+poi); + if(poi>0){ + $(".-task-sidebar").css("right",poi); + }else{ + $(".-task-sidebar").css("right","0px"); + } + $(".-task-sidebar").show(); +} + + +function _initSider() { + var $descSide = $("
    ").appendTo("body"); + $(".-task-sidebar>div").hover(function(){ + //移入显示二维码 + if($(this).hasClass("scan")){ + $(".scan_ewm").show().css({right:"75px",opacity:0}).stop().animate({ + right:"45px",opacity:1 + }) + return; + } + var $tool = $(this).attr("tooltips"); + $descSide.html($tool+"
    "); + $descSide.data('_dom', this) + $descSide.show().css({ + left:$(this).offset().left - $descSide.width()-30, + opacity:0, + top:$(this).offset().top + }).stop().animate({ + left:$(this).offset().left - $descSide.width()-5, + opacity:1 + },400); + },function(){ + if($(this).hasClass("scan")){ + $(".scan_ewm").stop().animate({right:"75px",opacity:0},200).hide(); + } + $descSide.stop().animate({ + left:$(this).offset().left - $descSide.width()-30, + opacity:0 + },200).hide(); + }); + rightSlider(); + + $(window).scroll(function() { + if ($descSide.height()) { + var hoverIcon = $descSide.data('_dom') + $descSide.css('top', $(hoverIcon).offset().top) + } + }) +} + +class SiderBar extends Component { + constructor(props) { + super(props) + + } + + componentDidMount() { + _initSider(); + + } + + render() { + return ( +
    +
    + + + +
    + +
    + + + +
    + + + +
    + +

    +

    + +

    微信扫一扫

    +

    关注公众号

    + +

    +

    +
    + +
    + + + +
    + +
    + ); + } +} + +export default SiderBar; From d96882662ac100f08834c86b32943cd47829c771 Mon Sep 17 00:00:00 2001 From: hjm <63528605@qq.com> Date: Fri, 28 Jun 2019 14:53:55 +0800 Subject: [PATCH 03/13] null --- .../courses/graduation/tasks/Graduationtaskitem.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/public/react/src/modules/courses/graduation/tasks/Graduationtaskitem.js b/public/react/src/modules/courses/graduation/tasks/Graduationtaskitem.js index 53cf3d9e2..973f1b9ba 100644 --- a/public/react/src/modules/courses/graduation/tasks/Graduationtaskitem.js +++ b/public/react/src/modules/courses/graduation/tasks/Graduationtaskitem.js @@ -15,7 +15,7 @@ class Graduationtaskitem extends Component{ } render(){ let { item }=this.props; - const _content = this.parseCommentContent(item.content) + const _content = item.content && this.parseCommentContent(item.content) return(
    @@ -48,12 +48,14 @@ class Graduationtaskitem extends Component{
    -
    + {!!_content &&
    -
    +
    } + {!_content && {"暂未写评语"}} +
    {(item && item.children && item.children.length) ?
    : ''} {this.renderChildenComments(item)} From fc0f346d77f19a01f98e1e09c4233e6cea930881 Mon Sep 17 00:00:00 2001 From: caishi <1149225589@qq.com> Date: Fri, 28 Jun 2019 14:55:08 +0800 Subject: [PATCH 04/13] =?UTF-8?q?=E8=AF=95=E5=8D=B7=E7=AD=94=E9=A2=98issue?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../courses/exercise/ExerciseReviewAndAnswer.js | 2 +- .../src/modules/courses/exercise/question/multiple.js | 4 ++-- .../modules/courses/exercise/question/simpleAnswer.js | 10 +++++----- .../src/modules/courses/exercise/question/single.js | 4 ++-- public/react/src/modules/courses/poll/pollStyle.css | 1 - 5 files changed, 10 insertions(+), 11 deletions(-) diff --git a/public/react/src/modules/courses/exercise/ExerciseReviewAndAnswer.js b/public/react/src/modules/courses/exercise/ExerciseReviewAndAnswer.js index ce9c00a21..b9da3f2eb 100644 --- a/public/react/src/modules/courses/exercise/ExerciseReviewAndAnswer.js +++ b/public/react/src/modules/courses/exercise/ExerciseReviewAndAnswer.js @@ -690,7 +690,7 @@ class ExerciseReviewAndAnswer extends Component{ } { //(老师身份且除实训题外) || (学生身份且试卷已经截止)就显示用户当前题目所得分数 - ( isAdmin || (isStudent && exercise.exercise_status == 3)) && item.question_type != 5 ? + ( isAdmin || (isStudent && exercise.exercise_status == 3)) && item.question_type != 5 && item.user_score ? {item.user_score} diff --git a/public/react/src/modules/courses/exercise/question/multiple.js b/public/react/src/modules/courses/exercise/question/multiple.js index 939122a48..bfb90ca9b 100644 --- a/public/react/src/modules/courses/exercise/question/multiple.js +++ b/public/react/src/modules/courses/exercise/question/multiple.js @@ -46,9 +46,9 @@ class Multiple extends Component{ { questionType.question_choices && questionType.question_choices.map((item,key)=>{ return( -

    +

    - {tagArray[key]}. + {tagArray[key]}.

    ) }) diff --git a/public/react/src/modules/courses/exercise/question/simpleAnswer.js b/public/react/src/modules/courses/exercise/question/simpleAnswer.js index 773c93708..240f775c2 100644 --- a/public/react/src/modules/courses/exercise/question/simpleAnswer.js +++ b/public/react/src/modules/courses/exercise/question/simpleAnswer.js @@ -54,7 +54,7 @@ class simpleAnswer extends Component{
  • { user_exercise_status == 1 ? -
    0 ? questionType.user_answer[0]:"")}}>
    +
    0 ? questionType.user_answer[0]:"")}}>
    :
    0 ? questionType.user_answer[0]:''} mdID={'simpleEditor'+questionType.question_id} placeholder="请输入你的答案" @@ -69,9 +69,9 @@ class simpleAnswer extends Component{ { exercise.answer_status == 1 || questionType.a_flag ?
    -

    参考答案:

    -
  • -

    this.showAndHide(false)}>隐藏参考答案

    +

    参考答案:

    +
  • +

    this.showAndHide(false)}>隐藏参考答案

    : this.showAndHide(true)}>显示参考答案 @@ -82,7 +82,7 @@ class simpleAnswer extends Component{ isStudent && exercise.answer_open==true && exercise.exercise_status == 3 ?

    参考答案:

    -
  • +
  • :"" } diff --git a/public/react/src/modules/courses/exercise/question/single.js b/public/react/src/modules/courses/exercise/question/single.js index d5e9bbb7a..85344729d 100644 --- a/public/react/src/modules/courses/exercise/question/single.js +++ b/public/react/src/modules/courses/exercise/question/single.js @@ -41,9 +41,9 @@ class single extends Component{ { questionType.question_choices && questionType.question_choices.map((item,key)=>{ return( -

    +

    - {tagArray[key]}. + {tagArray[key]}.

    ) }) diff --git a/public/react/src/modules/courses/poll/pollStyle.css b/public/react/src/modules/courses/poll/pollStyle.css index c66e45520..ffe13eb10 100644 --- a/public/react/src/modules/courses/poll/pollStyle.css +++ b/public/react/src/modules/courses/poll/pollStyle.css @@ -323,7 +323,6 @@ textarea:read-only{ } .standardAnswer p{ line-height: 20px!important; - font-size: 16px; } /* 倒计时 */ .remainingTime li{ From 1f49c1b45dc763756c3efe990816fad06397c37d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=98=8E?= <775174143@qq.com> Date: Fri, 28 Jun 2019 15:21:42 +0800 Subject: [PATCH 05/13] b --- public/react/config/webpack.config.dev.js | 30 +++++++++++------------ 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/public/react/config/webpack.config.dev.js b/public/react/config/webpack.config.dev.js index ceddbd81b..dfd54f38b 100644 --- a/public/react/config/webpack.config.dev.js +++ b/public/react/config/webpack.config.dev.js @@ -114,21 +114,21 @@ module.exports = { // First, run the linter. // It's important to do this before Babel processes the JS. // 上线然后要注释回来 - // { - // test: /\.(js|jsx|mjs)$/, - // enforce: 'pre', - // use: [ - // { - // options: { - // formatter: eslintFormatter, - // eslintPath: require.resolve('eslint'), - // - // }, - // loader: require.resolve('eslint-loader'), - // }, - // ], - // include: paths.appSrc, - // }, + { + test: /\.(js|jsx|mjs)$/, + enforce: 'pre', + use: [ + { + options: { + formatter: eslintFormatter, + eslintPath: require.resolve('eslint'), + + }, + loader: require.resolve('eslint-loader'), + }, + ], + include: paths.appSrc, + }, { // "oneOf" will traverse all following loaders until one will // match the requirements. When no loader matches it will fall From b6de31849466cdb43672769d60b9b5df02bab145 Mon Sep 17 00:00:00 2001 From: hjm <63528605@qq.com> Date: Fri, 28 Jun 2019 15:36:31 +0800 Subject: [PATCH 06/13] CreateGroupByImportModal --- .../members/modal/CreateGroupByImportModal.js | 158 ++++++++++++++++++ .../modules/courses/members/studentsList.js | 9 +- 2 files changed, 166 insertions(+), 1 deletion(-) create mode 100644 public/react/src/modules/courses/members/modal/CreateGroupByImportModal.js diff --git a/public/react/src/modules/courses/members/modal/CreateGroupByImportModal.js b/public/react/src/modules/courses/members/modal/CreateGroupByImportModal.js new file mode 100644 index 000000000..fe2a88dce --- /dev/null +++ b/public/react/src/modules/courses/members/modal/CreateGroupByImportModal.js @@ -0,0 +1,158 @@ +import React, { Component } from "react"; +import { Modal, Checkbox, Input, Spin, Upload, Divider, Icon } from "antd"; +import axios from 'axios' +import ModalWrapper from "../../common/ModalWrapper" + +import { ConditionToolTip, getUploadActionUrl } from 'educoder' + +const { Dragger } = Upload; + + + +class CreateGroupByImportModal extends Component{ + constructor(props){ + super(props); + this.state={ + } + } + fetchMemberList = (arg_page) => { + } + componentDidMount() { + + + } + onSendOk = () => { + const courseId = this.props.match.params.coursesId + + let url = `/courses/${courseId}/create_group_by_importing_file.json` + let { fileList } =this.state; + + if (!fileList || fileList.length == 0) { + // this.props.showNotification('请先上传附件') + this.setState({ + errorTip :'请先上传附件', + }) + return; + } + let newfileList=[]; + for(var list of fileList){ + newfileList.push(list.response.id) + } + + axios.post(url, { + attachment_ids: newfileList + }) + .then((response) => { + if (response.data.status == 0) { + this.props.showNotification(response.data.message) + this.setVisible(false) + } else { + + } + }) + .catch(function (error) { + console.log(error); + }); + } + setVisible = (visible) => { + if (visible) { + this.setState({ fileList: [] }); + } + this.refs.modalWrapper.setVisible(visible) + + } + handleChange = (info) => { + let fileList = info.fileList; + console.log(fileList) + this.setState({ fileList }); + } + + onOk = () => { + this.onSendOk() + } + + onAttachmentRemove = (file) => { + this.props.confirm({ + content: '是否确认删除?', + + onOk: () => { + this.deleteAttachment(file) + }, + onCancel() { + console.log('Cancel'); + }, + }); + + return false; + } + deleteAttachment = (file) => { + const url = `/attachments/${file.response ? file.response.id : file.uid}.json` + axios.delete(url, { + }) + .then((response) => { + if (response.data) { + // const { status } = response.data; + if (response.data.status === 0) { + + this.setState((state) => { + const index = state.fileList.indexOf(file); + const newFileList = state.fileList.slice(); + newFileList.splice(index, 1); + return { + fileList: newFileList, + }; + }); + } + } + }) + .catch(function (error) { + console.log(error); + }); + } + + render(){ + const { candidates, checkBoxValues, loading, hasMore, name, school_name, school_names + , graduationGroup, graduation_groups, courseGroup, course_groups } = this.state + const { moduleName } = this.props + + const props = { + name: 'file', + multiple: true, + action: getUploadActionUrl(), + onRemove: this.onAttachmentRemove, + onChange: this.handleChange + }; + return( + + + +
    + + + +
    + +

    + +

    +

    点击或拖拽文件到这里上传

    +

    + 单个文件最大150MB +

    +
    +
    + ) + } +} +export default CreateGroupByImportModal; diff --git a/public/react/src/modules/courses/members/studentsList.js b/public/react/src/modules/courses/members/studentsList.js index 9c6254cbd..ba41f1f9e 100644 --- a/public/react/src/modules/courses/members/studentsList.js +++ b/public/react/src/modules/courses/members/studentsList.js @@ -14,6 +14,8 @@ import axios from 'axios' import _ from 'lodash' import NoneData from "../coursesPublic/NoneData" +import CreateGroupByImportModal from './modal/CreateGroupByImportModal' + const Search =Input.Search; const dataSource = [{ check:, @@ -488,7 +490,10 @@ class studentsList extends Component{ searchPlaceholder={ '请输入姓名、学号进行搜索' } firstRowRight={ - {/* { isSuperAdmin && this.addTeacher()}>导入创建分班 } */} + { isSuperAdmin && + {/* */} + this.refs['createGroupByImportModal'].setVisible(true)}>导入创建分班 + } { isAdmin && isParent && this.addDir()}>新建分班 } { isAdmin && !isParent && course_group_id != 0 && this.deleteDir()}>删除分班 } { isAdmin && !isParent && course_group_id != 0 && this.renameDir()}>分班重命名 } @@ -582,11 +587,13 @@ class studentsList extends Component{ ) }) } { isAdmin && +

    this.addDir()} >添加分班...

    + } } From c96ad91ac10fe0737ee62bbc15859ad3f335b8c8 Mon Sep 17 00:00:00 2001 From: hjm <63528605@qq.com> Date: Fri, 28 Jun 2019 15:40:18 +0800 Subject: [PATCH 07/13] HH --- public/react/src/modules/courses/Resource/Fileslistitem.js | 4 ++-- public/react/src/modules/courses/busyWork/CommonWorkList.js | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/public/react/src/modules/courses/Resource/Fileslistitem.js b/public/react/src/modules/courses/Resource/Fileslistitem.js index a20dcf9c3..afcdf35f4 100644 --- a/public/react/src/modules/courses/Resource/Fileslistitem.js +++ b/public/react/src/modules/courses/Resource/Fileslistitem.js @@ -271,7 +271,7 @@ class Fileslistitem extends Component{ return(
    {item.course_group_name} - 将发布于 { moment(item.course_group_publish_time).format('YYYY-MM-DD hh:mm')} + 将发布于 { moment(item.course_group_publish_time).format('YYYY-MM-DD HH:mm')}
    ) })} @@ -289,7 +289,7 @@ class Fileslistitem extends Component{ {/*{moment(discussMessage.publish_time).fromNow()}*/} { discussMessage.publish_time===null?"": discussMessage.is_publish===true?"":"发布于"} - { discussMessage.publish_time===null?"":discussMessage.is_publish===true?moment(discussMessage.publish_time).fromNow():moment(discussMessage.publish_time).format('YYYY-MM-DD hh:mm')} + { discussMessage.publish_time===null?"":discussMessage.is_publish===true?moment(discussMessage.publish_time).fromNow():moment(discussMessage.publish_time).format('YYYY-MM-DD HH:mm')} {this.props.isAdmin ||this.props.current_user.login===discussMessage.author.login? diff --git a/public/react/src/modules/courses/busyWork/CommonWorkList.js b/public/react/src/modules/courses/busyWork/CommonWorkList.js index b1a1d5553..251e39fcb 100644 --- a/public/react/src/modules/courses/busyWork/CommonWorkList.js +++ b/public/react/src/modules/courses/busyWork/CommonWorkList.js @@ -190,7 +190,7 @@ function buildColumns(that, student_works) { render: (update_time, record) => ( - {update_time ? moment(update_time).format('YYYY-MM-DD hh:mm') : '--'} + {update_time ? moment(update_time).format('YYYY-MM-DD HH:mm') : '--'} ), }]) From 26989c034d4e9f10c5bf022f1ea7f6f123965d0f Mon Sep 17 00:00:00 2001 From: hjm <63528605@qq.com> Date: Fri, 28 Jun 2019 15:45:46 +0800 Subject: [PATCH 08/13] unlockedAnswers.length --- .../modules/page/main/CodeEvaluateMultiLevelAnswerUnlock.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/public/react/src/modules/page/main/CodeEvaluateMultiLevelAnswerUnlock.js b/public/react/src/modules/page/main/CodeEvaluateMultiLevelAnswerUnlock.js index 8a0430c8f..672fc26a6 100644 --- a/public/react/src/modules/page/main/CodeEvaluateMultiLevelAnswerUnlock.js +++ b/public/react/src/modules/page/main/CodeEvaluateMultiLevelAnswerUnlock.js @@ -28,7 +28,7 @@ class CodeEvaluateMultiLevelAnswerUnlock extends Component { } render() { - const { shixun, challenge, lockedAnswers } = this.props; + const { shixun, challenge, lockedAnswers, unlockedAnswers } = this.props; const { currentLevel } = this.state; return (
    @@ -85,7 +85,7 @@ class CodeEvaluateMultiLevelAnswerUnlock extends Component { this.onLevelClick(item, index)} checked={currentLevel>=index}>
    -
    {index + 1}
    +
    {index + 1 + (unlockedAnswers && unlockedAnswers.length || 0) }
    {item.name}
    {item.score}%
    {challenge.score * item.score / 100}
    From cd62a4b289e8b299791d43031ae12d249f11a637 Mon Sep 17 00:00:00 2001 From: hjm <63528605@qq.com> Date: Fri, 28 Jun 2019 15:54:30 +0800 Subject: [PATCH 09/13] width: 1024px; --- public/react/src/modules/courses/exercise/new/NullDisplay.js | 2 +- public/react/src/modules/courses/members/studentsList.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/public/react/src/modules/courses/exercise/new/NullDisplay.js b/public/react/src/modules/courses/exercise/new/NullDisplay.js index e5c604767..e61c1d2f7 100644 --- a/public/react/src/modules/courses/exercise/new/NullDisplay.js +++ b/public/react/src/modules/courses/exercise/new/NullDisplay.js @@ -86,7 +86,7 @@ class NullDisplay extends Component{ padding:12px 10px; margin-bottom:10px; border-radius:2px; - max-width: 1024px; + width: 1024px; word-break: break-all; } .answerRow { diff --git a/public/react/src/modules/courses/members/studentsList.js b/public/react/src/modules/courses/members/studentsList.js index ba41f1f9e..669d8a65d 100644 --- a/public/react/src/modules/courses/members/studentsList.js +++ b/public/react/src/modules/courses/members/studentsList.js @@ -492,7 +492,7 @@ class studentsList extends Component{ { isSuperAdmin && {/* */} - this.refs['createGroupByImportModal'].setVisible(true)}>导入创建分班 + {/* this.refs['createGroupByImportModal'].setVisible(true)}>导入创建分班 */} } { isAdmin && isParent && this.addDir()}>新建分班 } { isAdmin && !isParent && course_group_id != 0 && this.deleteDir()}>删除分班 } From 819bfed857fec1c06b238973442301456f0935c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=98=8E?= <775174143@qq.com> Date: Fri, 28 Jun 2019 16:47:03 +0800 Subject: [PATCH 10/13] =?UTF-8?q?=20=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../graduation/tasks/GraduationTasksnew.js | 26 ++++++-- .../modules/tpm/TPMsettings/TPMsettings.js | 7 ++- .../tpm/challengesnew/TPMevaluation.js | 25 +++++++- .../src/modules/tpm/newshixuns/Newshixuns.js | 36 +++++++++-- .../Collaborators/Collaborators.js | 59 +++++++++++++++++-- 5 files changed, 132 insertions(+), 21 deletions(-) diff --git a/public/react/src/modules/courses/graduation/tasks/GraduationTasksnew.js b/public/react/src/modules/courses/graduation/tasks/GraduationTasksnew.js index 560658e9e..74ba21b62 100644 --- a/public/react/src/modules/courses/graduation/tasks/GraduationTasksnew.js +++ b/public/react/src/modules/courses/graduation/tasks/GraduationTasksnew.js @@ -342,8 +342,17 @@ class GraduationTasksnew extends Component { {/*内容*/}
    - - + + {getFieldDecorator('tasktype', { rules: [{required: true, message: "请选择任务类型"}], })(

    列表中没有? @@ -1214,6 +1214,7 @@ export default class TPMsettings extends Component { @@ -1354,10 +1355,11 @@ export default class TPMsettings extends Component { -

    执行命令不能为空

    @@ -1369,6 +1371,7 @@ export default class TPMsettings extends Component { value={Compilecommandvalue} onInput={this.Compilecommand} id="compile_command" + style={{width:'100%'}} > diff --git a/public/react/src/modules/tpm/challengesnew/TPMevaluation.js b/public/react/src/modules/tpm/challengesnew/TPMevaluation.js index 73262de74..00141188f 100644 --- a/public/react/src/modules/tpm/challengesnew/TPMevaluation.js +++ b/public/react/src/modules/tpm/challengesnew/TPMevaluation.js @@ -381,7 +381,7 @@ export default class TPMevaluation extends Component { // }) // } savegetfilepath=(value)=>{ - let {selectpath} = this.state + let {selectpath,saveshixunfilepath} = this.state // let newarr =selectpatharr; // let arrtype=false; // let arrsum=0; @@ -403,9 +403,28 @@ export default class TPMevaluation extends Component { // newselectpath=newselectpath+newarr[z]+ ";" // } - // let newselectpath=selectpath+value+ ";" - let newselectpath=value + + let newselectpath; + + if(saveshixunfilepath==="shixunfilepathplay"){ + newselectpath=value + }else{ + const type = selectpath.split(';'); + let types=false; + for(var i=0; i -

    +

    列表中没有? 申请新建

    diff --git a/public/react/src/modules/tpm/shixunchild/Collaborators/Collaborators.js b/public/react/src/modules/tpm/shixunchild/Collaborators/Collaborators.js index 07c9f960f..d629a1c5b 100644 --- a/public/react/src/modules/tpm/shixunchild/Collaborators/Collaborators.js +++ b/public/react/src/modules/tpm/shixunchild/Collaborators/Collaborators.js @@ -33,6 +33,7 @@ class Collaborators extends Component { Collaboratorsvisible: false, Collaboratorsvisibleadmin: false, value: 1, + page: 1, Searchadmin: [], allChangechecked: false, Collaboratorslist: [], @@ -155,6 +156,9 @@ class Collaborators extends Component { } onSearchadmin = (value) => { let {collaboratorList,user_name,school_name} = this.state; + this.setState({ + Searchadmin: [], + }) // if (value === "") { // this.setState({ // Searchadmin: [], @@ -172,7 +176,7 @@ class Collaborators extends Component { if (response.data.status === 403||response.data.status === 401||response.data.status === 500) { }else{ - let newlist = response.data; + let newlist = response.data.users; for (var i = 0; i < newlist.length; i++) { newlist[i].checked = false } @@ -336,7 +340,48 @@ class Collaborators extends Component { collaboratorListsumtype:false }) } - render() { + + + contentViewScrolledit=(e)=>{ + //滑动到底判断 + + if(e.currentTarget.scrollHeight-e.currentTarget.scrollTop===e.currentTarget.clientHeight){ + let {page,collaboratorList,user_name,school_name,Searchadmin} = this.state; + let newpage=page+1; + let newSearchadmin=Searchadmin + let id = this.props.match.params.shixunId; + let url = "/shixuns/" + id + "/add_collaborators.json"; + axios.get(url,{params:{ + user_name:user_name , + school_name:school_name, + page:newpage + }}).then((response) => { + if (response.data.status === 403||response.data.status === 401||response.data.status === 500) { + + }else{ + let newlist = response.data.users; + for (var i = 0; i < newlist.length; i++) { + newlist[i].checked = false + newSearchadmin.push(newlist[i]) + } + + console.log(newSearchadmin) + this.setState({ + Searchadmin: newSearchadmin, + collaboratorList: collaboratorList, + page:newpage + }) + } + + }).catch((error) => { + console.log(error) + }); + + } + + } + + render() { let { collaboratorList, Collaboratorsvisible, @@ -445,13 +490,13 @@ class Collaborators extends Component { >搜索

    姓名 - 呢称 + 职业 单位

    -
      +
        {Searchadmin.length === 0 ?
      • 请试试搜索一下
      • : Searchadmin.map((item, key) => { @@ -460,10 +505,12 @@ class Collaborators extends Component { this.selectChangenickname(e, key)} id={item.user_id}> - {item.nickname} + {item.nickname} {item.identify} {item.school_name} + title={item.school_name} + style={{width: '150px'}} + className="span3 color-grey fl edu-txt-w260 task-hide ml50 task-hide" >{item.school_name} ) }) From d0166f5980bf956ac30897ff2d4ee316379abfe9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=98=8E?= <775174143@qq.com> Date: Fri, 28 Jun 2019 16:54:55 +0800 Subject: [PATCH 11/13] =?UTF-8?q?=20=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../react/src/modules/courses/shixunHomework/Listofworks.js | 2 +- .../src/modules/courses/shixunHomework/Trainingjobsetting.js | 4 ++-- .../modules/courses/shixunHomework/Workquestionandanswer.js | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/public/react/src/modules/courses/shixunHomework/Listofworks.js b/public/react/src/modules/courses/shixunHomework/Listofworks.js index 6995db1ba..04a878dc0 100644 --- a/public/react/src/modules/courses/shixunHomework/Listofworks.js +++ b/public/react/src/modules/courses/shixunHomework/Listofworks.js @@ -1707,7 +1707,7 @@ class Listofworks extends Component { 作业问答 {this.props.isAdmin() ? - this.state.code_review === false ? "" : 代码查重 : ""} diff --git a/public/react/src/modules/courses/shixunHomework/Trainingjobsetting.js b/public/react/src/modules/courses/shixunHomework/Trainingjobsetting.js index 5d9d2d200..11017259a 100644 --- a/public/react/src/modules/courses/shixunHomework/Trainingjobsetting.js +++ b/public/react/src/modules/courses/shixunHomework/Trainingjobsetting.js @@ -1676,7 +1676,7 @@ class Trainingjobsetting extends Component { } 作业问答 - {this.props.isAdmin()?this.state.code_review===false?"": 代码查重 : ""}