diff --git a/db/migrate/20200102030946_modify_course_group_for_courses.rb b/db/migrate/20200102030947_modify_course_group_for_courses.rb similarity index 67% rename from db/migrate/20200102030946_modify_course_group_for_courses.rb rename to db/migrate/20200102030947_modify_course_group_for_courses.rb index 8df0943b3..2a45826cf 100644 --- a/db/migrate/20200102030946_modify_course_group_for_courses.rb +++ b/db/migrate/20200102030947_modify_course_group_for_courses.rb @@ -1,6 +1,8 @@ class ModifyCourseGroupForCourses < ActiveRecord::Migration[5.2] def change - groups = CourseGroup.where(course_id:3429).order("created_at desc").group(:name) + course_ids = [1135, 1208, 1309, 1528, 1563, 1800, 2025, 2086, 2346, 2915, 2917, 2919, 2954, 3064, 3136, 3387, 3423, + 3429, 3467, 3651, 3704, 3732] + groups = CourseGroup.where(course_id: course_ids).order("created_at desc").group(:name) ActiveRecord::Base.transaction do groups.each do |g| CourseGroup.where(name: g.name).where.not(id: g.id).each do |cg| @@ -11,7 +13,7 @@ class ModifyCourseGroupForCourses < ActiveRecord::Migration[5.2] cg.attachment_group_settings.update_all(course_group_id: g.id) cg.homework_group_reviews.update_all(course_group_id: g.id) cg.homework_group_settings.update_all(course_group_id: g.id) - cg.teacher_course_groups.update_all(course_group_id: g.id) + #cg.teacher_course_groups.update_all(course_group_id: g.id) cg.destroy! end end diff --git a/public/react/src/modules/courses/busyWork/CommonWorkPost.js b/public/react/src/modules/courses/busyWork/CommonWorkPost.js index 9a8e47daa..5e01b21a1 100644 --- a/public/react/src/modules/courses/busyWork/CommonWorkPost.js +++ b/public/react/src/modules/courses/busyWork/CommonWorkPost.js @@ -138,13 +138,14 @@ class CommonWorkPost extends Component{ let {fileList,selectmemberslist,workslist, memberNumMin, memberNumMax}=this.state; let userids=[]; + if(selectmemberslist!=undefined&&selectmemberslist.length>0) { + for (var list of selectmemberslist) { - for(var list of selectmemberslist){ + if (list.user_id != undefined && list.user_id != null) { + userids.push(list.user_id) + } - if(list.user_id!=undefined&&list.user_id!=null){ - userids.push(list.user_id) } - } const isGroup = this.props.isGroup() if(!isGroup){ @@ -152,11 +153,11 @@ class CommonWorkPost extends Component{ } let listid=[]; - - for(var list of fileList){ - listid.push(list.id || list.response.id) + if(fileList!=undefined&&fileList.length>0) { + for (var list of fileList) { + listid.push(list.id || list.response.id) + } } - e.preventDefault(); if( true ){ this.props.form.validateFields((err, values) => { diff --git a/public/react/src/modules/courses/busyWork/PublishRightnow.js b/public/react/src/modules/courses/busyWork/PublishRightnow.js index cd1b72633..1b9c8b0f1 100644 --- a/public/react/src/modules/courses/busyWork/PublishRightnow.js +++ b/public/react/src/modules/courses/busyWork/PublishRightnow.js @@ -96,6 +96,7 @@ class PublishRightnow extends Component{ } homeworkstartend=(arg_group_ids,endtime)=>{ + debugger if (this.usingCheckBeforePost && this.props.checkBeforePost) { const goOn = this.props.checkBeforePost(); if (!goOn) { @@ -103,6 +104,7 @@ class PublishRightnow extends Component{ return; } } + debugger const isPublish = this.props.isPublish; let group_ids = arg_group_ids if (this.usingCheckBeforePost) { @@ -110,13 +112,16 @@ class PublishRightnow extends Component{ return item.id }) } - if (this.state.course_groups.length && (!group_ids || group_ids.length == 0)) { - this.props.showNotification('请至少选择一个分班'); - return; + debugger + if(this.state.course_groups.length>0){ + if (this.state.course_groups.length && (!group_ids || group_ids&&group_ids.length == 0)) { + this.props.showNotification('请至少选择一个分班'); + return; + } } let data={} - if(arg_group_ids.length===0){ + if(arg_group_ids&&arg_group_ids.length===0){ data = { homework_ids: this.props.checkBoxValues, end_time: endtime==="Invalid date"?undefined:endtime, diff --git a/public/react/src/modules/courses/coursesPublic/AccessoryModal.js b/public/react/src/modules/courses/coursesPublic/AccessoryModal.js index aadfa770f..3b9563dbc 100644 --- a/public/react/src/modules/courses/coursesPublic/AccessoryModal.js +++ b/public/react/src/modules/courses/coursesPublic/AccessoryModal.js @@ -125,10 +125,11 @@ class AccessoryModal extends Component{ let {fileList,description} =this.state; let newfileList=[]; - for(var list of fileList){ + if(fileList!=undefined&&fileList.length>0) { + for (var list of fileList) { newfileList.push(list.response.id) } - + } if (newfileList.length == 0) { // this.props.showNotification('请先上传附件') if(this.props.modalname === "补交附件"){ @@ -194,8 +195,10 @@ class AccessoryModal extends Component{ let {fileList,description} =this.state; let newfileList=[]; - for(var list of fileList){ - newfileList.push(list.response.id) + if(fileList!=undefined&&fileList.length>0) { + for (var list of fileList) { + newfileList.push(list.response.id) + } } let url= this.props.reviseAttachmentUrl || "/graduation_works/"+id+"/revise_attachment.json" axios.post(url,{ diff --git a/public/react/src/modules/courses/coursesPublic/AccessoryModal2.js b/public/react/src/modules/courses/coursesPublic/AccessoryModal2.js index 1f5dea3e8..43c14f909 100644 --- a/public/react/src/modules/courses/coursesPublic/AccessoryModal2.js +++ b/public/react/src/modules/courses/coursesPublic/AccessoryModal2.js @@ -127,8 +127,10 @@ class AccessoryModal2 extends Component{ // debugger let {fileList,description} =this.state; let newfileList=[]; - for(var list of fileList){ - newfileList.push(list.response.id) + if(fileList!=undefined&&fileList.length>0) { + for (var list of fileList) { + newfileList.push(list.response.id) + } } this.props.Saves && this.props.Saves(newfileList, description) return; diff --git a/public/react/src/modules/courses/coursesPublic/SelectSetting.js b/public/react/src/modules/courses/coursesPublic/SelectSetting.js index 337b4d2e8..1e177be3d 100644 --- a/public/react/src/modules/courses/coursesPublic/SelectSetting.js +++ b/public/react/src/modules/courses/coursesPublic/SelectSetting.js @@ -108,10 +108,13 @@ class Selectsetting extends Component{ let {fileList,is_public,description,datatime,Radiovalue}=this.state; let newfileList=[]; - for(var list of fileList){ - newfileList.push(list.response.id) + if(fileList!=undefined&&fileList.length>0){ + for(var list of fileList){ + newfileList.push(list.response.id) + } } + if(this.state.Radiovalue===1){ if(datatime===undefined||datatime===null||datatime=== ""){ this.setState({ diff --git a/public/react/src/modules/courses/coursesPublic/sendResource.js b/public/react/src/modules/courses/coursesPublic/sendResource.js index 517adcd82..d1e935db9 100644 --- a/public/react/src/modules/courses/coursesPublic/sendResource.js +++ b/public/react/src/modules/courses/coursesPublic/sendResource.js @@ -129,10 +129,14 @@ class Sendresource extends Component{ let {fileList,description,is_public,datatime,Radiovalue} =this.state; let newfileList=[]; - for(var list of fileList){ - newfileList.push(list.response.id) + + if(fileList!=undefined&&fileList.length>0){ + for(var list of fileList){ + newfileList.push(list.response.id) + } } + if(newfileList.length===0){ this.setState({ newfileListtype:true diff --git a/public/react/src/modules/courses/graduation/tasks/GraduationTasksSubmitedit.js b/public/react/src/modules/courses/graduation/tasks/GraduationTasksSubmitedit.js index f535c01bb..65fcf4d19 100644 --- a/public/react/src/modules/courses/graduation/tasks/GraduationTasksSubmitedit.js +++ b/public/react/src/modules/courses/graduation/tasks/GraduationTasksSubmitedit.js @@ -41,7 +41,7 @@ class GraduationTasksSubmitedit extends Component{ componentDidMount(){ - + this.props.form.validateFields(); let workId=this.props.match.params.work_Id; let url = "/graduation_works/"+workId+"/edit.json"; @@ -367,7 +367,6 @@ class GraduationTasksSubmitedit extends Component{ let {fileList,selectmemberslist,workslist}=this.state; - this.Commoninterface(fileList,selectmemberslist,workslist); // setTimeout(function () { // GraduationTasksnewtype=true @@ -380,27 +379,37 @@ class GraduationTasksSubmitedit extends Component{ let workId=this.props.match.params.work_Id; let userids=[]; + // for(var list of selectmemberslist){ + // if(list.user_id!=undefined&&list.user_id!=null){ + // userids.push(list.user_id) + // } + // } + if(selectmemberslist!=undefined&&selectmemberslist.length>0){ + selectmemberslist.map((list,key)=>{ + if(list.user_id!=undefined&&list.user_id!=null){ + userids.push(list.user_id) + } + }) + } - for(var list of selectmemberslist){ - if(list.user_id!=undefined&&list.user_id!=null){ - userids.push(list.user_id) - } - } let listid=[]; - for(var list of fileList){ - listid.push(list.response == undefined ? list.id : list.response.id) + // for(var list of fileList){ + // listid.push(list.response == undefined ? list.id : list.response.id) + // } + if(fileList!=undefined&&fileList.length>0){ + fileList.map((list,key)=>{ + listid.push(list.response == undefined ? list.id : list.response.id) + }) } - console.log(userids) - this.props.form.validateFields((err, values) => { + this.props.form.validateFields((err, values) => { // console.log(fileList); if(values.description===undefined||values.description===""){ this.scrollToAnchor("valuestypes"); - // debugger return } @@ -593,7 +602,7 @@ class GraduationTasksSubmitedit extends Component{ {description&&description?
- {/*
*/} +
-
+
{/*内容*/}
-

