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?"新建":"编辑"}毕设选题
-
返回
+
返回
-
+
-
+
)}
-
+
@@ -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`);