diff --git a/app/controllers/student_works_controller.rb b/app/controllers/student_works_controller.rb index 8c2c4fda1..6c9de071d 100644 --- a/app/controllers/student_works_controller.rb +++ b/app/controllers/student_works_controller.rb @@ -374,6 +374,7 @@ class StudentWorksController < ApplicationController new_score.comment = params[:comment] if params[:comment] && params[:comment].strip != "" new_score.user_id = current_user.id new_score.student_work_id = @work.id + new_score.homework_common_id = @work.homework_common_id # 如果作品是未提交的状态则更新为已提交 if @user_course_identity < Course::STUDENT && !new_score.score.nil? && @work.work_status == 0 @@ -553,8 +554,10 @@ class StudentWorksController < ApplicationController # 分数不为空的历史评阅都置为失效 @work.student_works_scores.where.not(score: nil).update_all(is_invalid: 1) reviewer_role = @user_course_identity == Course::ASSISTANT_PROFESSOR ? 2 : 1 - new_score = StudentWorksScore.new(student_work_id: @work.id, score: params[:score].to_f, comment: "使用调分功能调整了作业最终成绩:#{params[:comment]}", - user_id: current_user.id, reviewer_role: reviewer_role, is_ultimate: 1) + new_score = StudentWorksScore.new(student_work_id: @work.id, score: params[:score].to_f, + comment: "使用调分功能调整了作业最终成绩:#{params[:comment]}", + homework_common_id: @work.homework_common_id, user_id: current_user.id, + reviewer_role: reviewer_role, is_ultimate: 1) new_score.save! # 如果作品是未提交的状态则更新为已提交 @@ -844,7 +847,7 @@ class StudentWorksController < ApplicationController def add_score_to_member student_work, homework, new_score student_works = homework.student_works.where("group_id = #{student_work.group_id} and id != #{student_work.id} and ultimate_score = 0") student_works.each do |st_work| - st_score = StudentWorksScore.new(user_id: new_score.user_id, score: new_score.score, + st_score = StudentWorksScore.new(user_id: new_score.user_id, score: new_score.score, homework_common_id: homework.id, reviewer_role: new_score.reviewer_role, comment: new_score.comment) score = StudentWorksScore.where(user_id: new_score.user_id, student_work_id: st_work.id, reviewer_role: new_score.reviewer_role).last diff --git a/app/controllers/users/videos_controller.rb b/app/controllers/users/videos_controller.rb index 32f81f6ed..04e483a6b 100644 --- a/app/controllers/users/videos_controller.rb +++ b/app/controllers/users/videos_controller.rb @@ -55,9 +55,8 @@ class Users::VideosController < Users::BaseController def destroy video = Video.find_by(id: params[:id]) - return render_forbidden unless video.user_id == current_user.id || current_user.admin_or_business? + return render_forbidden unless video.user_id == current_user.id || current_user.admin? return render_not_found if video.blank? - return render_error('该状态下不能删除视频') unless video.published? video.destroy! diff --git a/app/controllers/weapps/courses_controller.rb b/app/controllers/weapps/courses_controller.rb index e1ceb6fd3..c4dde41e0 100644 --- a/app/controllers/weapps/courses_controller.rb +++ b/app/controllers/weapps/courses_controller.rb @@ -48,6 +48,16 @@ class Weapps::CoursesController < Weapps::BaseController render_error(ex.message) end + def course_videos + videos = @course.videos.where(transcoded: true) + videos = custom_sort(videos, params[:sort_by], params[:sort_direction]) + #sql = "left join videos on videos.id=course_videos.video_id AND (videos.transcoded=1 OR videos.user_id = #{current_user.id})" + #@videos = paginate videos.joins(sql).includes(video: [user: :user_extension], user: :user_extension) + videos = videos.includes(user: :user_extension) + @count = videos.count + @videos = paginate videos + end + def basic_info @course = current_course end diff --git a/app/models/homework_common.rb b/app/models/homework_common.rb index 7da7a177d..a6a919981 100644 --- a/app/models/homework_common.rb +++ b/app/models/homework_common.rb @@ -6,6 +6,7 @@ class HomeworkCommon < ApplicationRecord has_many :student_works, -> { where(is_delete: 0) } has_many :score_student_works, -> { where("is_delete = 0 and work_status != 0").order("work_score desc") }, class_name: "StudentWork" has_one :homework_detail_manual, dependent: :destroy + has_many :student_works_scores # 分组作业的设置 has_one :homework_detail_group, dependent: :destroy diff --git a/app/models/student_work.rb b/app/models/student_work.rb index a4ae63f04..462e06adc 100644 --- a/app/models/student_work.rb +++ b/app/models/student_work.rb @@ -46,7 +46,17 @@ class StudentWork < ApplicationRecord # 匿评次数 def student_comment_num - homework_common.homework_detail_manual.comment_status > 2 ? self.student_works_scores.select{|score| score.reviewer_role == 3}.group_by(&:user_id).count : 0 + homework_common.homework_detail_manual.comment_status > 2 && work_status > 0 ? self.student_works_scores.select{|score| score.reviewer_role == 3}.group_by(&:user_id).count : 0 + end + + # 学生评阅作品数 + def user_comment_num + if homework_common.homework_detail_manual.comment_status > 2 && work_status > 0 + count = homework_common.student_works_scores.select{|score| score.reviewer_role == 3 && score.user_id == user_id}.group_by(&:student_work_id).count + else + count = 0 + end + count end # 匿评申诉总条数 diff --git a/app/models/student_works_score.rb b/app/models/student_works_score.rb index a193d4e77..c978d10a8 100644 --- a/app/models/student_works_score.rb +++ b/app/models/student_works_score.rb @@ -2,6 +2,7 @@ class StudentWorksScore < ApplicationRecord #appeal_status: 0:正常;1:申诉中,2:撤销申诉;3:申诉成功;4:申诉被拒绝;5:申诉失效 belongs_to :student_work belongs_to :user + belongs_to :homework_common, optional: true has_many :journals_for_messages, -> { order('created_on desc') }, as: :jour, dependent: :destroy has_one :student_works_scores_appeal, dependent: :destroy has_many :tidings, as: :container, dependent: :destroy diff --git a/app/views/homework_commons/works_list.json.jbuilder b/app/views/homework_commons/works_list.json.jbuilder index 9fb2d6971..4faea3474 100644 --- a/app/views/homework_commons/works_list.json.jbuilder +++ b/app/views/homework_commons/works_list.json.jbuilder @@ -63,6 +63,7 @@ elsif @user_course_identity == Course::STUDENT if @homework.anonymous_comment json.student_comment_count @work.student_comment_num + json.user_comment_count @work.user_comment_num json.absence_penalty @work.absence_penalty end @@ -147,7 +148,8 @@ elsif @homework.homework_type == "group" || @homework.homework_type == "normal" # 作品匿评条数 if @homework.anonymous_comment - json.student_comment_count @homework_detail_manual.comment_status > 2 ? work.student_comment_num : 0 + json.student_comment_count @homework_detail_manual.comment_status > 2 && work.work_status > 0 ? work.student_comment_num : 0 + json.user_comment_count @homework_detail_manual.comment_status > 2 && work.work_status > 0 ? work.user_comment_num : 0 json.absence_penalty work.absence_penalty end diff --git a/app/views/weapps/courses/course_videos.json.jbuilder b/app/views/weapps/courses/course_videos.json.jbuilder new file mode 100644 index 000000000..e14e4f5d8 --- /dev/null +++ b/app/views/weapps/courses/course_videos.json.jbuilder @@ -0,0 +1,4 @@ +json.count @count +json.videos @videos do |video| + json.partial! 'users/videos/video', locals: { video: video.video } +end \ No newline at end of file diff --git a/config/routes.rb b/config/routes.rb index 9c6b73ddc..db9b74bd2 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1055,6 +1055,7 @@ Rails.application.routes.draw do get :course_groups get :basic_info get :course_activities + get :course_videos post :change_member_roles delete :delete_course_teachers delete :delete_course_students diff --git a/db/migrate/20200310081817_add_homework_common_id_to_student_works_score.rb b/db/migrate/20200310081817_add_homework_common_id_to_student_works_score.rb new file mode 100644 index 000000000..bef02e7e1 --- /dev/null +++ b/db/migrate/20200310081817_add_homework_common_id_to_student_works_score.rb @@ -0,0 +1,5 @@ +class AddHomeworkCommonIdToStudentWorksScore < ActiveRecord::Migration[5.2] + def change + add_column :student_works_scores, :homework_common_id, :integer, default: 0, index: true + end +end diff --git a/db/migrate/20200310082003_migrate_student_works_score_homework.rb b/db/migrate/20200310082003_migrate_student_works_score_homework.rb new file mode 100644 index 000000000..3b8c1c10d --- /dev/null +++ b/db/migrate/20200310082003_migrate_student_works_score_homework.rb @@ -0,0 +1,7 @@ +class MigrateStudentWorksScoreHomework < ActiveRecord::Migration[5.2] + def change + StudentWorksScore.includes(:student_work).find_each do |score| + score.update_column("homework_common_id", score.student_work&.homework_common_id) + end + end +end diff --git a/public/react/src/modules/courses/busyWork/CommonWorkDetailIndex.js b/public/react/src/modules/courses/busyWork/CommonWorkDetailIndex.js index 255a74295..ae5771507 100644 --- a/public/react/src/modules/courses/busyWork/CommonWorkDetailIndex.js +++ b/public/react/src/modules/courses/busyWork/CommonWorkDetailIndex.js @@ -247,8 +247,8 @@ class CommonWorkDetailIndex extends Component{ `} {current_user && this.setState({moduleName: '作品列表'})} className={`${isListModule ? 'active' : '' } `} - to={`/courses/${courseId}/${moduleEngName}/${workId}/list`}>作品列表 + to={`/classrooms/${courseId}/${moduleEngName}/${workId}/list`}>作品列表 this.setState({moduleName: '作业描述'})} className={`${childModuleName == '作业描述' ? 'active' : '' } `} - to={`/courses/${courseId}/${moduleEngName}/${workId}/question`}>作业描述 + to={`/classrooms/${courseId}/${moduleEngName}/${workId}/question`}>作业描述 {view_answer == true && this.setState({moduleName: '参考答案'})} className={`${childModuleName == '参考答案' ? 'active' : '' } `} - to={`/courses/${courseId}/${moduleEngName}/${workId}/answer`}>参考答案} + to={`/classrooms/${courseId}/${moduleEngName}/${workId}/answer`}>参考答案} this.setState({moduleName: '设置'})} className={`${childModuleName == '设置' ? 'active' : '' } `} style={{paddingLeft:this.props.isAdmin()?'38px':'20px'}} - to={`/courses/${courseId}/${moduleEngName}/${workId}/setting`}>{this.props.isAdmin()?"设置":"得分规则"} + to={`/classrooms/${courseId}/${moduleEngName}/${workId}/setting`}>{this.props.isAdmin()?"设置":"得分规则"} {/* { this.props.tabRightComponents } */} diff --git a/public/react/src/modules/courses/busyWork/common.js b/public/react/src/modules/courses/busyWork/common.js index f8327adcd..ebcce2c12 100644 --- a/public/react/src/modules/courses/busyWork/common.js +++ b/public/react/src/modules/courses/busyWork/common.js @@ -51,9 +51,9 @@ export function RouteHOC(options = {}) { const topicId = _courseId.topicId const workId = _courseId.workId const courseId = _courseId.coursesId - this.props.history.push(`/courses/${courseId}/boards/${workId}/messages/${topicId}`) + this.props.history.push(`/classrooms/${courseId}/boards/${workId}/messages/${topicId}`) } else { - this.props.history.push(`/courses/${_courseId}/boards/${workId}/messages/${topicId}`) + this.props.history.push(`/classrooms/${_courseId}/boards/${workId}/messages/${topicId}`) } } @@ -62,9 +62,9 @@ export function RouteHOC(options = {}) { if (typeof _courseId == "object") { const workId = _courseId.workId const courseId = _courseId.coursesId - this.props.history.push(`/courses/${courseId}/${secondName}/${_workId || workId}/edit`) + this.props.history.push(`/classrooms/${courseId}/${secondName}/${_workId || workId}/edit`) } else { - this.props.history.push(`/courses/${_courseId}/${secondName}/${_workId}/edit`) + this.props.history.push(`/classrooms/${_courseId}/${secondName}/${_workId}/edit`) } } toWorkDetailPage = (_courseId, _workId, _studentWorkId) => { @@ -73,9 +73,9 @@ export function RouteHOC(options = {}) { const workId = _courseId.workId const courseId = _courseId.coursesId const studentWorkId = _courseId.studentWorkId - window.open(`/courses/${courseId}/${secondName}/${_workId || workId}/${_studentWorkId || studentWorkId}/appraise`); + window.open(`/classrooms/${courseId}/${secondName}/${_workId || workId}/${_studentWorkId || studentWorkId}/appraise`); } else { - window.open(`/courses/${_courseId}/${secondName}/${_workId}/${_studentWorkId}/appraise`); + window.open(`/classrooms/${_courseId}/${secondName}/${_workId}/${_studentWorkId}/appraise`); } } toWorkDetailPage2 = (e, _courseId, _workId, _studentWorkId) => { @@ -86,23 +86,23 @@ export function RouteHOC(options = {}) { const workId = _courseId.workId const courseId = _courseId.coursesId const studentWorkId = _courseId.studentWorkId - window.open(`/courses/${courseId}/${secondName}/${_workId || workId}/${_studentWorkId || studentWorkId}/appraise`); + window.open(`/classrooms/${courseId}/${secondName}/${_workId || workId}/${_studentWorkId || studentWorkId}/appraise`); } else { - window.open(`/courses/${_courseId}/${secondName}/${_workId}/${_studentWorkId}/appraise`); + window.open(`/classrooms/${_courseId}/${secondName}/${_workId}/${_studentWorkId}/appraise`); } } toNewPage = (courseId) => { const secondName = this.getModuleName() - this.props.history.push(`/courses/${courseId.coursesId}/${secondName}/${courseId.category_id}/new`) + this.props.history.push(`/classrooms/${courseId.coursesId}/${secondName}/${courseId.category_id}/new`) } toListPage = (_courseId, _workId) => { const secondName = this.getModuleName() if (typeof _courseId == "object") { const workId = _courseId.workId const courseId = _courseId.coursesId - this.props.history.push(`/courses/${courseId}/${secondName}/${_workId || workId}`) + this.props.history.push(`/classrooms/${courseId}/${secondName}/${_workId || workId}`) } else { - this.props.history.push(`/courses/${_courseId}/${secondName}${_workId ? '/' + _workId : ''}`) + this.props.history.push(`/classrooms/${_courseId}/${secondName}${_workId ? '/' + _workId : ''}`) } } @@ -113,9 +113,9 @@ export function RouteHOC(options = {}) { const workId = _courseId.workId const courseId = _courseId.coursesId const studentWorkId = _courseId.studentWorkId - this.props.history.push(`/courses/${courseId}/${secondName}/${_workId || workId}/${isEdit? `${_studentWorkId || studentWorkId}/post_edit` : 'post'}`) + this.props.history.push(`/classrooms/${courseId}/${secondName}/${_workId || workId}/${isEdit? `${_studentWorkId || studentWorkId}/post_edit` : 'post'}`) } else { - this.props.history.push(`/courses/${_courseId}/${secondName}/${_workId}/${isEdit? `${_studentWorkId}/post_edit` : 'post'}`) + this.props.history.push(`/classrooms/${_courseId}/${secondName}/${_workId}/${isEdit? `${_studentWorkId}/post_edit` : 'post'}`) } } toWorkListPage = (_courseId, _workId) => { @@ -123,9 +123,9 @@ export function RouteHOC(options = {}) { if (typeof _courseId == "object") { const workId = _courseId.workId const courseId = _courseId.coursesId - this.props.history.push(`/courses/${courseId}/${secondName}/${_workId || workId}/list`) + this.props.history.push(`/classrooms/${courseId}/${secondName}/${_workId || workId}/list`) } else { - this.props.history.push(`/courses/${_courseId}/${secondName}/${_workId}/list`) + this.props.history.push(`/classrooms/${_courseId}/${secondName}/${_workId}/list`) } } toWorkAnswerPage = (_courseId, _workId) => { @@ -133,9 +133,9 @@ export function RouteHOC(options = {}) { if (typeof _courseId == "object") { const workId = _courseId.workId const courseId = _courseId.coursesId - this.props.history.push(`/courses/${courseId}/${secondName}/${workId}/answer`) + this.props.history.push(`/classrooms/${courseId}/${secondName}/${workId}/answer`) } else { - this.props.history.push(`/courses/${_courseId}/${secondName}/${_workId}/answer`) + this.props.history.push(`/classrooms/${_courseId}/${secondName}/${_workId}/answer`) } } @@ -144,9 +144,9 @@ export function RouteHOC(options = {}) { if (typeof _courseId == "object") { const workId = _workId || _courseId.workId const courseId = _courseId.coursesId - this.props.history.push(`/courses/${courseId}/${secondName}/${workId}/question`) + this.props.history.push(`/classrooms/${courseId}/${secondName}/${workId}/question`) } else { - this.props.history.push(`/courses/${_courseId}/${secondName}/${_workId}/question`) + this.props.history.push(`/classrooms/${_courseId}/${secondName}/${_workId}/question`) } } @@ -155,9 +155,9 @@ export function RouteHOC(options = {}) { if (typeof _courseId == "object") { const workId = _courseId.workId const courseId = _courseId.coursesId - this.props.history.push(`/courses/${courseId}/${secondName}/${_workId || workId}/setting`) + this.props.history.push(`/classrooms/${courseId}/${secondName}/${_workId || workId}/setting`) } else { - this.props.history.push(`/courses/${_courseId}/${secondName}/${_workId}/setting`) + this.props.history.push(`/classrooms/${_courseId}/${secondName}/${_workId}/setting`) } } diff --git a/public/react/src/modules/courses/coursesDetail/CoursesBanner.js b/public/react/src/modules/courses/coursesDetail/CoursesBanner.js index 8c3520054..7d2791b15 100644 --- a/public/react/src/modules/courses/coursesDetail/CoursesBanner.js +++ b/public/react/src/modules/courses/coursesDetail/CoursesBanner.js @@ -294,7 +294,7 @@ class CoursesBanner extends Component { }) that.modalCancel(); message.success("删除成功", 1) - push.push(`/courses`) + push.push(`/classrooms`) } }) diff --git a/public/react/src/modules/courses/exercise/ExerciseNewCommon.js b/public/react/src/modules/courses/exercise/ExerciseNewCommon.js index 736f44308..0f61b9942 100644 --- a/public/react/src/modules/courses/exercise/ExerciseNewCommon.js +++ b/public/react/src/modules/courses/exercise/ExerciseNewCommon.js @@ -157,7 +157,7 @@ class ExerciseNewCommon extends Component{ const exercise_id = response.data.data.exercise_id; this.isEdit = true; - this.props.history.replace(`/courses/${courseId}/exercises/${exercise_id}/edit`); + this.props.history.replace(`/classrooms/${courseId}/exercises/${exercise_id}/edit`); } }) diff --git a/public/react/src/modules/courses/exercise/ExerciseReviewAndAnswer.js b/public/react/src/modules/courses/exercise/ExerciseReviewAndAnswer.js index 20c40f025..337a9b7e9 100644 --- a/public/react/src/modules/courses/exercise/ExerciseReviewAndAnswer.js +++ b/public/react/src/modules/courses/exercise/ExerciseReviewAndAnswer.js @@ -30,8 +30,8 @@ const { Countdown } = Statistic; const Textarea =Input.TextArea const tagArray = [ - 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', - 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', + 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', + 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' ] const $ = window.$; @@ -99,8 +99,8 @@ class ExerciseReviewAndAnswer extends Component{ if(this.props.coursedata.name){ this.getInfo(); } - - //window.addEventListener('scroll', this.handleScroll); + + //window.addEventListener('scroll', this.handleScroll); } remainTime=(time)=>{ @@ -170,7 +170,7 @@ class ExerciseReviewAndAnswer extends Component{ sureCommit=()=>{ let coursesId = this.props.match.params.coursesId; let eId = this.props.match.params.Id; - this.props.history.push(`/courses/${coursesId}/exercises/${eId}/student_exercise_list?tab=0`); + this.props.history.push(`/classrooms/${coursesId}/exercises/${eId}/student_exercise_list?tab=0`); } // 滚动定位 @@ -279,7 +279,7 @@ class ExerciseReviewAndAnswer extends Component{ //答题后更改题目列表得状态 changeQuestionStatus=(No,flag)=>{ this.setState( - (prevState) => ({ + (prevState) => ({ question_status : update(prevState.question_status, {[No]: { ques_status: {$set: flag} }}) }) ) @@ -287,7 +287,7 @@ class ExerciseReviewAndAnswer extends Component{ // 调分 showSetScore=(key,flag,position,type,id)=>{ this.setState( - (prevState) => ({ + (prevState) => ({ exercise_questions : update(prevState.exercise_questions, {[key]: { setScore: {$set: flag == undefined || flag==false ? true : false}}}) }),()=>{ if (position && type && (flag == undefined || flag==false)) { @@ -323,7 +323,7 @@ class ExerciseReviewAndAnswer extends Component{ // setTip:"请输入数字" // }) this.setState( - (prevState) => ({ + (prevState) => ({ ajustSore : update(prevState.ajustSore, {[index]: { setTip: {$set: "请输入数字"}}}) }) ) @@ -334,7 +334,7 @@ class ExerciseReviewAndAnswer extends Component{ // score:value // }) this.setState( - (prevState) => ({ + (prevState) => ({ ajustSore : update(prevState.ajustSore, {[index]: { inputSore: {$set: value},setTip:{$set: ""}}}) }) ) @@ -349,7 +349,7 @@ class ExerciseReviewAndAnswer extends Component{ let { ajustSore } = this.state; var index = ajustSore.map(function (item) { return item.id; }).indexOf(id); this.setState( - (prevState) => ({ + (prevState) => ({ ajustSore : update(prevState.ajustSore, {[index]: { desc: {$set: value}}}) }) ) @@ -368,7 +368,7 @@ class ExerciseReviewAndAnswer extends Component{ // setTip:"请输入分数" // }) this.setState( - (prevState) => ({ + (prevState) => ({ ajustSore : update(prevState.ajustSore, {[index]: { setTip: {$set: "请输入分数"}}}) }) ) @@ -379,7 +379,7 @@ class ExerciseReviewAndAnswer extends Component{ // setTip:"分数必须大于或者等于0" // }) this.setState( - (prevState) => ({ + (prevState) => ({ ajustSore : update(prevState.ajustSore, {[index]: { setTip: {$set: "分数必须大于或者等于0"}}}) }) ) @@ -390,7 +390,7 @@ class ExerciseReviewAndAnswer extends Component{ // setTip:"分数不能大于当前题目的分数" // }) this.setState( - (prevState) => ({ + (prevState) => ({ ajustSore : update(prevState.ajustSore, {[index]: { setTip: {$set: "分数不能大于当前题目的分数"}}}) }) ) @@ -407,15 +407,15 @@ class ExerciseReviewAndAnswer extends Component{ this.props.showNotification('调分成功'); this.getInfo(); // let statusScore = score==0 ? 0 : score > 0 && score < maxScore ? 2 : 1; - + // this.setState( - // (prevState) => ({ + // (prevState) => ({ // exercise_questions : update(prevState.exercise_questions, {[key]: { user_score: {$set: parseFloat(score).toFixed(1)},answer_status : {$set: statusScore},question_comments:{$set:result.data.question_comments} }}), // }) // ) - + // this.setState( - // (prevState) => ({ + // (prevState) => ({ // ajustSore : update(prevState.ajustSore, {[index]: { desc: {$set: undefined},inputSore:{ $set:undefined }}}) // }) // ) @@ -430,14 +430,14 @@ class ExerciseReviewAndAnswer extends Component{ console.log(error); }) } - + } // 选择题,切换答案 changeOption = (index,ids) =>{ //console.log(index+" "+ids); this.setState( - (prevState) => ({ + (prevState) => ({ exercise_questions : update(prevState.exercise_questions, {[index]: { user_answer: {$set: ids} }}), }) ) @@ -446,7 +446,7 @@ class ExerciseReviewAndAnswer extends Component{ //简答题 显示和隐藏答案 changeA_flag=(index,status)=>{ this.setState( - (prevState) => ({ + (prevState) => ({ exercise_questions : update(prevState.exercise_questions, {[index]: { a_flag: {$set: status} }}) }) ) @@ -582,7 +582,7 @@ class ExerciseReviewAndAnswer extends Component{ returnBtn = () =>{ let coursesId=this.props.match.params.coursesId; let eId=this.props.match.params.Id; - this.props.history.push(`/courses/${coursesId}/exercises/${eId}/student_exercise_list?tab=0`) + this.props.history.push(`/classrooms/${coursesId}/exercises/${eId}/student_exercise_list?tab=0`) } deadline=(time)=>{ @@ -684,9 +684,9 @@ class ExerciseReviewAndAnswer extends Component{