+ { objectsingle.item_type==="JUDGMENT"? - objectsingle === undefined ||objectsingle === null? "" : objectsingle.choices.map((object, index) => { - return ( -

- - {object.choice_text} - -

- ) - }) +

+ { + objectsingle === undefined ||objectsingle === null? "" : objectsingle.choices.map((object, index) => { + return ( +

+ + {object.choice_text} + +

+ ) + }) + } +

: - objectsingle === undefined ||objectsingle === null? "" : objectsingle.choices.map((object, index) => { - return ( -

- {tagArray[index]} -

+ objectsingle.item_type==="PROGRAM"? +

+

+

- ) - }) +

+ : +

+ { + objectsingle === undefined ||objectsingle === null? "" : objectsingle.choices.map((object, index) => { + return ( +

+ {tagArray[index]} +

+

+ ) + }) + } +

} -

+
-
+ + + + +
) } diff --git a/public/react/src/modules/question/component/Contentpart.js b/public/react/src/modules/question/component/Contentpart.js index bff3c4e6f..20ad3b096 100644 --- a/public/react/src/modules/question/component/Contentpart.js +++ b/public/react/src/modules/question/component/Contentpart.js @@ -23,7 +23,8 @@ class Contentpart extends Component { super(props); this.state = { page:1, - + chakanjiexibool:false, + chakanjiexiboolindex:"无", } } //初始化 @@ -32,7 +33,18 @@ class Contentpart extends Component { } - + chakanjiexibool=(index)=>{ + debugger + if(this.state.chakanjiexiboolindex===index){ + this.setState({ + chakanjiexiboolindex:"无", + }) + return + } + this.setState({ + chakanjiexiboolindex:index, + }) + } render() { let {page}=this.state; @@ -203,7 +215,9 @@ class Contentpart extends Component { : this.props.Contentdata.items.map((object, index) => { return ( this.chakanjiexibool(keindex)} + listjihe={index+1} + keindex={index} items={object} key={index} getitem_basketss={(id)=>this.props.getitem_basketss(id)} diff --git a/public/react/src/modules/question/component/Listjihe.js b/public/react/src/modules/question/component/Listjihe.js index d31390e75..f592ffb16 100644 --- a/public/react/src/modules/question/component/Listjihe.js +++ b/public/react/src/modules/question/component/Listjihe.js @@ -22,7 +22,6 @@ class Listjihe extends Component { page:1, name:"单选题", nd:"简单", - chakanjiexibool:false, } } //初始化 @@ -31,18 +30,6 @@ class Listjihe extends Component { } - chakanjiexibool=()=>{ - if(this.state.chakanjiexibool===true){ - this.setState({ - chakanjiexibool:false - }) - }else{ - this.setState({ - chakanjiexibool:true - }) - } - - } //选用 Selectingpracticaltraining=(id)=>{ let data={ @@ -61,18 +48,41 @@ class Listjihe extends Component { render() { - let {page,name,nd,chakanjiexibool}=this.state; - let {defaultActiveKey,items,listjihe}=this.props; + let {page,name,nd}=this.state; + let {defaultActiveKey,items,listjihe,chakanjiexiboolindex,keindex}=this.props; + + // 编程答案 + var rightkey=null + + if(items){ + if(items.item_type){ + if(items.item_type==="PROGRAM"){ + }else{ + if(items.choices){ + if(items.choices.length>0){ + + var arr= items.choices; + for(let data of arr) { + if(data.is_answer===true){ + rightkey=data.choice_text; + break; + } + } + } + } + } + } + + } + - ////console.log("Listjihe"); - ////console.log(this.props); return ( -
+
{/*顶部*/}
{ - this.props.listjihe+1 + this.props.listjihe }
@@ -118,6 +128,8 @@ class Listjihe extends Component {

}
+ +

难度:{items.difficulty===1?"简单":items.difficulty===2?"适中":items.difficulty===3?"困难":""}

题型:{items.item_type==="SINGLE"?"单选题":items.item_type==="MULTIPLE"?"多选题":items.item_type==="JUDGMENT"?"判断题":items.item_type==="PROGRAM"?"编程题":""}

@@ -174,7 +186,7 @@ class Listjihe extends Component { items.item_type==="PROGRAM"? "" : -

this.chakanjiexibool()}> +

this.props.chakanjiexibool(keindex)}> 查看解析

} @@ -184,13 +196,13 @@ class Listjihe extends Component {
{ - chakanjiexibool===true?
+ chakanjiexiboolindex===keindex?