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/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/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/graduation/topics/GraduateTopicDetail.js b/public/react/src/modules/courses/graduation/topics/GraduateTopicDetail.js index b4bcaf0fa..4097a051e 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, @@ -114,7 +114,7 @@ class GraduateTopicDetail extends Component{

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

@@ -141,7 +141,7 @@ class GraduateTopicDetail extends Component{ 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/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/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/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/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`);