{courseName} > - {data && data.left_banner_name} + {data && data.left_banner_name} > - {data && data.left_banner_name}详情> + {data && data.left_banner_name}详情> {exercise_answer_user&&exercise_answer_user.user_name}{data&&data.exercise.user_name}

@@ -722,23 +722,23 @@ class ExerciseReviewAndAnswer extends Component{ }

{ - exercise_types && exercise_types.q_singles > 0 && + exercise_types && exercise_types.q_singles > 0 && 单选题 {exercise_types.q_singles} 题,共 {exercise_types && exercise_types.q_singles_scores} 分 } { - exercise_types && exercise_types.q_doubles > 0 && + exercise_types && exercise_types.q_doubles > 0 && 多选题 {exercise_types.q_doubles} 题,共 {exercise_types && exercise_types.q_doubles_scores} 分 } { - exercise_types && exercise_types.q_judges > 0 && + exercise_types && exercise_types.q_judges > 0 && 判断题 {exercise_types.q_judges} 题,共 {exercise_types && exercise_types.q_judges_scores} 分 } { - exercise_types && exercise_types.q_nulls > 0 && + exercise_types && exercise_types.q_nulls > 0 && 填空题 {exercise_types.q_nulls} 题,共 {exercise_types && exercise_types.q_nulls_scores} 分 } { - exercise_types && exercise_types.q_mains > 0 && + exercise_types && exercise_types.q_mains > 0 && 简答题 {exercise_types.q_mains} 题,共 {exercise_types && exercise_types.q_mains_scores} 分 } { @@ -755,11 +755,11 @@ class ExerciseReviewAndAnswer extends Component{ { exercise_start_at && 开始答题时间:{ exercise_start_at && moment(exercise_start_at).format(format) } } - { - (isAdmin || (isStudent && exercise && exercise.exercise_status == 3)) && exerciseTotalScore && + { + (isAdmin || (isStudent && exercise && exercise.exercise_status == 3)) && exerciseTotalScore && 总分: { exerciseTotalScore } } - + { // 老师身份 || 学生身份且试卷已经截止 (isAdmin || (isStudent && exercise && exercise.exercise_status == 3)) && @@ -785,7 +785,7 @@ class ExerciseReviewAndAnswer extends Component{ } { - exercise_scores && exercise_scores.subjective_scores.length > 0 && + exercise_scores && exercise_scores.subjective_scores.length > 0 &&

主观题 @@ -804,8 +804,8 @@ class ExerciseReviewAndAnswer extends Component{

} - } - + } + { //学生身份 且试卷还未截止 isStudent && exercise && exercise.exercise_status == 2 ? @@ -838,12 +838,12 @@ class ExerciseReviewAndAnswer extends Component{ { // 填空(一直都有调分),和简答题调分:老师身份 已经评分的才能出现调分按钮 - isAdmin && ((parseInt(item.answer_status) != 0 && item.question_type == 4) || item.question_type == 3 || item.question_type == 1) ? + isAdmin && ((parseInt(item.answer_status) != 0 && item.question_type == 4) || item.question_type == 3 || item.question_type == 1) ? this.showSetScore(key,item.setScore,item.q_position,item.question_type,item.question_id)}>调分:"" } { // 简答题,未评分的显示未批 - isAdmin && parseInt(item.answer_status) == 0 && item.question_type == 4 ? + isAdmin && parseInt(item.answer_status) == 0 && item.question_type == 4 ? 未批:"" } { @@ -869,16 +869,16 @@ class ExerciseReviewAndAnswer extends Component{

  • {/*

    */} -
  • { // 选择题和判断题共用 - (item.question_type == 0 || item.question_type == 2) && - } - + { //调分理由部分 - item.question_comments && item.question_comments.comment && (item.question_type == 3 || item.question_type == 4 || item.question_type == 1) && + item.question_comments && item.question_comments.comment && (item.question_type == 3 || item.question_type == 4 || item.question_type == 1) &&
    @@ -967,14 +967,14 @@ class ExerciseReviewAndAnswer extends Component{ *调分:
  • - 0 && list[0].inputSore} - step={0.1} + 0 && list[0].inputSore} + step={0.1} precision={1} - className={ list && list.length>0 && list[0].setTip !="" ? "edu-txt-center winput-115-40 fl mt3 noticeTip inputNumber30" : "edu-txt-center winput-115-40 fl mt3 inputNumber30"} + className={ list && list.length>0 && list[0].setTip !="" ? "edu-txt-center winput-115-40 fl mt3 noticeTip inputNumber30" : "edu-txt-center winput-115-40 fl mt3 inputNumber30"} onChange={(value)=>this.inputScore(value,item.question_id)} id={`${"input_"+item.q_position+"_"+item.question_type}`} > @@ -1016,4 +1016,4 @@ class ExerciseReviewAndAnswer extends Component{ ) } } -export default ExerciseReviewAndAnswer \ No newline at end of file +export default ExerciseReviewAndAnswer diff --git a/public/react/src/modules/courses/graduation/topics/GraduateTopicDetail.js b/public/react/src/modules/courses/graduation/topics/GraduateTopicDetail.js index b4bcaf0fa..50368fe9c 100644 --- a/public/react/src/modules/courses/graduation/topics/GraduateTopicDetail.js +++ b/public/react/src/modules/courses/graduation/topics/GraduateTopicDetail.js @@ -88,7 +88,7 @@ class GraduateTopicDetail extends Component{ } }) } - + render(){ let { tableData, @@ -107,14 +107,14 @@ class GraduateTopicDetail extends Component{

    {tableData && tableData.course_name} > - {tableData.graduation_name} + {tableData.graduation_name} > 选题详情

    {tableData && tableData.graduation_topic_name} - 返回 + 返回

    @@ -134,14 +134,14 @@ class GraduateTopicDetail extends Component{ 取消选题 } { - isAdmin && 编辑 + isAdmin && 编辑 }
    { tab && tab==1&&
    - +
    { tableData && tableData.users_count>tablePageSize && @@ -161,4 +161,4 @@ class GraduateTopicDetail extends Component{ ) } } -export default GraduateTopicDetail; \ No newline at end of file +export default GraduateTopicDetail; diff --git a/public/react/src/modules/courses/graduation/topics/GraduateTopicItem.js b/public/react/src/modules/courses/graduation/topics/GraduateTopicItem.js index 524e7d208..551f7f585 100644 --- a/public/react/src/modules/courses/graduation/topics/GraduateTopicItem.js +++ b/public/react/src/modules/courses/graduation/topics/GraduateTopicItem.js @@ -10,9 +10,9 @@ class GraduateTopicItem extends Component{ constructor(props){ super(props); } - editTopic=(topicId)=>{ + editTopic=(topicId)=>{ let courseId=this.props.match.params.coursesId; - this.props.history.push(`/courses/${courseId}/graduation_topics/${topicId}/edit`); + this.props.history.push(`/classrooms/${courseId}/graduation_topics/${topicId}/edit`); } toDetailPage=(topicId)=>{ @@ -32,7 +32,7 @@ class GraduateTopicItem extends Component{ // } let courseId=this.props.match.params.coursesId; - this.props.history.push(`/courses/${courseId}/graduation_topics/${topicId}/detail`); + this.props.history.push(`/classrooms/${courseId}/graduation_topics/${topicId}/detail`); } render(){ const { checkBox, discussMessage, index,chooseTopic, @@ -107,17 +107,17 @@ class GraduateTopicItem extends Component{ :"" - } + } - +

    {discussMessage.author} - + {discussMessage.selected_count} 已选 {discussMessage.confirmation_count} 已确认 @@ -136,13 +136,13 @@ class GraduateTopicItem extends Component{ isStudent && data.user_selected == true && discussMessage.user_topic_status==0 && chooseTopic(`${discussMessage.id}`,index,true)} style="blue" className="font-16 mr20"> 取消选题 - + } { isStudent && data.user_selected==false && (discussMessage.user_topic_status == null || discussMessage.user_topic_status == 2) && chooseTopic(`${discussMessage.id}`,index,false)} style="blue" className="font-16 mr20"> 选题 - + } @@ -154,4 +154,4 @@ class GraduateTopicItem extends Component{ ) } } -export default GraduateTopicItem; \ No newline at end of file +export default GraduateTopicItem; diff --git a/public/react/src/modules/courses/graduation/topics/GraduateTopicNew.js b/public/react/src/modules/courses/graduation/topics/GraduateTopicNew.js index b086efeda..433007c69 100644 --- a/public/react/src/modules/courses/graduation/topics/GraduateTopicNew.js +++ b/public/react/src/modules/courses/graduation/topics/GraduateTopicNew.js @@ -81,7 +81,7 @@ class GraduateTopicNew extends Component{ this.getTeacherList(); }else{ this.getEditInfo(); - + } } //编辑,信息显示 @@ -162,8 +162,8 @@ class GraduateTopicNew extends Component{ if (response.status == 200) { const { id } = response.data; if (id) { - this.props.showNotification('保存成功!'); - this.props.history.push(`/courses/${cid}/graduation_topics/${this.state.left_banner_id}`); + this.props.showNotification('保存成功!'); + this.props.history.push(`/classrooms/${cid}/graduation_topics/${this.state.left_banner_id}`); } } }).catch(function (error) { @@ -177,7 +177,7 @@ class GraduateTopicNew extends Component{ return item.response.id }) } - + axios.post(url, { graduation_topic:{ ...values, @@ -189,8 +189,8 @@ class GraduateTopicNew extends Component{ if (response.data) { const { id } = response.data; if (id) { - this.props.showNotification('提交成功!'); - this.props.history.push(`/courses/${cid}/graduation_topics/${this.state.left_banner_id}`); + this.props.showNotification('提交成功!'); + this.props.history.push(`/classrooms/${cid}/graduation_topics/${this.state.left_banner_id}`); } } }) @@ -246,7 +246,7 @@ class GraduateTopicNew extends Component{ const { status } = response.data; if (status == 0) { console.log('--- success') - + this.setState((state) => { const index = state.fileList.indexOf(file); const newFileList = state.fileList.slice(); @@ -335,13 +335,13 @@ class GraduateTopicNew extends Component{

    {course_name} > - {left_banner_name} + {left_banner_name} > {topicId==undefined?"新建":"编辑"}

    {topicId==undefined?"新建":"编辑"}毕设选题

    - 返回 + 返回
    @@ -546,7 +546,7 @@ class GraduateTopicNew extends Component{
    - + - +
    )} -
    +
  • @@ -632,4 +632,4 @@ class GraduateTopicNew extends Component{ const WrappedGraduateTopicNew = Form.create({ name: 'topicPostWorksNew' })(GraduateTopicNew); // RouteHOC() -export default (WrappedGraduateTopicNew); \ No newline at end of file +export default (WrappedGraduateTopicNew); diff --git a/public/react/src/modules/courses/graduation/topics/index.js b/public/react/src/modules/courses/graduation/topics/index.js index e63fdf6b3..93ba86b63 100644 --- a/public/react/src/modules/courses/graduation/topics/index.js +++ b/public/react/src/modules/courses/graduation/topics/index.js @@ -416,7 +416,7 @@ onBoardsNew=()=>{ ( {/* 参考普通作业 - 题库选用 */} {/* this.useFromBank()}>题库选用 正式版没有,先隐藏*/} - < a className={"fl color-blue mr30 font-16"} onClick={(url)=>this.confirmysl(`/classrooms/${this.props.match.params.coursesId}/graduation_topics/export.xlsx`)}>导出 + < a className={"fl color-blue mr30 font-16"} onClick={(url)=>this.confirmysl(`/courses/${this.props.match.params.coursesId}/graduation_topics/export.xlsx`)}>导出 {/*

    题库选用*/} this.onBoardsNew()}>新建
    ):"" diff --git a/public/react/src/modules/courses/members/CourseGroupListTable.js b/public/react/src/modules/courses/members/CourseGroupListTable.js index 6074f3649..32eed2ecd 100644 --- a/public/react/src/modules/courses/members/CourseGroupListTable.js +++ b/public/react/src/modules/courses/members/CourseGroupListTable.js @@ -6,7 +6,7 @@ import axios from 'axios' import { WordsBtn, trigger, on, off, getUrl, downloadFile , sortDirections } from 'educoder' import ClipboardJS from 'clipboard' import './studentsList.css'; -/** +/** 角色数组, CREATOR: 创建者, PROFESSOR: 教师, ASSISTANT_PROFESSOR: 助教, STUDENT: 学生 course_members_count: 0 id: 2441 @@ -19,7 +19,7 @@ const clipboardMap = {} function CourseGroupListTable(props) { const [serachValue, setSerachValue] = useState('') - const courseId = props.match.params.coursesId + const courseId = props.match.params.coursesId useEffect(() => { const course_groups = props.course_groups @@ -31,7 +31,7 @@ function CourseGroupListTable(props) { let _clipboard = new ClipboardJS(`.copyBtn_${id}`); _clipboard.on('success', (e) => { props.showNotification('复制成功') - }); + }); clipboardMap[id] = _clipboard }) return () => { @@ -70,7 +70,7 @@ function CourseGroupListTable(props) { {name} } }, - + { title: '学生成员', dataIndex: 'course_members_count', @@ -122,8 +122,8 @@ function CourseGroupListTable(props) {
    点击复制邀请码
    }> - 复制 + 复制 } @@ -152,17 +152,17 @@ function CourseGroupListTable(props) { render: (none, record, index) => { return {!isCourseEnd && isAdmin && onDelete(record)} style={'grey'}>删除分班} - - {isStudent && addToDir(record)} style={''}>加入分班} - onGoDetail(record)} style={''} className="color-dark">查看 + + {isStudent && addToDir(record)} style={''}>加入分班} + onGoDetail(record)} style={''} className="color-dark">查看 } }) - - return columns + + return columns } const doAddToDir = async (record) => { - const courseId = props.match.params.coursesId + const courseId = props.match.params.coursesId const url = `/courses/${courseId}/join_course_group.json` const course_group_id = record.id @@ -177,12 +177,12 @@ function CourseGroupListTable(props) { } const addToDir = (record) => { props.confirm({ - + content: `是否确认加入分班: ${record.name}?`, okText: '确认', cancelText: '取消', - + onOk: () => { doAddToDir(record) }, @@ -191,7 +191,7 @@ function CourseGroupListTable(props) { }, }); } - + function onDelete(record) { props.confirm({ content:
    @@ -212,12 +212,12 @@ function CourseGroupListTable(props) { }) .catch(function (error) { console.log(error); - }); + }); } }) - } + } function onGoDetail(record) { - props.history.push(`/courses/${courseId}/course_groups/${record.id}`) + props.history.push(`/classrooms/${courseId}/course_groups/${record.id}`) } // 停用和启用邀请码 function changeInviteCode(id,flag){ @@ -249,7 +249,7 @@ function CourseGroupListTable(props) { const isSuperAdmin = props.isSuperAdmin(); const isStudent = props.isStudent() const isNotMember = props.isNotMember() - + const isParent = true; const isCourseEnd= props.isCourseEnd(); @@ -273,8 +273,8 @@ function CourseGroupListTable(props) { `} {/* onChange={onTableChange} */}
    - + ) } -export default CourseGroupListTable \ No newline at end of file +export default CourseGroupListTable diff --git a/public/react/src/modules/courses/new/Goldsubject.js b/public/react/src/modules/courses/new/Goldsubject.js index b3fd113da..6d637552d 100644 --- a/public/react/src/modules/courses/new/Goldsubject.js +++ b/public/react/src/modules/courses/new/Goldsubject.js @@ -720,7 +720,7 @@ class Goldsubject extends Component { {/* {Whethertocreateanewclassroom===true?"新建课堂":"编辑课堂"}*/} {/**/}

    - {Whethertocreateanewclassroom===true?"教学课堂":name} > {Whethertocreateanewclassroom===true?"新建课堂":"编辑课堂"} diff --git a/public/react/src/modules/courses/poll/PollDetailTabFirst.js b/public/react/src/modules/courses/poll/PollDetailTabFirst.js index 052382067..912894a9b 100644 --- a/public/react/src/modules/courses/poll/PollDetailTabFirst.js +++ b/public/react/src/modules/courses/poll/PollDetailTabFirst.js @@ -309,7 +309,7 @@ class PollDetailTabFirst extends Component{ width:120, render:(operation,item,index)=>{ return( - item.status == 1 ? 查看:-- + item.status == 1 ? 查看:-- ) } }]; diff --git a/public/react/src/modules/courses/poll/PollNew.js b/public/react/src/modules/courses/poll/PollNew.js index 3b50695e8..a3cbba89b 100644 --- a/public/react/src/modules/courses/poll/PollNew.js +++ b/public/react/src/modules/courses/poll/PollNew.js @@ -362,7 +362,7 @@ class PollNew extends Component { pollid: result.data.data.id, Newedit: false, }) - this.props.history.push(`/courses/${this.props.match.params.coursesId}/polls/${result.data.data.id}/detail?tab=2`) + this.props.history.push(`/classrooms/${this.props.match.params.coursesId}/polls/${result.data.data.id}/detail?tab=2`) } }) } @@ -2590,7 +2590,7 @@ class PollNew extends Component { if (result.data.status === 0) { // console.log("更新题目成功") // this.props.showNotification("保存成功"); - this.props.history.push(`/courses/${this.props.match.params.coursesId}/polls/${pollid}/detail?tab=2`) + this.props.history.push(`/classrooms/${this.props.match.params.coursesId}/polls/${pollid}/detail?tab=2`) } } catch (e) { @@ -2766,7 +2766,7 @@ class PollNew extends Component { // // let courseId=this.props.match.params.coursesId; // if(courseId===undefined){ - // this.props.history.push("/courses"); + // this.props.history.push("/classrooms"); // }else{ // this.props.history.push(this.props.current_user.first_category_url); // } @@ -2833,10 +2833,10 @@ class PollNew extends Component { { this.props.match.params.news === "new"? 问卷 + href={`/classrooms/${this.props.match.params.coursesId}/polls/${this.props.match.params.pollid}`}>问卷 : 问卷 + href={`/classrooms/${this.props.match.params.coursesId}/polls/${left_banner_id}`}>问卷 } > @@ -2847,10 +2847,10 @@ class PollNew extends Component { className="fl color-black summaryname mt5">{this.props.match.params.news === undefined ? "新建问卷" : this.props.match.params.news === "new" ? "新建问卷" : "编辑问卷"}

    { this.props.match.params.news === "new" ? - : - }
    diff --git a/public/react/src/modules/courses/poll/PollNewQuestbank.js b/public/react/src/modules/courses/poll/PollNewQuestbank.js index ad68530e7..58aa916c4 100644 --- a/public/react/src/modules/courses/poll/PollNewQuestbank.js +++ b/public/react/src/modules/courses/poll/PollNewQuestbank.js @@ -385,7 +385,7 @@ class PollNewQuestbank extends Component { pollid: result.data.data.id, Newedit: false, }) - this.props.history.push(`/courses/${this.props.match.params.coursesId}/polls/${result.data.data.id}/detail?tab=2`) + this.props.history.push(`/classrooms/${this.props.match.params.coursesId}/polls/${result.data.data.id}/detail?tab=2`) } }) } @@ -4309,4 +4309,4 @@ export default PollNewQuestbank {/* */ } {/*}*/ -} \ No newline at end of file +} diff --git a/public/react/src/modules/courses/shixunHomework/CommitSummary.js b/public/react/src/modules/courses/shixunHomework/CommitSummary.js index 5d48f11d9..4a62d8977 100644 --- a/public/react/src/modules/courses/shixunHomework/CommitSummary.js +++ b/public/react/src/modules/courses/shixunHomework/CommitSummary.js @@ -107,7 +107,7 @@ class CommitSummary extends Component{ // console.log(JSON.stringify(result)) // message.success(result.data.message); // 这里以前是学生 - this.props.history.push(`/courses/${this.props.match.params.coursesId}/${this.state.shixuntypes}/${this.props.match.params.homeworkid}/list?tab=0`); + this.props.history.push(`/classrooms/${this.props.match.params.coursesId}/${this.state.shixuntypes}/${this.props.match.params.homeworkid}/list?tab=0`); } }).catch((error) => { console.log(error) @@ -201,7 +201,7 @@ class CommitSummary extends Component{ - 取消 + 取消
    diff --git a/public/react/src/modules/courses/shixunHomework/ShixunHomeworkPage.js b/public/react/src/modules/courses/shixunHomework/ShixunHomeworkPage.js index 06f0e805d..c539cb7b2 100644 --- a/public/react/src/modules/courses/shixunHomework/ShixunHomeworkPage.js +++ b/public/react/src/modules/courses/shixunHomework/ShixunHomeworkPage.js @@ -190,7 +190,7 @@ class ShixunHomeworkPage extends Component { // console.log(this.props) let {jobsettingsdatapage}=this.state - this.props.history.replace(`/courses/${this.props.match.params.coursesId}/${jobsettingsdatapage === undefined ? "" : jobsettingsdatapage.data.category.main === 1 ? "shixun_homeworks" :"shixun_homework"}/${jobsettingsdatapage === undefined ? "" : jobsettingsdatapage.data.category.category_id === undefined ? "" : jobsettingsdatapage.data.category.category_id}`); + this.props.history.replace(`/classrooms/${this.props.match.params.coursesId}/${jobsettingsdatapage === undefined ? "" : jobsettingsdatapage.data.category.main === 1 ? "shixun_homeworks" :"shixun_homework"}/${jobsettingsdatapage === undefined ? "" : jobsettingsdatapage.data.category.category_id === undefined ? "" : jobsettingsdatapage.data.category.category_id}`); } Akeyreviewit=()=>{ @@ -264,7 +264,7 @@ class ShixunHomeworkPage extends Component { > {jobsettingsdatapage === undefined ? "" : jobsettingsdatapage.data.category.category_name} + href={`/classrooms/${this.props.match.params.coursesId}/${jobsettingsdatapage === undefined ? "" : jobsettingsdatapage.data.category.main === 1 ? "shixun_homeworks" :"shixun_homework"}/${jobsettingsdatapage === undefined ? "" : jobsettingsdatapage.data.category.category_id === undefined ? "" : jobsettingsdatapage.data.category.category_id}`}>{jobsettingsdatapage === undefined ? "" : jobsettingsdatapage.data.category.category_name} > 作业详情

    @@ -381,7 +381,7 @@ class ShixunHomeworkPage extends Component { {this.state.view_report === true ? + to={`/classrooms/${this.props.match.params.coursesId}/${jobsettingsdatapage === undefined ? "" : jobsettingsdatapage.data.category.main === 1 ? "shixun_homeworks" :"shixun_homework"}/${teacherdatapage&&teacherdatapage.work_id}/shixun_work_report`}> 查看实训报告 : ""} { @@ -389,7 +389,7 @@ class ShixunHomeworkPage extends Component { : teacherdatapage.commit_des === null || teacherdatapage.commit_des === undefined ? "" : {teacherdatapage.commit_des} + href={`/classrooms/${this.props.match.params.coursesId}/${jobsettingsdatapage === undefined ? "" : jobsettingsdatapage.data.category.main === 1 ? "shixun_homeworks" :"shixun_homework"}/${teacherdatapage === undefined ? "" : teacherdatapage.id}/commitsummary/${this.props.match.params.homeworkid}`}>{teacherdatapage.commit_des} } {teacherdatapage === undefined ? "" :teacherdatapage&&teacherdatapage.shixun_status>1&&teacherdatapage&&teacherdatapage.time_status<5?

    {data&&data.course_name} > 实训作业 diff --git a/public/react/src/modules/courses/shixunHomework/ShixunWorkReport.js b/public/react/src/modules/courses/shixunHomework/ShixunWorkReport.js index 28292d13b..5e4842574 100644 --- a/public/react/src/modules/courses/shixunHomework/ShixunWorkReport.js +++ b/public/react/src/modules/courses/shixunHomework/ShixunWorkReport.js @@ -138,7 +138,7 @@ class ShixunWorkReport extends Component { gotohome=()=>{ let courseId=this.props.match.params.coursesId; if(courseId===undefined){ - this.props.history.push("/courses"); + this.props.history.push("/classrooms"); }else{ this.props.history.push(this.props.current_user.first_category_url); } diff --git a/public/react/src/modules/courses/shixunHomework/shixunHomework.js b/public/react/src/modules/courses/shixunHomework/shixunHomework.js index 74f2ed7a2..605c649d8 100644 --- a/public/react/src/modules/courses/shixunHomework/shixunHomework.js +++ b/public/react/src/modules/courses/shixunHomework/shixunHomework.js @@ -974,7 +974,7 @@ class ShixunHomework extends Component{ gotohome=()=>{ let courseId=this.props.match.params.coursesId; if(courseId===undefined){ - this.props.history.push("/courses"); + this.props.history.push("/classrooms"); }else{ this.props.history.push(this.props.current_user.first_category_url); } diff --git a/public/react/src/modules/courses/statistics/Statistics.js b/public/react/src/modules/courses/statistics/Statistics.js index 883b2db50..589d8eb90 100644 --- a/public/react/src/modules/courses/statistics/Statistics.js +++ b/public/react/src/modules/courses/statistics/Statistics.js @@ -420,7 +420,7 @@ class Statistics extends Component{ { this.props.isAdmin()===true? // 这里是文件下载 不能替换路由 - this.derivefun(this.state.activeKey==="1"?`/courses/${this.props.match.params.coursesId}/export_member_scores_excel.xlsx`:`/courses/${this.props.match.params.coursesId}/export_member_act_score.xlsx`)}>导出 + this.derivefun(this.state.activeKey==="1"?`/classrooms/${this.props.match.params.coursesId}/export_member_scores_excel.xlsx`:`/courses/${this.props.match.params.coursesId}/export_member_act_score.xlsx`)}>导出 :"" } ; diff --git a/public/react/src/modules/message/js/MessagSub.js b/public/react/src/modules/message/js/MessagSub.js index 45310673f..822f7b8fe 100644 --- a/public/react/src/modules/message/js/MessagSub.js +++ b/public/react/src/modules/message/js/MessagSub.js @@ -193,32 +193,32 @@ class MessagSub extends Component { return; case 'JoinCourse' : // 课堂详情页 :id = - return window.open(`/courses/${item.belong_container_id}/teachers`) + return window.open(`/classrooms/${item.belong_container_id}/teachers`) case 'StudentJoinCourse': // 课堂详情页 :id = container_id if (item.tiding_type === 'Apply') { - return window.open(`/courses/${item.belong_container_id}/teachers`); + return window.open(`/classrooms/${item.belong_container_id}/teachers`); } if (item.tiding_type === 'System') { //教学案例详情 :id = container_id - return window.open(`/courses/${item.belong_container_id}/students`); + return window.open(`/classrooms/${item.belong_container_id}/students`); } case 'DealCourse': // 课堂详情页 :id = container_id - return window.open(`/courses/${item.belong_container_id}/shixun_homeworks/${item.container_id}`) + return window.open(`/classrooms/${item.belong_container_id}/shixun_homeworks/${item.container_id}`) case 'TeacherJoinCourse': // 课堂详情页 :id = container_id - return window.open(`/courses/${item.belong_container_id}/shixun_homeworks/${item.container_id}`) + return window.open(`/classrooms/${item.belong_container_id}/shixun_homeworks/${item.container_id}`) case 'Course' : // 课堂详情页 :id = container_id if (item.tiding_type === "Delete") { return; } - return window.open(`/courses/${item.belong_container_id}/shixun_homeworks/${item.container_id}`) + return window.open(`/classrooms/${item.belong_container_id}/shixun_homeworks/${item.container_id}`) case 'ArchiveCourse' : // 课堂详情页 :id = container_id - return window.open(`/courses/${item.belong_container_id}/shixun_homeworks/${item.container_id}`) + return window.open(`/classrooms/${item.belong_container_id}/shixun_homeworks/${item.container_id}`) case "Shixun" : return window.open(`/shixuns/${item.identifier}/challenges`) case "Subject" : @@ -234,33 +234,33 @@ class MessagSub extends Component { //学生作业页 homework = parent_container_id if (item.homework_type === "normal") { //普通作业 - return window.open(`/courses/${item.belong_container_id}/common_homeworks/${item.parent_container_id}/question`) + return window.open(`/classrooms/${item.belong_container_id}/common_homeworks/${item.parent_container_id}/question`) } if (item.homework_type === "group") { //分组作业 - return window.open(`/courses/${item.belong_container_id}/group_homeworks/${item.parent_container_id}/question`) + return window.open(`/classrooms/${item.belong_container_id}/group_homeworks/${item.parent_container_id}/question`) } if (item.homework_type === "practice") { //实训作业 - return window.open(`/courses/${item.belong_container_id}/shixun_homeworks/${item.parent_container_id}/list?tab=1`) + return window.open(`/classrooms/${item.belong_container_id}/shixun_homeworks/${item.parent_container_id}/list?tab=1`) } return ""; case "GraduationTopic" : // 毕业目标页 parent_container_id - return window.open(`/courses/${item.belong_container_id}/graduation_topics/${item.parent_container_id}/detail`) + return window.open(`/classrooms/${item.belong_container_id}/graduation_topics/${item.parent_container_id}/detail`) case "StudentWorksScore" : //学生作业页 if (item.homework_type === "normal") { //普通作业 - return window.open(`/courses/${item.belong_container_id}/common_homeworks/${item.parent_container_id}/question`) + return window.open(`/classrooms/${item.belong_container_id}/common_homeworks/${item.parent_container_id}/question`) } if (item.homework_type === "group") { //分组作业 - return window.open(`/courses/${item.belong_container_id}/group_homeworks/${item.parent_container_id}/question`) + return window.open(`/classrooms/${item.belong_container_id}/group_homeworks/${item.parent_container_id}/question`) } if (item.homework_type === "practice") { //实训作业 - return window.open(`/courses/${item.belong_container_id}/shixun_homeworks/${item.parent_container_id}/list?tab=1`) + return window.open(`/classrooms/${item.belong_container_id}/shixun_homeworks/${item.parent_container_id}/list?tab=1`) } return ""; } @@ -314,109 +314,109 @@ class MessagSub extends Component { //记得跳评阅页面 default : // 课堂-试卷列表详情 :id = container_id - return window.open(`/courses/${item.belong_container_id}/exercises/${item.container_id}/student_exercise_list?tab=0`); + return window.open(`/classrooms/${item.belong_container_id}/exercises/${item.container_id}/student_exercise_list?tab=0`); } case 'StudentGraduationTopic' : //课堂-毕业选题详情 :id = parent_container_id - return window.open(`/courses/${item.belong_container_id}/graduation_topics/${item.parent_container_id}/detail`) + return window.open(`/classrooms/${item.belong_container_id}/graduation_topics/${item.parent_container_id}/detail`) case 'DealStudentTopicSelect' : //课堂-毕业选题详情 :id = parent_container_id - return window.open(`/courses/${item.belong_container_id}/graduation_topics/${item.parent_container_id}/detail`) + return window.open(`/classrooms/${item.belong_container_id}/graduation_topics/${item.parent_container_id}/detail`) case 'GraduationTask' : //课堂-毕业任务页 :id = container_id - return window.open(`/courses/${item.belong_container_id}/graduation_tasks/${item.container_id}`) + return window.open(`/classrooms/${item.belong_container_id}/graduation_tasks/${item.container_id}`) case "GraduationWork" : //课堂-毕业xx页 :id = container_id - return window.open(`/courses/${item.belong_container_id}/graduation_tasks/${item.container_id}`) + return window.open(`/classrooms/${item.belong_container_id}/graduation_tasks/${item.container_id}`) case "GraduationWorkScore" : // 课堂-毕业xx页 :id = parent_container_id - return window.open(`/courses/${item.belong_container_id}/graduation_tasks/${item.parent_container_id}`) + return window.open(`/classrooms/${item.belong_container_id}/graduation_tasks/${item.parent_container_id}`) case "HomeworkCommon" : switch (item.parent_container_type) { case "AnonymousCommentFail" : // 课堂-作业列表 homework = container_id if (item.homework_type === "normal") { //普通作业 - return window.open(`/courses/${item.belong_container_id}/common_homeworks/${item.parent_container_id}/list`) + return window.open(`/classrooms/${item.belong_container_id}/common_homeworks/${item.parent_container_id}/list`) } if (item.homework_type === "group") { //分组作业 - return window.open(`/courses/${item.belong_container_id}/group_homeworks/${item.parent_container_id}/list`) + return window.open(`/classrooms/${item.belong_container_id}/group_homeworks/${item.parent_container_id}/list`) } if (item.homework_type === "practice") { //实训作业 - return window.open(`/courses/${item.belong_container_id}/shixun_homeworks/${item.parent_container_id}/list?tab=0`) + return window.open(`/classrooms/${item.belong_container_id}/shixun_homeworks/${item.parent_container_id}/list?tab=0`) } case "HomeworkPublish" : if (item.homework_type === "normal") { //普通作业 - return window.open(`/courses/${item.belong_container_id}/common_homeworks/${item.parent_container_id}/list`) + return window.open(`/classrooms/${item.belong_container_id}/common_homeworks/${item.parent_container_id}/list`) } if (item.homework_type === "group") { //分组作业 - return window.open(`/courses/${item.belong_container_id}/group_homeworks/${item.parent_container_id}/list`) + return window.open(`/classrooms/${item.belong_container_id}/group_homeworks/${item.parent_container_id}/list`) } if (item.homework_type === "practice") { //实训作业 - return window.open(`/courses/${item.belong_container_id}/shixun_homeworks/${item.parent_container_id}/list?tab=0`) + return window.open(`/classrooms/${item.belong_container_id}/shixun_homeworks/${item.parent_container_id}/list?tab=0`) } case "AnonymousAppeal" : if (item.homework_type === "normal") { //普通作业 - return window.open(`/courses/${item.belong_container_id}/common_homeworks/${item.parent_container_id}/list`) + return window.open(`/classrooms/${item.belong_container_id}/common_homeworks/${item.parent_container_id}/list`) } if (item.homework_type === "group") { //分组作业 - return window.open(`/courses/${item.belong_container_id}/group_homeworks/${item.parent_container_id}/list`) + return window.open(`/classrooms/${item.belong_container_id}/group_homeworks/${item.parent_container_id}/list`) } if (item.homework_type === "practice") { //实训作业 - return window.open(`/courses/${item.belong_container_id}/shixun_homeworks/${item.parent_container_id}/list?tab=0`) + return window.open(`/classrooms/${item.belong_container_id}/shixun_homeworks/${item.parent_container_id}/list?tab=0`) } default : // 课堂-作业列表 homework = container_id if (item.homework_type === "normal") { //普通作业 - return window.open(`/courses/${item.belong_container_id}/common_homeworks/${item.parent_container_id}/list`) + return window.open(`/classrooms/${item.belong_container_id}/common_homeworks/${item.parent_container_id}/list`) } if (item.homework_type === "group") { //分组作业 - return window.open(`/courses/${item.belong_container_id}/group_homeworks/${item.parent_container_id}/list`) + return window.open(`/classrooms/${item.belong_container_id}/group_homeworks/${item.parent_container_id}/list`) } if (item.homework_type === "practice") { //实训作业 - return window.open(`/courses/${item.belong_container_id}/shixun_homeworks/${item.parent_container_id}/list?tab=0`) + return window.open(`/classrooms/${item.belong_container_id}/shixun_homeworks/${item.parent_container_id}/list?tab=0`) } } case "StudentWork" : //课堂-作业 :id = container_id if (item.homework_type === "normal") { //普通作业 - return window.open(`/courses/${item.belong_container_id}/common_homeworks/${item.parent_container_id}/${item.container_id}/appraise`) + return window.open(`/classrooms/${item.belong_container_id}/common_homeworks/${item.parent_container_id}/${item.container_id}/appraise`) } if (item.homework_type === "group") { //分组作业/courses/1208/group_homeworks/22373/1219130/appraise - return window.open(`/courses/${item.belong_container_id}/group_homeworks/${item.parent_container_id}/${item.container_id}/appraise`) + return window.open(`/classrooms/${item.belong_container_id}/group_homeworks/${item.parent_container_id}/${item.container_id}/appraise`) } if (item.homework_type === "practice") { //实训作业 - return window.open(`/courses/${item.belong_container_id}/shixun_homeworks/${item.parent_container_id}/list?tab=0`) + return window.open(`/classrooms/${item.belong_container_id}/shixun_homeworks/${item.parent_container_id}/list?tab=0`) } case "StudentWorksScore" : //课堂-作业 :id = parent_container_id // if(item.homework_type==="normal"){ // //普通作业 - // return window.open(`/courses/${item.belong_container_id}/common_homeworks/${item.parent_container_id}/list`) + // return window.open(`/classrooms/${item.belong_container_id}/common_homeworks/${item.parent_container_id}/list`) // } // if(item.homework_type==="group"){ // //分组作业 - // return window.open(`/courses/${item.belong_container_id}/group_homeworks/${item.parent_container_id}/list`) + // return window.open(`/classrooms/${item.belong_container_id}/group_homeworks/${item.parent_container_id}/list`) // } // if(item.homework_type==="practice"){ // //实训作业 - // return window.open(`/courses/${item.belong_container_id}/shixun_homeworks/${item.parent_container_id}/list?tab=0`) + // return window.open(`/classrooms/${item.belong_container_id}/shixun_homeworks/${item.parent_container_id}/list?tab=0`) // } - return window.open(`/courses/${item.belong_container_id}/common_homeworks/${item.trigger_user.id}/${item.parent_container_id}/appraise`); + return window.open(`/classrooms/${item.belong_container_id}/common_homeworks/${item.trigger_user.id}/${item.parent_container_id}/appraise`); case "StudentWorksScoresAppeal" : // if(item.homework_type==="normal"){ @@ -425,13 +425,13 @@ class MessagSub extends Component { // } // if(item.homework_type==="group"){ // //分组作业 - // return window.open(`/courses/${item.belong_container_id}/group_homeworks/${item.parent_container_id}/list`) + // return window.open(`/classrooms/${item.belong_container_id}/group_homeworks/${item.parent_container_id}/list`) // } // if(item.homework_type==="practice"){ // //实训作业 - // return window.open(`/courses/${item.belong_container_id}/shixun_homeworks/${item.parent_container_id}/list?tab=0`) + // return window.open(`/classrooms/${item.belong_container_id}/shixun_homeworks/${item.parent_container_id}/list?tab=0`) // } - return window.open(`/courses/${item.belong_container_id}/common_homeworks/${item.trigger_user.id}/${item.parent_container_id}/appraise`); + return window.open(`/classrooms/${item.belong_container_id}/common_homeworks/${item.trigger_user.id}/${item.parent_container_id}/appraise`); case "ChallengeWorkScore" : return ''; case "SendMessage" : @@ -488,30 +488,30 @@ class MessagSub extends Component { } return ''; case "PublicCourseStart": - return window.open(`/courses/${item.container_id}/informs`); + return window.open(`/classrooms/${item.container_id}/informs`); case "SubjectStartCourse": return window.open(`/paths/${item.container_id}`); case "ResubmitStudentWork": if (item.homework_type === "normal") { //普通作业 - return window.open(`/courses/${item.belong_container_id}/common_homeworks/${item.parent_container_id}/${item.container_id}/appraise`); + return window.open(`/classrooms/${item.belong_container_id}/common_homeworks/${item.parent_container_id}/${item.container_id}/appraise`); } if (item.homework_type === "group") { //分组作业 - return window.open(`/courses/${item.belong_container_id}/group_homeworks/${item.parent_container_id}/${item.container_id}/appraise`); + return window.open(`/classrooms/${item.belong_container_id}/group_homeworks/${item.parent_container_id}/${item.container_id}/appraise`); } case "AdjustScore": //belong_container_id course的id if (item.homework_type === "normal") { //普通作业 - return window.open(`/courses/${item.belong_container_id}/common_homeworks/${item.parent_container_id}`); + return window.open(`/classrooms/${item.belong_container_id}/common_homeworks/${item.parent_container_id}`); } if (item.homework_type === "group") { //分组作业 - return window.open(`/courses/${item.belong_container_id}/group_homeworks/${item.parent_container_id}`); + return window.open(`/classrooms/${item.belong_container_id}/group_homeworks/${item.parent_container_id}`); } case 'LiveLink': - return window.open(`/courses/${item.belong_container_id}/course_videos?open=live`); + return window.open(`/classrooms/${item.belong_container_id}/course_videos?open=live`); case 'Hack': if (item.extra && item.parent_container_type !== 'HackDelete') { return window.open(`/problems/${item.extra}/edit`);