Merge branch 'dev_aliyun' of https://bdgit.educoder.net/Hjqreturn/educoder into dev_aliyun

dev_item_bank^2
daiao 5 years ago
commit c2b17eba04

@ -38,7 +38,7 @@
</p> </p>
<p style="color:#333; "> <p style="color:#333; ">
您参与的课堂:<%= @course.name %>,有新的帖子发布了: 您参与的课堂:<%= @course.name %>,有新的帖子发布了:
<a href="https://www.educoder.net/courses/<%= @course.id %>/boards/<%= @message.board_id %>/messages/<%= @message.id %>" style="font-weight: normal; color:#ff7500;"><%= @message.subject %></a> <a href="https://www.educoder.net/classrooms/<%= @course.id %>/boards/<%= @message.board_id %>/messages/<%= @message.id %>" style="font-weight: normal; color:#ff7500;"><%= @message.subject %></a>
</p> </p>
<div style="text-align: center; margin-top:40px;"> <div style="text-align: center; margin-top:40px;">
<span style="font-weight: normal;color:#666;"> <span style="font-weight: normal;color:#666;">

@ -693,7 +693,7 @@ class App extends Component {
} }
></Route> ></Route>
{/*课堂*/} {/*课堂*/}
<Route path="/courses" component={CoursesIndex} {...this.props} {...this.state}></Route> <Route path="/classrooms" component={CoursesIndex} {...this.props} {...this.state}></Route>
{/* <Route path="/forums" component={ForumsIndexComponent}> {/* <Route path="/forums" component={ForumsIndexComponent}>
</Route> */} </Route> */}

@ -29,7 +29,7 @@ class College extends Component {
align: 'center', align: 'center',
className: "edu-txt-center font-14 maxnamewidth247", className: "edu-txt-center font-14 maxnamewidth247",
render: (text, record) => ( render: (text, record) => (
<a href={`/courses/${record.id}/students`} title={record.name} target="_blank" className="d-inline-block text-truncate maxnamewidth247" <a href={`/classrooms/${record.id}/students`} title={record.name} target="_blank" className="d-inline-block text-truncate maxnamewidth247"
style={{ style={{
maxWidth:'220px', maxWidth:'220px',
color:'#007bff', color:'#007bff',

@ -254,15 +254,15 @@ class CompetitionCommon extends Component{
if(url===undefined){ if(url===undefined){
let {data,signupdata}=this.state; let {data,signupdata}=this.state;
// if(signupdata.enrolled===true){ // if(signupdata.enrolled===true){
// this.props.history.replace(`/courses/${data.course_id}`); // this.props.history.replace(`/classrooms/${data.course_id}`);
// }else{ } // }else{ }
if (data.member_of_course === true) { if (data.member_of_course === true) {
// this.props.history.replace(`/courses/${data.course_id}`); // this.props.history.replace(`/classrooms/${data.course_id}`);
window.open(`/courses/${data.course_id}`) window.open(`/classrooms/${data.course_id}`)
} else { } else {
// 以学生身份调用加入课堂 进入课堂首页 // 以学生身份调用加入课堂 进入课堂首页
let url = "/courses/apply_to_join_course.json" let url = "/classrooms/apply_to_join_course.json"
axios.post(url, { axios.post(url, {
invite_code: data.invite_code, invite_code: data.invite_code,
student: 1 student: 1
@ -271,7 +271,7 @@ class CompetitionCommon extends Component{
if (response.data.status === 0) { if (response.data.status === 0) {
// this.props.history.replace(); // this.props.history.replace();
this.getbannerdata() this.getbannerdata()
window.open(`/courses/${data.course_id}`); window.open(`/classrooms/${data.course_id}`);
} }
}) })
@ -409,7 +409,7 @@ class CompetitionCommon extends Component{
{data.competition_status === "ended" ? {data.competition_status === "ended" ?
<div className={data.mode === 2 ?data.member_of_course==true?"gutter-box CompetitionsIndexbottomvalue Competitioncolor516 cursorpointer":"gutter-box CompetitionsIndexbottomvalue Competitioncolor516":"gutter-box CompetitionsIndexbottomvalue Competitioncolor516 cursorpointer"} <div className={data.mode === 2 ?data.member_of_course==true?"gutter-box CompetitionsIndexbottomvalue Competitioncolor516 cursorpointer":"gutter-box CompetitionsIndexbottomvalue Competitioncolor516":"gutter-box CompetitionsIndexbottomvalue Competitioncolor516 cursorpointer"}
// 已结束onClick={data.competition_status === "nearly_published" ? "" : () => this.gotocourse(`/competitions/${this.props.match.params.identifier}/enroll`)} // 已结束onClick={data.competition_status === "nearly_published" ? "" : () => this.gotocourse(`/competitions/${this.props.match.params.identifier}/enroll`)}
onClick={ data.mode === 2 ?data.member_of_course==true?() => this.newgotocourse(`/courses/${data.course_id}`):"":() => this.newgotocourse(`/competitions/${this.props.match.params.identifier}/enroll`)} onClick={ data.mode === 2 ?data.member_of_course==true?() => this.newgotocourse(`/classrooms/${data.course_id}`):"":() => this.newgotocourse(`/competitions/${this.props.match.params.identifier}/enroll`)}
>{data && data.member_count}</div> >{data && data.member_count}</div>
:data.competition_status === "nearly_published" ? :data.competition_status === "nearly_published" ?
<div className="gutter-box CompetitionsIndexbottomvalue Competitioncolor516" <div className="gutter-box CompetitionsIndexbottomvalue Competitioncolor516"

@ -50,13 +50,13 @@ class CoursesIndex extends Component{
{/*课堂讨论*/} {/*课堂讨论*/}
{/* /board/5464/messages/new */} {/* /board/5464/messages/new */}
{/* <Route exact path="/courses/:coursesId/board/:boardId/messages/:topicId/edit" {/* <Route exact path="/classrooms/:coursesId/board/:boardId/messages/:topicId/edit"
render={ render={
(props) => (<BoardsNew {...this.props} {...props} {...this.state} {...common} />) (props) => (<BoardsNew {...this.props} {...props} {...this.state} {...common} />)
} }
></Route> ></Route>
<Route exact path="/courses/:coursesId/board/:boardId/messages/new" component={BoardsNew} <Route exact path="/classrooms/:coursesId/board/:boardId/messages/new" component={BoardsNew}
render={ render={
(props) => (<BoardsNew {...this.props} {...props} {...this.state} {...common} />) (props) => (<BoardsNew {...this.props} {...props} {...this.state} {...common} />)
} }
@ -66,27 +66,27 @@ class CoursesIndex extends Component{
{/*课堂讨论*/} {/*课堂讨论*/}
<Route exact path="/courses/:coursesId/boards/:boardId/messages/:topicId/edit" <Route exact path="/classrooms/:coursesId/boards/:boardId/messages/:topicId/edit"
render={ render={
(props) => (<BoardsNew {...this.props} {...props} {...this.state} {...common} />) (props) => (<BoardsNew {...this.props} {...props} {...this.state} {...common} />)
} }
></Route> ></Route>
<Route exact path="/courses/:coursesId/boards/:boardId/messages/new" <Route exact path="/classrooms/:coursesId/boards/:boardId/messages/new"
render={ render={
(props) => (<BoardsNew {...this.props} {...props} {...this.state} {...common} />) (props) => (<BoardsNew {...this.props} {...props} {...this.state} {...common} />)
} }
></Route> ></Route>
<Route exact path="/courses/:coursesId/boards/:boardId/messages/:topicId" <Route exact path="/classrooms/:coursesId/boards/:boardId/messages/:topicId"
render={ render={
(props) => (<TopicDetail {...this.props} {...this.state} {...props} {...common} />) (props) => (<TopicDetail {...this.props} {...this.state} {...props} {...common} />)
} }
></Route> ></Route>
<Route exact path="/courses/:coursesId/boards/:boardId/messages/:topicId" <Route exact path="/classrooms/:coursesId/boards/:boardId/messages/:topicId"
render={ render={
(props) => (<TopicDetail {...this.props} {...this.state} {...props} {...common} />) (props) => (<TopicDetail {...this.props} {...this.state} {...props} {...common} />)
} }
></Route> ></Route>
<Route exact path="/courses/:coursesId/boards/:boardId" <Route exact path="/classrooms/:coursesId/boards/:boardId"
render={ render={
(props) => (<ListPageIndex {...this.props} {...props} {...this.state} {...common} />) (props) => (<ListPageIndex {...this.props} {...props} {...this.state} {...common} />)
} }

@ -502,40 +502,40 @@ class CoursesIndex extends Component{
return ( return (
<Switch {...this.props}> <Switch {...this.props}>
{/*排序*/} {/*排序*/}
<Route path="/courses/:coursesId/ordering/:ordering_type/:main_id" <Route path="/classrooms/:coursesId/ordering/:ordering_type/:main_id"
render={ render={
(props) => (<Ordering {...this.props} {...props} {...this.state} />) (props) => (<Ordering {...this.props} {...props} {...this.state} />)
} }
></Route> ></Route>
{/*视频列表*/} {/*视频列表*/}
<Route path="/courses/:coursesId/course_video/:videoId" <Route path="/classrooms/:coursesId/course_video/:videoId"
render={ render={
(props) => (<ListPageIndex {...this.props} {...props} {...this.state} />) (props) => (<ListPageIndex {...this.props} {...props} {...this.state} />)
} }
></Route> ></Route>
<Route path="/courses/:coursesId/course_videos" <Route path="/classrooms/:coursesId/course_videos"
render={ render={
(props) => (<ListPageIndex {...this.props} {...props} {...this.state} />) (props) => (<ListPageIndex {...this.props} {...props} {...this.state} />)
} }
></Route> ></Route>
{/* 资源列表页 */} {/* 资源列表页 */}
<Route path="/courses/:coursesId/file/:Id" exact <Route path="/classrooms/:coursesId/file/:Id" exact
render={ render={
(props) => (<ListPageIndex {...this.props} {...props} {...this.state} {...common}/>) (props) => (<ListPageIndex {...this.props} {...props} {...this.state} {...common}/>)
} }
></Route> ></Route>
<Route path="/courses/:coursesId/files/:main_id" <Route path="/classrooms/:coursesId/files/:main_id"
render={ render={
(props) => (<ListPageIndex {...this.props} {...props} {...this.state} {...common}/>) (props) => (<ListPageIndex {...this.props} {...props} {...this.state} {...common}/>)
} }
></Route> ></Route>
<Route exact path="/courses/:coursesId/boards/:boardId" <Route exact path="/classrooms/:coursesId/boards/:boardId"
render={ render={
(props) => (<ListPageIndex {...this.props} {...props} {...this.state} {...common}/>) (props) => (<ListPageIndex {...this.props} {...props} {...this.state} {...common}/>)
} }
></Route> ></Route>
{/*课堂讨论*/} {/*课堂讨论*/}
<Route path="/courses/:coursesId/boards/:boardId" <Route path="/classrooms/:coursesId/boards/:boardId"
render={ render={
(props) => (<BoardIndex {...this.props} {...props} {...this.state} {...common}/>) (props) => (<BoardIndex {...this.props} {...props} {...this.state} {...common}/>)
} }
@ -543,32 +543,32 @@ class CoursesIndex extends Component{
{/* 毕业设计 */} {/* 毕业设计 */}
{/* 毕设问答 */} {/* 毕设问答 */}
<Route path="/courses/:coursesId/graduation_topics/postwork/new" <Route path="/classrooms/:coursesId/graduation_topics/postwork/new"
render={ render={
(props) => (<GraduateTopicPostWorksNew {...this.props} {...props} {...this.state} {...common}/>) (props) => (<GraduateTopicPostWorksNew {...this.props} {...props} {...this.state} {...common}/>)
} }
></Route> ></Route>
{/* 毕设选题新建页 */} {/* 毕设选题新建页 */}
<Route path="/courses/:coursesId/graduation_topics/new" <Route path="/classrooms/:coursesId/graduation_topics/new"
render={ render={
(props) => (<GraduateTopicNew {...this.props} {...props} {...this.state} {...common}/>) (props) => (<GraduateTopicNew {...this.props} {...props} {...this.state} {...common}/>)
}></Route> }></Route>
{/* 毕设选题编辑页*/} {/* 毕设选题编辑页*/}
<Route path="/courses/:coursesId/graduation_topics/:topicId/edit" <Route path="/classrooms/:coursesId/graduation_topics/:topicId/edit"
render={ render={
(props) => (<GraduateTopicNew {...this.props} {...props} {...this.state} {...common}/>) (props) => (<GraduateTopicNew {...this.props} {...props} {...this.state} {...common}/>)
}></Route> }></Route>
{/* 毕设选题详情页 */} {/* 毕设选题详情页 */}
<Route path="/courses/:course_id/graduation_topics/:graduation_topic_id/detail" <Route path="/classrooms/:course_id/graduation_topics/:graduation_topic_id/detail"
render={ render={
(props)=>(<GraduationTopicsDetail {...this.props} {...props} {...this.state}></GraduationTopicsDetail>) (props)=>(<GraduationTopicsDetail {...this.props} {...props} {...this.state}></GraduationTopicsDetail>)
} }
></Route> ></Route>
{/* 毕设选题列表 */} {/* 毕设选题列表 */}
<Route path="/courses/:coursesId/graduation_topics/:Id" exact <Route path="/classrooms/:coursesId/graduation_topics/:Id" exact
render={ render={
(props) => (<ListPageIndex {...this.props} {...props} {...this.state} {...common}/>) (props) => (<ListPageIndex {...this.props} {...props} {...this.state} {...common}/>)
}></Route> }></Route>
@ -576,21 +576,21 @@ class CoursesIndex extends Component{
{/*————————————————————————————————————————————————————————————————————————————————————*/} {/*————————————————————————————————————————————————————————————————————————————————————*/}
{/* 作品评阅 https://www.trustie.net/issues/19981 */} {/* 作品评阅 https://www.trustie.net/issues/19981 */}
<Route path="/courses/:coursesId/graduation_tasks/:category_id/appraise" <Route path="/classrooms/:coursesId/graduation_tasks/:category_id/appraise"
render={ render={
(props) => (<GraduationTasksappraise {...this.props} {...props} {...this.state} {...common}/>) (props) => (<GraduationTasksappraise {...this.props} {...props} {...this.state} {...common}/>)
} }
></Route> ></Route>
{/* 新建作品 */} {/* 新建作品 */}
<Route path="/courses/:coursesId/graduation_tasks/:category_id/works/:task_Id/new" <Route path="/classrooms/:coursesId/graduation_tasks/:category_id/works/:task_Id/new"
render={ render={
(props) => (<GraduationTasksSubmitnewApp {...this.props} {...props} {...this.state} {...common}/>) (props) => (<GraduationTasksSubmitnewApp {...this.props} {...props} {...this.state} {...common}/>)
} }
></Route> ></Route>
{/* 修改作品 */} {/* 修改作品 */}
<Route path="/courses/:coursesId/graduation_tasks/:category_id/works/:work_Id/edit" <Route path="/classrooms/:coursesId/graduation_tasks/:category_id/works/:work_Id/edit"
render={ render={
(props) => (<GraduationTasksSubmiteditApp {...this.props} {...props} {...this.state} {...common}/>) (props) => (<GraduationTasksSubmiteditApp {...this.props} {...props} {...this.state} {...common}/>)
} }
@ -598,20 +598,20 @@ class CoursesIndex extends Component{
{/* 设置毕设任务 https://www.trustie.net/issues/19981 */} {/* 设置毕设任务 https://www.trustie.net/issues/19981 */}
{/* <Route path="/courses/:coursesId/graduation_tasks/:category_id/:task_Id/setting" {/* <Route path="/classrooms/:coursesId/graduation_tasks/:category_id/:task_Id/setting"
render={ render={
(props) => (<GraduationTaskssetting {...this.props} {...props} {...this.state} {...common}/>) (props) => (<GraduationTaskssetting {...this.props} {...props} {...this.state} {...common}/>)
} }
></Route> ></Route>
<Route path="/courses/:coursesId/graduation_tasks/:category_id/:task_Id/questions" <Route path="/classrooms/:coursesId/graduation_tasks/:category_id/:task_Id/questions"
render={ render={
(props) => (<GraduationTasksquestions {...this.props} {...props} {...this.state} />) (props) => (<GraduationTasksquestions {...this.props} {...props} {...this.state} />)
}></Route> */} }></Route> */}
<Route path="/courses/:coursesId/graduation_tasks/:category_id/detail/:task_Id" <Route path="/classrooms/:coursesId/graduation_tasks/:category_id/detail/:task_Id"
render={ render={
(props) => (<GraduationTaskssettinglist {...this.props} {...props} {...this.state} {...common}/>) (props) => (<GraduationTaskssettinglist {...this.props} {...props} {...this.state} {...common}/>)
} }
@ -619,7 +619,7 @@ class CoursesIndex extends Component{
{/* 修改毕设任务 https://www.trustie.net/issues/19981 */} {/* 修改毕设任务 https://www.trustie.net/issues/19981 */}
<Route path="/courses/:coursesId/graduation_tasks/:category_id/edit" <Route path="/classrooms/:coursesId/graduation_tasks/:category_id/edit"
render={ render={
(props) => (<GraduationTaskseditApp {...this.props} {...props} {...this.state} {...common}/>) (props) => (<GraduationTaskseditApp {...this.props} {...props} {...this.state} {...common}/>)
} }
@ -627,7 +627,7 @@ class CoursesIndex extends Component{
{/* 新建毕设任务 https://www.trustie.net/issues/19981 */} {/* 新建毕设任务 https://www.trustie.net/issues/19981 */}
<Route path="/courses/:coursesId/graduation_tasks/:category_id/new" <Route path="/classrooms/:coursesId/graduation_tasks/:category_id/new"
render={ render={
(props) => (<GraduationTasksnewApp {...this.props} {...props} {...this.state} {...common}/>) (props) => (<GraduationTasksnewApp {...this.props} {...props} {...this.state} {...common}/>)
} }
@ -635,104 +635,104 @@ class CoursesIndex extends Component{
{/* 毕设任务列表 https://www.trustie.net/issues/19981 */} {/* 毕设任务列表 https://www.trustie.net/issues/19981 */}
<Route path="/courses/:coursesId/graduation_tasks/:Id" exact <Route path="/classrooms/:coursesId/graduation_tasks/:Id" exact
render={ render={
(props) => (<ListPageIndex {...this.props} {...props} {...this.state} {...common}/>) (props) => (<ListPageIndex {...this.props} {...props} {...this.state} {...common}/>)
} }
></Route> ></Route>
{/*/!* 毕业设计主 https://www.trustie.net/issues/19981 *!/*/} {/*/!* 毕业设计主 https://www.trustie.net/issues/19981 *!/*/}
{/*<Route path="/courses/:coursesId/graduation"*/} {/*<Route path="/classrooms/:coursesId/graduation"*/}
{/*render={*/} {/*render={*/}
{/*(props) => (<GraduationTopics {...this.props} {...props} {...this.state} {...common}/>)*/} {/*(props) => (<GraduationTopics {...this.props} {...props} {...this.state} {...common}/>)*/}
{/*}*/} {/*}*/}
{/*></Route>*/} {/*></Route>*/}
{/*/!* 资源子目录 https://www.trustie.net/issues/19917 *!/*/} {/*/!* 资源子目录 https://www.trustie.net/issues/19917 *!/*/}
{/*<Route path="/courses/:coursesId/attachment/attachment/:attachmentId"*/} {/*<Route path="/classrooms/:coursesId/attachment/attachment/:attachmentId"*/}
{/*render={*/} {/*render={*/}
{/*(props) => (<Files {...this.props} {...props} {...this.state} {...common}/>)*/} {/*(props) => (<Files {...this.props} {...props} {...this.state} {...common}/>)*/}
{/*}*/} {/*}*/}
{/*></Route>*/} {/*></Route>*/}
{/* 教师列表*/} {/* 教师列表*/}
<Route path="/courses/:coursesId/teachers" <Route path="/classrooms/:coursesId/teachers"
render={ render={
(props) => (<ListPageIndex {...this.props} {...props} {...this.state} {...common}/>) (props) => (<ListPageIndex {...this.props} {...props} {...this.state} {...common}/>)
} }
></Route> ></Route>
{/* 学生列表*/} {/* 学生列表*/}
<Route path="/courses/:coursesId/students" <Route path="/classrooms/:coursesId/students"
render={ render={
(props) => (<ListPageIndex {...this.props} {...props} {...this.state} {...common}/>) (props) => (<ListPageIndex {...this.props} {...props} {...this.state} {...common}/>)
} }
></Route> ></Route>
{/* 分班列表 */} {/* 分班列表 */}
<Route path="/courses/:coursesId/course_groups/:course_group_id" <Route path="/classrooms/:coursesId/course_groups/:course_group_id"
render={ render={
(props) => (<ListPageIndex {...this.props} {...props} {...this.state} {...common}/>) (props) => (<ListPageIndex {...this.props} {...props} {...this.state} {...common}/>)
} }
></Route> ></Route>
<Route path="/courses/:coursesId/course_groups" <Route path="/classrooms/:coursesId/course_groups"
render={ render={
(props) => (<ListPageIndex {...this.props} {...props} {...this.state} {...common}/>) (props) => (<ListPageIndex {...this.props} {...props} {...this.state} {...common}/>)
} }
></Route> ></Route>
{/* 普通作业 */} {/* 普通作业 */}
<Route path="/courses/:coursesId/common_homeworks/:category_id" exact <Route path="/classrooms/:coursesId/common_homeworks/:category_id" exact
render={ render={
(props) => (<ListPageIndex {...this.props} {...props} {...this.state} {...common}/>) (props) => (<ListPageIndex {...this.props} {...props} {...this.state} {...common}/>)
} }
></Route> ></Route>
{/* 分组作业 */} {/* 分组作业 */}
<Route path="/courses/:coursesId/group_homeworks/:category_id" exact <Route path="/classrooms/:coursesId/group_homeworks/:category_id" exact
render={ render={
(props) => (<ListPageIndex {...this.props} {...props} {...this.state} {...common}/>) (props) => (<ListPageIndex {...this.props} {...props} {...this.state} {...common}/>)
} }
></Route> ></Route>
{/* 普通作业 */} {/* 普通作业 */}
<Route path="/courses/:coursesId/common_homeworks/" strict <Route path="/classrooms/:coursesId/common_homeworks/" strict
render={ render={
(props) => (<CommonWork {...this.props} {...props} {...this.state} {...common}/>) (props) => (<CommonWork {...this.props} {...props} {...this.state} {...common}/>)
} }
></Route> ></Route>
{/* 分组作业 */} {/* 分组作业 */}
<Route path="/courses/:coursesId/group_homeworks/" strict <Route path="/classrooms/:coursesId/group_homeworks/" strict
render={ render={
(props) => (<GroupWork {...this.props} {...props} {...this.state} {...common}/>) (props) => (<GroupWork {...this.props} {...props} {...this.state} {...common}/>)
} }
></Route> ></Route>
{/* 问卷答题 */} {/* 问卷答题 */}
<Route path="/courses/:coursesId/polls/:pollId/users/:login" <Route path="/classrooms/:coursesId/polls/:pollId/users/:login"
render={ render={
(props) => (<PollInfo {...this.props} {...props} {...this.state} {...common}/>) (props) => (<PollInfo {...this.props} {...props} {...this.state} {...common}/>)
} }
></Route> ></Route>
{/* 问卷详情 */} {/* 问卷详情 */}
<Route path="/courses/:coursesId/polls/:pollId/detail" <Route path="/classrooms/:coursesId/polls/:pollId/detail"
render={ render={
(props) => (<PollDetail {...this.props} {...props} {...this.state} {...common}/>) (props) => (<PollDetail {...this.props} {...props} {...this.state} {...common}/>)
} }
></Route> ></Route>
{/* 问卷新建 */} {/* 问卷新建 */}
<Route path="/courses/:coursesId/polls/:pollid/:news" <Route path="/classrooms/:coursesId/polls/:pollid/:news"
render={ render={
(props) => (<PollNew {...this.props} {...props} {...this.state} {...common}/>) (props) => (<PollNew {...this.props} {...props} {...this.state} {...common}/>)
} }
></Route> ></Route>
{/*/!* 问卷编辑 *!/*/} {/*/!* 问卷编辑 *!/*/}
{/*<Route path="/courses/:coursesId/polls/:pollid/:news"*/} {/*<Route path="/classrooms/:coursesId/polls/:pollid/:news"*/}
{/*render={*/} {/*render={*/}
{/*(props) => (<PollNew {...this.props} {...props} {...this.state} {...common} />)*/} {/*(props) => (<PollNew {...this.props} {...props} {...this.state} {...common} />)*/}
{/*}*/} {/*}*/}
{/*></Route>*/} {/*></Route>*/}
{/* 问卷 */} {/* 问卷 */}
<Route path="/courses/:coursesId/polls/:Id" <Route path="/classrooms/:coursesId/polls/:Id"
render={ render={
(props) => (<ListPageIndex {...this.props} {...props} {...this.state} {...common}/>) (props) => (<ListPageIndex {...this.props} {...props} {...this.state} {...common}/>)
} }
@ -740,20 +740,20 @@ class CoursesIndex extends Component{
{/* 试卷查看/评阅 */} {/* 试卷查看/评阅 */}
<Route exact path="/courses/:coursesId/exercises/:Id/users/:userId" <Route exact path="/classrooms/:coursesId/exercises/:Id/users/:userId"
render={ render={
(props)=>(<ExerciseReviewAndAnswer {...this.props} {...props} {...this.state} {...common}/>) (props)=>(<ExerciseReviewAndAnswer {...this.props} {...props} {...this.state} {...common}/>)
} }
></Route> ></Route>
{/*试卷新建 */} {/*试卷新建 */}
<Route exact path="/courses/:coursesId/exercises/new" <Route exact path="/classrooms/:coursesId/exercises/new"
render={ render={
(props) => (<ExerciseNew {...this.props} {...props} {...this.state} {...common}/>) (props) => (<ExerciseNew {...this.props} {...props} {...this.state} {...common}/>)
} }
></Route> ></Route>
{/*试卷新建 */} {/*试卷新建 */}
<Route exact path="/courses/:coursesId/exercises/:Id/edit" <Route exact path="/classrooms/:coursesId/exercises/:Id/edit"
render={ render={
(props) => (<ExerciseNew {...this.props} {...props} {...this.state} {...common}/>) (props) => (<ExerciseNew {...this.props} {...props} {...this.state} {...common}/>)
} }
@ -761,7 +761,7 @@ class CoursesIndex extends Component{
{/*试卷设置主页*/} {/*试卷设置主页*/}
<Route path="/courses/:coursesId/exercises/:Id/student_exercise_list" <Route path="/classrooms/:coursesId/exercises/:Id/student_exercise_list"
render={ render={
(props) => (<Testpapersettinghomepage {...this.props} {...props} {...this.state} {...common}/>) (props) => (<Testpapersettinghomepage {...this.props} {...props} {...this.state} {...common}/>)
} }
@ -770,14 +770,14 @@ class CoursesIndex extends Component{
{/*学生完成列表*/} {/*学生完成列表*/}
<Route <Route
path="/courses/:coursesId/exercises/:Id/Studentshavecompletedthelist" path="/classrooms/:coursesId/exercises/:Id/Studentshavecompletedthelist"
render={ render={
(props) => (<Studentshavecompletedthelist {...this.props} {...props} {...this.state} {...common}/>) (props) => (<Studentshavecompletedthelist {...this.props} {...props} {...this.state} {...common}/>)
} }
> >
</Route> </Route>
{/* 试卷 */} {/* 试卷 */}
<Route path="/courses/:coursesId/exercises/:Id" <Route path="/classrooms/:coursesId/exercises/:Id"
render={ render={
(props) => (<ListPageIndex {...this.props} {...props} {...this.state} {...common}/>) (props) => (<ListPageIndex {...this.props} {...props} {...this.state} {...common}/>)
} }
@ -785,95 +785,95 @@ class CoursesIndex extends Component{
{/*实训查重详情*/} {/*实训查重详情*/}
<Route path="/courses/:coursesId/shixun_homeworks/:homeworkid/review_detail/:userid" <Route path="/classrooms/:coursesId/shixun_homeworks/:homeworkid/review_detail/:userid"
render={ render={
(props) => (<ShixunWorkDetails {...this.props} {...props} {...this.state} {...common}/>) (props) => (<ShixunWorkDetails {...this.props} {...props} {...this.state} {...common}/>)
} }
></Route> ></Route>
<Route path="/courses/:coursesId/shixun_homework/:homeworkid/review_detail/:userid" <Route path="/classrooms/:coursesId/shixun_homework/:homeworkid/review_detail/:userid"
render={ render={
(props) => (<ShixunWorkDetails {...this.props} {...props} {...this.state} {...common}/>) (props) => (<ShixunWorkDetails {...this.props} {...props} {...this.state} {...common}/>)
} }
></Route> ></Route>
{/*实训查重列表*/} {/*实训查重列表*/}
<Route path="/courses/:coursesId/shixun_homeworks/:homeworkid/student_work" <Route path="/classrooms/:coursesId/shixun_homeworks/:homeworkid/student_work"
render={ render={
(props) => (<ShixunHomeworkPage {...this.props} {...props} {...this.state} {...common}/>) (props) => (<ShixunHomeworkPage {...this.props} {...props} {...this.state} {...common}/>)
} }
></Route> ></Route>
<Route path="/courses/:coursesId/shixun_homework/:homeworkid/student_work" <Route path="/classrooms/:coursesId/shixun_homework/:homeworkid/student_work"
render={ render={
(props) => (<ShixunHomeworkPage {...this.props} {...props} {...this.state} {...common}/>) (props) => (<ShixunHomeworkPage {...this.props} {...props} {...this.state} {...common}/>)
} }
></Route> ></Route>
{/*实训报告*/} {/*实训报告*/}
<Route path="/courses/:coursesId/shixun_homeworks/:homeworkid/shixun_work_report" <Route path="/classrooms/:coursesId/shixun_homeworks/:homeworkid/shixun_work_report"
render={ render={
(props) => (<ShixunWorkReport {...this.props} {...props} {...this.state} {...common}/>) (props) => (<ShixunWorkReport {...this.props} {...props} {...this.state} {...common}/>)
} }
></Route> ></Route>
<Route path="/courses/:coursesId/shixun_homework/:homeworkid/shixun_work_report" <Route path="/classrooms/:coursesId/shixun_homework/:homeworkid/shixun_work_report"
render={ render={
(props) => (<ShixunWorkReport {...this.props} {...props} {...this.state} {...common}/>) (props) => (<ShixunWorkReport {...this.props} {...props} {...this.state} {...common}/>)
} }
></Route> ></Route>
{/*教师列表*/} {/*教师列表*/}
<Route path="/courses/:coursesId/shixun_homeworks/:homeworkid/list" <Route path="/classrooms/:coursesId/shixun_homeworks/:homeworkid/list"
render={ render={
(props) => (<ShixunHomeworkPage {...this.props} {...props} {...this.state} {...common}/>) (props) => (<ShixunHomeworkPage {...this.props} {...props} {...this.state} {...common}/>)
} }
></Route> ></Route>
<Route path="/courses/:coursesId/shixun_homework/:homeworkid/list" <Route path="/classrooms/:coursesId/shixun_homework/:homeworkid/list"
render={ render={
(props) => (<ShixunHomeworkPage {...this.props} {...props} {...this.state} {...common}/>) (props) => (<ShixunHomeworkPage {...this.props} {...props} {...this.state} {...common}/>)
} }
></Route> ></Route>
{/*实训作业page*/} {/*实训作业page*/}
<Route path="/courses/:coursesId/shixun_homeworks/:homeworkid/Page" <Route path="/classrooms/:coursesId/shixun_homeworks/:homeworkid/Page"
render={ render={
(props) => (<ShixunHomeworkPage {...this.props} {...props} {...this.state} {...common}/>) (props) => (<ShixunHomeworkPage {...this.props} {...props} {...this.state} {...common}/>)
} }
></Route> ></Route>
{/*实训作业设置*/} {/*实训作业设置*/}
<Route path="/courses/:coursesId/shixun_homeworks/:homeworkid/settings" <Route path="/classrooms/:coursesId/shixun_homeworks/:homeworkid/settings"
render={ render={
(props) => (<ShixunHomeworkPage {...this.props} {...props} {...this.state} {...common}/>) (props) => (<ShixunHomeworkPage {...this.props} {...props} {...this.state} {...common}/>)
} }
></Route> ></Route>
<Route path="/courses/:coursesId/shixun_homework/:homeworkid/settings" <Route path="/classrooms/:coursesId/shixun_homework/:homeworkid/settings"
render={ render={
(props) => (<ShixunHomeworkPage {...this.props} {...props} {...this.state} {...common}/>) (props) => (<ShixunHomeworkPage {...this.props} {...props} {...this.state} {...common}/>)
} }
></Route> ></Route>
{/*/!*实训作品列表教师*!/*/} {/*/!*实训作品列表教师*!/*/}
{/*提交总结*/} {/*提交总结*/}
<Route path="/courses/:coursesId/shixun_homeworks/:id/commitsummary/:homeworkid" <Route path="/classrooms/:coursesId/shixun_homeworks/:id/commitsummary/:homeworkid"
render={ render={
(props) => (<CommitSummary {...this.props} {...props} {...this.state} />) (props) => (<CommitSummary {...this.props} {...props} {...this.state} />)
} }
></Route> ></Route>
<Route path="/courses/:coursesId/shixun_homework/:id/commitsummary/:homeworkid" <Route path="/classrooms/:coursesId/shixun_homework/:id/commitsummary/:homeworkid"
render={ render={
(props) => (<CommitSummary {...this.props} {...props} {...this.state} />) (props) => (<CommitSummary {...this.props} {...props} {...this.state} />)
} }
></Route> ></Route>
{/*实训作品列表学生未公布*/} {/*实训作品列表学生未公布*/}
{/*<Route path="/courses/:coursesId/shixun_homeworks/:homeworkid/noopenlist"*/} {/*<Route path="/classrooms/:coursesId/shixun_homeworks/:homeworkid/noopenlist"*/}
{/* render={*/} {/* render={*/}
{/* (props) => (<Studentnotcompleted {...this.props} {...props} {...this.state} />)*/} {/* (props) => (<Studentnotcompleted {...this.props} {...props} {...this.state} />)*/}
{/* }*/} {/* }*/}
{/*></Route>*/} {/*></Route>*/}
{/*实训学生作品列表已公布*/} {/*实训学生作品列表已公布*/}
{/* <Route path="/courses/:coursesId/shixun_homeworks/:homeworkid/list"*/} {/* <Route path="/classrooms/:coursesId/shixun_homeworks/:homeworkid/list"*/}
{/* render={*/} {/* render={*/}
{/* (props) => (<ShixunHomeworkPage {...this.props} {...props} {...this.state} />)*/} {/* (props) => (<ShixunHomeworkPage {...this.props} {...props} {...this.state} />)*/}
{/* }*/} {/* }*/}
{/* ></Route>*/} {/* ></Route>*/}
{/*/!*实训学生作品列表已公布*!/*/} {/*/!*实训学生作品列表已公布*!/*/}
{/*<Route path="/courses/:coursesId/shixun_homework/:homeworkid/list"*/} {/*<Route path="/classrooms/:coursesId/shixun_homework/:homeworkid/list"*/}
{/* render={*/} {/* render={*/}
{/* (props) => (<ShixunHomeworkPage {...this.props} {...props} {...this.state} />)*/} {/* (props) => (<ShixunHomeworkPage {...this.props} {...props} {...this.state} />)*/}
{/* }*/} {/* }*/}
@ -882,21 +882,21 @@ class CoursesIndex extends Component{
{/*实训作业问答主目录*/} {/*实训作业问答主目录*/}
<Route path="/courses/:coursesId/shixun_homeworks/:homeworkid/questions" <Route path="/classrooms/:coursesId/shixun_homeworks/:homeworkid/questions"
render={ render={
(props) => (<ShixunHomeworkPage {...this.props} {...props} {...this.state} {...common}/>) (props) => (<ShixunHomeworkPage {...this.props} {...props} {...this.state} {...common}/>)
} }
></Route> ></Route>
{/*实训作业问答子目录*/} {/*实训作业问答子目录*/}
<Route path="/courses/:coursesId/shixun_homework/:homeworkid/questions" <Route path="/classrooms/:coursesId/shixun_homework/:homeworkid/questions"
render={ render={
(props) => (<ShixunHomeworkPage {...this.props} {...props} {...this.state} {...common}/>) (props) => (<ShixunHomeworkPage {...this.props} {...props} {...this.state} {...common}/>)
} }
></Route> ></Route>
{/*新建课堂*/} {/*新建课堂*/}
<Route path="/courses/new" <Route path="/classrooms/new"
render={ render={
(props) => (<WrappedCoursesNewApp {...this.props} {...props} {...this.state} {...common}/>) (props) => (<WrappedCoursesNewApp {...this.props} {...props} {...this.state} {...common}/>)
} }
@ -904,33 +904,33 @@ class CoursesIndex extends Component{
{/*新建精品课堂*/} {/*新建精品课堂*/}
{/*coursesId 课堂id */} {/*coursesId 课堂id */}
{/*id 是否是私有或者公有*/} {/*id 是否是私有或者公有*/}
<Route path="/courses/news/:subjectid/newgold/:id" <Route path="/classrooms/news/:subjectid/newgold/:id"
render={ render={
(props) => (<WrappedCoursesNewAppGoldclass {...this.props} {...props} {...this.state} {...common}/>) (props) => (<WrappedCoursesNewAppGoldclass {...this.props} {...props} {...this.state} {...common}/>)
} }
></Route> ></Route>
{/*修改精品课堂*/} {/*修改精品课堂*/}
<Route path="/courses/:coursesId/newgolds/settings" <Route path="/classrooms/:coursesId/newgolds/settings"
render={ render={
(props) => (<WrappedCoursesNewAppGoldclass {...this.props} {...props} {...this.state} {...common}/>) (props) => (<WrappedCoursesNewAppGoldclass {...this.props} {...props} {...this.state} {...common}/>)
} }
></Route> ></Route>
{/*修改课堂*/} {/*修改课堂*/}
<Route path="/courses/:coursesId/settings" <Route path="/classrooms/:coursesId/settings"
render={ render={
(props) => (<WrappedCoursesNewApp {...this.props} {...props} {...this.state} {...common}/>) (props) => (<WrappedCoursesNewApp {...this.props} {...props} {...this.state} {...common}/>)
} }
></Route> ></Route>
{/* 实训作业子页面*/} {/* 实训作业子页面*/}
<Route path="/courses/:coursesId/shixun_homework/:category_id" <Route path="/classrooms/:coursesId/shixun_homework/:category_id"
render={ render={
(props) => (<ListPageIndex {...this.props} {...props} {...this.state} {...common}/>) (props) => (<ListPageIndex {...this.props} {...props} {...this.state} {...common}/>)
} }
></Route> ></Route>
{/* 实训作业页面*/} {/* 实训作业页面*/}
<Route path="/courses/:coursesId/shixun_homeworks/:main_id" <Route path="/classrooms/:coursesId/shixun_homeworks/:main_id"
render={ render={
(props) => (<ListPageIndex {...this.props} {...props} {...this.state} {...common}/>) (props) => (<ListPageIndex {...this.props} {...props} {...this.state} {...common}/>)
} }
@ -938,26 +938,26 @@ class CoursesIndex extends Component{
{/*课堂统计列表2019.10.29 */} {/*课堂统计列表2019.10.29 */}
<Route path="/courses/:coursesId/statistics" <Route path="/classrooms/:coursesId/statistics"
render={ render={
(props) => (<ListPageIndex {...this.props} {...props} {...this.state} />) (props) => (<ListPageIndex {...this.props} {...props} {...this.state} />)
} }
></Route> ></Route>
{/*/!*实训作业and课堂详情页*!/*/} {/*/!*实训作业and课堂详情页*!/*/}
<Route path="/courses/:coursesId" <Route path="/classrooms/:coursesId"
render={ render={
(props) => (<ListPageIndex {...this.props} {...props} {...this.state} {...common}/>) (props) => (<ListPageIndex {...this.props} {...props} {...this.state} {...common}/>)
} }
></Route> ></Route>
{/*课堂首页*/} {/*课堂首页*/}
<Route path="/courses" <Route path="/classrooms"
render={ render={
(props) => (<CoursesHome {...this.props} {...props} {...this.state} {...common}/>) (props) => (<CoursesHome {...this.props} {...props} {...this.state} {...common}/>)
} }
></Route> ></Route>
{/*<Route exact path="/courses" component={CoursesHome} {...this.props} {...props} {...this.state} ></Route>*/} {/*<Route exact path="/classrooms" component={CoursesHome} {...this.props} {...props} {...this.state} ></Route>*/}
</Switch> </Switch>
) )

@ -223,78 +223,78 @@ class ListPageIndex extends Component{
{/* --------------------------------------------------------------------- */} {/* --------------------------------------------------------------------- */}
{/* 作业设置 */} {/* 作业设置 */}
{/* http://localhost:3007/courses/1309/homework/9300/setting */} {/* http://localhost:3007/classrooms/1309/homework/9300/setting */}
{/* 普通作业 */} {/* 普通作业 */}
<Route path="/courses/:coursesId/common_homeworks/:category_id" <Route path="/classrooms/:coursesId/common_homeworks/:category_id"
render={ render={
(props) => (<CommonWork {...this.props} {...props} {...this.state} />) (props) => (<CommonWork {...this.props} {...props} {...this.state} />)
} }
></Route> ></Route>
{/* 作品列表 */} {/* 作品列表 */}
<Route path="/courses/:coursesId/group_homeworks/:category_id" <Route path="/classrooms/:coursesId/group_homeworks/:category_id"
render={ render={
(props) => (<CommonWork {...this.props} {...props} {...this.state} />) (props) => (<CommonWork {...this.props} {...props} {...this.state} />)
} }
></Route> ></Route>
<Route exact path="/courses/:coursesId/boards/:boardId" <Route exact path="/classrooms/:coursesId/boards/:boardId"
render={ render={
(props) => (<Boards {...this.props} {...props} {...this.state} />) (props) => (<Boards {...this.props} {...props} {...this.state} />)
} }
></Route> ></Route>
{/*视频列表*/} {/*视频列表*/}
<Route path="/courses/:coursesId/course_video/:videoId" <Route path="/classrooms/:coursesId/course_video/:videoId"
render={ render={
(props) => (<CourseVideo {...this.props} {...props} {...this.state} />) (props) => (<CourseVideo {...this.props} {...props} {...this.state} />)
} }
></Route> ></Route>
<Route path="/courses/:coursesId/course_videos" <Route path="/classrooms/:coursesId/course_videos"
render={ render={
(props) => (<CourseVideo {...this.props} {...props} {...this.state} />) (props) => (<CourseVideo {...this.props} {...props} {...this.state} />)
} }
></Route> ></Route>
<Route path="/courses/:coursesId/teachers" <Route path="/classrooms/:coursesId/teachers"
render={ render={
(props) => (<TeacherList updatabanners={()=>this.updatabanners()} {...this.props} {...props} {...this.state} />) (props) => (<TeacherList updatabanners={()=>this.updatabanners()} {...this.props} {...props} {...this.state} />)
} }
></Route> ></Route>
{/* 学生列表*/} {/* 学生列表*/}
<Route path="/courses/:coursesId/students" <Route path="/classrooms/:coursesId/students"
render={ render={
(props) => (<StudentsList {...this.props} {...props} {...this.state} />) (props) => (<StudentsList {...this.props} {...props} {...this.state} />)
} }
></Route> ></Route>
<Route path="/courses/:coursesId/course_groups/:course_group_id" <Route path="/classrooms/:coursesId/course_groups/:course_group_id"
render={ render={
(props) => (<StudentsList {...this.props} {...props} {...this.state} />) (props) => (<StudentsList {...this.props} {...props} {...this.state} />)
} }
></Route> ></Route>
<Route path="/courses/:coursesId/course_groups" <Route path="/classrooms/:coursesId/course_groups"
render={ render={
(props) => (<CourseGroupList {...this.props} {...props} {...this.state} />) (props) => (<CourseGroupList {...this.props} {...props} {...this.state} />)
} }
></Route> ></Route>
<Route path="/courses/:coursesId/exercises/:Id" <Route path="/classrooms/:coursesId/exercises/:Id"
render={ render={
(props) => (<Exercise {...this.props} {...props} {...this.state} />) (props) => (<Exercise {...this.props} {...props} {...this.state} />)
} }
></Route> ></Route>
<Route path="/courses/:coursesId/polls/:Id" <Route path="/classrooms/:coursesId/polls/:Id"
render={ render={
(props) => (<Poll {...this.props} {...props} {...this.state} />) (props) => (<Poll {...this.props} {...props} {...this.state} />)
} }
></Route> ></Route>
{/* <Route path="/courses/:coursesId/file/:Id" {/* <Route path="/classrooms/:coursesId/file/:Id"
render={ render={
(props) => (<Resourcelist {...this.props} {...props} {...this.state} />) (props) => (<Resourcelist {...this.props} {...props} {...this.state} />)
} }
></Route> */} ></Route> */}
{/* 实训作业子页面*/} {/* 实训作业子页面*/}
<Route path="/courses/:coursesId/shixun_homework/:category_id" <Route path="/classrooms/:coursesId/shixun_homework/:category_id"
render={ render={
(props) => (<ShixunHomework {...this.props} {...props} {...this.state} />) (props) => (<ShixunHomework {...this.props} {...props} {...this.state} />)
} }
@ -302,7 +302,7 @@ class ListPageIndex extends Component{
{/*课堂统计列表2019.10.29 */} {/*课堂统计列表2019.10.29 */}
<Route path="/courses/:coursesId/statistics" <Route path="/classrooms/:coursesId/statistics"
render={ render={
(props) => (<Statistics {...this.props} {...props} {...this.state} />) (props) => (<Statistics {...this.props} {...props} {...this.state} />)
} }
@ -311,49 +311,49 @@ class ListPageIndex extends Component{
{/*公告栏列表*/} {/*公告栏列表*/}
<Route path="/courses/:coursesId/informs" <Route path="/classrooms/:coursesId/informs"
render={ render={
(props) => (<Eduinforms {...this.props} {...props} {...this.state} />) (props) => (<Eduinforms {...this.props} {...props} {...this.state} />)
} }
></Route> ></Route>
{/*在线学习*/} {/*在线学习*/}
<Route <Route
path="/courses/:coursesId/online_learning" path="/classrooms/:coursesId/online_learning"
render={ render={
(props) => (<Elearning {...this.props} {...props} {...this.state} comyslElearning={(i)=>this.comyslElearning(i)} />) (props) => (<Elearning {...this.props} {...props} {...this.state} comyslElearning={(i)=>this.comyslElearning(i)} />)
} }
> >
</Route> </Route>
{/* 实训作业页面*/} {/* 实训作业页面*/}
<Route path="/courses/:coursesId/shixun_homeworks/:main_id" <Route path="/classrooms/:coursesId/shixun_homeworks/:main_id"
render={ render={
(props) => (<ShixunHomework {...this.props} {...props} {...this.state} />) (props) => (<ShixunHomework {...this.props} {...props} {...this.state} />)
} }
></Route> ></Route>
<Route path="/courses/:coursesId/files/:main_id" <Route path="/classrooms/:coursesId/files/:main_id"
render={ render={
(props) => (<Resourcelist {...this.props} {...props} {...this.state} />) (props) => (<Resourcelist {...this.props} {...props} {...this.state} />)
} }
></Route> ></Route>
<Route path="/courses/:coursesId/file/:Id" <Route path="/classrooms/:coursesId/file/:Id"
render={ render={
(props) => (<Resourcelist {...this.props} {...props} {...this.state} />) (props) => (<Resourcelist {...this.props} {...props} {...this.state} />)
} }
></Route> ></Route>
<Route path="/courses/:coursesId/graduation_topics/:Id" <Route path="/classrooms/:coursesId/graduation_topics/:Id"
render={ render={
(props) => (<GraduationTopics {...this.props} {...props} {...this.state} />) (props) => (<GraduationTopics {...this.props} {...props} {...this.state} />)
}></Route> }></Route>
<Route path="/courses/:coursesId/graduation_tasks/:Id" <Route path="/classrooms/:coursesId/graduation_tasks/:Id"
render={ render={
(props) => (<GraduationTasks {...this.props} {...props} {...this.state} />) (props) => (<GraduationTasks {...this.props} {...props} {...this.state} />)
} }
></Route> ></Route>
{/* 默认 */} {/* 默认 */}
<Route path="/courses/:coursesId" <Route path="/classrooms/:coursesId"
render={ render={
(props) => (<StudentsList {...this.props} {...props} {...this.state} />) (props) => (<StudentsList {...this.props} {...props} {...this.state} />)
} }

@ -242,13 +242,13 @@ class Fileslistitem extends Component {
this.props.isAdmin ? this.props.isAdmin ?
(bools === true ? (bools === true ?
<a <a
// href={"/courses/" + coursesId + "/graduation/graduation_tasks/" + categoryid + "/" + taskid + "/list"} // href={"/classrooms/" + coursesId + "/graduation/graduation_tasks/" + categoryid + "/" + taskid + "/list"}
onClick={() => this.showfiles(discussMessage)} onClick={() => this.showfiles(discussMessage)}
title={discussMessage.title} title={discussMessage.title}
className="fl mt3 font-16 font-bd color-dark maxwidth580">{discussMessage.title}</a> className="fl mt3 font-16 font-bd color-dark maxwidth580">{discussMessage.title}</a>
: :
<a <a
// href={"/courses/" + coursesId + "/graduation/graduation_tasks/" + categoryid + "/" + taskid + "/list"} // href={"/classrooms/" + coursesId + "/graduation/graduation_tasks/" + categoryid + "/" + taskid + "/list"}
onClick={() => this.showfiless(discussMessage.link,discussMessage.id)} onClick={() => this.showfiless(discussMessage.link,discussMessage.id)}
title={discussMessage.title} title={discussMessage.title}
className="fl mt3 font-16 font-bd color-dark maxwidth580">{discussMessage.title}</a> className="fl mt3 font-16 font-bd color-dark maxwidth580">{discussMessage.title}</a>

@ -94,7 +94,7 @@ class Video extends Component {
let videoId = { let videoId = {
videoId: item.id, videoId: item.id,
title: item.title, title: item.title,
file_url: item.file_url, file_url: (item.play_url || item.file_url),
cover_url: item.cover_url cover_url: item.cover_url
} }
this.setState({ this.setState({

@ -328,7 +328,7 @@ class BoardsNew extends Component{
<div className="edu-class-container edu-position courseForm"> <div className="edu-class-container edu-position courseForm">
<CBreadcrumb items={[ <CBreadcrumb items={[
{ to: current_user&&current_user.first_category_url, name: this.props.coursedata ? this.props.coursedata.name : ''}, { to: current_user&&current_user.first_category_url, name: this.props.coursedata ? this.props.coursedata.name : ''},
{ to: `/courses/${courseId}/boards/${boardId}`, name: this.state.board_name }, { to: `/classrooms/${courseId}/boards/${boardId}`, name: this.state.board_name },
{ name: this.isEdit ? '帖子编辑' : '帖子新建'} { name: this.isEdit ? '帖子编辑' : '帖子新建'}
]}></CBreadcrumb> ]}></CBreadcrumb>

@ -555,7 +555,7 @@ class TopicDetail extends Component {
`}</style> `}</style>
<CBreadcrumb className={'independent'} items={[ <CBreadcrumb className={'independent'} items={[
{ to: current_user&&current_user.first_category_url, name: this.props.coursedata.name}, { to: current_user&&current_user.first_category_url, name: this.props.coursedata.name},
{ to: `/courses/${courseId}/boards/${boardId}`, name: memo.board_name }, { to: `/classrooms/${courseId}/boards/${boardId}`, name: memo.board_name },
{ name: '帖子详情'} { name: '帖子详情'}
]}></CBreadcrumb> ]}></CBreadcrumb>

@ -15,9 +15,9 @@ export function RouteHOC(options = {}) {
const topicId = _courseId.topicId const topicId = _courseId.topicId
const boardId = _courseId.boardId const boardId = _courseId.boardId
const courseId = _courseId.coursesId const courseId = _courseId.coursesId
this.props.history.push(`/courses/${courseId}/boards/${boardId}/messages/${topicId}`) this.props.history.push(`/classrooms/${courseId}/boards/${boardId}/messages/${topicId}`)
} else { } else {
this.props.history.push(`/courses/${_courseId}/boards/${boardId}/messages/${topicId}`) this.props.history.push(`/classrooms/${_courseId}/boards/${boardId}/messages/${topicId}`)
} }
} }
@ -26,21 +26,21 @@ export function RouteHOC(options = {}) {
const topicId = _courseId.topicId const topicId = _courseId.topicId
const boardId = _courseId.boardId const boardId = _courseId.boardId
const courseId = _courseId.coursesId const courseId = _courseId.coursesId
this.props.history.push(`/courses/${courseId}/boards/${boardId}/messages/${topicId}/edit`) this.props.history.push(`/classrooms/${courseId}/boards/${boardId}/messages/${topicId}/edit`)
} else { } else {
this.props.history.push(`/courses/${_courseId}/boards/${boardId}/messages/${topicId}/edit`) this.props.history.push(`/classrooms/${_courseId}/boards/${boardId}/messages/${topicId}/edit`)
} }
} }
toNewPage = (courseId, boardId) => { toNewPage = (courseId, boardId) => {
this.props.history.push(`/courses/${courseId}/boards/${boardId}/messages/new`) this.props.history.push(`/classrooms/${courseId}/boards/${boardId}/messages/new`)
} }
toListPage = (_courseId, boardId) => { toListPage = (_courseId, boardId) => {
if (typeof _courseId == "object") { if (typeof _courseId == "object") {
const boardId = _courseId.boardId const boardId = _courseId.boardId
const courseId = _courseId.coursesId const courseId = _courseId.coursesId
this.props.history.push(`/courses/${courseId}/boards/${boardId}`) this.props.history.push(`/classrooms/${courseId}/boards/${boardId}`)
} else { } else {
this.props.history.push(`/courses/${_courseId}/boards${boardId ? '/' + boardId : ''}`) this.props.history.push(`/classrooms/${_courseId}/boards${boardId ? '/' + boardId : ''}`)
} }
} }

@ -419,53 +419,53 @@ class CommonWorkDetailIndex extends Component{
{/* --------------------------------------------------------------------- */} {/* --------------------------------------------------------------------- */}
{/* 作业设置 */} {/* 作业设置 */}
{/* http://localhost:3007/courses/1309/homework/9300/setting */} {/* http://localhost:3007/classrooms/1309/homework/9300/setting */}
<Route exact path="/courses/:coursesId/common_homeworks/:workId/setting" <Route exact path="/classrooms/:coursesId/common_homeworks/:workId/setting"
render={ render={
(props) => (<CommonWorkSetting {...this.props} {...props} {...this.state} {...commonHandler}/>) (props) => (<CommonWorkSetting {...this.props} {...props} {...this.state} {...commonHandler}/>)
} }
></Route> ></Route>
{/* 作品列表 */} {/* 作品列表 */}
<Route exact path="/courses/:coursesId/common_homeworks/:workId/list" <Route exact path="/classrooms/:coursesId/common_homeworks/:workId/list"
render={ render={
(props) => (<CommonWorkList ref="commonWorkList" triggerRef={this.bindRef} {...this.props} {...props} {...this.state} {...commonHandler}/>) (props) => (<CommonWorkList ref="commonWorkList" triggerRef={this.bindRef} {...this.props} {...props} {...this.state} {...commonHandler}/>)
} }
></Route> ></Route>
{/* 作业问答 */} {/* 作业问答 */}
<Route exact path="/courses/:coursesId/common_homeworks/:workId/question" <Route exact path="/classrooms/:coursesId/common_homeworks/:workId/question"
render={ render={
(props) => (<CommonWorkQuestion {...this.props} {...props} {...this.state} {...commonHandler}/>) (props) => (<CommonWorkQuestion {...this.props} {...props} {...this.state} {...commonHandler}/>)
} }
></Route> ></Route>
<Route exact path="/courses/:coursesId/common_homeworks/:workId/answer" <Route exact path="/classrooms/:coursesId/common_homeworks/:workId/answer"
render={ render={
(props) => (<CommonWorkAnswer {...this.props} {...props} {...this.state} {...commonHandler}/>) (props) => (<CommonWorkAnswer {...this.props} {...props} {...this.state} {...commonHandler}/>)
} }
></Route> ></Route>
<Route exact path="/courses/:coursesId/group_homeworks/:workId/setting" <Route exact path="/classrooms/:coursesId/group_homeworks/:workId/setting"
render={ render={
(props) => (<CommonWorkSetting {...this.props} {...props} {...this.state} {...commonHandler}/>) (props) => (<CommonWorkSetting {...this.props} {...props} {...this.state} {...commonHandler}/>)
} }
></Route> ></Route>
{/* 作品列表 */} {/* 作品列表 */}
<Route exact path="/courses/:coursesId/group_homeworks/:workId/list" <Route exact path="/classrooms/:coursesId/group_homeworks/:workId/list"
render={ render={
(props) => (<CommonWorkList triggerRef={this.bindRef} {...this.props} {...props} {...this.state} {...commonHandler}/>) (props) => (<CommonWorkList triggerRef={this.bindRef} {...this.props} {...props} {...this.state} {...commonHandler}/>)
} }
></Route> ></Route>
{/* 作业问答 */} {/* 作业问答 */}
<Route exact path="/courses/:coursesId/group_homeworks/:workId/question" <Route exact path="/classrooms/:coursesId/group_homeworks/:workId/question"
render={ render={
(props) => (<CommonWorkQuestion {...this.props} {...props} {...this.state} {...commonHandler}/>) (props) => (<CommonWorkQuestion {...this.props} {...props} {...this.state} {...commonHandler}/>)
} }
></Route> ></Route>
<Route exact path="/courses/:coursesId/group_homeworks/:workId/answer" <Route exact path="/classrooms/:coursesId/group_homeworks/:workId/answer"
render={ render={
(props) => (<CommonWorkAnswer {...this.props} {...props} {...this.state} {...commonHandler}/>) (props) => (<CommonWorkAnswer {...this.props} {...props} {...this.state} {...commonHandler}/>)
} }

@ -270,7 +270,7 @@ class CommonWorkItem extends Component{
Cancel={this.Cancelvisible} Cancel={this.Cancelvisible}
setupdate={this.setupdate} setupdate={this.setupdate}
reviseAttachmentUrl={`/student_works/${item.work_id}/revise_attachment.json`} reviseAttachmentUrl={`/student_works/${item.work_id}/revise_attachment.json`}
seeworks={`/courses/${this.props.match.params.coursesId}/common_homeworks/${item.homework_id}/${item.work_id}/appraise`} seeworks={`/classrooms/${this.props.match.params.coursesId}/common_homeworks/${item.homework_id}/${item.work_id}/appraise`}
/> />
<WordsBtn style="blue" className="fl font-16 ml28" onClick={() => this.addAccessory(item)}>补交附件</WordsBtn> <WordsBtn style="blue" className="fl font-16 ml28" onClick={() => this.addAccessory(item)}>补交附件</WordsBtn>
</React.Fragment> </React.Fragment>

@ -357,7 +357,7 @@ function buildColumns(that, student_works, studentData) {
>调分</a> >调分</a>
</Tooltip> } </Tooltip> }
{/* toWorkDetailPage */} {/* toWorkDetailPage */}
{/* /courses/"+courseId+"/common_homeworks/"+workId+ '/' + record.id +"/appraise */} {/* /classrooms/"+courseId+"/common_homeworks/"+workId+ '/' + record.id +"/appraise */}
<a style={{color: '#4CACFF', marginLeft: '4px'}} id={"asdasdasdasd"} <a style={{color: '#4CACFF', marginLeft: '4px'}} id={"asdasdasdasd"}
onMouseDown={(e) => that.props.toWorkDetailPage2(e, courseId, workId, record.id)} onMouseDown={(e) => that.props.toWorkDetailPage2(e, courseId, workId, record.id)}
onClick={() => that.props.toWorkDetailPage(courseId, workId, record.id)}>{isAdmin ? '评阅' : '查看'}</a> onClick={() => that.props.toWorkDetailPage(courseId, workId, record.id)}>{isAdmin ? '评阅' : '查看'}</a>
@ -378,7 +378,7 @@ const orderMap = {
student_id: 'asc', student_id: 'asc',
} }
const PAGE_SIZE = 20 const PAGE_SIZE = 20
// 类似页面 http://localhost:3007/courses/1309/graduation/graduation_tasks/48/76/setting // 类似页面 http://localhost:3007/classrooms/1309/graduation/graduation_tasks/48/76/setting
class CommonWorkList extends Component{ class CommonWorkList extends Component{
constructor(props){ constructor(props){

@ -44,7 +44,7 @@ function handleDateString (dateString) {
} }
return dateString return dateString
} }
// 类似页面 http://localhost:3007/courses/1309/graduation/graduation_tasks/48/76/setting // 类似页面 http://localhost:3007/classrooms/1309/graduation/graduation_tasks/48/76/setting
class CommonWorkSetting extends Component{ class CommonWorkSetting extends Component{
constructor(props){ constructor(props){
@ -82,16 +82,16 @@ class CommonWorkSetting extends Component{
<div className={"educontent mb20"}> <div className={"educontent mb20"}>
<p className="clearfix mt10"> <p className="clearfix mt10">
<WordsBtn style="grey" className="fl"> <Link to={"/courses/"+courseId} className="color-grey-6">{course_name}</Link></WordsBtn> <WordsBtn style="grey" className="fl"> <Link to={"/classrooms/"+courseId} className="color-grey-6">{course_name}</Link></WordsBtn>
<span className="color-grey-9 fl ml3 mr3">&gt;</span> <span className="color-grey-9 fl ml3 mr3">&gt;</span>
<WordsBtn style="grey" className="fl"> <Link to={"/courses/"+courseId+"/graduation"} className="color-grey-6">毕设任务</Link></WordsBtn> <WordsBtn style="grey" className="fl"> <Link to={"/classrooms/"+courseId+"/graduation"} className="color-grey-6">毕设任务</Link></WordsBtn>
<span className="color-grey-9 fl ml3 mr3">&gt;</span> <span className="color-grey-9 fl ml3 mr3">&gt;</span>
<span>任务详情</span> <span>任务详情</span>
</p> </p>
<div style={{ width:'100%',height:'75px'}} > <div style={{ width:'100%',height:'75px'}} >
<p className=" fl color-black mt25 summaryname"> <p className=" fl color-black mt25 summaryname">
<Link to={"/courses/"+courseId+"/graduation"+"/graduation_tasks/"}>{homework_name}</Link> <Link to={"/classrooms/"+courseId+"/graduation"+"/graduation_tasks/"}>{homework_name}</Link>
</p> </p>
<CoursesListType <CoursesListType
typelist={["已开启补交"]} typelist={["已开启补交"]}
@ -104,17 +104,17 @@ class CommonWorkSetting extends Component{
<div className="mt10 clearfix edu-back-white poll_list pl20"> <div className="mt10 clearfix edu-back-white poll_list pl20">
<Link <Link
className="active" className="active"
to={"/courses/"+courseId+"/graduation/graduation_tasks/"+category_id+"/"+task_Id+"/list"}>作品列表</Link> to={"/classrooms/"+courseId+"/graduation/graduation_tasks/"+category_id+"/"+task_Id+"/list"}>作品列表</Link>
<Link to={"/courses/"+courseId+"/graduation/graduation_tasks/"+category_id+"/"+task_Id+"/questions"}>作业描述</Link> <Link to={"/classrooms/"+courseId+"/graduation/graduation_tasks/"+category_id+"/"+task_Id+"/questions"}>作业描述</Link>
<Link to={"/courses/"+courseId+"/graduation/graduation_tasks/"+category_id+"/"+task_Id+"/questions"}>参考答案</Link> <Link to={"/classrooms/"+courseId+"/graduation/graduation_tasks/"+category_id+"/"+task_Id+"/questions"}>参考答案</Link>
<Link <Link
style={{paddingLeft:'38px'}} style={{paddingLeft:'38px'}}
to={"/courses/"+courseId+"/graduation/graduation_tasks/"+category_id+"/"+task_Id+"/setting"}>设置</Link> to={"/classrooms/"+courseId+"/graduation/graduation_tasks/"+category_id+"/"+task_Id+"/setting"}>设置</Link>
<a className={"fr color-blue font-16"} onClick={() => { this.end()} }>立即截止</a> <a className={"fr color-blue font-16"} onClick={() => { this.end()} }>立即截止</a>
<a className={"fr color-blue font-16"} onClick={() => { this.publish()} }>立即发布</a> <a className={"fr color-blue font-16"} onClick={() => { this.publish()} }>立即发布</a>
<a className={"fr color-blue font-16"} href={"/courses/"+courseId+"/graduation/graduation_tasks/"+task_Id+"/edit"}>编辑作业</a> <a className={"fr color-blue font-16"} href={"/classrooms/"+courseId+"/graduation/graduation_tasks/"+task_Id+"/edit"}>编辑作业</a>
</div> </div>
</div> </div>

@ -130,7 +130,7 @@ class CommonWorkPost extends Component{
setedit=(workId)=>{ setedit=(workId)=>{
let coursesId=this.props.match.params.coursesId; let coursesId=this.props.match.params.coursesId;
window.location.href="courses/"+coursesId+"/graduation_tasks/"+workId+"/appraise"; window.location.href="classrooms/"+coursesId+"/graduation_tasks/"+workId+"/appraise";
} }
@ -236,7 +236,7 @@ class CommonWorkPost extends Component{
// this.props.showNotification('保存成功') // this.props.showNotification('保存成功')
}else{ }else{
} }
this.props.history.push(`/courses/${coursesId}/${moduleName}/${workId}/${studentWorkId}/appraise`) this.props.history.push(`/classrooms/${coursesId}/${moduleName}/${workId}/${studentWorkId}/appraise`)
} }
}).catch((error) => { }).catch((error) => {
@ -251,7 +251,7 @@ class CommonWorkPost extends Component{
).then((response) => { ).then((response) => {
if(response.status===200) { if(response.status===200) {
if(response.data.status===0){ if(response.data.status===0){
this.props.history.push(`/courses/${coursesId}/${moduleName}/${workId}/${response.data.work_id}/appraise`) this.props.history.push(`/classrooms/${coursesId}/${moduleName}/${workId}/${response.data.work_id}/appraise`)
// this.props.showNotification('保存成功') // this.props.showNotification('保存成功')
// this.setState({ // this.setState({
// Modalstype:true, // Modalstype:true,
@ -644,10 +644,10 @@ render(){
<p className="clearfix mt10"> <p className="clearfix mt10">
<WordsBtn style="grey" className="fl"> <Link to={ current_user && current_user.first_category_url} className="color-grey-6">{course_name}</Link></WordsBtn> <WordsBtn style="grey" className="fl"> <Link to={ current_user && current_user.first_category_url} className="color-grey-6">{course_name}</Link></WordsBtn>
<span className="color-grey-9 fl ml3 mr3">&gt;</span> <span className="color-grey-9 fl ml3 mr3">&gt;</span>
<WordsBtn style="grey" className="fl"> <Link to={`/courses/${courseId}/${moduleName}/${workId}`} className="color-grey-6">{moduleCHName}</Link></WordsBtn> <WordsBtn style="grey" className="fl"> <Link to={`/classrooms/${courseId}/${moduleName}/${workId}`} className="color-grey-6">{moduleCHName}</Link></WordsBtn>
<span className="color-grey-9 fl ml3 mr3">&gt;</span> <span className="color-grey-9 fl ml3 mr3">&gt;</span>
{/*<WordsBtn style="grey" className="fl">*/} {/*<WordsBtn style="grey" className="fl">*/}
{/*<Link to={"/courses/"+courseId+"/graduation/graduation_tasks/"+category_id} className="color-grey-6">{workslist&&workslist.task_name}</Link>*/} {/*<Link to={"/classrooms/"+courseId+"/graduation/graduation_tasks/"+category_id} className="color-grey-6">{workslist&&workslist.task_name}</Link>*/}
{/*<span className="color-grey-9 ml3 mr3">&gt;</span>*/} {/*<span className="color-grey-9 ml3 mr3">&gt;</span>*/}
{/*</WordsBtn>*/} {/*</WordsBtn>*/}

@ -475,7 +475,7 @@ class CommonWorkSetting extends Component{
homepublish=()=>{ homepublish=()=>{
// let task_Id=this.props.match.params.task_Id; // let task_Id=this.props.match.params.task_Id;
// const cid = this.props.match.params.coursesId // const cid = this.props.match.params.coursesId
// let url = `/courses/${cid}/graduation_tasks/publish_task.json`; // let url = `/classrooms/${cid}/graduation_tasks/publish_task.json`;
// axios.post(url,{ // axios.post(url,{
// task_ids:[task_Id], // task_ids:[task_Id],
@ -843,7 +843,7 @@ class CommonWorkSetting extends Component{
// const coursesId = this.props.match.params.coursesId; // const coursesId = this.props.match.params.coursesId;
// const task_Id = this.props.match.params.task_Id; // const task_Id = this.props.match.params.task_Id;
// let url = `/courses/${coursesId}/graduation_tasks/end_task.json`; // let url = `/classrooms/${coursesId}/graduation_tasks/end_task.json`;
// axios.post(url,{ // axios.post(url,{
// task_ids:[task_Id], // task_ids:[task_Id],
// all_check:0 // all_check:0
@ -1531,7 +1531,7 @@ class CommonWorkSetting extends Component{
<Button type="primary" htmlType="submit" className="defalutSubmitbtn fl mr20" <Button type="primary" htmlType="submit" className="defalutSubmitbtn fl mr20"
onClick={this.onSubmit} onClick={this.onSubmit}
>提交</Button> >提交</Button>
{/*<Link to={"/courses/"+courseId+"/graduation_tasks/"+position+"/"+category_id+coursesearch} className="defalutCancelbtn fl">取消</Link>*/} {/*<Link to={"/classrooms/"+courseId+"/graduation_tasks/"+position+"/"+category_id+coursesearch} className="defalutCancelbtn fl">取消</Link>*/}
<a onClick={this.goback} className="defalutCancelbtn fl" <a onClick={this.goback} className="defalutCancelbtn fl"
>取消</a> >取消</a>
</div>:""} </div>:""}

@ -62,45 +62,45 @@ class CoursesWorkIndex extends Component{
{/* --------------------------------------------------------------------- */} {/* --------------------------------------------------------------------- */}
{/* 作业设置 */} {/* 作业设置 */}
{/* http://localhost:3007/courses/1309/homework/9300/setting */} {/* http://localhost:3007/classrooms/1309/homework/9300/setting */}
<Route exact path="/courses/:coursesId/common_homeworks/:workId/setting" <Route exact path="/classrooms/:coursesId/common_homeworks/:workId/setting"
render={ render={
(props) => (<CommonWorkDetailIndex {...this.props} {...props} {...this.state} />) (props) => (<CommonWorkDetailIndex {...this.props} {...props} {...this.state} />)
} }
></Route> ></Route>
{/* 作品列表 */} {/* 作品列表 */}
<Route exact path="/courses/:coursesId/common_homeworks/:workId/list" <Route exact path="/classrooms/:coursesId/common_homeworks/:workId/list"
render={ render={
(props) => (<CommonWorkDetailIndex {...this.props} {...props} {...this.state} />) (props) => (<CommonWorkDetailIndex {...this.props} {...props} {...this.state} />)
} }
></Route> ></Route>
{/* 作业问答 */} {/* 作业问答 */}
<Route exact path="/courses/:coursesId/common_homeworks/:workId/question" <Route exact path="/classrooms/:coursesId/common_homeworks/:workId/question"
render={ render={
(props) => (<CommonWorkDetailIndex {...this.props} {...props} {...this.state} />) (props) => (<CommonWorkDetailIndex {...this.props} {...props} {...this.state} />)
} }
></Route> ></Route>
<Route exact path="/courses/:coursesId/common_homeworks/:workId/answer" <Route exact path="/classrooms/:coursesId/common_homeworks/:workId/answer"
render={ render={
(props) => (<CommonWorkDetailIndex {...this.props} {...props} {...this.state} />) (props) => (<CommonWorkDetailIndex {...this.props} {...props} {...this.state} />)
} }
></Route> ></Route>
{/* 评阅 */} {/* 评阅 */}
<Route exact path="/courses/:coursesId/common_homeworks/:workId/:studentWorkId/appraise" <Route exact path="/classrooms/:coursesId/common_homeworks/:workId/:studentWorkId/appraise"
render={ render={
(props) => (<CommonWorkAppraise {...this.props} {...props} {...this.state} />) (props) => (<CommonWorkAppraise {...this.props} {...props} {...this.state} />)
} }
></Route> ></Route>
{/* 提交作品 */} {/* 提交作品 */}
<Route exact path="/courses/:coursesId/common_homeworks/:workId/post" <Route exact path="/classrooms/:coursesId/common_homeworks/:workId/post"
render={ render={
(props) => (<CommonWorkPost {...this.props} {...props} {...this.state} />) (props) => (<CommonWorkPost {...this.props} {...props} {...this.state} />)
} }
></Route> ></Route>
<Route exact path="/courses/:coursesId/common_homeworks/:workId/:studentWorkId/post_edit" <Route exact path="/classrooms/:coursesId/common_homeworks/:workId/:studentWorkId/post_edit"
render={ render={
(props) => (<CommonWorkPost {...this.props} {...props} {...this.state} />) (props) => (<CommonWorkPost {...this.props} {...props} {...this.state} />)
} }
@ -108,13 +108,13 @@ class CoursesWorkIndex extends Component{
{/* 新建 */} {/* 新建 */}
{/* http://localhost:3007/courses/1309/common_homeworks/9299/edit/1 */} {/* http://localhost:3007/classrooms/1309/common_homeworks/9299/edit/1 */}
<Route exact path="/courses/:coursesId/common_homeworks/:workId/:pageType" <Route exact path="/classrooms/:coursesId/common_homeworks/:workId/:pageType"
render={ render={
(props) => (<NewWork {...this.props} {...props} {...this.state} />) (props) => (<NewWork {...this.props} {...props} {...this.state} />)
} }
></Route> ></Route>
<Route exact path="/courses/:coursesId/common_homeworks/:categroy_id/new" <Route exact path="/classrooms/:coursesId/common_homeworks/:categroy_id/new"
render={ render={
(props) => (<NewWork {...this.props} {...props} {...this.state} />) (props) => (<NewWork {...this.props} {...props} {...this.state} />)
} }
@ -123,7 +123,7 @@ class CoursesWorkIndex extends Component{
{/* 作业列表 */} {/* 作业列表 */}
<Route path="/courses/:coursesId/common_homeworks" <Route path="/classrooms/:coursesId/common_homeworks"
render={ render={
(props) => (<ListPageIndex {...this.props} {...props} {...this.state} />) (props) => (<ListPageIndex {...this.props} {...props} {...this.state} />)
} }

@ -66,65 +66,65 @@ class CoursesWorkIndex extends Component{
{/* --------------------------------------------------------------------- */} {/* --------------------------------------------------------------------- */}
{/* 作业设置 */} {/* 作业设置 */}
<Route exact path="/courses/:coursesId/group_homeworks/:workId/setting" <Route exact path="/classrooms/:coursesId/group_homeworks/:workId/setting"
render={ render={
(props) => (<CommonWorkDetailIndex {...this.props} {...props} {...this.state} />) (props) => (<CommonWorkDetailIndex {...this.props} {...props} {...this.state} />)
} }
></Route> ></Route>
{/* 作品列表 */} {/* 作品列表 */}
<Route exact path="/courses/:coursesId/group_homeworks/:workId/list" <Route exact path="/classrooms/:coursesId/group_homeworks/:workId/list"
render={ render={
(props) => (<CommonWorkDetailIndex {...this.props} {...props} {...this.state} />) (props) => (<CommonWorkDetailIndex {...this.props} {...props} {...this.state} />)
} }
></Route> ></Route>
{/* 作业问答 */} {/* 作业问答 */}
<Route exact path="/courses/:coursesId/group_homeworks/:workId/question" <Route exact path="/classrooms/:coursesId/group_homeworks/:workId/question"
render={ render={
(props) => (<CommonWorkDetailIndex {...this.props} {...props} {...this.state} />) (props) => (<CommonWorkDetailIndex {...this.props} {...props} {...this.state} />)
} }
></Route> ></Route>
{/* 参考答案 */} {/* 参考答案 */}
<Route exact path="/courses/:coursesId/group_homeworks/:workId/answer" <Route exact path="/classrooms/:coursesId/group_homeworks/:workId/answer"
render={ render={
(props) => (<CommonWorkDetailIndex {...this.props} {...props} {...this.state} />) (props) => (<CommonWorkDetailIndex {...this.props} {...props} {...this.state} />)
} }
></Route> ></Route>
{/* 评阅 */} {/* 评阅 */}
<Route exact path="/courses/:coursesId/group_homeworks/:workId/:studentWorkId/appraise" <Route exact path="/classrooms/:coursesId/group_homeworks/:workId/:studentWorkId/appraise"
render={ render={
(props) => (<CommonWorkAppraise {...this.props} {...props} {...this.state} />) (props) => (<CommonWorkAppraise {...this.props} {...props} {...this.state} />)
} }
></Route> ></Route>
<Route exact path="/courses/:coursesId/group_homeworks/:workId/post" <Route exact path="/classrooms/:coursesId/group_homeworks/:workId/post"
render={ render={
(props) => (<CommonWorkPost {...this.props} {...props} {...this.state} />) (props) => (<CommonWorkPost {...this.props} {...props} {...this.state} />)
} }
></Route> ></Route>
<Route exact path="/courses/:coursesId/group_homeworks/:workId/:studentWorkId/post_edit" <Route exact path="/classrooms/:coursesId/group_homeworks/:workId/:studentWorkId/post_edit"
render={ render={
(props) => (<CommonWorkPost {...this.props} {...props} {...this.state} />) (props) => (<CommonWorkPost {...this.props} {...props} {...this.state} />)
} }
></Route> ></Route>
{/* 新建 */} {/* 新建 */}
{/* http://localhost:3007/courses/1309/group_homeworks/9299/edit/1 */} {/* http://localhost:3007/classrooms/1309/group_homeworks/9299/edit/1 */}
<Route exact path="/courses/:coursesId/group_homeworks/:workId/:pageType" <Route exact path="/classrooms/:coursesId/group_homeworks/:workId/:pageType"
render={ render={
(props) => (<NewWork {...this.props} {...props} {...this.state} />) (props) => (<NewWork {...this.props} {...props} {...this.state} />)
} }
></Route> ></Route>
<Route exact path="/courses/:coursesId/group_homeworks/:categroy_id/new" <Route exact path="/classrooms/:coursesId/group_homeworks/:categroy_id/new"
render={ render={
(props) => (<NewWork {...this.props} {...props} {...this.state} />) (props) => (<NewWork {...this.props} {...props} {...this.state} />)
} }
></Route> ></Route>
{/* 作业列表 */} {/* 作业列表 */}
<Route path="/courses/:coursesId/group_homeworks" <Route path="/classrooms/:coursesId/group_homeworks"
render={ render={
(props) => (<ListPageIndex {...this.props} {...props} {...this.state} />) (props) => (<ListPageIndex {...this.props} {...props} {...this.state} />)
} }

@ -167,7 +167,7 @@ class NewWork extends Component{
<div className="educontent mt20 mb50"> <div className="educontent mt20 mb50">
<CBreadcrumb items={[ <CBreadcrumb items={[
{ to: current_user && current_user.first_category_url, name: this.state.course_name}, { to: current_user && current_user.first_category_url, name: this.state.course_name},
{ to: `/courses/${courseId}/${moduleEngName}/${category && category.category_id ? category.category_id : ''}` { to: `/classrooms/${courseId}/${moduleEngName}/${category && category.category_id ? category.category_id : ''}`
, name: category && category.category_name }, , name: category && category.category_name },
{ name: `${ this.isEdit ? '编辑' : '新建'}` } { name: `${ this.isEdit ? '编辑' : '新建'}` }
]}></CBreadcrumb> ]}></CBreadcrumb>

@ -91,18 +91,18 @@ class WorkDetailPageHeader extends Component{
`}</style> `}</style>
<CBreadcrumb items={[ <CBreadcrumb items={[
{ to: current_user&&current_user.first_category_url, name: course_name}, { to: current_user&&current_user.first_category_url, name: course_name},
{ to: `/courses/${courseId}/${moduleEngName}/${category_id}`, name: category_name }, { to: `/classrooms/${courseId}/${moduleEngName}/${category_id}`, name: category_name },
window.location.pathname.indexOf('appraise') == -1 ? { } : { to: `/courses/${courseId}/${moduleEngName}/${workId}/list`, name: '作业详情' }, window.location.pathname.indexOf('appraise') == -1 ? { } : { to: `/classrooms/${courseId}/${moduleEngName}/${workId}/list`, name: '作业详情' },
// 1. 与上一条联动当匿评他人作品时TA人作品的作者真实姓名切换为“匿名” // 1. 与上一条联动当匿评他人作品时TA人作品的作者真实姓名切换为“匿名”
window.location.pathname.indexOf('appraise') == -1 ? { name: '作业详情' } : { name: author_name }, window.location.pathname.indexOf('appraise') == -1 ? { name: '作业详情' } : { name: author_name },
// window.location.pathname.indexOf('appraise') == -1 ? { } : { to: `/courses/${courseId}/${moduleEngName}/${workId}/list`, name: '作品列表' }, // window.location.pathname.indexOf('appraise') == -1 ? { } : { to: `/classrooms/${courseId}/${moduleEngName}/${workId}/list`, name: '作品列表' },
// { name: childModuleName } // { name: childModuleName }
]}></CBreadcrumb> ]}></CBreadcrumb>
<div className="clearfix mt20 mb20" > <div className="clearfix mt20 mb20" >
<span className=" fl color-black summaryname"> <span className=" fl color-black summaryname">
{homework_name} {homework_name}
{/* <Link to={"/courses/"+courseId+"/graduation"+"/graduation_tasks/"}>{homework_name}</Link> */} {/* <Link to={"/classrooms/"+courseId+"/graduation"+"/graduation_tasks/"}>{homework_name}</Link> */}
</span> </span>
<CoursesListType <CoursesListType
typelist={homework_status} typelist={homework_status}
@ -137,18 +137,18 @@ class WorkDetailPageHeader extends Component{
<div className="mt10 clearfix edu-back-white poll_list pl5"> <div className="mt10 clearfix edu-back-white poll_list pl5">
<Link <Link
className={`${childModuleName == '作品列表' ? 'active' : '' } `} className={`${childModuleName == '作品列表' ? 'active' : '' } `}
to={`/courses/${courseId}/${moduleEngName}/${workId}/list`}>作品列表</Link> to={`/classrooms/${courseId}/${moduleEngName}/${workId}/list`}>作品列表</Link>
<Link <Link
className={`${childModuleName == '作业描述' ? 'active' : '' } `} className={`${childModuleName == '作业描述' ? 'active' : '' } `}
to={`/courses/${courseId}/${moduleEngName}/${workId}/question`}>作业描述</Link> to={`/classrooms/${courseId}/${moduleEngName}/${workId}/question`}>作业描述</Link>
{view_answer == true && <Link {view_answer == true && <Link
className={`${childModuleName == '参考答案' ? 'active' : '' } `} className={`${childModuleName == '参考答案' ? 'active' : '' } `}
to={`/courses/${courseId}/${moduleEngName}/${workId}/answer`}>参考答案</Link>} to={`/classrooms/${courseId}/${moduleEngName}/${workId}/answer`}>参考答案</Link>}
<Link <Link
className={`${childModuleName == '设置' ? 'active' : '' } `} className={`${childModuleName == '设置' ? 'active' : '' } `}
style={{paddingLeft:this.props.isAdmin()?'38px':'20px'}} style={{paddingLeft:this.props.isAdmin()?'38px':'20px'}}
to={`/courses/${courseId}/${moduleEngName}/${workId}/setting`}>{this.props.isAdmin()?"设置":"得分规则"}</Link> to={`/classrooms/${courseId}/${moduleEngName}/${workId}/setting`}>{this.props.isAdmin()?"设置":"得分规则"}</Link>
{ this.props.tabRightComponents } { this.props.tabRightComponents }

@ -57,7 +57,7 @@ class CoursesBanner extends Component {
componentDidMount() { componentDidMount() {
this.onloadupdatabanner() this.onloadupdatabanner()
on('updatabanner', this.updatabanner) on('updatabanner', this.updatabanner)
if(this.props.match.path==="/courses/:coursesId"){ if(this.props.match.path==="/classrooms/:coursesId"){
if(this.props.user!=undefined){ if(this.props.user!=undefined){
this.props.history.push(this.props.user.first_category_url) this.props.history.push(this.props.user.first_category_url)
} }
@ -77,7 +77,7 @@ class CoursesBanner extends Component {
} }
componentDidUpdate(prevProps) { componentDidUpdate(prevProps) {
if(prevProps.user!=this.props.user){ if(prevProps.user!=this.props.user){
if(this.props.match.path==="/courses/:coursesId"){ if(this.props.match.path==="/classrooms/:coursesId"){
if(this.props.user!=undefined){ if(this.props.user!=undefined){
this.props.history.push(this.props.user.first_category_url) this.props.history.push(this.props.user.first_category_url)
} }
@ -352,11 +352,11 @@ class CoursesBanner extends Component {
var url = `/courses/${id}/duplicate_course.json` var url = `/courses/${id}/duplicate_course.json`
axios.post(url).then((response) => { axios.post(url).then((response) => {
if(response!==undefined){ if(response!==undefined){
window.location.href = "/courses/" + response.data.new_course_id+"/students"; window.location.href = "/classrooms/" + response.data.new_course_id+"/students";
return return
} }
this.modalCancel(); this.modalCancel();
// window.location.href = "/courses/" + response.data.new_course_id; // window.location.href = "/classrooms/" + response.data.new_course_id;
}).catch( (error)=> { }).catch( (error)=> {
this.modalCancel(); this.modalCancel();
@ -450,7 +450,7 @@ class CoursesBanner extends Component {
} }
postsettings=()=>{ postsettings=()=>{
window.location.href = "/courses/" + this.props.match.params.coursesId + "/settings"; window.location.href = "/classrooms/" + this.props.match.params.coursesId + "/settings";
}; };
postsettingstwo=()=>{ postsettingstwo=()=>{
// var ids =1; // var ids =1;
@ -463,7 +463,7 @@ class CoursesBanner extends Component {
// }catch (e) { // }catch (e) {
// //
// } // }
window.location.href = `/courses/${this.props.match.params.coursesId}/newgolds/settings`; window.location.href = `/classrooms/${this.props.match.params.coursesId}/newgolds/settings`;
}; };
@ -748,13 +748,13 @@ background:rgba(204,204,204,0.2) !important;
title={<pre className="antsoancss"> title={<pre className="antsoancss">
{coursedata.teacher_applies_count===undefined?"":coursedata.teacher_applies_count>0? {coursedata.teacher_applies_count===undefined?"":coursedata.teacher_applies_count>0?
<span >您有{coursedata.teacher_applies_count}条新的加入申请 <span >您有{coursedata.teacher_applies_count}条新的加入申请
<a className={"daishenp"} onClick={excellent === true && this.props.isAdminOrStudent() === false ?"":()=>this.setHistoryFun("/courses/"+this.props.match.params.coursesId+"/teachers?tab=2")}> <a className={"daishenp"} onClick={excellent === true && this.props.isAdminOrStudent() === false ?"":()=>this.setHistoryFun("/classrooms/"+this.props.match.params.coursesId+"/teachers?tab=2")}>
<span style={{ <span style={{
color:"#FFA804" color:"#FFA804"
}}> }}>
待审批 待审批
</span></a></span>:""}</pre>}> </span></a></span>:""}</pre>}>
<span className="color-grey-c font-16" onClick={excellent === true && this.props.isAdminOrStudent() === false ?"":()=>this.setHistoryFun("/courses/"+this.props.match.params.coursesId+"/teachers")}> <span className="color-grey-c font-16" onClick={excellent === true && this.props.isAdminOrStudent() === false ?"":()=>this.setHistoryFun("/classrooms/"+this.props.match.params.coursesId+"/teachers")}>
<span className={"mr10"}>教师</span> <span className={"mr10"}>教师</span>
<span className={"mr10"}>{coursedata.teacher_count}</span> <span className={"mr10"}>{coursedata.teacher_count}</span>
</span> </span>
@ -763,7 +763,7 @@ background:rgba(204,204,204,0.2) !important;
<Breadcrumb.Item <Breadcrumb.Item
className={excellent === true && this.props.isAdminOrStudent() === false ?"":excellent===true&&coursedata.course_end === true?this.props.isAdminOrTeacher()===true?"pointer":"":"pointer"} className={excellent === true && this.props.isAdminOrStudent() === false ?"":excellent===true&&coursedata.course_end === true?this.props.isAdminOrTeacher()===true?"pointer":"":"pointer"}
onClick={excellent === true && this.props.isAdminOrStudent() === false ?"":excellent===true&&coursedata.course_end === true?this.props.isAdminOrTeacher()===true?()=>this.setHistoryFun("/courses/"+this.props.match.params.coursesId+"/students"):"":()=>this.setHistoryFun("/courses/"+this.props.match.params.coursesId+"/students")} onClick={excellent === true && this.props.isAdminOrStudent() === false ?"":excellent===true&&coursedata.course_end === true?this.props.isAdminOrTeacher()===true?()=>this.setHistoryFun("/classrooms/"+this.props.match.params.coursesId+"/students"):"":()=>this.setHistoryFun("/classrooms/"+this.props.match.params.coursesId+"/students")}
> >
<span className="color-grey-c font-16"><span className={"mr10 ml10"}>学生</span> <span className={"mr10"}>{coursedata.student_count}</span></span> <span className="color-grey-c font-16"><span className={"mr10 ml10"}>学生</span> <span className={"mr10"}>{coursedata.student_count}</span></span>
</Breadcrumb.Item> </Breadcrumb.Item>
@ -775,7 +775,7 @@ background:rgba(204,204,204,0.2) !important;
</Breadcrumb> </Breadcrumb>
{/*<li className={"mt7 teachersbox"} >*/} {/*<li className={"mt7 teachersbox"} >*/}
{/*<Link to={"/courses/"+this.props.match.params.coursesId+"/teachers"}>*/} {/*<Link to={"/classrooms/"+this.props.match.params.coursesId+"/teachers"}>*/}
{/*<span className="color-grey-c fl font-16">教师</span>*/} {/*<span className="color-grey-c fl font-16">教师</span>*/}
{/*<span*/} {/*<span*/}
{/*className="color-white fl font-16 bannerurli">{coursedata.teacher_count}</span>*/} {/*className="color-white fl font-16 bannerurli">{coursedata.teacher_count}</span>*/}
@ -783,7 +783,7 @@ background:rgba(204,204,204,0.2) !important;
{/*</li>*/} {/*</li>*/}
{/*<li className={"mt7 teachersbox"}>*/} {/*<li className={"mt7 teachersbox"}>*/}
{/*<Link to={"/courses/"+this.props.match.params.coursesId+"/students"}>*/} {/*<Link to={"/classrooms/"+this.props.match.params.coursesId+"/students"}>*/}
{/*<span className="color-grey-c fl font-16">学生</span>*/} {/*<span className="color-grey-c fl font-16">学生</span>*/}
{/*<span*/} {/*<span*/}
{/*className={coursedata.credit===null?"color-white fl font-16 bannerurlis":"color-white fl font-16 bannerurli"}>*/} {/*className={coursedata.credit===null?"color-white fl font-16 bannerurlis":"color-white fl font-16 bannerurli"}>*/}

@ -550,13 +550,13 @@ class Coursesleftnav extends Component{
if(positiontype==="files"){ if(positiontype==="files"){
this.updasaveNavmoda() this.updasaveNavmoda()
trigger('updateNavSuccess') trigger('updateNavSuccess')
this.props.history.push(`/courses/${coursesId}/file/${result.data.category_id}`); this.props.history.push(`/classrooms/${coursesId}/file/${result.data.category_id}`);
} }
if(positiontype==="boards"){ if(positiontype==="boards"){
this.updasaveNavmoda() this.updasaveNavmoda()
trigger('updateNavSuccess') trigger('updateNavSuccess')
this.props.history.push(`/courses/${coursesId}/boards/${result.data.category_id}`); this.props.history.push(`/classrooms/${coursesId}/boards/${result.data.category_id}`);
} }
if(positiontype!="course_groups"){ if(positiontype!="course_groups"){
@ -565,7 +565,7 @@ class Coursesleftnav extends Component{
if(positiontype==="course_groups"){ if(positiontype==="course_groups"){
this.props.updataleftNavfun(); this.props.updataleftNavfun();
this.props.history.push(`/courses/${coursesId}/course_groups/${result.data.group_id}`); this.props.history.push(`/classrooms/${coursesId}/course_groups/${result.data.group_id}`);
} }
} }
@ -1100,7 +1100,7 @@ class Coursesleftnav extends Component{
// visible={toopvisible===true&&toopvisibleindex===iem.category_id?true:false} // visible={toopvisible===true&&toopvisibleindex===iem.category_id?true:false}
visible={false} visible={false}
> >
{/*"/courses/"+this.props.match.params.coursesId+"/"+item.type+"/"+iem.category_type+"/"+iem.category_id*/} {/*"/classrooms/"+this.props.match.params.coursesId+"/"+item.type+"/"+iem.category_type+"/"+iem.category_id*/}
<a className={"Draggablelichild"} key={index}> <a className={"Draggablelichild"} key={index}>
<li className="clearfix width93 Draggableli" key={index} onClick={(e)=>this.selectnavids(e,key,iem.category_id,item.type+"child",iem.second_category_url,key)} onMouseLeave={(e)=>this.twosandianhide(e,index,item.type)} onMouseEnter={(e)=>this.twosandianshow(e,index,item.type)} <li className="clearfix width93 Draggableli" key={index} onClick={(e)=>this.selectnavids(e,key,iem.category_id,item.type+"child",iem.second_category_url,key)} onMouseLeave={(e)=>this.twosandianhide(e,index,item.type)} onMouseEnter={(e)=>this.twosandianshow(e,index,item.type)}
key={index} key={index}

@ -161,7 +161,7 @@ class CoursesHome extends Component {
</div> </div>
{user && user.user_identity !== '学生' ? {user && user.user_identity !== '学生' ?
<Fragment> <Fragment>
<a className="btn-new" style={{ top: '67px' }} onClick={() => { this.getUser("/courses/new") }} > <img src={btnNew} width={40} alt="创建教学课堂" /> </a> <a className="btn-new" style={{ top: '67px' }} onClick={() => { this.getUser("/classrooms/new") }} > <img src={btnNew} width={40} alt="创建教学课堂" /> </a>
<a className="btn-join" style={{ top: '123px' }} onClick={() => { window._header_componentHandler.tojoinclass() }} > <img src={btnJoin} width={40} alt="加入教学课堂" /> </a> <a className="btn-join" style={{ top: '123px' }} onClick={() => { window._header_componentHandler.tojoinclass() }} > <img src={btnJoin} width={40} alt="加入教学课堂" /> </a>
</Fragment> : null </Fragment> : null
} }

@ -185,12 +185,12 @@ class Addcourses extends Component{
if(Addcoursestype===true){ if(Addcoursestype===true){
this.props.hideAddcoursestype(); this.props.hideAddcoursestype();
} }
window.location.href ="/courses/"+course_id+"/students"; window.location.href ="/classrooms/"+course_id+"/students";
} }
} }
submitasyns=(course_id)=>{ submitasyns=(course_id)=>{
window.location.href ="/courses/"+course_id+"/students"; window.location.href ="/classrooms/"+course_id+"/students";
} }
submittojoinclass=()=>{ submittojoinclass=()=>{
@ -266,7 +266,7 @@ class Addcourses extends Component{
if(response.data.status===0){ if(response.data.status===0){
// https://www.trustie.net/issues/22365 // https://www.trustie.net/issues/22365
if (response.data.course_id == 2704) { if (response.data.course_id == 2704) {
this.props.history.push('/courses/2704/boards/8367/messages/42072') this.props.history.push('/classrooms/2704/boards/8367/messages/42072')
return; return;
} }
notification.open({ notification.open({

@ -237,7 +237,7 @@ class Ecerciseallbackagain extends Component{
> >
<a style={{"textAlign": "left"}} <a style={{"textAlign": "left"}}
className="task-hide color-grey-name" className="task-hide color-grey-name"
href={`/users/${item.user_id}/courses`} href={`/users/${item.user_id}/classrooms`}
target={'_blank'} target={'_blank'}
title={item.user_name} title={item.user_name}
>{item.user_name}</a> >{item.user_name}</a>

@ -487,7 +487,7 @@ class Exercise extends Component{
this.props.isAdmin()===true? this.props.isAdmin()===true?
<li className="fr"> <li className="fr">
<p className="fl"><UseBank {...this.props} {...this.state} object_type={"exercise"} useBankSuccess={this.useBankSuccess}></UseBank></p> <p className="fl"><UseBank {...this.props} {...this.state} object_type={"exercise"} useBankSuccess={this.useBankSuccess}></UseBank></p>
{course_types&&course_types.course_status===0?<WordsBtn style="blue" className="font-16" to={`/courses/${this.props.match.params.coursesId}/exercises/new`}>新建</WordsBtn>:""} {course_types&&course_types.course_status===0?<WordsBtn style="blue" className="font-16" to={`/classrooms/${this.props.match.params.coursesId}/exercises/new`}>新建</WordsBtn>:""}
</li>:"" </li>:""
} }

@ -114,22 +114,22 @@ class ExerciseListItem extends Component{
<div className="flex1 pr"> <div className="flex1 pr">
<p className="clearfix mb20"> <p className="clearfix mb20">
{/*<Link to={`/courses/${coursesId}/exercises/${item.id}/exercises/student_exercise_list?tab=0`} className="fl font-16 font-bd mt2 color-grey-3 task-hide" style={{"maxWidth":"600px"}}>{item.exercise_name}</Link>*/} {/*<Link to={`/classrooms/${coursesId}/exercises/${item.id}/exercises/student_exercise_list?tab=0`} className="fl font-16 font-bd mt2 color-grey-3 task-hide" style={{"maxWidth":"600px"}}>{item.exercise_name}</Link>*/}
{ {
this.props.isAdmin()? <a className="fl font-16 font-bd mt2 color-grey-3 task-hide comnonwidth580 pointer" this.props.isAdmin()? <a className="fl font-16 font-bd mt2 color-grey-3 task-hide comnonwidth580 pointer"
title={item.exercise_name} title={item.exercise_name}
onClick={()=>this.toDetailPage(`/courses/${coursesId}/exercises/${item.id}/student_exercise_list?tab=0`)}>{item.exercise_name}</a>:"" onClick={()=>this.toDetailPage(`/classrooms/${coursesId}/exercises/${item.id}/student_exercise_list?tab=0`)}>{item.exercise_name}</a>:""
} }
{ {
this.props.isStudent()? this.props.isStudent()?
<a className="fl font-16 font-bd mt2 color-grey-3 task-hide comnonwidth580 pointer" title={item.exercise_name} onClick={()=>this.toDetailPage(`/courses/${coursesId}/exercises/${item.id}/student_exercise_list?tab=0`)}>{item.exercise_name}</a>:"" <a className="fl font-16 font-bd mt2 color-grey-3 task-hide comnonwidth580 pointer" title={item.exercise_name} onClick={()=>this.toDetailPage(`/classrooms/${coursesId}/exercises/${item.id}/student_exercise_list?tab=0`)}>{item.exercise_name}</a>:""
} }
{ {
this.props.isNotMember()? item.lock_status === 0 ? this.props.isNotMember()? item.lock_status === 0 ?
<span className="fl mt3 font-16 font-bd color-dark comnonwidth580 pointer" title={"私有属性,非课堂成员不能访问"}>{item.exercise_name}</span> <span className="fl mt3 font-16 font-bd color-dark comnonwidth580 pointer" title={"私有属性,非课堂成员不能访问"}>{item.exercise_name}</span>
: <a className="fl font-16 font-bd mt2 color-grey-3 task-hide comnonwidth580 pointer" title={item.exercise_name} onClick={()=>this.toDetailPage(`/courses/${coursesId}/exercises/${item.id}/student_exercise_list?tab=0`)}>{item.exercise_name}</a>:"" : <a className="fl font-16 font-bd mt2 color-grey-3 task-hide comnonwidth580 pointer" title={item.exercise_name} onClick={()=>this.toDetailPage(`/classrooms/${coursesId}/exercises/${item.id}/student_exercise_list?tab=0`)}>{item.exercise_name}</a>:""
} }
{ {
@ -189,9 +189,9 @@ class ExerciseListItem extends Component{
{ IsAdmin &&<div className="homepagePostSetting" style={{"right":"-17px","top":"46px","display":"block","width":"200px"}}> { IsAdmin &&<div className="homepagePostSetting" style={{"right":"-17px","top":"46px","display":"block","width":"200px"}}>
<a className="btn colorblue font-16 ml20" onClick={()=>this.toDetailPage(`/courses/${coursesId}/exercises/${item.id}/student_exercise_list?tab=0`)}>查看详情</a> <a className="btn colorblue font-16 ml20" onClick={()=>this.toDetailPage(`/classrooms/${coursesId}/exercises/${item.id}/student_exercise_list?tab=0`)}>查看详情</a>
<Link className="btn colorblue font-16 ml20" to={`/courses/${coursesId}/exercises/${item.id}/edit`}>编辑</Link> <Link className="btn colorblue font-16 ml20" to={`/classrooms/${coursesId}/exercises/${item.id}/edit`}>编辑</Link>
<Link className="btn colorblue ml20 font-16" to={`/courses/${coursesId}/exercises/${item.id}/student_exercise_list?tab=3`}>设置</Link> <Link className="btn colorblue ml20 font-16" to={`/classrooms/${coursesId}/exercises/${item.id}/student_exercise_list?tab=3`}>设置</Link>
</div> } </div> }
</p> </p>
@ -202,7 +202,7 @@ class ExerciseListItem extends Component{
{/*<li className="edu-position edu-position-hidebox">*/} {/*<li className="edu-position edu-position-hidebox">*/}
{/*<i className="fa fa-bars color-grey-b"></i>*/} {/*<i className="fa fa-bars color-grey-b"></i>*/}
{/*<ul className="edu-position-hide undis">*/} {/*<ul className="edu-position-hide undis">*/}
{/*<li> <Link className="" to={`/courses/${coursesId}/exercises/${item.id}/edit`}>编辑</Link></li>*/} {/*<li> <Link className="" to={`/classrooms/${coursesId}/exercises/${item.id}/edit`}>编辑</Link></li>*/}
{/*<li> <a className="" href={`*/} {/*<li> <a className="" href={`*/}
{/*/courses/${coursesId}/exercises/${item.id}/student_exercise_list?tab=3`*/} {/*/courses/${coursesId}/exercises/${item.id}/student_exercise_list?tab=3`*/}
{/*}>设置</a></li>*/} {/*}>设置</a></li>*/}
@ -216,10 +216,10 @@ class ExerciseListItem extends Component{
{ {
IsStudent && IsStudent &&
<div className="homepagePostSetting" style={{"right":"0px","top":"46px","position":"absolute","display":"block"}}> <div className="homepagePostSetting" style={{"right":"0px","top":"46px","position":"absolute","display":"block"}}>
<li className={"fl"}> <a className="btn colorblue font-16" onClick={()=>this.toDetailPage(`/courses/${coursesId}/exercises/${item.id}/student_exercise_list?tab=0`)}>查看详情</a></li> <li className={"fl"}> <a className="btn colorblue font-16" onClick={()=>this.toDetailPage(`/classrooms/${coursesId}/exercises/${item.id}/student_exercise_list?tab=0`)}>查看详情</a></li>
{item.current_status ===0&&item.exercise_status>1? <li className={"fl ml20"}> <Link className="btn colorblue font-16" to={`/courses/${coursesId}/exercises/${item.id}/users/${this.props.current_user.login}`}>继续答题</Link></li>: {item.current_status ===0&&item.exercise_status>1? <li className={"fl ml20"}> <Link className="btn colorblue font-16" to={`/classrooms/${coursesId}/exercises/${item.id}/users/${this.props.current_user.login}`}>继续答题</Link></li>:
item.current_status ===1&&item.exercise_status>1? <li className={"fl ml20"}> <a className="btn colorblue font-16" target="_blank" href={`/courses/${coursesId}/exercises/${item.id}/users/${this.props.current_user.login}`}>查看答题</a></li>: item.current_status ===1&&item.exercise_status>1? <li className={"fl ml20"}> <a className="btn colorblue font-16" target="_blank" href={`/classrooms/${coursesId}/exercises/${item.id}/users/${this.props.current_user.login}`}>查看答题</a></li>:
item.current_status ===2&&item.exercise_status>1? <li className={"fl ml20"}s> <a className="btn colorblue font-16" onClick={()=>this.setgameexercise(`/courses/${coursesId}/exercises/${item.id}/users/${this.props.current_user.login}`)}>开始答题</a></li>:""} item.current_status ===2&&item.exercise_status>1? <li className={"fl ml20"}s> <a className="btn colorblue font-16" onClick={()=>this.setgameexercise(`/classrooms/${coursesId}/exercises/${item.id}/users/${this.props.current_user.login}`)}>开始答题</a></li>:""}
</div> </div>
} }
@ -227,7 +227,7 @@ class ExerciseListItem extends Component{
this.props.isNotMember()? item.lock_status === 0 ? this.props.isNotMember()? item.lock_status === 0 ?
"" ""
: <div className="homepagePostSetting" style={{"right":"0px","top":"42px","position":"absolute","display":"block"}}> : <div className="homepagePostSetting" style={{"right":"0px","top":"42px","position":"absolute","display":"block"}}>
<li> <a className="btn colorblue font-16" onClick={()=>this.toDetailPage(`/courses/${coursesId}/exercises/${item.id}/student_exercise_list?tab=0`)}>查看详情</a></li> <li> <a className="btn colorblue font-16" onClick={()=>this.toDetailPage(`/classrooms/${coursesId}/exercises/${item.id}/student_exercise_list?tab=0`)}>查看详情</a></li>
</div>:"" </div>:""
} }

@ -66,7 +66,7 @@ class ExerciceNew extends Component{
<div className="edu-class-container edu-position courseForm"> <div className="edu-class-container edu-position courseForm">
{ current_user && <CBreadcrumb items={[ { current_user && <CBreadcrumb items={[
{ to: current_user&&current_user.first_category_url, name: this.props.coursedata ? this.props.coursedata.name : ''}, { to: current_user&&current_user.first_category_url, name: this.props.coursedata ? this.props.coursedata.name : ''},
{ to: `/courses/${courseId}/exercises/${left_banner_id}`, name: '试卷列表' }, { to: `/classrooms/${courseId}/exercises/${left_banner_id}`, name: '试卷列表' },
{ name: this.isEdit ? '编辑试卷' : '新建试卷'} { name: this.isEdit ? '编辑试卷' : '新建试卷'}
]}></CBreadcrumb> } ]}></CBreadcrumb> }
@ -74,7 +74,7 @@ class ExerciceNew extends Component{
<span className="fl font-24 color-grey-3">{this.isEdit ? "编辑" : "新建"}试卷</span> <span className="fl font-24 color-grey-3">{this.isEdit ? "编辑" : "新建"}试卷</span>
<a href="javascript:void(0)" className="color-grey-6 fr font-16 mr2" <a href="javascript:void(0)" className="color-grey-6 fr font-16 mr2"
// () => this.props.history.length == 1 ? : this.props.history.goBack() // () => this.props.history.length == 1 ? : this.props.history.goBack()
onClick={() => this.props.history.push(`/courses/${courseId}/exercises/${left_banner_id}`)}> onClick={() => this.props.history.push(`/classrooms/${courseId}/exercises/${left_banner_id}`)}>
返回 返回
</a> </a>
</p> </p>

@ -382,7 +382,7 @@ class ExerciseNewCommon extends Component{
goToPreview = () => { goToPreview = () => {
const exercise_id = this.props.match.params.Id const exercise_id = this.props.match.params.Id
const courseId = this.props.match.params.coursesId const courseId = this.props.match.params.coursesId
this.props.history.push(`/courses/${courseId}/exercises/${exercise_id}/student_exercise_list?tab=2`) this.props.history.push(`/classrooms/${courseId}/exercises/${exercise_id}/student_exercise_list?tab=2`)
} }
getAddQuestionUrl = () => { getAddQuestionUrl = () => {
const Id = this.props.match.params.Id const Id = this.props.match.params.Id

@ -669,7 +669,7 @@ class Studentshavecompletedthelist extends Component {
record.score_open===true? record.score_open===true?
<a style={{textAlign: "center",width:"98px"}} className="color-blue" <a style={{textAlign: "center",width:"98px"}} className="color-blue"
target="_blank" target="_blank"
href={`/courses/${this.props.match.params.coursesId}/exercises/${this.props.match.params.Id}/users/${record.myid}`}>查看</a> href={`/classrooms/${this.props.match.params.coursesId}/exercises/${this.props.match.params.Id}/users/${record.myid}`}>查看</a>
:"" :""
: :
<span style={{textAlign: "center", color: '#999999',width:"98px"}}>--</span> <span style={{textAlign: "center", color: '#999999',width:"98px"}}>--</span>
@ -940,7 +940,7 @@ class Studentshavecompletedthelist extends Component {
: :
<a style={{textAlign: "center"}} className="color-blue" <a style={{textAlign: "center"}} className="color-blue"
target="_blank" target="_blank"
href={`/courses/${this.props.match.params.coursesId}/exercises/${this.props.match.params.Id}/users/${record.myid}`}>{record.operating}</a> href={`/classrooms/${this.props.match.params.coursesId}/exercises/${this.props.match.params.Id}/users/${record.myid}`}>{record.operating}</a>
} }
</span> </span>
@ -1163,7 +1163,7 @@ class Studentshavecompletedthelist extends Component {
:record.submitstate === "已提交"? :record.submitstate === "已提交"?
<a style={{textAlign: "center"}} className="color-blue" <a style={{textAlign: "center"}} className="color-blue"
target="_blank" target="_blank"
href={`/courses/${this.props.match.params.coursesId}/exercises/${this.props.match.params.Id}/users/${record.myid}`}>{record.finalscore}</a> href={`/classrooms/${this.props.match.params.coursesId}/exercises/${this.props.match.params.Id}/users/${record.myid}`}>{record.finalscore}</a>
: :
<span style={{textAlign: "center", color: '#999999'}}>--</span> <span style={{textAlign: "center", color: '#999999'}}>--</span>
} }
@ -1381,7 +1381,7 @@ class Studentshavecompletedthelist extends Component {
:record.submitstate === "已提交"? :record.submitstate === "已提交"?
<a style={{textAlign: "center"}} className="color-blue" <a style={{textAlign: "center"}} className="color-blue"
target="_blank" target="_blank"
href={`/courses/${this.props.match.params.coursesId}/exercises/${this.props.match.params.Id}/users/${record.myid}`}>{record.finalscore}</a> href={`/classrooms/${this.props.match.params.coursesId}/exercises/${this.props.match.params.Id}/users/${record.myid}`}>{record.finalscore}</a>
: :
<span style={{textAlign: "center", color: '#999999'}}>--</span> <span style={{textAlign: "center", color: '#999999'}}>--</span>
} }

@ -43,7 +43,7 @@ class Testpapersettinghomepage extends Component{
tab:e.key tab:e.key
}) })
// this.props.history.push(`/courses/${this.props.match.params.coursesId}/exercises/${this.props.match.params.Id}/student_exercise_list?tab=`+e.key) // this.props.history.push(`/classrooms/${this.props.match.params.coursesId}/exercises/${this.props.match.params.Id}/student_exercise_list?tab=`+e.key)
} }
componentDidMount(){ componentDidMount(){
@ -277,10 +277,10 @@ class Testpapersettinghomepage extends Component{
// let courseId=this.props.match.params.coursesId; // let courseId=this.props.match.params.coursesId;
// let category_id=this.props.match.params.category_id; // let category_id=this.props.match.params.category_id;
// //
// window.location.href="/courses/"+courseId+"/graduation_tasks/"+datalist.graduation_id; // window.location.href="/classrooms/"+courseId+"/graduation_tasks/"+datalist.graduation_id;
// let courseId=this.props.match.params.coursesId; // let courseId=this.props.match.params.coursesId;
// if(courseId===undefined){ // if(courseId===undefined){
// this.props.history.push("/courses"); // this.props.history.push("/classrooms");
// }else{ // }else{
// this.props.history.push(this.props.current_user.first_category_url); // this.props.history.push(this.props.current_user.first_category_url);
// } // }
@ -322,9 +322,9 @@ class Testpapersettinghomepage extends Component{
<div className="educontent mb20" style={{width:"1200px"}}> <div className="educontent mb20" style={{width:"1200px"}}>
<p className="clearfix mb20 mt10"> <p className="clearfix mb20 mt10">
<Link className=" btn colorgrey fl hovercolorblue " to = {`/courses/${this.props.match.params.coursesId}`} >{this.props.coursedata.name}</Link> <Link className=" btn colorgrey fl hovercolorblue " to = {`/classrooms/${this.props.match.params.coursesId}`} >{this.props.coursedata.name}</Link>
<span className="color-grey-9 fl ml3 mr3">&gt;</span> <span className="color-grey-9 fl ml3 mr3">&gt;</span>
<Link className=" btn colorgrey fl hovercolorblue " to={`/courses/${this.props.match.params.coursesId}/exercises/${Commonheadofthetestpaper&&Commonheadofthetestpaper.user_permission.left_banner_id}`} >试卷</Link> <Link className=" btn colorgrey fl hovercolorblue " to={`/classrooms/${this.props.match.params.coursesId}/exercises/${Commonheadofthetestpaper&&Commonheadofthetestpaper.user_permission.left_banner_id}`} >试卷</Link>
<span className="color-grey-9 fl ml3 mr3">&gt;</span> <span className="color-grey-9 fl ml3 mr3">&gt;</span>
<WordsBtn className="fl">试卷详情</WordsBtn> <WordsBtn className="fl">试卷详情</WordsBtn>
</p> </p>
@ -345,7 +345,7 @@ class Testpapersettinghomepage extends Component{
<CoursesListType <CoursesListType
typelist={[`${polls_status[Commonheadofthetestpaper && Commonheadofthetestpaper.exercise_status]}`]} typelist={[`${polls_status[Commonheadofthetestpaper && Commonheadofthetestpaper.exercise_status]}`]}
/> />
<Link className="color-grey-6 fr font-16 summaryname mr30" to={`/courses/${this.props.match.params.coursesId}/exercises/${Commonheadofthetestpaper&&Commonheadofthetestpaper.user_permission.left_banner_id}`}>返回</Link> <Link className="color-grey-6 fr font-16 summaryname mr30" to={`/classrooms/${this.props.match.params.coursesId}/exercises/${Commonheadofthetestpaper&&Commonheadofthetestpaper.user_permission.left_banner_id}`}>返回</Link>
<p className="color-grey-6 fr font-16"> </p> <p className="color-grey-6 fr font-16"> </p>
</div> </div>
@ -437,13 +437,13 @@ class Testpapersettinghomepage extends Component{
getsetdata={this.getsetdata} getsetdata={this.getsetdata}
></ImmediatelyPublish> ></ImmediatelyPublish>
:"":""} :"":""}
{isAdmin === true? <Link className="fr color-blue font-16 mt20 mr20" to={`/courses/${this.props.match.params.coursesId}/exercises/${this.props.match.params.Id}/edit`}>编辑试卷</Link>:""} {isAdmin === true? <Link className="fr color-blue font-16 mt20 mr20" to={`/classrooms/${this.props.match.params.coursesId}/exercises/${this.props.match.params.Id}/edit`}>编辑试卷</Link>:""}
{isAdmin === false && this.props.current_user !== undefined? {isAdmin === false && this.props.current_user !== undefined?
Commonheadofthetestpaper&&Commonheadofthetestpaper.user_permission.current_status===2? Commonheadofthetestpaper&&Commonheadofthetestpaper.user_permission.current_status===2?
<a className="fr color-blue font-16 mt20" onClick={()=>this.setgameexercise(`/courses/${this.props.match.params.coursesId}/exercises/${this.props.match.params.Id}/users/${this.props.current_user.login}`)}>开始答题</a>: <a className="fr color-blue font-16 mt20" onClick={()=>this.setgameexercise(`/classrooms/${this.props.match.params.coursesId}/exercises/${this.props.match.params.Id}/users/${this.props.current_user.login}`)}>开始答题</a>:
<Link className="fr color-blue font-16 mt20" <Link className="fr color-blue font-16 mt20"
to={`/courses/${this.props.match.params.coursesId}/exercises/${this.props.match.params.Id}/users/${this.props.current_user.login}`}> to={`/classrooms/${this.props.match.params.coursesId}/exercises/${this.props.match.params.Id}/users/${this.props.current_user.login}`}>
{exercise_status===2?start_Value[Commonheadofthetestpaper&&Commonheadofthetestpaper.user_permission.current_status]:exercise_status===3?"":exercise_status===4?"":start_Value[Commonheadofthetestpaper&&Commonheadofthetestpaper.user_permission.current_status]} {exercise_status===2?start_Value[Commonheadofthetestpaper&&Commonheadofthetestpaper.user_permission.current_status]:exercise_status===3?"":exercise_status===4?"":start_Value[Commonheadofthetestpaper&&Commonheadofthetestpaper.user_permission.current_status]}
</Link> </Link>
:""} :""}

@ -235,12 +235,12 @@ class GraduateTaskItem extends Component{
<h6> <h6>
{ {
this.props.isAdmin?<a onClick={()=>this.toDetailPage("/courses/"+coursesId+"/graduation_tasks/"+categoryid+"/detail/"+taskid+"/list")} this.props.isAdmin?<a onClick={()=>this.toDetailPage("/classrooms/"+coursesId+"/graduation_tasks/"+categoryid+"/detail/"+taskid+"/list")}
title={discussMessage.name} title={discussMessage.name}
className="fl mt3 font-16 font-bd color-dark maxwidth580">{discussMessage.name}</a>:"" className="fl mt3 font-16 font-bd color-dark maxwidth580">{discussMessage.name}</a>:""
} }
{ {
this.props.isStudent? <a onClick={()=>this.toDetailPage("/courses/"+coursesId+"/graduation_tasks/"+categoryid+"/detail/"+taskid+"/list")} this.props.isStudent? <a onClick={()=>this.toDetailPage("/classrooms/"+coursesId+"/graduation_tasks/"+categoryid+"/detail/"+taskid+"/list")}
title={discussMessage.name} title={discussMessage.name}
className="fl mt3 font-16 font-bd color-dark maxwidth580">{discussMessage.name}</a>:"" className="fl mt3 font-16 font-bd color-dark maxwidth580">{discussMessage.name}</a>:""
} }
@ -248,7 +248,7 @@ class GraduateTaskItem extends Component{
{ {
this.props.isNotMember===true?this.props.discussMessage.private_icon===true? this.props.isNotMember===true?this.props.discussMessage.private_icon===true?
<span className="fl mt3 font-16 font-bd color-dark maxwidth580 pointer" title={"私有属性,非课堂成员不能访问"}>{discussMessage.name}</span> <span className="fl mt3 font-16 font-bd color-dark maxwidth580 pointer" title={"私有属性,非课堂成员不能访问"}>{discussMessage.name}</span>
:<a onClick={()=>this.toDetailPage("/courses/"+coursesId+"/graduation_tasks/"+categoryid+"/"+taskid+"/list")} :<a onClick={()=>this.toDetailPage("/classrooms/"+coursesId+"/graduation_tasks/"+categoryid+"/"+taskid+"/list")}
title={discussMessage.name} title={discussMessage.name}
className="fl mt3 font-16 font-bd color-dark maxwidth580">{discussMessage.name}</a>:"" className="fl mt3 font-16 font-bd color-dark maxwidth580">{discussMessage.name}</a>:""
} }
@ -301,15 +301,15 @@ class GraduateTaskItem extends Component{
<div className="mt13"> <div className="mt13">
<WordsBtn style="blue" to={"/courses/"+coursesId+"/graduation_tasks/"+categoryid+"/detail/"+taskid+"/setting"} className="colorblue font-16 mrf4 fr"> <WordsBtn style="blue" to={"/classrooms/"+coursesId+"/graduation_tasks/"+categoryid+"/detail/"+taskid+"/setting"} className="colorblue font-16 mrf4 fr">
<a className="btn colorblue">设置</a> <a className="btn colorblue">设置</a>
</WordsBtn> </WordsBtn>
<WordsBtn style="blue" to={"/courses/"+coursesId+"/graduation_tasks/"+taskid+"/edit"} className="colorblue font-16 mr20 fr"> <WordsBtn style="blue" to={"/classrooms/"+coursesId+"/graduation_tasks/"+taskid+"/edit"} className="colorblue font-16 mr20 fr">
<a className="btn colorblue" >编辑</a> <a className="btn colorblue" >编辑</a>
</WordsBtn> </WordsBtn>
<WordsBtn style="blue" onClick={()=>this.toDetailPage("/courses/"+coursesId+"/graduation_tasks/"+categoryid+"/detail/"+taskid+"/list")} <WordsBtn style="blue" onClick={()=>this.toDetailPage("/classrooms/"+coursesId+"/graduation_tasks/"+categoryid+"/detail/"+taskid+"/list")}
className="btn colorblue colorblue font-16 mr20 fr"> className="btn colorblue colorblue font-16 mr20 fr">
查看详情 查看详情
</WordsBtn> </WordsBtn>
@ -331,7 +331,7 @@ class GraduateTaskItem extends Component{
{item==="提交作品"? {item==="提交作品"?
<WordsBtn style="blue" className="colorblue font-16 ml20 fr mt12"> <WordsBtn style="blue" className="colorblue font-16 ml20 fr mt12">
<a className="btn colorblue" href={"/courses/"+this.props.coursesId+"/graduation_tasks/"+this.props.categoryid+"/works"+"/"+this.props.taskid+"/new"}>提交作品</a> <a className="btn colorblue" href={"/classrooms/"+this.props.coursesId+"/graduation_tasks/"+this.props.categoryid+"/works"+"/"+this.props.taskid+"/new"}>提交作品</a>
</WordsBtn> </WordsBtn>
:""} :""}
@ -339,7 +339,7 @@ class GraduateTaskItem extends Component{
{item==="补交作品"? {item==="补交作品"?
<WordsBtn style="blue" className="colorblue font-16 ml20 fr mt12"> <WordsBtn style="blue" className="colorblue font-16 ml20 fr mt12">
<a className="btn colorblue" href={"/courses/"+this.props.coursesId+"/graduation_tasks/"+this.props.categoryid+"/works"+"/"+this.props.taskid+"/new"}>补交作品</a> <a className="btn colorblue" href={"/classrooms/"+this.props.coursesId+"/graduation_tasks/"+this.props.categoryid+"/works"+"/"+this.props.taskid+"/new"}>补交作品</a>
</WordsBtn> </WordsBtn>
:""} :""}
@ -347,7 +347,7 @@ class GraduateTaskItem extends Component{
{item==="修改作品"? {item==="修改作品"?
<WordsBtn style="blue" className="font-16 colorblue ml20 fr mt12"> <WordsBtn style="blue" className="font-16 colorblue ml20 fr mt12">
<a className="btn colorblue" href={"/courses/"+this.props.coursesId+"/graduation_tasks/"+this.props.categoryid+"/works"+"/"+this.props.workid+"/edit"}>修改作品</a> <a className="btn colorblue" href={"/classrooms/"+this.props.coursesId+"/graduation_tasks/"+this.props.categoryid+"/works"+"/"+this.props.workid+"/edit"}>修改作品</a>
</WordsBtn> </WordsBtn>
:""} :""}
@ -355,7 +355,7 @@ class GraduateTaskItem extends Component{
{item==="查看作品"? {item==="查看作品"?
<WordsBtn style="blue" className="font-16 colorblue ml20 fr mt12"> <WordsBtn style="blue" className="font-16 colorblue ml20 fr mt12">
<a className="btn colorblue" target="_blank" href={"/courses/"+this.props.coursesId+"/graduation_tasks/"+this.props.workid+"/appraise"}>查看作品</a> <a className="btn colorblue" target="_blank" href={"/classrooms/"+this.props.coursesId+"/graduation_tasks/"+this.props.workid+"/appraise"}>查看作品</a>
</WordsBtn> </WordsBtn>
:""} :""}
@ -385,7 +385,7 @@ class GraduateTaskItem extends Component{
<WordsBtn className="colorblue font-16 ml20 fr mt12" onClick={this.addAccessory}> <WordsBtn className="colorblue font-16 ml20 fr mt12" onClick={this.addAccessory}>
补交附件 补交附件
{/*<a className="btn colorblue " href={"/courses/"+this.props.coursesId+"/graduation_tasks/"+discussMessage.work_id+"/appraise"}></a>*/} {/*<a className="btn colorblue " href={"/classrooms/"+this.props.coursesId+"/graduation_tasks/"+discussMessage.work_id+"/appraise"}></a>*/}
</WordsBtn> </WordsBtn>
:""} :""}
@ -394,7 +394,7 @@ class GraduateTaskItem extends Component{
}):""} }):""}
{this.props.isStudent? {this.props.isStudent?
<WordsBtn style="blue" onClick={()=>this.toDetailPage("/courses/"+coursesId+"/graduation_tasks/"+categoryid+"/detail/"+taskid+"/list")} <WordsBtn style="blue" onClick={()=>this.toDetailPage("/classrooms/"+coursesId+"/graduation_tasks/"+categoryid+"/detail/"+taskid+"/list")}
className="colorblue font-16 ml20 fr mt12"> className="colorblue font-16 ml20 fr mt12">
查看详情 查看详情
</WordsBtn>:""} </WordsBtn>:""}

@ -461,7 +461,7 @@ class GraduationAcross extends Component{
<RadioGroup onChange={this.funcommentstatus} value={comment_status}> <RadioGroup onChange={this.funcommentstatus} value={comment_status}>
<Radio style={radioStyle} value={2}>手动分配评阅<span className={"font-14 color-grey-c ml5"}>逐一指定每个学生的交叉评阅老师</span></Radio> <Radio style={radioStyle} value={2}>手动分配评阅<span className={"font-14 color-grey-c ml5"}>逐一指定每个学生的交叉评阅老师</span></Radio>
<Radio style={radioStyle} value={4}>答辩组分配评阅<span className={"font-14 color-grey-c ml5"}>将老师加入不同答辩组指定每个学生的交叉评阅答辩组 <Radio style={radioStyle} value={4}>答辩组分配评阅<span className={"font-14 color-grey-c ml5"}>将老师加入不同答辩组指定每个学生的交叉评阅答辩组
<a href={"/courses/"+courseId+"/teachers"} target="_blank"> <a href={"/classrooms/"+courseId+"/teachers"} target="_blank">
<span className={"color-blue"}>立即设置答辩组</span></a> <span className={"color-blue"}>立即设置答辩组</span></a>
</span></Radio> </span></Radio>
</RadioGroup> </RadioGroup>

@ -105,16 +105,16 @@ class GraduationTaskDetail extends Component{
goback=()=>{ goback=()=>{
// let courseId=this.props.match.params.coursesId; // let courseId=this.props.match.params.coursesId;
// let category_id=this.props.match.params.category_id; // let category_id=this.props.match.params.category_id;
// window.location.href="/courses/"+courseId+"/graduation_tasks/"+category_id; // window.location.href="/classrooms/"+courseId+"/graduation_tasks/"+category_id;
// let courseId = this.props.match.params.coursesId; // let courseId = this.props.match.params.coursesId;
// if(courseId===undefined){ // if(courseId===undefined){
// this.props.history.push("/courses"); // this.props.history.push("/classrooms");
// }else{ // }else{
// this.props.history.push(this.props.current_user.first_category_url); // this.props.history.push(this.props.current_user.first_category_url);
// } // }
// this.props.history.goBack() // this.props.history.goBack()
this.props.history.replace(`/courses/${this.state.questionslist.course_id}/graduation_tasks/${this.state.questionslist.graduation_id}`); this.props.history.replace(`/classrooms/${this.state.questionslist.course_id}/graduation_tasks/${this.state.questionslist.graduation_id}`);
} }
setend_time=(time)=>{ setend_time=(time)=>{
@ -465,13 +465,13 @@ class GraduationTaskDetail extends Component{
<p className="clearfix mt10"> <p className="clearfix mt10">
<a onClick={this.goback} className="color-grey-9 fl">{questionslist.course_name}</a> <a onClick={this.goback} className="color-grey-9 fl">{questionslist.course_name}</a>
<span className="color-grey-9 fl ml3 mr3">&gt;</span> <span className="color-grey-9 fl ml3 mr3">&gt;</span>
<Link to={`/courses/${courseId}/graduation_tasks/${category_id}`} className="color-grey-9 fl">{questionslist.graduation_name}</Link> <Link to={`/classrooms/${courseId}/graduation_tasks/${category_id}`} className="color-grey-9 fl">{questionslist.graduation_name}</Link>
<span className="color-grey-9 fl ml3 mr3">&gt;</span> <span className="color-grey-9 fl ml3 mr3">&gt;</span>
<span className="color-grey-6">任务详情</span> <span className="color-grey-6">任务详情</span>
</p> </p>
<div className="clearfix mt20 mb20 lineh-25 linbox"> <div className="clearfix mt20 mb20 lineh-25 linbox">
<p className=" fl color-black summaryname"> <p className=" fl color-black summaryname">
<Link to={`/courses/${courseId}/graduation_tasks/${category_id}`} className="color-grey-3">{questionslist.task_name}</Link> <Link to={`/classrooms/${courseId}/graduation_tasks/${category_id}`} className="color-grey-3">{questionslist.task_name}</Link>
</p> </p>
<CoursesListType <CoursesListType
typelist={questionslist.task_status} typelist={questionslist.task_status}
@ -481,9 +481,9 @@ class GraduationTaskDetail extends Component{
<div className="stud-class-set bor-bottom-greyE"> <div className="stud-class-set bor-bottom-greyE">
<div className="clearfix edu-back-white pl30 pr30 graduationTaskMenu"> <div className="clearfix edu-back-white pl30 pr30 graduationTaskMenu">
<Link className={tab && tab == "list" ? "active" : ""} to={"/courses/"+courseId+"/graduation_tasks/"+category_id+"/detail/"+task_Id+"/list"}>任务列表</Link> <Link className={tab && tab == "list" ? "active" : ""} to={"/classrooms/"+courseId+"/graduation_tasks/"+category_id+"/detail/"+task_Id+"/list"}>任务列表</Link>
<Link className={tab && tab == "questions" ? "active" : ""} to={"/courses/"+courseId+"/graduation_tasks/"+category_id+"/detail/"+task_Id+"/questions"}>毕设描述</Link> <Link className={tab && tab == "questions" ? "active" : ""} to={"/classrooms/"+courseId+"/graduation_tasks/"+category_id+"/detail/"+task_Id+"/questions"}>毕设描述</Link>
<Link className={tab && tab == "setting" ? "active" : ""} to={"/courses/"+courseId+"/graduation_tasks/"+category_id+"/detail/"+task_Id+"/setting?tab=3"}>设置</Link> <Link className={tab && tab == "setting" ? "active" : ""} to={"/classrooms/"+courseId+"/graduation_tasks/"+category_id+"/detail/"+task_Id+"/setting?tab=3"}>设置</Link>
{/*<a className={"fr color-blue font-16"}>导出成绩</a>*/} {/*<a className={"fr color-blue font-16"}>导出成绩</a>*/}
{/*{this.props.isAdmin()?<a href={"/api/graduation_tasks/"+task_Id+"/tasks_list.xls"} className={"fr color-blue font-16"}>导出成绩</a>:""}*/} {/*{this.props.isAdmin()?<a href={"/api/graduation_tasks/"+task_Id+"/tasks_list.xls"} className={"fr color-blue font-16"}>导出成绩</a>:""}*/}
@ -529,10 +529,10 @@ class GraduationTaskDetail extends Component{
{questionslist.work_status===undefined||questionslist.work_status===null||questionslist.work_status.length===0?"":questionslist.work_status.map((item,key)=>{ {questionslist.work_status===undefined||questionslist.work_status===null||questionslist.work_status.length===0?"":questionslist.work_status.map((item,key)=>{
return( return(
<span key={key} className="fr mt20"> <span key={key} className="fr mt20">
{item==="提交作品"?<a className={"fr color-blue font-16 ml20"} href={"/courses/"+courseId+"/graduation_tasks/"+category_id+"/works/"+task_Id+"/new"}>提交作品</a>:""} {item==="提交作品"?<a className={"fr color-blue font-16 ml20"} href={"/classrooms/"+courseId+"/graduation_tasks/"+category_id+"/works/"+task_Id+"/new"}>提交作品</a>:""}
{item==="补交作品"?<a className={"fr color-blue font-16 ml20"} href={"/courses/"+courseId+"/graduation_tasks/"+category_id+"/works/"+task_Id+"/new"}>补交作品</a>:""} {item==="补交作品"?<a className={"fr color-blue font-16 ml20"} href={"/classrooms/"+courseId+"/graduation_tasks/"+category_id+"/works/"+task_Id+"/new"}>补交作品</a>:""}
{item==="修改作品"?<a className={"fr color-blue font-16 ml20"} href={"/courses/"+courseId+"/graduation_tasks/"+category_id+"/works"+"/"+ questionslist.work_id + "/edit"}>修改作品</a>:""} {item==="修改作品"?<a className={"fr color-blue font-16 ml20"} href={"/classrooms/"+courseId+"/graduation_tasks/"+category_id+"/works"+"/"+ questionslist.work_id + "/edit"}>修改作品</a>:""}
{item==="查看作品"?<a className={"fr color-blue font-16 ml20"} target="_blank" href={"/courses/"+courseId+"/graduation_tasks/"+ questionslist.work_id + "/appraise"}>查看作品</a> :""} {item==="查看作品"?<a className={"fr color-blue font-16 ml20"} target="_blank" href={"/classrooms/"+courseId+"/graduation_tasks/"+ questionslist.work_id + "/appraise"}>查看作品</a> :""}
{item==="创建项目"?<a className={"fr color-blue font-16 ml20"} href={'/projects/new'} target="_blank">创建项目</a>:""} {item==="创建项目"?<a className={"fr color-blue font-16 ml20"} href={'/projects/new'} target="_blank">创建项目</a>:""}
{item==="关联项目"?<a className={"fr color-blue font-16 ml20"} onClick={this.AssociationItems}>关联项目</a>:""} {item==="关联项目"?<a className={"fr color-blue font-16 ml20"} onClick={this.AssociationItems}>关联项目</a>:""}
{item==="取消关联"?<a className={"fr color-blue font-16 ml20"} onClick={this.cannelAssociation}>取消关联</a>:""} {item==="取消关联"?<a className={"fr color-blue font-16 ml20"} onClick={this.cannelAssociation}>取消关联</a>:""}
@ -546,26 +546,26 @@ class GraduationTaskDetail extends Component{
{ this.props.isAdmin() ? questionslist.status===1 ? <a className={"fr color-blue font-16 mr20"} onClick={() => { this.end()} }>立即截止</a> : "" : "" } { this.props.isAdmin() ? questionslist.status===1 ? <a className={"fr color-blue font-16 mr20"} onClick={() => { this.end()} }>立即截止</a> : "" : "" }
{ this.props.isAdmin() ? questionslist.status===0 ? <a className={"fr color-blue font-16 mr20"} onClick={() => { this.publish()} }>立即发布</a> : "" : "" } { this.props.isAdmin() ? questionslist.status===0 ? <a className={"fr color-blue font-16 mr20"} onClick={() => { this.publish()} }>立即发布</a> : "" : "" }
{ this.props.isAdmin() && questionslist.cross_comment ? <a className={"fr color-blue font-16"} onClick={this.openAcross}>交叉评阅设置</a> : "" } { this.props.isAdmin() && questionslist.cross_comment ? <a className={"fr color-blue font-16"} onClick={this.openAcross}>交叉评阅设置</a> : "" }
{ this.props.isAdmin() ? <a className={"fr color-blue font-16"} href={"/courses/"+courseId+"/graduation_tasks/"+task_Id+"/edit"}>编辑任务</a> : "" } { this.props.isAdmin() ? <a className={"fr color-blue font-16"} href={"/classrooms/"+courseId+"/graduation_tasks/"+task_Id+"/edit"}>编辑任务</a> : "" }
{ this.props.user&&this.props.user.admin===true || this.props.user&&this.props.user.business===true ? <a className={"fr color-blue font-16"} onClick={()=>this.CodeReview()}>代码评测</a> : "" } { this.props.user&&this.props.user.admin===true || this.props.user&&this.props.user.business===true ? <a className={"fr color-blue font-16"} onClick={()=>this.CodeReview()}>代码评测</a> : "" }
</div> </div>
</div> </div>
<Switch {...this.props}> <Switch {...this.props}>
{/*//毕设任务列表*/} {/*//毕设任务列表*/}
<Route exact path="/courses/:coursesId/graduation_tasks/:category_id/detail/:task_Id/list" <Route exact path="/classrooms/:coursesId/graduation_tasks/:category_id/detail/:task_Id/list"
render={ render={
(props) => (<GraduationTaskslist getsonar={(teacher_comment,task_status,course_group,cross_comment,search)=>this.getsonars(teacher_comment,task_status,course_group,cross_comment,search)}{...this.props} {...props} {...this.state} {...commom} triggerRef={this.bindRef} setend_time={(time)=>this.setend_time(time)} tab={`list`}/>) (props) => (<GraduationTaskslist getsonar={(teacher_comment,task_status,course_group,cross_comment,search)=>this.getsonars(teacher_comment,task_status,course_group,cross_comment,search)}{...this.props} {...props} {...this.state} {...commom} triggerRef={this.bindRef} setend_time={(time)=>this.setend_time(time)} tab={`list`}/>)
} }
></Route> ></Route>
<Route exact path="/courses/:coursesId/graduation_tasks/:category_id/detail/:task_Id/setting" <Route exact path="/classrooms/:coursesId/graduation_tasks/:category_id/detail/:task_Id/setting"
render={ render={
(props) => (<GraduationTaskssetting {...this.props} {...props} {...this.state} {...commom} triggerRef={this.bindRef} setend_time={(time)=>this.setend_time(time)} tab={`setting`}/>) (props) => (<GraduationTaskssetting {...this.props} {...props} {...this.state} {...commom} triggerRef={this.bindRef} setend_time={(time)=>this.setend_time(time)} tab={`setting`}/>)
} }
></Route> ></Route>
<Route exact path="/courses/:coursesId/graduation_tasks/:category_id/detail/:task_Id/questions" <Route exact path="/classrooms/:coursesId/graduation_tasks/:category_id/detail/:task_Id/questions"
render={ render={
(props) => (<GraduationTasksquestions {...this.props} {...props} {...this.state} {...commom} triggerRef={this.bindRef} setend_time={(time)=>this.setend_time(time)} tab={`questions`}/>) (props) => (<GraduationTasksquestions {...this.props} {...props} {...this.state} {...commom} triggerRef={this.bindRef} setend_time={(time)=>this.setend_time(time)} tab={`questions`}/>)
}></Route> }></Route>

@ -104,7 +104,7 @@ class GraduationTasksSubmitedit extends Component{
// }else{ // }else{
// this.props.history.push(this.props.current_user.first_category_url); // this.props.history.push(this.props.current_user.first_category_url);
// } // }
this.props.history.replace(`/courses/${this.state.workslist.course_id}/graduation_tasks/${this.state.workslist.graduation_id}`); this.props.history.replace(`/classrooms/${this.state.workslist.course_id}/graduation_tasks/${this.state.workslist.graduation_id}`);
} }
@ -462,7 +462,7 @@ class GraduationTasksSubmitedit extends Component{
}) })
if(response!== undefined){ if(response!== undefined){
// this.goback() // this.goback()
window.location.href=`/courses/${coursesIds}/graduation_tasks/${workId}/appraise` window.location.href=`/classrooms/${coursesIds}/graduation_tasks/${workId}/appraise`
} }
// if(response.status===200) { // if(response.status===200) {
// GraduationTasksnewtype=false; // GraduationTasksnewtype=false;
@ -589,14 +589,14 @@ class GraduationTasksSubmitedit extends Component{
<div className={"educontent mb20"}> <div className={"educontent mb20"}>
<p className="clearfix mt10"> <p className="clearfix mt10">
{/*<WordsBtn style="grey" className="fl"> <Link to={"/courses/"+courseId+"/graduation"} className="color-grey-6">{workslist&&workslist.course_name}</Link></WordsBtn>*/} {/*<WordsBtn style="grey" className="fl"> <Link to={"/classrooms/"+courseId+"/graduation"} className="color-grey-6">{workslist&&workslist.course_name}</Link></WordsBtn>*/}
{/*<span className="color-grey-9 fl ml3 mr3">&gt;</span>*/} {/*<span className="color-grey-9 fl ml3 mr3">&gt;</span>*/}
<WordsBtn style="grey" className="fl"> <a onClick={this.goback} className="color-grey-6">毕设任务</a></WordsBtn> <WordsBtn style="grey" className="fl"> <a onClick={this.goback} className="color-grey-6">毕设任务</a></WordsBtn>
<span className="color-grey-9 fl ml3 mr3">&gt;</span> <span className="color-grey-9 fl ml3 mr3">&gt;</span>
<WordsBtn style="grey" className="fl"> <Link to={`/courses/${courseId}/graduation_tasks/${workslist && workslist.graduation_id}/detail/${workslist && workslist.task_id}/list`} className="color-grey-6">任务详情</Link></WordsBtn> <WordsBtn style="grey" className="fl"> <Link to={`/classrooms/${courseId}/graduation_tasks/${workslist && workslist.graduation_id}/detail/${workslist && workslist.task_id}/list`} className="color-grey-6">任务详情</Link></WordsBtn>
<span className="color-grey-9 fl ml3 mr3">&gt;</span> <span className="color-grey-9 fl ml3 mr3">&gt;</span>
{/*<WordsBtn style="grey" className="fl">*/} {/*<WordsBtn style="grey" className="fl">*/}
{/*<Link to={"/courses/"+courseId+"/graduation/graduation_tasks/"+category_id} className="color-grey-6">{workslist&&workslist.task_name}</Link>*/} {/*<Link to={"/classrooms/"+courseId+"/graduation/graduation_tasks/"+category_id} className="color-grey-6">{workslist&&workslist.task_name}</Link>*/}
{/*<span className="color-grey-9 ml3 mr3">&gt;</span>*/} {/*<span className="color-grey-9 ml3 mr3">&gt;</span>*/}
{/*</WordsBtn>*/} {/*</WordsBtn>*/}
<span>{this.props.current_user&&this.props.current_user.real_name} 修改作品</span> <span>{this.props.current_user&&this.props.current_user.real_name} 修改作品</span>

@ -80,7 +80,7 @@ class GraduationTasksSubmitnew extends Component{
setedit=(workId)=>{ setedit=(workId)=>{
let coursesId=this.props.match.params.coursesId; let coursesId=this.props.match.params.coursesId;
window.location.href="/courses/"+coursesId+"/graduation_tasks/"+workId+"/appraise"; window.location.href="/classrooms/"+coursesId+"/graduation_tasks/"+workId+"/appraise";
} }
@ -105,7 +105,7 @@ class GraduationTasksSubmitnew extends Component{
// }else{ // }else{
// this.props.history.push(this.props.current_user.first_category_url); // this.props.history.push(this.props.current_user.first_category_url);
// } // }
this.props.history.replace(`/courses/${this.state.workslist.course_id}/graduation_tasks/${this.state.workslist.graduation_id}`); this.props.history.replace(`/classrooms/${this.state.workslist.course_id}/graduation_tasks/${this.state.workslist.graduation_id}`);
} }
@ -463,7 +463,7 @@ class GraduationTasksSubmitnew extends Component{
if(response){ if(response){
if(response.data){ if(response.data){
if(response.data.work_id){ if(response.data.work_id){
window.location.href=`/courses/${this.props.match.params.coursesId}/graduation_tasks/${response.data.work_id}/appraise` window.location.href=`/classrooms/${this.props.match.params.coursesId}/graduation_tasks/${response.data.work_id}/appraise`
} }
} }
} }
@ -603,14 +603,14 @@ render(){
<div className={"educontent mb20"}> <div className={"educontent mb20"}>
<p className="clearfix mt10"> <p className="clearfix mt10">
{/*<WordsBtn style="grey" className="fl"> <Link to={"/courses/"+courseId+"/graduation_tasks"} className="color-grey-6">{workslist&&workslist.course_name}</Link></WordsBtn>*/} {/*<WordsBtn style="grey" className="fl"> <Link to={"/classrooms/"+courseId+"/graduation_tasks"} className="color-grey-6">{workslist&&workslist.course_name}</Link></WordsBtn>*/}
{/*<span className="color-grey-9 fl ml3 mr3">&gt;</span>*/} {/*<span className="color-grey-9 fl ml3 mr3">&gt;</span>*/}
<WordsBtn style="grey" className="fl"> <a onClick={this.goback} className="color-grey-6">毕设任务</a></WordsBtn> <WordsBtn style="grey" className="fl"> <a onClick={this.goback} className="color-grey-6">毕设任务</a></WordsBtn>
<span className="color-grey-9 fl ml3 mr3">&gt;</span> <span className="color-grey-9 fl ml3 mr3">&gt;</span>
<WordsBtn style="grey" className="fl"> <Link to={"/courses/"+courseId+"/graduation_tasks/"+category_id+"/detail/"+task_Id+"/list"} className="color-grey-6">任务详情</Link></WordsBtn> <WordsBtn style="grey" className="fl"> <Link to={"/classrooms/"+courseId+"/graduation_tasks/"+category_id+"/detail/"+task_Id+"/list"} className="color-grey-6">任务详情</Link></WordsBtn>
<span className="color-grey-9 fl ml3 mr3">&gt;</span> <span className="color-grey-9 fl ml3 mr3">&gt;</span>
{/*<WordsBtn style="grey" className="fl">*/} {/*<WordsBtn style="grey" className="fl">*/}
{/*<Link to={"/courses/"+courseId+"/graduation/graduation_tasks/"+category_id} className="color-grey-6">{workslist&&workslist.task_name}</Link>*/} {/*<Link to={"/classrooms/"+courseId+"/graduation/graduation_tasks/"+category_id} className="color-grey-6">{workslist&&workslist.task_name}</Link>*/}
{/*<span className="color-grey-9 ml3 mr3">&gt;</span>*/} {/*<span className="color-grey-9 ml3 mr3">&gt;</span>*/}
{/*</WordsBtn>*/} {/*</WordsBtn>*/}
<span>{this.props.current_user&&this.props.current_user.real_name} 提交作品</span> <span>{this.props.current_user&&this.props.current_user.real_name} 提交作品</span>

@ -71,15 +71,15 @@ class GraduationTasksappraise extends Component{
// let courseId=this.props.match.params.coursesId; // let courseId=this.props.match.params.coursesId;
// let category_id=this.props.match.params.category_id; // let category_id=this.props.match.params.category_id;
// //
// window.location.href="/courses/"+courseId+"/graduation_tasks/"+datalist.graduation_id; // window.location.href="/classrooms/"+courseId+"/graduation_tasks/"+datalist.graduation_id;
// let courseId=this.props.match.params.coursesId; // let courseId=this.props.match.params.coursesId;
// if(courseId===undefined){ // if(courseId===undefined){
// this.props.history.push("/courses"); // this.props.history.push("/classrooms");
// }else{ // }else{
// this.props.history.push(this.props.current_user.first_category_url); // this.props.history.push(this.props.current_user.first_category_url);
// } // }
this.props.history.replace(`/courses/${this.state.datalist.course_id}/graduation_tasks/${this.state.datalist.graduation_id}/${this.state.datalist.task_id}/list`); this.props.history.replace(`/classrooms/${this.state.datalist.course_id}/graduation_tasks/${this.state.datalist.graduation_id}/${this.state.datalist.task_id}/list`);
} }
@ -178,9 +178,9 @@ class GraduationTasksappraise extends Component{
<p className="clearfix mt10"> <p className="clearfix mt10">
<a onClick={this.goback} className="color-grey-9 fl">{datalist&&datalist.course_name}</a> <a onClick={this.goback} className="color-grey-9 fl">{datalist&&datalist.course_name}</a>
<span className="color-grey-9 fl ml3 mr3">&gt;</span> <span className="color-grey-9 fl ml3 mr3">&gt;</span>
<Link to={"/courses/"+courseId+"/graduation_tasks/"+graduation_id} className="color-grey-9 fl">{datalist&&datalist.graduation_name}</Link> <Link to={"/classrooms/"+courseId+"/graduation_tasks/"+graduation_id} className="color-grey-9 fl">{datalist&&datalist.graduation_name}</Link>
<span className="color-grey-9 fl ml3 mr3">&gt;</span> <span className="color-grey-9 fl ml3 mr3">&gt;</span>
<Link to={"/courses/"+courseId+"/graduation_tasks/"+graduation_id+"/detail/"+task_id+"/list"} className="color-grey-9 fl">任务详情</Link> <Link to={"/classrooms/"+courseId+"/graduation_tasks/"+graduation_id+"/detail/"+task_id+"/list"} className="color-grey-9 fl">任务详情</Link>
<span className="color-grey-9 fl ml3 mr3">&gt;</span> <span className="color-grey-9 fl ml3 mr3">&gt;</span>
<span className="color-grey-6 fl">{datalist&&datalist.author_name}</span> <span className="color-grey-6 fl">{datalist&&datalist.author_name}</span>
</p> </p>

@ -98,11 +98,11 @@ class GraduationTasksedit extends Component{
// let courseId = this.props.match.params.coursesId; // let courseId = this.props.match.params.coursesId;
// if(courseId===undefined){ // if(courseId===undefined){
// this.props.history.push("/courses"); // this.props.history.push("/classrooms");
// }else{ // }else{
// this.props.history.push(this.props.current_user.first_category_url); // this.props.history.push(this.props.current_user.first_category_url);
// } // }
this.props.history.replace(`/courses/${this.state.data.course_id}/graduation_tasks/${this.state.data.graduation_id}`); this.props.history.replace(`/classrooms/${this.state.data.course_id}/graduation_tasks/${this.state.data.graduation_id}`);
} }
@ -256,9 +256,9 @@ class GraduationTasksedit extends Component{
if(response.status===200) { if(response.status===200) {
// console.log(response) // console.log(response)
// GraduationTasksedittype=false; // GraduationTasksedittype=false;
// window.location.href="/courses/"+course_id+"/graduation/"+graduationId+"/graduation_tasks/"+category_id+"/questions"; // window.location.href="/classrooms/"+course_id+"/graduation/"+graduationId+"/graduation_tasks/"+category_id+"/questions";
this.goback() this.goback()
//this.props.history.push("/courses/"+this.props.match.params.coursesId+"/graduation_tasks/"+graduation_id+"/"+this.props.match.params.category_id +"/setting"); //this.props.history.push("/classrooms/"+this.props.match.params.coursesId+"/graduation_tasks/"+graduation_id+"/"+this.props.match.params.category_id +"/setting");
} }
}).catch((error) => { }).catch((error) => {
console.log(error) console.log(error)
@ -366,14 +366,14 @@ class GraduationTasksedit extends Component{
<p className="clearfix mt10"> <p className="clearfix mt10">
<WordsBtn style="grey" className="fl"> <WordsBtn style="grey" className="fl">
<Link to={`/courses/${graduationtask_id}`} className="color-grey-6">{this.props.current_user&&this.props.current_user.course_name}</Link> <Link to={`/classrooms/${graduationtask_id}`} className="color-grey-6">{this.props.current_user&&this.props.current_user.course_name}</Link>
</WordsBtn> </WordsBtn>
<span className="color-grey-9 fl ml3 mr3">&gt;</span> <span className="color-grey-9 fl ml3 mr3">&gt;</span>
<WordsBtn style="grey" className="fl"> <Link to={"/courses/"+courseId+"/graduation_tasks/"+graduationtask_id} className="color-grey-6">毕设任务</Link></WordsBtn> <WordsBtn style="grey" className="fl"> <Link to={"/classrooms/"+courseId+"/graduation_tasks/"+graduationtask_id} className="color-grey-6">毕设任务</Link></WordsBtn>
<span className="color-grey-9 fl ml3 mr3">&gt;</span> <span className="color-grey-9 fl ml3 mr3">&gt;</span>
{name===""?"": {name===""?"":
<WordsBtn style="grey" className="fl"> <WordsBtn style="grey" className="fl">
<Link to={"/courses/"+courseId+"/graduation_tasks/"+graduationtask_id+"/detail/"+category_id+"/list"} className="color-grey-6">{name}</Link> <Link to={"/classrooms/"+courseId+"/graduation_tasks/"+graduationtask_id+"/detail/"+category_id+"/list"} className="color-grey-6">{name}</Link>
<span className="color-grey-9 ml3 mr3">&gt;</span> <span className="color-grey-9 ml3 mr3">&gt;</span>
</WordsBtn> </WordsBtn>
} }

@ -92,7 +92,7 @@ class GraduationTasksnew extends Component {
// this.goback(); // this.goback();
if(response!==undefined){ if(response!==undefined){
// this.goback() // this.goback()
this.props.history.replace(`/courses/${coursesId}/graduation_tasks/${category_id}/detail/${response.data.task_id}/questions`); this.props.history.replace(`/classrooms/${coursesId}/graduation_tasks/${category_id}/detail/${response.data.task_id}/questions`);
} }
// } // }
}).catch((error) => { }).catch((error) => {
@ -110,12 +110,12 @@ class GraduationTasksnew extends Component {
goback = () => { goback = () => {
// let courseId = this.props.match.params.coursesId; // let courseId = this.props.match.params.coursesId;
// if(courseId===undefined){ // if(courseId===undefined){
// this.props.history.push("/courses"); // this.props.history.push("/classrooms");
// }else{ // }else{
// this.props.history.push(this.props.current_user.first_category_url); // this.props.history.push(this.props.current_user.first_category_url);
// } // }
// this.props.history.goBack() // this.props.history.goBack()
this.props.history.replace(`/courses/${this.props.match.params.coursesId}/graduation_tasks/${this.props.match.params.category_id}`); this.props.history.replace(`/classrooms/${this.props.match.params.coursesId}/graduation_tasks/${this.props.match.params.category_id}`);
} }
@ -350,7 +350,7 @@ class GraduationTasksnew extends Component {
<WordsBtn style="grey" className="fl"> <a onClick={this.goback} className="color-grey-6">{this.props.current_user && this.props.current_user.course_name}</a></WordsBtn> <WordsBtn style="grey" className="fl"> <a onClick={this.goback} className="color-grey-6">{this.props.current_user && this.props.current_user.course_name}</a></WordsBtn>
<span className="color-grey-9 fl ml3 mr3">&gt;</span> <span className="color-grey-9 fl ml3 mr3">&gt;</span>
<WordsBtn style="grey" className="fl"> <Link <WordsBtn style="grey" className="fl"> <Link
to={"/courses/" + courseId + "/graduation_tasks/" + category_id} className="color-grey-6">毕设任务</Link></WordsBtn> to={"/classrooms/" + courseId + "/graduation_tasks/" + category_id} className="color-grey-6">毕设任务</Link></WordsBtn>
<span className="color-grey-9 fl ml3 mr3">&gt;</span> <span className="color-grey-9 fl ml3 mr3">&gt;</span>
<span>{"新建"}</span> <span>{"新建"}</span>
</p> </p>

@ -77,12 +77,12 @@ class GraduationTaskssettinglist extends Component{
// window.history.back(-1) // window.history.back(-1)
// let courseId=this.props.match.params.coursesId; // let courseId=this.props.match.params.coursesId;
// if(courseId===undefined){ // if(courseId===undefined){
// this.props.history.push("/courses"); // this.props.history.push("/classrooms");
// }else{ // }else{
// this.props.history.push(this.props.current_user.first_category_url); // this.props.history.push(this.props.current_user.first_category_url);
// } // }
// this.props.history.goBack() // this.props.history.goBack()
this.props.history.replace(`/courses/${this.state.taskslistdata.course_id}/graduation_tasks/${this.state.taskslistdata.graduation_id}`); this.props.history.replace(`/classrooms/${this.state.taskslistdata.course_id}/graduation_tasks/${this.state.taskslistdata.graduation_id}`);
} }
reInit=()=>{ reInit=()=>{
@ -939,7 +939,7 @@ class GraduationTaskssettinglist extends Component{
{ {
tag.name && tag.name &&
<Tooltip key={key} placement="bottom" title={tag.name==="分配"?taskslistdata&&taskslistdata.cross_comment===true?"":"指定该作品的交叉评阅人":tag.name==="调分"?<pre>调整学生最终成绩<br/>其它历史评分将全部失效</pre>:""}> <Tooltip key={key} placement="bottom" title={tag.name==="分配"?taskslistdata&&taskslistdata.cross_comment===true?"":"指定该作品的交叉评阅人":tag.name==="调分"?<pre>调整学生最终成绩<br/>其它历史评分将全部失效</pre>:""}>
{tag.name==="评阅"?<a target="_blank" style={{color:'#4CACFF',padding:"0px 5px"}} href={"/courses/"+courseId+"/graduation_tasks/"+tag.id+"/appraise"} > {tag.name==="评阅"?<a target="_blank" style={{color:'#4CACFF',padding:"0px 5px"}} href={"/classrooms/"+courseId+"/graduation_tasks/"+tag.id+"/appraise"} >
{tag.name} {tag.name}
</a> </a>
: :
@ -958,7 +958,7 @@ class GraduationTaskssettinglist extends Component{
operation.map((tag,key) => { operation.map((tag,key) => {
return( return(
<div key={key}> <div key={key}>
{tag.view_work===false?"--":<a style={{color:'#4CACFF'}} target="_blank" href={"/courses/"+courseId+"/graduation_tasks/"+tag.id+"/appraise"} >查看</a>} {tag.view_work===false?"--":<a style={{color:'#4CACFF'}} target="_blank" href={"/classrooms/"+courseId+"/graduation_tasks/"+tag.id+"/appraise"} >查看</a>}
</div> </div>
)} )}
):"" ):""

@ -67,16 +67,16 @@ class GraduationTasksquestions extends Component{
goback=()=>{ goback=()=>{
// let courseId=this.props.match.params.coursesId; // let courseId=this.props.match.params.coursesId;
// let category_id=this.props.match.params.category_id; // let category_id=this.props.match.params.category_id;
// window.location.href="/courses/"+courseId+"/graduation_tasks/"+category_id; // window.location.href="/classrooms/"+courseId+"/graduation_tasks/"+category_id;
// let courseId = this.props.match.params.coursesId; // let courseId = this.props.match.params.coursesId;
// if(courseId===undefined){ // if(courseId===undefined){
// this.props.history.push("/courses"); // this.props.history.push("/classrooms");
// }else{ // }else{
// this.props.history.push(this.props.current_user.first_category_url); // this.props.history.push(this.props.current_user.first_category_url);
// } // }
// this.props.history.goBack() // this.props.history.goBack()
this.props.history.replace(`/courses/${this.state.questionslist.course_id}/graduation_tasks/${this.state.questionslist.graduation_id}`); this.props.history.replace(`/classrooms/${this.state.questionslist.course_id}/graduation_tasks/${this.state.questionslist.graduation_id}`);
} }
end=()=>{ end=()=>{

@ -669,7 +669,7 @@ class GraduationTasks extends Component{
{/*{this.props.isAdmin() ?<WordsBtn style="blue" className="mr30" onClick={() => this.addDir()}>题库选用</WordsBtn>:""}*/} {/*{this.props.isAdmin() ?<WordsBtn style="blue" className="mr30" onClick={() => this.addDir()}>题库选用</WordsBtn>:""}*/}
{/*{this.props.isAdmin() ?<a href={"/api/graduation_tasks/"+category_id+"/tasks_list.xls"} className={"fr color-blue font-16"}>导出成绩</a> :""}*/} {/*{this.props.isAdmin() ?<a href={"/api/graduation_tasks/"+category_id+"/tasks_list.xls"} className={"fr color-blue font-16"}>导出成绩</a> :""}*/}
{this.props.isAdmin() ? <WordsBtn style="blue" className=" fr font-16"> {this.props.isAdmin() ? <WordsBtn style="blue" className=" fr font-16">
<Link to={"/courses/" + coursesId + "/graduation_tasks/"+category_id+"/new"}> <Link to={"/classrooms/" + coursesId + "/graduation_tasks/"+category_id+"/new"}>
<span className={"color-blue font-16"}>新建</span> <span className={"color-blue font-16"}>新建</span>
</Link> </Link>
</WordsBtn> : ""} </WordsBtn> : ""}

@ -331,7 +331,7 @@ sureDelTopic=()=>{
// 新建 // 新建
onBoardsNew=()=>{ onBoardsNew=()=>{
let courseId=this.props.match.params.coursesId let courseId=this.props.match.params.coursesId
this.props.history.push(`/courses/${courseId}/graduation_topics/new`) this.props.history.push(`/classrooms/${courseId}/graduation_topics/new`)
} }
/// 确认是否下载 /// 确认是否下载
confirmysl(url){ confirmysl(url){
@ -416,7 +416,7 @@ onBoardsNew=()=>{
(<React.Fragment> (<React.Fragment>
{/* 参考普通作业 - 题库选用 */} {/* 参考普通作业 - 题库选用 */}
{/* <WordsBtn style="blue" className="mr30" onClick={()=>this.useFromBank()}>题库选用</WordsBtn> 正式版没有,先隐藏*/} {/* <WordsBtn style="blue" className="mr30" onClick={()=>this.useFromBank()}>题库选用</WordsBtn> 正式版没有,先隐藏*/}
< a className={"fl color-blue mr30 font-16"} onClick={(url)=>this.confirmysl(`/courses/${this.props.match.params.coursesId}/graduation_topics/export.xlsx`)}>导出</a> < a className={"fl color-blue mr30 font-16"} onClick={(url)=>this.confirmysl(`/classrooms/${this.props.match.params.coursesId}/graduation_topics/export.xlsx`)}>导出</a>
{/*<p className="fl"><UseBank {...this.props} {...this.state} object_type={"gtopic"} useBankSuccess={this.useBankSuccess}></UseBank></p> 题库选用*/} {/*<p className="fl"><UseBank {...this.props} {...this.state} object_type={"gtopic"} useBankSuccess={this.useBankSuccess}></UseBank></p> 题库选用*/}
<WordsBtn style="blue" className="font-16" onClick={()=>this.onBoardsNew()}>新建</WordsBtn> <WordsBtn style="blue" className="font-16" onClick={()=>this.onBoardsNew()}>新建</WordsBtn>
</React.Fragment>):"" </React.Fragment>):""

@ -136,7 +136,7 @@ function CourseGroupList(props) {
title={ title={
<ul className="course_publicNav"> <ul className="course_publicNav">
<li className="active">分班列表</li> <li className="active">分班列表</li>
<li onClick={() => {props.history.push(`/courses/${courseId}/course_groups/0`)}}>未分班</li> <li onClick={() => {props.history.push(`/classrooms/${courseId}/course_groups/0`)}}>未分班</li>
</ul> </ul>
} }
searchValue={ searchValue } searchValue={ searchValue }
@ -216,7 +216,7 @@ function CourseGroupList(props) {
onPressEnter={onPressEnter} onPressEnter={onPressEnter}
></Titlesearchsection> ></Titlesearchsection>
{/* {!!none_group_member_count && <div className="mt20 E9F8FF padding20-30 pointer" onClick={() => {props.history.push(`/courses/${courseId}/course_groups/0`)}}> {/* {!!none_group_member_count && <div className="mt20 E9F8FF padding20-30 pointer" onClick={() => {props.history.push(`/classrooms/${courseId}/course_groups/0`)}}>
<span>未分班</span> <span>未分班</span>
<span style={{color: '#999999'}}>{none_group_member_count}个学生</span> <span style={{color: '#999999'}}>{none_group_member_count}个学生</span>

@ -353,7 +353,7 @@ class studentsList extends Component{
if (params.course_group_id == course_group_id) { if (params.course_group_id == course_group_id) {
this.fetchAll(1) this.fetchAll(1)
} else { } else {
this.props.history.push(`/courses/${coursesId}/course_groups/${params.course_group_id || '0'}`) this.props.history.push(`/classrooms/${coursesId}/course_groups/${params.course_group_id || '0'}`)
} }
// console.log('addStudentSuccessListener', data) // console.log('addStudentSuccessListener', data)
} }
@ -611,7 +611,7 @@ class studentsList extends Component{
.then((response) => { .then((response) => {
if (response.data.status == 0) { if (response.data.status == 0) {
this.props.showNotification('删除成功') this.props.showNotification('删除成功')
this.props.history.push(`/courses/${courseId}/course_groups`) this.props.history.push(`/classrooms/${courseId}/course_groups`)
} }
}) })
.catch(function (error) { .catch(function (error) {
@ -745,14 +745,14 @@ class studentsList extends Component{
course_group_name ? course_group_name ?
<span> <span>
<Tooltip title="返回至分班列表"> <Tooltip title="返回至分班列表">
<i className="icon-zuojiantou iconfont font-14" onClick={() => { this.props.history.push(`/courses/${courseId}/course_groups`)}} <i className="icon-zuojiantou iconfont font-14" onClick={() => { this.props.history.push(`/classrooms/${courseId}/course_groups`)}}
style={{color: '#212121', verticalAlign: 'initial', marginRight: '14px' }} style={{color: '#212121', verticalAlign: 'initial', marginRight: '14px' }}
></i> ></i>
</Tooltip>{course_group_name} </Tooltip>{course_group_name}
</span> </span>
: :
<ul className="course_publicNav"> <ul className="course_publicNav">
<li onClick={() => { this.props.history.push(`/courses/${courseId}/course_groups`)}}>分班列表</li> <li onClick={() => { this.props.history.push(`/classrooms/${courseId}/course_groups`)}}>分班列表</li>
<li className="active">未分班</li> <li className="active">未分班</li>
</ul> </ul>
} }

@ -363,7 +363,7 @@ class CoursesNew extends Component {
goback = (id) => { goback = (id) => {
// if(this.props.match.params.coursesId===undefined){ // if(this.props.match.params.coursesId===undefined){
// this.props.history.push("/courses"); // this.props.history.push("/classrooms");
// }else{ // }else{
// this.props.history.push(this.props.current_user.first_category_url); // this.props.history.push(this.props.current_user.first_category_url);
// } // }
@ -681,14 +681,14 @@ class CoursesNew extends Component {
<div className={"educontent mb20"}> <div className={"educontent mb20"}>
{/*<Breadcrumb className="mt10" separator=">">*/} {/*<Breadcrumb className="mt10" separator=">">*/}
{/* <Breadcrumb.Item>*/} {/* <Breadcrumb.Item>*/}
{/* <a href="/courses">翻转课堂</a>*/} {/* <a href="/classrooms">翻转课堂</a>*/}
{/* </Breadcrumb.Item>*/} {/* </Breadcrumb.Item>*/}
{/* <Breadcrumb.Item>{this.props.match.params.coursesId === undefined ?"新建课堂":"编辑课堂"}</Breadcrumb.Item>*/} {/* <Breadcrumb.Item>{this.props.match.params.coursesId === undefined ?"新建课堂":"编辑课堂"}</Breadcrumb.Item>*/}
{/*</Breadcrumb>*/} {/*</Breadcrumb>*/}
<p className="clearfix mb20 mt10"> <p className="clearfix mb20 mt10">
<a className="btn colorgrey fl hovercolorblue " <a className="btn colorgrey fl hovercolorblue "
href={this.props.match.params.coursesId === undefined ?"/courses":this.props.current_user&&this.props.current_user.first_category_url} href={this.props.match.params.coursesId === undefined ?"/classrooms":this.props.current_user&&this.props.current_user.first_category_url}
> >
{this.props.match.params.coursesId === undefined ?"教学课堂":dataname} {this.props.match.params.coursesId === undefined ?"教学课堂":dataname}
</a> </a>

@ -488,7 +488,7 @@ class Goldsubject extends Component {
window.location.href=`/paths/${subjectids}` window.location.href=`/paths/${subjectids}`
}else{ }else{
// this.props.history.goBack(); // this.props.history.goBack();
window.location.href=`/courses/${this.props.match.params.coursesId}/informs` window.location.href=`/classrooms/${this.props.match.params.coursesId}/informs`
} }
} }

@ -167,7 +167,7 @@ class Ordering extends Component{
} }
goback=()=>{ goback=()=>{
window.location.href=`/courses/${this.props.match.params.coursesId}/shixun_homeworks/${this.props.match.params.main_id}` window.location.href=`/classrooms/${this.props.match.params.coursesId}/shixun_homeworks/${this.props.match.params.main_id}`
} }
@ -212,7 +212,7 @@ class Ordering extends Component{
<Breadcrumb separator=">"> <Breadcrumb separator=">">
<Breadcrumb.Item href={this.props.current_user&&this.props.current_user.first_category_url}>{this.props.current_user&&this.props.current_user.course_name}</Breadcrumb.Item> <Breadcrumb.Item href={this.props.current_user&&this.props.current_user.first_category_url}>{this.props.current_user&&this.props.current_user.course_name}</Breadcrumb.Item>
<Breadcrumb.Item href={`/courses/${this.props.match.params.coursesId}/shixun_homeworks/${this.props.match.params.main_id}`}>实训作业</Breadcrumb.Item> <Breadcrumb.Item href={`/classrooms/${this.props.match.params.coursesId}/shixun_homeworks/${this.props.match.params.main_id}`}>实训作业</Breadcrumb.Item>
<Breadcrumb.Item>调整排序</Breadcrumb.Item> <Breadcrumb.Item>调整排序</Breadcrumb.Item>
</Breadcrumb> </Breadcrumb>
@ -260,7 +260,7 @@ class Ordering extends Component{
<div className={"item-body"}> <div className={"item-body"}>
<div className={"clearfix ds pr orderSection"}> <div className={"clearfix ds pr orderSection"}>
<p title={item.task_name} className="font-16 color-dark maxwidth865s orderfonttop" <p title={item.task_name} className="font-16 color-dark maxwidth865s orderfonttop"
href={`/courses/${this.props.match.params.coursesId}/shixun_homeworks/${item.task_id}/list?tab=0`}>{item.task_name}</p> href={`/classrooms/${this.props.match.params.coursesId}/shixun_homeworks/${item.task_id}/list?tab=0`}>{item.task_name}</p>
<p className={"color-grey panel-lightgrey mt16 "}> <p className={"color-grey panel-lightgrey mt16 "}>
<span className="topicswidth400"> <span className="topicswidth400">
<span className="topsics100 color-grey9 orderfontbom mr20 maxwidth795">{item.user_name}</span> <span className="topsics100 color-grey9 orderfontbom mr20 maxwidth795">{item.user_name}</span>

@ -512,7 +512,7 @@ class Poll extends Component{
isAdmin && isAdmin &&
<li className="fr"> <li className="fr">
<p className="fl"><UseBank {...this.props} {...this.state} object_type={"poll"} useBankSuccess={this.useBankSuccess}></UseBank></p> <p className="fl"><UseBank {...this.props} {...this.state} object_type={"poll"} useBankSuccess={this.useBankSuccess}></UseBank></p>
<WordsBtn style="blue" className="font-16" to={`/courses/${coursesId}/polls/${Id}/${"new"}`}>新建</WordsBtn> <WordsBtn style="blue" className="font-16" to={`/classrooms/${coursesId}/polls/${Id}/${"new"}`}>新建</WordsBtn>
</li> </li>
} }
</p> </p>

@ -166,7 +166,7 @@ class PollDetailIndex extends Component{
<p className="clearfix mb20"> <p className="clearfix mb20">
<WordsBtn style="grey" className="fl" to={current_user && current_user.first_category_url}>{this.props.coursedata.name}</WordsBtn> <WordsBtn style="grey" className="fl" to={current_user && current_user.first_category_url}>{this.props.coursedata.name}</WordsBtn>
<span className="color-grey-9 fl ml3 mr3">&gt;</span> <span className="color-grey-9 fl ml3 mr3">&gt;</span>
<WordsBtn style="grey" className="fl" to={`/courses/${this.props.match.params.coursesId}/polls/${user_permission && user_permission.left_banner_id}`}>问卷</WordsBtn> <WordsBtn style="grey" className="fl" to={`/classrooms/${this.props.match.params.coursesId}/polls/${user_permission && user_permission.left_banner_id}`}>问卷</WordsBtn>
<span className="color-grey-9 fl ml3 mr3">&gt;</span> <span className="color-grey-9 fl ml3 mr3">&gt;</span>
<span>问卷详情</span> <span>问卷详情</span>
</p> </p>
@ -175,7 +175,7 @@ class PollDetailIndex extends Component{
<span className="mt3 fl" style={{height:"25px"}}> <span className="mt3 fl" style={{height:"25px"}}>
<CoursesListType typelist={[`${map[pollDetail && pollDetail.polls_status]}`]} typesylename={""} /> <CoursesListType typelist={[`${map[pollDetail && pollDetail.polls_status]}`]} typesylename={""} />
</span> </span>
<WordsBtn className="fr font-16 mt2" style="grey" to={`/courses/${this.props.match.params.coursesId}/polls/${user_permission && user_permission.left_banner_id}`}>返回</WordsBtn> <WordsBtn className="fr font-16 mt2" style="grey" to={`/classrooms/${this.props.match.params.coursesId}/polls/${user_permission && user_permission.left_banner_id}`}>返回</WordsBtn>
</p> </p>
<div> <div>
<div className="clearfix edu-back-white pl30 pr30 bor-bottom-greyE"> <div className="clearfix edu-back-white pl30 pr30 bor-bottom-greyE">
@ -192,7 +192,7 @@ class PollDetailIndex extends Component{
{ {
isAdmin && isAdmin &&
<span className="fr mt22"> <span className="fr mt22">
<WordsBtn style="blue" to={`/courses/${this.props.match.params.coursesId}/polls/${this.props.match.params.pollId}/edit`} className="fl mr20 font-16">编辑问卷</WordsBtn> <WordsBtn style="blue" to={`/classrooms/${this.props.match.params.coursesId}/polls/${this.props.match.params.pollId}/edit`} className="fl mr20 font-16">编辑问卷</WordsBtn>
{/* 立即发布 */} {/* 立即发布 */}
{ {
user_permission && user_permission.poll_unpublish_count > 0 ? user_permission && user_permission.poll_unpublish_count > 0 ?
@ -247,7 +247,7 @@ class PollDetailIndex extends Component{
<span className="fr mt22 font-16"> <span className="fr mt22 font-16">
{ {
user_permission && user_permission.current_status!=3 ? user_permission && user_permission.current_status!=3 ?
<WordsBtn style="blue" to={`/courses/${this.props.match.params.coursesId}/polls/${this.props.match.params.pollId}/users/${this.props.current_user.login}`}> <WordsBtn style="blue" to={`/classrooms/${this.props.match.params.coursesId}/polls/${this.props.match.params.pollId}/users/${this.props.current_user.login}`}>
{ user_permission && user_permission.current_status ==0 ? "继续答题" : { user_permission && user_permission.current_status ==0 ? "继续答题" :
user_permission.current_status == 1 ? user_permission.current_status == 1 ?
(polls_status===1?"":"查看答题") (polls_status===1?"":"查看答题")

@ -280,7 +280,7 @@ class PollInfo extends Component{
modalsTopval:"", modalsTopval:"",
modalsBottomval:"" modalsBottomval:""
}) })
window.location.href=`/courses/${this.props.match.params.coursesId}/polls/${pollId}/detail` window.location.href=`/classrooms/${this.props.match.params.coursesId}/polls/${pollId}/detail`
} }
}).catch((error)=>{ }).catch((error)=>{
console.log(error); console.log(error);
@ -317,16 +317,16 @@ class PollInfo extends Component{
<p className="clearfix mb20"> <p className="clearfix mb20">
<WordsBtn style="grey" className="fl" to={current_user && current_user.first_category_url}>{courseName}</WordsBtn> <WordsBtn style="grey" className="fl" to={current_user && current_user.first_category_url}>{courseName}</WordsBtn>
<span className="color-grey-9 fl ml3 mr3">&gt;</span> <span className="color-grey-9 fl ml3 mr3">&gt;</span>
<WordsBtn style="grey" className="fl" to={`/courses/${this.props.match.params.coursesId}/polls/${poll && poll.left_banner_id}`}>问卷</WordsBtn> <WordsBtn style="grey" className="fl" to={`/classrooms/${this.props.match.params.coursesId}/polls/${poll && poll.left_banner_id}`}>问卷</WordsBtn>
<span className="color-grey-9 fl ml3 mr3">&gt;</span> <span className="color-grey-9 fl ml3 mr3">&gt;</span>
<WordsBtn style="grey" to={`/courses/${coursesId}/polls/${this.props.match.params.pollId}/detail`} className="fl mr3">问卷详情</WordsBtn>&gt; <WordsBtn style="grey" to={`/classrooms/${coursesId}/polls/${this.props.match.params.pollId}/detail`} className="fl mr3">问卷详情</WordsBtn>&gt;
<span className="ml3">{question_types&&question_types.user_name}</span> <span className="ml3">{question_types&&question_types.user_name}</span>
</p> </p>
<p className="clearfix mb20"> <p className="clearfix mb20">
<span className="color-grey-3 font-24 fl task-hide break-word" style={{maxWidth:"900px",lineHeight:"30px"}}>{poll && poll.polls_name}</span> <span className="color-grey-3 font-24 fl task-hide break-word" style={{maxWidth:"900px",lineHeight:"30px"}}>{poll && poll.polls_name}</span>
<CoursesListType typelist={[`${statudmap[poll && poll.poll_status]}`]} typesylename={""} /> <CoursesListType typelist={[`${statudmap[poll && poll.poll_status]}`]} typesylename={""} />
{ {
isAdmin || (poll && poll.user_poll_status == 1) ? <WordsBtn className="fr font-16 mt5" style="grey" to={`/courses/${coursesId}/polls/${this.props.match.params.pollId}/detail`}>返回</WordsBtn> :'' isAdmin || (poll && poll.user_poll_status == 1) ? <WordsBtn className="fr font-16 mt5" style="grey" to={`/classrooms/${coursesId}/polls/${this.props.match.params.pollId}/detail`}>返回</WordsBtn> :''
} }
</p> </p>

@ -59,7 +59,7 @@ class PollListItem extends Component{
{ canNotLink ? { canNotLink ?
<span className="fl font-16 font-bd mt2 color-grey-3 task-hide pointer" style={{"maxWidth":"600px"}} title={courseType.user_permission == 0?"私有属性,非课堂成员不能访问":item.polls_name}>{item.polls_name}</span> <span className="fl font-16 font-bd mt2 color-grey-3 task-hide pointer" style={{"maxWidth":"600px"}} title={courseType.user_permission == 0?"私有属性,非课堂成员不能访问":item.polls_name}>{item.polls_name}</span>
: :
<a onClick={()=>this.toDetailPage(`/courses/${coursesId}/polls/${item.id}/detail`)} className="fl font-16 font-bd mt2 color-grey-3 task-hide pointer" style={{"maxWidth":"600px"}} title={item.polls_name}>{item.polls_name}</a> <a onClick={()=>this.toDetailPage(`/classrooms/${coursesId}/polls/${item.id}/detail`)} className="fl font-16 font-bd mt2 color-grey-3 task-hide pointer" style={{"maxWidth":"600px"}} title={item.polls_name}>{item.polls_name}</a>
} }
{ {
item.lock_status === 0 ? item.lock_status === 0 ?
@ -100,7 +100,7 @@ class PollListItem extends Component{
{ {
isStudent ? <WordsBtn style="blue" targets={item.current_status == 2||item.current_status == 0?undefined:'_blank'} className="fr font-16 ml20" to={`/courses/${coursesId}/polls/${item.id}/users/${this.props.current_user.login}`}> isStudent ? <WordsBtn style="blue" targets={item.current_status == 2||item.current_status == 0?undefined:'_blank'} className="fr font-16 ml20" to={`/classrooms/${coursesId}/polls/${item.id}/users/${this.props.current_user.login}`}>
{ {
@ -114,14 +114,14 @@ class PollListItem extends Component{
} }
</WordsBtn>:"" </WordsBtn>:""
} }
{ isStudent ?canNotLink ?"": <WordsBtn style="blue" className="font-16 fr " onClick={()=>this.toDetailPage(`/courses/${coursesId}/polls/${item.id}/detail`)} >查看详情</WordsBtn>:""} { isStudent ?canNotLink ?"": <WordsBtn style="blue" className="font-16 fr " onClick={()=>this.toDetailPage(`/classrooms/${coursesId}/polls/${item.id}/detail`)} >查看详情</WordsBtn>:""}
{ {
IsAdmin && IsAdmin &&
<ul className="fr"> <ul className="fr">
{ canNotLink ?"": <WordsBtn style="blue" className="font-16" onClick={()=>this.toDetailPage(`/courses/${coursesId}/polls/${item.id}/detail`)} >查看详情</WordsBtn>} { canNotLink ?"": <WordsBtn style="blue" className="font-16" onClick={()=>this.toDetailPage(`/classrooms/${coursesId}/polls/${item.id}/detail`)} >查看详情</WordsBtn>}
<WordsBtn style="blue" className="font-16 ml20" to={`/courses/${coursesId}/polls/${item.id}/${"edit"}`}>编辑</WordsBtn> <WordsBtn style="blue" className="font-16 ml20" to={`/classrooms/${coursesId}/polls/${item.id}/${"edit"}`}>编辑</WordsBtn>
<WordsBtn style="blue" className="ml20 font-16" to={`/courses/${coursesId}/polls/${item.id}/detail?tab=3`}>设置</WordsBtn> <WordsBtn style="blue" className="ml20 font-16" to={`/classrooms/${coursesId}/polls/${item.id}/detail?tab=3`}>设置</WordsBtn>
</ul> </ul>
} }
</p> </p>

@ -2326,7 +2326,7 @@ class Listofworksstudentone extends Component {
userids: e.myid, userids: e.myid,
}) })
window.open(`/courses/${this.state.props.match.params.coursesId}/shixun_homeworks/${e.myid}/shixun_work_report`, '_blank'); window.open(`/classrooms/${this.state.props.match.params.coursesId}/shixun_homeworks/${e.myid}/shixun_work_report`, '_blank');
// this.viewtraining(e.myid); // this.viewtraining(e.myid);
} }
viewtraining = (userids) => { viewtraining = (userids) => {
@ -3015,7 +3015,7 @@ class Listofworksstudentone extends Component {
userids: data.myid, userids: data.myid,
}) })
// this.viewtrainingt(e.myid); // this.viewtrainingt(e.myid);
window.open(`/courses/${this.state.props.match.params.coursesId}/shixun_homeworks/${data.myid}/shixun_work_report`, '_blank'); window.open(`/classrooms/${this.state.props.match.params.coursesId}/shixun_homeworks/${data.myid}/shixun_work_report`, '_blank');
} }
// 查看学员实训信息 // 查看学员实训信息
Viewstudenttraininginformationt = (e) => { Viewstudenttraininginformationt = (e) => {
@ -3025,7 +3025,7 @@ class Listofworksstudentone extends Component {
userids: e.myid, userids: e.myid,
}) })
// this.viewtrainingt(e.myid); // this.viewtrainingt(e.myid);
window.open(`/courses/${this.state.props.match.params.coursesId}/shixun_homeworks/${e.myid}/shixun_work_report`, '_blank'); window.open(`/classrooms/${this.state.props.match.params.coursesId}/shixun_homeworks/${e.myid}/shixun_work_report`, '_blank');
} }
// 关闭调分 // 关闭调分
cancelModulationModels = () => { cancelModulationModels = () => {

@ -756,7 +756,7 @@ class ShixunStudentWork extends Component {
width: '178px', width: '178px',
render: (text, record) => ( render: (text, record) => (
<span> <span>
<a onClick={()=>this.Viewstudenttraininginformation("/courses/"+this.props.match.params.coursesId+"/"+this.state.shixuntypes+"/"+this.props.match.params.homeworkid+"/review_detail/"+record.operating)} >查看</a> <a onClick={()=>this.Viewstudenttraininginformation("/classrooms/"+this.props.match.params.coursesId+"/"+this.state.shixuntypes+"/"+this.props.match.params.homeworkid+"/review_detail/"+record.operating)} >查看</a>
</span> </span>
) )
}, },
@ -1050,7 +1050,7 @@ export default ShixunStudentWork;
// jobsettingsdata&& jobsettingsdata.data === undefined ? "" // jobsettingsdata&& jobsettingsdata.data === undefined ? ""
// : jobsettingsdata&& jobsettingsdata.data.commit_des === null || jobsettingsdata&& jobsettingsdata.data.commit_des === undefined ? "" : // : jobsettingsdata&& jobsettingsdata.data.commit_des === null || jobsettingsdata&& jobsettingsdata.data.commit_des === undefined ? "" :
// <a className="fr color-blue font-16" // <a className="fr color-blue font-16"
// href={`/courses/${this.state.props.match.params.coursesId}/${this.state.shixuntypes}/${ jobsettingsdata&& jobsettingsdata.data === undefined ? "" : jobsettingsdata&& jobsettingsdata.data.id}/commitsummary/${this.state.props.match.params.homeworkid}`}>{ jobsettingsdata&& jobsettingsdata.data.commit_des}</a> // href={`/classrooms/${this.state.props.match.params.coursesId}/${this.state.shixuntypes}/${ jobsettingsdata&& jobsettingsdata.data === undefined ? "" : jobsettingsdata&& jobsettingsdata.data.id}/commitsummary/${this.state.props.match.params.homeworkid}`}>{ jobsettingsdata&& jobsettingsdata.data.commit_des}</a>
// } // }
// { jobsettingsdata&&jobsettingsdata.data === undefined ? "" : <Startshixuntask // { jobsettingsdata&&jobsettingsdata.data === undefined ? "" : <Startshixuntask
// {...this.props} // {...this.props}

@ -145,7 +145,7 @@ class ShixunWorkReport extends Component {
} }
goback = () => { goback = () => {
this.props.history.replace(`/courses/${this.props.match.params.coursesId}/shixun_homeworks/${this.state.data.homework_common_id}/list?tab=0`); this.props.history.replace(`/classrooms/${this.props.match.params.coursesId}/shixun_homeworks/${this.state.data.homework_common_id}/list?tab=0`);
} }
setupdalist=(challenge_score,overall_appraisal,work_score)=>{ setupdalist=(challenge_score,overall_appraisal,work_score)=>{
@ -354,11 +354,11 @@ class ShixunWorkReport extends Component {
<span className={"color-grey-9"}> {data&&data.course_name}</span> <span className={"color-grey-9"}> {data&&data.course_name}</span>
</a> </a>
<span className="color-grey-9 fl ml3 mr3">&gt;</span> <span className="color-grey-9 fl ml3 mr3">&gt;</span>
<a className="btn colorgrey fl hovercolorblue " href={"/courses/"+this.props.match.params.coursesId+"/"+this.state.shixuntypes+"/"+category_id}> <a className="btn colorgrey fl hovercolorblue " href={"/classrooms/"+this.props.match.params.coursesId+"/"+this.state.shixuntypes+"/"+category_id}>
<span className={"color-grey-9"}>{data===undefined?"":data.category===null?"":data.category.category_name}</span> <span className={"color-grey-9"}>{data===undefined?"":data.category===null?"":data.category.category_name}</span>
</a> </a>
<span className="color-grey-9 fl ml3 mr3">&gt;</span> <span className="color-grey-9 fl ml3 mr3">&gt;</span>
<a href={"/courses/"+this.props.match.params.coursesId+"/"+this.state.shixuntypes+"/"+homework_common_id+"/list?tab=0"} className="fl color-grey-9">作业详情</a> <a href={"/classrooms/"+this.props.match.params.coursesId+"/"+this.state.shixuntypes+"/"+homework_common_id+"/list?tab=0"} className="fl color-grey-9">作业详情</a>
<span className="color-grey-9 fl ml3 mr3">&gt;</span> <span className="color-grey-9 fl ml3 mr3">&gt;</span>
<WordsBtn className="fl">{data&&data.username}</WordsBtn> <WordsBtn className="fl">{data&&data.username}</WordsBtn>
</p> </p>

@ -313,15 +313,15 @@ class ShixunhomeWorkItem extends Component{
`}</style> `}</style>
<h6> <h6>
{/*to={`/courses/${this.props.match.params.coursesId}/${discussMessage.homework_id}/jobsettings`}*/} {/*to={`/classrooms/${this.props.match.params.coursesId}/${discussMessage.homework_id}/jobsettings`}*/}
{ {
this.props.isAdmin?<a onClick={()=>this.hrefjumpskip("/courses/"+this.props.match.params.coursesId+"/"+this.state.shixuntypes+"/"+discussMessage.homework_id+"/list?tab=0")} this.props.isAdmin?<a onClick={()=>this.hrefjumpskip("/classrooms/"+this.props.match.params.coursesId+"/"+this.state.shixuntypes+"/"+discussMessage.homework_id+"/list?tab=0")}
title={discussMessage.name} title={discussMessage.name}
className="fl mt3 font-16 font-bd color-dark maxwidth333">{discussMessage.name}</a>:"" className="fl mt3 font-16 font-bd color-dark maxwidth333">{discussMessage.name}</a>:""
} }
{ {
this.props.isStudent? <a onClick={()=>this.hrefjumpskip(`/courses/${this.props.match.params.coursesId}/${this.state.shixuntypes}/${discussMessage.homework_id}/list?tab=0`)} this.props.isStudent? <a onClick={()=>this.hrefjumpskip(`/classrooms/${this.props.match.params.coursesId}/${this.state.shixuntypes}/${discussMessage.homework_id}/list?tab=0`)}
title={discussMessage.name} title={discussMessage.name}
className="fl mt3 font-16 font-bd color-dark maxwidth333">{discussMessage.name}</a>:"" className="fl mt3 font-16 font-bd color-dark maxwidth333">{discussMessage.name}</a>:""
} }
@ -329,7 +329,7 @@ class ShixunhomeWorkItem extends Component{
{ {
this.props.isNotMember===true? this.props.discussMessage.private_icon===true? this.props.isNotMember===true? this.props.discussMessage.private_icon===true?
<span className="fl mt3 font-16 font-bd color-dark maxwidth333 pointer" title={"私有属性,非课堂成员不能访问"}>{discussMessage.name}</span> <span className="fl mt3 font-16 font-bd color-dark maxwidth333 pointer" title={"私有属性,非课堂成员不能访问"}>{discussMessage.name}</span>
: <a onClick={()=>this.hrefjumpskip(`/courses/${this.props.match.params.coursesId}/${this.state.shixuntypes}/${discussMessage.homework_id}/list?tab=0`)} : <a onClick={()=>this.hrefjumpskip(`/classrooms/${this.props.match.params.coursesId}/${this.state.shixuntypes}/${discussMessage.homework_id}/list?tab=0`)}
title={discussMessage.name} title={discussMessage.name}
className="fl mt3 font-16 font-bd color-dark maxwidth333">{discussMessage.name}</a>:"" className="fl mt3 font-16 font-bd color-dark maxwidth333">{discussMessage.name}</a>:""
} }
@ -367,7 +367,7 @@ class ShixunhomeWorkItem extends Component{
</style> </style>
{/*to={`/courses/${this.props.match.params.coursesId}/${discussMessage.homework_id}/jobsettings`}*/} {/*to={`/classrooms/${this.props.match.params.coursesId}/${discussMessage.homework_id}/jobsettings`}*/}
@ -379,8 +379,8 @@ class ShixunhomeWorkItem extends Component{
{this.props.isAdminOrCreator()?<a onClick={(event)=>this.editname(discussMessage.name,discussMessage.homework_id,event)} className={"ml20 btn colorblue font-16 fontweight400 "}>重命名</a>:""} {this.props.isAdminOrCreator()?<a onClick={(event)=>this.editname(discussMessage.name,discussMessage.homework_id,event)} className={"ml20 btn colorblue font-16 fontweight400 "}>重命名</a>:""}
{/*<WordsBtn className="btn colorblue ml20 font-16" to={`/courses/${this.props.match.params.coursesId}/${this.state.shixuntypes}/${discussMessage.homework_id}/settings?tab=3`} > 设置</WordsBtn>*/} {/*<WordsBtn className="btn colorblue ml20 font-16" to={`/classrooms/${this.props.match.params.coursesId}/${this.state.shixuntypes}/${discussMessage.homework_id}/settings?tab=3`} > 设置</WordsBtn>*/}
<WordsBtn className="btn colorblue font-16 ml15 fontweight400 " to={`/courses/${this.props.match.params.coursesId}/${this.state.shixuntypes}/${discussMessage.homework_id}/settings?tab=3`} > 设置</WordsBtn> <WordsBtn className="btn colorblue font-16 ml15 fontweight400 " to={`/classrooms/${this.props.match.params.coursesId}/${this.state.shixuntypes}/${discussMessage.homework_id}/settings?tab=3`} > 设置</WordsBtn>
</span>:""} </span>:""}
@ -391,15 +391,15 @@ class ShixunhomeWorkItem extends Component{
</WordsBtn>:"":"":"":"" </WordsBtn>:"":"":"":""
} }
{ this.props.isAdmin?<a onClick={()=>this.hrefjumpskip("/courses/"+this.props.match.params.coursesId+"/"+this.state.shixuntypes+"/"+discussMessage.homework_id+"/list?tab=0")} className="btn colorblue font-16 fontweight400 mr20 fr">作品列表</a>:""} { this.props.isAdmin?<a onClick={()=>this.hrefjumpskip("/classrooms/"+this.props.match.params.coursesId+"/"+this.state.shixuntypes+"/"+discussMessage.homework_id+"/list?tab=0")} className="btn colorblue font-16 fontweight400 mr20 fr">作品列表</a>:""}
{ {
this.props.isStudent? <a onClick={()=>this.hrefjumpskip("/courses/"+this.props.match.params.coursesId+"/"+this.state.shixuntypes+"/"+discussMessage.homework_id+"/list?tab=0")} className="btn colorblue font-16 fontweight400 mr20 fr mt2">作品列表</a>:"" this.props.isStudent? <a onClick={()=>this.hrefjumpskip("/classrooms/"+this.props.match.params.coursesId+"/"+this.state.shixuntypes+"/"+discussMessage.homework_id+"/list?tab=0")} className="btn colorblue font-16 fontweight400 mr20 fr mt2">作品列表</a>:""
} }
{ {
this.props.isNotMember===true? this.props.discussMessage.private_icon===true?"" this.props.isNotMember===true? this.props.discussMessage.private_icon===true?""
:<a onClick={()=>this.hrefjumpskip("/courses/"+this.props.match.params.coursesId+"/"+this.state.shixuntypes+"/"+discussMessage.homework_id+"/list?tab=0")} className="btn colorblue font-16 fontweight400 mr20 fr">作品列表</a>:"" :<a onClick={()=>this.hrefjumpskip("/classrooms/"+this.props.match.params.coursesId+"/"+this.state.shixuntypes+"/"+discussMessage.homework_id+"/list?tab=0")} className="btn colorblue font-16 fontweight400 mr20 fr">作品列表</a>:""
} }
@ -504,7 +504,7 @@ export default ShixunhomeWorkItem;
// //
// let coursesId=this.props.coursesId; // let coursesId=this.props.coursesId;
// let taskid=this.props.taskid; // let taskid=this.props.taskid;
// let url="/courses/"+coursesId+"/graduation_tasks/relate_project.json"; // let url="/classrooms/"+coursesId+"/graduation_tasks/relate_project.json";
// axios.post(url,{ // axios.post(url,{
// project_id:taskid // project_id:taskid
// }).then((result)=>{ // }).then((result)=>{

@ -198,7 +198,7 @@ class ShixunWorkModal extends Component{
// message:"提示", // message:"提示",
// description: response.data.message // description: response.data.message
// }); // });
window.location.href=`/courses/${this.props.match.params.coursesId}/shixun_homeworks/${this.props.match.params.homeworkid}/student_work?tab=2`; window.location.href=`/classrooms/${this.props.match.params.coursesId}/shixun_homeworks/${this.props.match.params.homeworkid}/student_work?tab=2`;
}else if(response.data.status === -1){ }else if(response.data.status === -1){
notification.open({ notification.open({
message:"提示", message:"提示",

@ -219,7 +219,7 @@ class TraineetraininginformationModal extends Component {
<span className="ml10 " style={{"text-align": "left","color":'#29BD8B'}} >经验值<span style={{"color":'#29BD8B'}}> {this.props.experience=== undefined?"0" :this.props.experience}/</span><span style={{"color":'#29BD8B'}}>{this.props.viewtrainingdata === undefined ? "" : this.props.viewtrainingdata.shixun_score}</span></span> <span className="ml10 " style={{"text-align": "left","color":'#29BD8B'}} >经验值<span style={{"color":'#29BD8B'}}> {this.props.experience=== undefined?"0" :this.props.experience}/</span><span style={{"color":'#29BD8B'}}>{this.props.viewtrainingdata === undefined ? "" : this.props.viewtrainingdata.shixun_score}</span></span>
</div> </div>
{/*<Button type="primary" className="ml30" >实训报告</Button>*/} {/*<Button type="primary" className="ml30" >实训报告</Button>*/}
<Button type="primary" target="_blank" className="lh38 fr" style={{"text-align": "center","width": "100px",color: "#fff"}} href={`/courses/${this.props.coursesId}/shixun_homeworks/${this.props.viewtrainingdata.work_id}/shixun_work_report`}> <Button type="primary" target="_blank" className="lh38 fr" style={{"text-align": "center","width": "100px",color: "#fff"}} href={`/classrooms/${this.props.coursesId}/shixun_homeworks/${this.props.viewtrainingdata.work_id}/shixun_work_report`}>
实训报告 实训报告
</Button> </Button>
{/*这里到时候要做判断*/} {/*这里到时候要做判断*/}

@ -616,7 +616,7 @@ export default Workquestionandanswer;
{/* {this.props.isAdmin() ?*/} {/* {this.props.isAdmin() ?*/}
{/* this.state.code_review === true || jobsettingsdata === undefined ? [""] : jobsettingsdata.data.homework_status[0] === "未发布" ? "" :*/} {/* this.state.code_review === true || jobsettingsdata === undefined ? [""] : jobsettingsdata.data.homework_status[0] === "未发布" ? "" :*/}
{/* <a*/} {/* <a*/}
{/* // to={`/courses/${this.state.props.match.params.coursesId}/${this.state.props.match.params.homeworkid}/student_work`}*/} {/* // to={`/classrooms/${this.state.props.match.params.coursesId}/${this.state.props.match.params.homeworkid}/student_work`}*/}
{/* onClick={(e)=>this.ChangeTab(2)}>*/} {/* onClick={(e)=>this.ChangeTab(2)}>*/}
{/* 代码查重</a> : ""}*/} {/* 代码查重</a> : ""}*/}
@ -672,7 +672,7 @@ export default Workquestionandanswer;
{/* jobsettingsdata&& jobsettingsdata.data === undefined ? ""*/} {/* jobsettingsdata&& jobsettingsdata.data === undefined ? ""*/}
{/* : jobsettingsdata&& jobsettingsdata.data.commit_des === null || jobsettingsdata&& jobsettingsdata.data.commit_des === undefined ? "" :*/} {/* : jobsettingsdata&& jobsettingsdata.data.commit_des === null || jobsettingsdata&& jobsettingsdata.data.commit_des === undefined ? "" :*/}
{/* <a className="fr color-blue font-16"*/} {/* <a className="fr color-blue font-16"*/}
{/* href={`/courses/${this.state.props.match.params.coursesId}/${this.state.shixuntypes}/${ jobsettingsdata&& jobsettingsdata.data === undefined ? "" : jobsettingsdata&& jobsettingsdata.data.id}/commitsummary/${this.state.props.match.params.homeworkid}`}>{ jobsettingsdata&& jobsettingsdata.data.commit_des}</a>*/} {/* href={`/classrooms/${this.state.props.match.params.coursesId}/${this.state.shixuntypes}/${ jobsettingsdata&& jobsettingsdata.data === undefined ? "" : jobsettingsdata&& jobsettingsdata.data.id}/commitsummary/${this.state.props.match.params.homeworkid}`}>{ jobsettingsdata&& jobsettingsdata.data.commit_des}</a>*/}
{/* }*/} {/* }*/}
{/* { jobsettingsdata&&jobsettingsdata.data === undefined ? "" : <Startshixuntask*/} {/* { jobsettingsdata&&jobsettingsdata.data === undefined ? "" : <Startshixuntask*/}
{/* {...this.props}*/} {/* {...this.props}*/}

@ -419,6 +419,7 @@ class Statistics extends Component{
} }
{ {
this.props.isAdmin()===true? this.props.isAdmin()===true?
// 这里是文件下载 不能替换路由
<a className={"ml20 ant-btn-link"} onClick={()=>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`)}>导出</a> <a className={"ml20 ant-btn-link"} onClick={()=>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`)}>导出</a>
:"" :""
} }

@ -624,7 +624,7 @@ class CourseSupports extends Component {
</div> </div>
<div className="padding20-30" id="training_objective_contents"> <div className="padding20-30" id="training_objective_contents">
<span className="fl SystemParameters" >毕业要求指标点<a href={`/ecs/major_schools/${this.props.match.params.major_school_id}/years/${this.props.match.params.ec_year_id}/graduation_requirement`}><span className="Systemnum">{data.count}</span></a></span> <span className="fl SystemParameters" >毕业要求指标点<a href={`/ecs/major_schools/${this.props.match.params.major_school_id}/years/${this.props.match.params.ec_year_id}/graduation_requirement`}><span className="Systemnum">{data.count}</span></a></span>
<span className="fl ml20 SystemParameters">课程体系<a href={`/ecs/major_schools/${this.props.match.params.major_school_id}/years/${this.props.match.params.ec_year_id}/courses/ec_course_support_setting/1`}><span className="Systemnum">{data.course_count}</span></a></span> <span className="fl ml20 SystemParameters">课程体系<a href={`/ecs/major_schools/${this.props.match.params.major_school_id}/years/${this.props.match.params.ec_year_id}/classrooms/ec_course_support_setting/1`}><span className="Systemnum">{data.course_count}</span></a></span>
</div> </div>
</div> </div>

@ -10,7 +10,7 @@ import Loadable from 'react-loadable';
import Loading from "../../../Loading"; import Loading from "../../../Loading";
const { Step } = Steps; const { Step } = Steps;
const steps = ["培养目标", "毕业要求", "培养目标VS毕业要求", "毕业要求VS通用标准", "学生", "课程体系", "课程体系VS毕业要求", "达成度评价结果"]; const steps = ["培养目标", "毕业要求", "培养目标VS毕业要求", "毕业要求VS通用标准", "学生", "课程体系", "课程体系VS毕业要求", "达成度评价结果"];
const stepTypes = ["training_objectives", "graduation_requirement", "requirement_vs_objective", "requirement_vs_standard", "students", "courses", "requirement_vs_courses", "reach_calculation_info"]; const stepTypes = ["training_objectives", "graduation_requirement", "requirement_vs_objective", "requirement_vs_standard", "students", "classrooms", "requirement_vs_courses", "reach_calculation_info"];
const EcStudentList=Loadable({ const EcStudentList=Loadable({
loader: () => import('../subroute/ecStudentList/EcStudentList'), loader: () => import('../subroute/ecStudentList/EcStudentList'),
loading: Loading, loading: Loading,
@ -83,7 +83,7 @@ class EcSetting extends React.Component {
let type = stepTypes[stepIndex]; let type = stepTypes[stepIndex];
this.setState({ stepIndex: stepIndex }); this.setState({ stepIndex: stepIndex });
// if(type==="courses"){ // if(type==="classrooms"){
// this.props.history.push(`/ecs/major_schools/${majorId}/years/${yearId}/${type}/ec_course_support_setting/1`); // this.props.history.push(`/ecs/major_schools/${majorId}/years/${yearId}/${type}/ec_course_support_setting/1`);
// }else { // }else {
this.props.history.push(`/ecs/major_schools/${majorId}/years/${yearId}/${type}`); this.props.history.push(`/ecs/major_schools/${majorId}/years/${yearId}/${type}`);
@ -154,10 +154,10 @@ class EcSetting extends React.Component {
<Route extra path='/ecs/major_schools/:majorId/years/:yearId/students' <Route extra path='/ecs/major_schools/:majorId/years/:yearId/students'
render={ (props) => (<EcStudentList {...this.props} {...props} {...this.state} />) }></Route> render={ (props) => (<EcStudentList {...this.props} {...props} {...this.state} />) }></Route>
{/*课程体系*/} {/*课程体系*/}
<Route extra path='/ecs/major_schools/:majorId/years/:yearId/courses/subpage' <Route extra path='/ecs/major_schools/:majorId/years/:yearId/classrooms/subpage'
render={ (props) => (<Curriculum {...this.props} {...props} {...this.state} />) }></Route> render={ (props) => (<Curriculum {...this.props} {...props} {...this.state} />) }></Route>
{/*课程体系资源子页面Subpage*/} {/*课程体系资源子页面Subpage*/}
<Route extra path='/ecs/major_schools/:majorId/years/:yearId/courses' <Route extra path='/ecs/major_schools/:majorId/years/:yearId/classrooms'
render={ (props) => (<CurriculumSubpage {...this.props} {...props} {...this.state} />) }></Route> render={ (props) => (<CurriculumSubpage {...this.props} {...props} {...this.state} />) }></Route>
{/*课程体系VS毕业要求*/} {/*课程体系VS毕业要求*/}
<Route extra path='/ecs/major_schools/:major_school_id/years/:ec_year_id/requirement_vs_courses' <Route extra path='/ecs/major_schools/:major_school_id/years/:ec_year_id/requirement_vs_courses'

@ -235,19 +235,19 @@ class Curriculum extends Component {
<Switch> <Switch>
{/*Curriculumtwo 测试用*/} {/*Curriculumtwo 测试用*/}
{/*课程目标*/} {/*课程目标*/}
<Route extra path='/ecs/major_schools/:majorId/years/:yearId/courses/subpage/:type/1' <Route extra path='/ecs/major_schools/:majorId/years/:yearId/classrooms/subpage/:type/1'
render={ (props) => (<EcCourseSupportSetting {...this.props} {...props} {...this.state} Ontitine={(i)=>this.Ontitine(i)} />) }></Route> render={ (props) => (<EcCourseSupportSetting {...this.props} {...props} {...this.state} Ontitine={(i)=>this.Ontitine(i)} />) }></Route>
{/*课程考核方式与数据来源*/} {/*课程考核方式与数据来源*/}
<Route extra path='/ecs/major_schools/:majorId/years/:yearId/courses/subpage/:type/2' <Route extra path='/ecs/major_schools/:majorId/years/:yearId/classrooms/subpage/:type/2'
render={ (props) => (<Curriculumtwo {...this.props} {...props} {...this.state} Ontitine={(i)=>this.Ontitine(i)}/>) }></Route> render={ (props) => (<Curriculumtwo {...this.props} {...props} {...this.state} Ontitine={(i)=>this.Ontitine(i)}/>) }></Route>
{/*成绩等级设置*/} {/*成绩等级设置*/}
<Route extra path='/ecs/major_schools/:majorId/years/:yearId/courses/subpage/:type/3' <Route extra path='/ecs/major_schools/:majorId/years/:yearId/classrooms/subpage/:type/3'
render={ (props) => (<Curriculumtwo {...this.props} {...props} {...this.state} Ontitine={(i)=>this.Ontitine(i)}/>) }></Route> render={ (props) => (<Curriculumtwo {...this.props} {...props} {...this.state} Ontitine={(i)=>this.Ontitine(i)}/>) }></Route>
{/*4课程目标评价方法*/ } {/*4课程目标评价方法*/ }
<Route extra path='/ecs/major_schools/:majorId/years/:yearId/courses/subpage/:type/4' <Route extra path='/ecs/major_schools/:majorId/years/:yearId/classrooms/subpage/:type/4'
render={ (props) => (<EcCourseEvaluationsbottom {...this.props} {...props} {...this.state} Ontitine={(i)=>this.Ontitine(i)}/>) }></Route> render={ (props) => (<EcCourseEvaluationsbottom {...this.props} {...props} {...this.state} Ontitine={(i)=>this.Ontitine(i)}/>) }></Route>
{/*5课程达成评价结果*/} {/*5课程达成评价结果*/}
<Route extra path='/ecs/major_schools/:majorId/years/:yearId/courses/subpage/:type/5' <Route extra path='/ecs/major_schools/:majorId/years/:yearId/classrooms/subpage/:type/5'
render={ (props) => (<EcCompletionCalculation {...this.props} {...props} {...this.state} Ontitine={(i)=>this.Ontitine(i)} triggerRef={this.bindRef}/>) }></Route> render={ (props) => (<EcCompletionCalculation {...this.props} {...props} {...this.state} Ontitine={(i)=>this.Ontitine(i)} triggerRef={this.bindRef}/>) }></Route>
</Switch> </Switch>
</div> </div>

@ -16,7 +16,7 @@ class CurriculumSubpage extends Component {
console.log(this.props.match.params); console.log(this.props.match.params);
} }
Curriculumstructure=()=>{ Curriculumstructure=()=>{
this.props.history.push(`/ecs/major_schools/${this.props.match.params.majorId}/years/${this.props.match.params.yearId}/courses/subpage/ec_course_support_setting/1`); this.props.history.push(`/ecs/major_schools/${this.props.match.params.majorId}/years/${this.props.match.params.yearId}/classrooms/subpage/ec_course_support_setting/1`);
} }

@ -36,7 +36,7 @@ class Jointheclass extends Component {
this.props.showNotification(result.data.message); this.props.showNotification(result.data.message);
this.props.ysljoinmodalCanceltwo(); this.props.ysljoinmodalCanceltwo();
if(cousestype===1){ if(cousestype===1){
window.open(`/courses/${id}/informs`) window.open(`/classrooms/${id}/informs`)
} }
}else { }else {
this.props.showNotification(result.data.message); this.props.showNotification(result.data.message);

@ -102,16 +102,16 @@ debugger
var rurls=""; var rurls="";
if(this.state.yslbanksMenu.category==="normal"){ if(this.state.yslbanksMenu.category==="normal"){
//普通作业 //普通作业
rurls=`/courses/${this.state.Radiolist}/common_homeworks/${result.data.task_ids}/setting`; rurls=`/classrooms/${this.state.Radiolist}/common_homeworks/${result.data.task_ids}/setting`;
}else if(this.state.yslbanksMenu.category==="group"){ }else if(this.state.yslbanksMenu.category==="group"){
//分组作业 //分组作业
rurls=`/courses/${this.state.Radiolist}/group_homeworks/${result.data.task_ids}/setting`; rurls=`/classrooms/${this.state.Radiolist}/group_homeworks/${result.data.task_ids}/setting`;
}else if(this.state.yslbanksMenu.category==="exercise"){ }else if(this.state.yslbanksMenu.category==="exercise"){
// 试卷 // 试卷
rurls=`/courses/${this.state.Radiolist}/exercises/${result.data.task_ids}/student_exercise_list?tab=3`; rurls=`/classrooms/${this.state.Radiolist}/exercises/${result.data.task_ids}/student_exercise_list?tab=3`;
}else if(this.state.yslbanksMenu.category==="poll") { }else if(this.state.yslbanksMenu.category==="poll") {
//问卷 //问卷
rurls=`/courses/${this.state.Radiolist}/polls/${result.data.task_ids}/detail?tab=3` rurls=`/classrooms/${this.state.Radiolist}/polls/${result.data.task_ids}/detail?tab=3`
} }
window.open(rurls,'_blank'); window.open(rurls,'_blank');
}catch (e) { }catch (e) {
@ -124,16 +124,16 @@ debugger
var rurls=""; var rurls="";
if(this.props.category==="normal"){ if(this.props.category==="normal"){
//普通作业 //普通作业
rurls=`/courses/${this.state.Radiolist}/common_homeworks/${result.data.category_id}`; rurls=`/classrooms/${this.state.Radiolist}/common_homeworks/${result.data.category_id}`;
}else if(this.props.category==="group"){ }else if(this.props.category==="group"){
//分组作业 //分组作业
rurls=`/courses/${this.state.Radiolist}/group_homeworks/${result.data.category_id}`; rurls=`/classrooms/${this.state.Radiolist}/group_homeworks/${result.data.category_id}`;
}else if(this.props.category==="exercise"){ }else if(this.props.category==="exercise"){
// 试卷 // 试卷
rurls=`/courses/${this.state.Radiolist}/exercises/${result.data.category_id}`; rurls=`/classrooms/${this.state.Radiolist}/exercises/${result.data.category_id}`;
}else if(this.props.category==="poll") { }else if(this.props.category==="poll") {
//问卷 //问卷
rurls=`/courses/${this.state.Radiolist}/polls/${result.data.category_id}` rurls=`/classrooms/${this.state.Radiolist}/polls/${result.data.category_id}`
} }
window.open(rurls,'_blank'); window.open(rurls,'_blank');
}catch (e) { }catch (e) {

@ -658,7 +658,7 @@ class DetailTop extends Component{
if(item.course_identity<4){ if(item.course_identity<4){
return( return(
<Tooltip placement="bottom" title={"编辑课堂"} key={key}> <Tooltip placement="bottom" title={"编辑课堂"} key={key}>
<a href={`/courses/${item.course_id}/newgolds/settings`} target={"_blank"}> <a href={`/classrooms/${item.course_id}/newgolds/settings`} target={"_blank"}>
<i className="iconfont icon-bianji1 newbianji1"></i> <i className="iconfont icon-bianji1 newbianji1"></i>
</a> </a>
</Tooltip> </Tooltip>

@ -26,9 +26,9 @@ class OpenCourse extends Component {
console.log(this.props.match.params.pathId) console.log(this.props.match.params.pathId)
if(value===0){ if(value===0){
window.open(`/courses/news/${this.props.match.params.pathId}/newgold/0 `); window.open(`/classrooms/news/${this.props.match.params.pathId}/newgold/0 `);
}else{ }else{
window.open(`/courses/news/${this.props.match.params.pathId}/newgold/1`); window.open(`/classrooms/news/${this.props.match.params.pathId}/newgold/1`);
} }
this.props.OpenCourseCancel(); this.props.OpenCourseCancel();
} }

@ -262,7 +262,7 @@ class NewHeader extends Component {
}) })
if (submitapplicationssum === 0) { if (submitapplicationssum === 0) {
if (submitapplicationsvaluedata != undefined) { if (submitapplicationsvaluedata != undefined) {
window.location.href = "/courses/" + submitapplicationsvaluedata; window.location.href = "/classrooms/" + submitapplicationsvaluedata;
} }
} else if (submitapplicationssum === 1) { } else if (submitapplicationssum === 1) {
if (submitapplicationsvaluedata != undefined) { if (submitapplicationsvaluedata != undefined) {
@ -672,7 +672,7 @@ class NewHeader extends Component {
return true return true
} else if (url.startsWith('/paths') && match.path.startsWith('/paths')) { } else if (url.startsWith('/paths') && match.path.startsWith('/paths')) {
return true return true
} else if (url.startsWith('/courses') && match.path.startsWith('/courses')) { } else if (url.startsWith('/classrooms') && match.path.startsWith('/classrooms')) {
return true return true
} else if (url.startsWith('/competitions') && match.path.startsWith('/competitions')) { } else if (url.startsWith('/competitions') && match.path.startsWith('/competitions')) {
return true return true
@ -732,7 +732,7 @@ class NewHeader extends Component {
activeShixuns = true; activeShixuns = true;
} else if (match.path.startsWith('/paths')) { } else if (match.path.startsWith('/paths')) {
activePaths = true; activePaths = true;
} else if (match.path.startsWith('/courses')) { } else if (match.path.startsWith('/classrooms')) {
coursestype = true; coursestype = true;
} else if (match.path.startsWith('/crowdsourcing')) { } else if (match.path.startsWith('/crowdsourcing')) {
activePackages = true; activePackages = true;
@ -782,7 +782,7 @@ class NewHeader extends Component {
if (this.props && this.props.mygetHelmetapi != null) { if (this.props && this.props.mygetHelmetapi != null) {
let shixun = "/shixuns"; let shixun = "/shixuns";
let paths = "/paths"; let paths = "/paths";
let courses = "/courses"; let courses = "/classrooms";
this.props.mygetHelmetapi.navbar.map((item, key) => { this.props.mygetHelmetapi.navbar.map((item, key) => {
var reg = RegExp(item.link); var reg = RegExp(item.link);
if (shixun.match(reg)) { if (shixun.match(reg)) {
@ -995,10 +995,10 @@ class NewHeader extends Component {
<Link to={this.props.Headertop === undefined ? "" : '/paths'}>实践课程</Link> <Link to={this.props.Headertop === undefined ? "" : '/paths'}>实践课程</Link>
</li> </li>
{/*<li><a href={this.props.Headertop===undefined?"":'/courses'}>课堂</a></li>*/} {/*<li><a href={this.props.Headertop===undefined?"":'/classrooms'}>课堂</a></li>*/}
<li className={`${coursestype === true ? 'pr active' : 'pr'}`}> <li className={`${coursestype === true ? 'pr active' : 'pr'}`}>
{/*<a href={this.props.Headertop===undefined?"":this.props.Headertop.course_url}>课堂</a>*/} {/*<a href={this.props.Headertop===undefined?"":this.props.Headertop.course_url}>课堂</a>*/}
<Link to={this.props.Headertop === undefined ? "" : '/courses'}>教学课堂</Link> <Link to={this.props.Headertop === undefined ? "" : '/classrooms'}>教学课堂</Link>
</li> </li>
<li className={`${activeShixuns === true ? 'pr active' : 'pr'}`}> <li className={`${activeShixuns === true ? 'pr active' : 'pr'}`}>
<Link to="/shixuns">实训项目</Link> <Link to="/shixuns">实训项目</Link>
@ -1185,7 +1185,7 @@ class NewHeader extends Component {
<div className="overPart"></div> <div className="overPart"></div>
<ul className={coursestypes === true && this.props.user && this.props.user.main_site === false ? "fl headwith100b edu-txt-center pr ul-leftline" : "fl with50 edu-txt-center pr ul-leftline"}> <ul className={coursestypes === true && this.props.user && this.props.user.main_site === false ? "fl headwith100b edu-txt-center pr ul-leftline" : "fl with50 edu-txt-center pr ul-leftline"}>
{this.props.current_user && this.props.current_user.user_identity === "学生" ? "" : coursestypes === false ? {this.props.current_user && this.props.current_user.user_identity === "学生" ? "" : coursestypes === false ?
<li><a onClick={(url) => this.getUser("/courses/new")}>{this.props.user && this.props.user.main_site === false ? "新建课堂" : "新建教学课堂"}</a></li> : "" <li><a onClick={(url) => this.getUser("/classrooms/new")}>{this.props.user && this.props.user.main_site === false ? "新建课堂" : "新建教学课堂"}</a></li> : ""
} }
{shixuntype === true ? "" : {shixuntype === true ? "" :
<li><a onClick={(url) => this.getUser("/shixuns/new", "newshixuns")}>新建实训项目</a></li> <li><a onClick={(url) => this.getUser("/shixuns/new", "newshixuns")}>新建实训项目</a></li>
@ -1210,7 +1210,7 @@ class NewHeader extends Component {
<Certifiedprofessional {...this.props} {...this.state} ModalCancelsy={this.ModalCancelsy} /> <Certifiedprofessional {...this.props} {...this.state} ModalCancelsy={this.ModalCancelsy} />
{/* /courses/join_course_multi_role */} {/* /classrooms/join_course_multi_role */}
{this.props.user && this.props.user.main_site === true ? <li> {this.props.user && this.props.user.main_site === true ? <li>
<a onClick={this.tojoinitem}>加入开发项目</a> <a onClick={this.tojoinitem}>加入开发项目</a>
</li> : ""} </li> : ""}

@ -162,7 +162,7 @@ export function TPMIndexHOC(WrappedComponent) {
document.title="实训项目"; document.title="实训项目";
}else if(this.props.match.path==="/paths"){ }else if(this.props.match.path==="/paths"){
document.title="实践课程"; document.title="实践课程";
}else if(this.props.match.path==="/courses"){ }else if(this.props.match.path==="/classrooms"){
document.title="教学课堂"; document.title="教学课堂";
} }
@ -176,7 +176,7 @@ export function TPMIndexHOC(WrappedComponent) {
// document.title="EduCoder-IT实践教学平台_信息技术类精品课程网_大学生MOOC平台"; // document.title="EduCoder-IT实践教学平台_信息技术类精品课程网_大学生MOOC平台";
// }else if(this.props.match.path==="/paths"){ // }else if(this.props.match.path==="/paths"){
// document.title="实践课程_项目实战开发_web前端开发实训_web后端开发实战_人工智能技术-EduCoder"; // document.title="实践课程_项目实战开发_web前端开发实训_web后端开发实战_人工智能技术-EduCoder";
// }else if(this.props.match.path==="/courses"){ // }else if(this.props.match.path==="/classrooms"){
// document.title="实训项目_php后端开发_app前端开发_java_python实训_C语言入门课程-EduCoder"; // document.title="实训项目_php后端开发_app前端开发_java_python实训_C语言入门课程-EduCoder";
// }else if(this.props.match.path==="/competitions"){ // }else if(this.props.match.path==="/competitions"){
// document.title="在线竞赛_计算机应用大赛_编程大赛_大学生设计大赛_全国高校绿色计算大赛-EduCoder"; // document.title="在线竞赛_计算机应用大赛_编程大赛_大学生设计大赛_全国高校绿色计算大赛-EduCoder";
@ -402,7 +402,7 @@ export function TPMIndexHOC(WrappedComponent) {
let courseId; let courseId;
let query = this.props.location.pathname; let query = this.props.location.pathname;
const type = query.split('/'); const type = query.split('/');
if (type[1] == 'courses' && type[2]) { if (type[1] == 'classrooms' && type[2]) {
courseId = parseInt(type[2]) courseId = parseInt(type[2])
// url += `?course_id=${courseId}` // url += `?course_id=${courseId}`
} }
@ -466,7 +466,7 @@ export function TPMIndexHOC(WrappedComponent) {
let courseId; let courseId;
let query = this.props.location.pathname; let query = this.props.location.pathname;
const type = query.split('/'); const type = query.split('/');
if (type[1] == 'courses' && type[2]) { if (type[1] == 'classrooms' && type[2]) {
courseId = parseInt(type[2]) courseId = parseInt(type[2])
// url += `?course_id=${courseId}` // url += `?course_id=${courseId}`
} }

@ -672,7 +672,7 @@ class Newshixuns extends Component {
} }
) )
this.sendhideModaly() this.sendhideModaly()
// this.props.history.push(`/courses/${cid}/graduation_topics`); // this.props.history.push(`/classrooms/${cid}/graduation_topics`);
// } // }
} }
}catch (e) { }catch (e) {
@ -859,7 +859,7 @@ class Newshixuns extends Component {
// // const { id } = response.data; // // const { id } = response.data;
// // if (id) { // // if (id) {
// this.props.showNotification('提交成功!'); // this.props.showNotification('提交成功!');
// // this.props.history.push(`/courses/${cid}/graduation_topics`); // // this.props.history.push(`/classrooms/${cid}/graduation_topics`);
// // } // // }
// } // }
// }) // })

@ -53,7 +53,7 @@ $(function(){
if(type == "l_shixun"){ if(type == "l_shixun"){
$("#shixun_search_condition").submit(); $("#shixun_search_condition").submit();
} else{ } else{
$.get("/courses?select="+$("#select_type").val()+"&order="+$("#select_order").val()+"&hidden="+hidden_course); $.get("/classrooms?select="+$("#select_type").val()+"&order="+$("#select_order").val()+"&hidden="+hidden_course);
} }
} }

@ -893,7 +893,7 @@ class LoginRegisterComponent extends Component {
} }
// this.props.history.push(`/courses/${this.props.match.params.coursesId}/exercises/${this.props.match.params.Id}/student_exercise_list?tab=`+e.key) // this.props.history.push(`/classrooms/${this.props.match.params.coursesId}/exercises/${this.props.match.params.Id}/student_exercise_list?tab=`+e.key)
} }
loginonkeyup =(e)=>{ loginonkeyup =(e)=>{

@ -60,7 +60,7 @@ class Infos extends Component{
type:0, type:0,
login:undefined, login:undefined,
isRenders:false, isRenders:false,
moduleName:"courses", moduleName:"classrooms",
next_gold:undefined next_gold:undefined
} }
} }

@ -40,7 +40,7 @@ class InfosBanner extends Component{
if(this.props&&this.props.mygetHelmetapi!=null){ if(this.props&&this.props.mygetHelmetapi!=null){
let shixun="/shixuns"; let shixun="/shixuns";
let paths="/paths"; let paths="/paths";
let courses="/courses"; let courses="/classrooms";
this.props.mygetHelmetapi.navbar.map((item,key)=>{ this.props.mygetHelmetapi.navbar.map((item,key)=>{
var reg = RegExp(item.link); var reg = RegExp(item.link);
if(shixun.match(reg)){ if(shixun.match(reg)){
@ -117,9 +117,9 @@ class InfosBanner extends Component{
</div> </div>
</div> </div>
<div className="userNav"> <div className="userNav">
{coursestypes===true?"":<li className={`${moduleName == 'courses' ||moduleName == undefined ? 'active' : '' }`}> {coursestypes===true?"":<li className={`${moduleName == 'classrooms' ||moduleName == undefined ? 'active' : '' }`}>
<Link <Link
onClick={() => this.setState({moduleName: 'courses'})} onClick={() => this.setState({moduleName: 'classrooms'})}
to={`/users/${username}/courses`}>教学课堂</Link> to={`/users/${username}/courses`}>教学课堂</Link>
</li>} </li>}
{shixuntype===true?"":<li className={`${moduleName == 'shixuns' ? 'active' : '' }`}> {shixuntype===true?"":<li className={`${moduleName == 'shixuns' ? 'active' : '' }`}>

@ -314,7 +314,7 @@ class InfosCourse extends Component{
{ {
page == 1 && is_current && !category && page == 1 && is_current && !category &&
this.props.current_user && this.props.current_user.user_identity != "学生" ? this.props.current_user && this.props.current_user.user_identity != "学生" ?
<Create href={"/courses/new"} name={"新建课堂"} index="1"></Create> : "" <Create href={"/classrooms/new"} name={"新建课堂"} index="1"></Create> : ""
} }
{ {
(!data || (data && data.courses.length === 0)) && (category || (!category && this.props.current_user && this.props.current_user.user_identity == "学生")) && <NoneData></NoneData> (!data || (data && data.courses.length === 0)) && (category || (!category && this.props.current_user && this.props.current_user.user_identity == "学生")) && <NoneData></NoneData>

@ -150,9 +150,9 @@ class banner_out extends Component{
</div> </div>
<div className="edu-txt-center navInfo"> <div className="edu-txt-center navInfo">
<div className="inline"> <div className="inline">
<li className={`${moduleName == 'courses' ||moduleName == undefined ? 'active' : '' }`}> <li className={`${moduleName == 'classrooms' ||moduleName == undefined ? 'active' : '' }`}>
<Link <Link
onClick={() => this.setState({moduleName: 'courses'})} onClick={() => this.setState({moduleName: 'classrooms'})}
to={`/users/${username}/courses`}>课堂</Link> to={`/users/${username}/courses`}>课堂</Link>
</li> </li>
<li className={`${moduleName == 'shixuns' ? 'active' : '' }`}> <li className={`${moduleName == 'shixuns' ? 'active' : '' }`}>

@ -1,5 +1,5 @@
import React, { useState, useEffect, useContext, memo } from 'react'; import React, { useState, useEffect, useContext, memo } from 'react';
import { Progress, Input, Tooltip } from 'antd' import { Progress, Input, Tooltip , Spin } from 'antd'
import { getUrl2, isDev, CBreadcrumb, ActionBtn, ThemeContext } from 'educoder' import { getUrl2, isDev, CBreadcrumb, ActionBtn, ThemeContext } from 'educoder'
import axios from 'axios' import axios from 'axios'
import moment from 'moment' import moment from 'moment'
@ -20,7 +20,7 @@ let _clipboard = null;
const clipboardMap = {} const clipboardMap = {}
function VideoInReviewItem (props) { function VideoInReviewItem (props) {
const theme = useContext(ThemeContext); const theme = useContext(ThemeContext);
const { history, file_url, cover_url, title, created_at, published_at, isReview, id const { history, file_url , play_url , cover_url , transcoded , title, created_at, published_at, isReview, id
, onEditVideo, onMaskClick, getCopyText, showNotification,vv,play_duration,operation , deleteVideo , moveVideo ,link} = props; , onEditVideo, onMaskClick, getCopyText, showNotification,vv,play_duration,operation , deleteVideo , moveVideo ,link} = props;
useEffect(()=> { useEffect(()=> {
if (!isReview) { if (!isReview) {
@ -44,10 +44,11 @@ function VideoInReviewItem (props) {
function toUpload() { function toUpload() {
history.push(`/users/${username}/videos/upload`) history.push(`/users/${username}/videos/upload`)
} }
const imgUrl = (!transcoded && !link) ? defaultImg : (cover_url || defaultImg);
return ( return (
<div className={`${isReview ? 'videoInReviewItem' : 'nItem'} videoItem`}> <div className={`${isReview ? 'videoInReviewItem' : 'nItem'} videoItem`}>
<Spin tip="正在转码,请稍等..." spinning={!transcoded && !link}>
<img className="cover" src={cover_url || defaultImg} alt=""></img> <img className="cover" src={imgUrl} alt=""></img>
{ link ? { link ?
<a href={link} target='_blank' className="otherLinkPanel"> <a href={link} target='_blank' className="otherLinkPanel">
<span className="otherLink">外链</span> <span className="otherLink">外链</span>
@ -56,12 +57,13 @@ function VideoInReviewItem (props) {
} }
{!isReview && <div className="mask" onClick={() => onMaskClick(props)}></div>} {!isReview && <div className="mask" onClick={() => onMaskClick(props)}></div>}
{!isReview && !link && {!isReview && !link && transcoded &&
<div className="playWrap" onClick={() => onMaskClick(props)}> <div className="playWrap" onClick={() => onMaskClick(props)}>
<img className="play mp23" src={playIcon}></img> <img className="play mp23" src={playIcon}></img>
{play_duration===0?"":<div className={"play_duration"}>累计学习时长{play_duration} h</div>} {play_duration===0?"":<div className={"play_duration"}>累计学习时长{play_duration} h</div>}
</div> </div>
} }
</Spin>
<div className="square-main"> <div className="square-main">
<div className="title overflowHidden1" <div className="title overflowHidden1"
title={title && title.length > 20 ? title : ''} title={title && title.length > 20 ? title : ''}
@ -106,7 +108,7 @@ function VideoInReviewItem (props) {
{ {
!link ? !link ?
<Tooltip title="复制视频地址" placement="bottom"> <Tooltip title="复制视频地址" placement="bottom">
<i className={`icon-fuzhi iconfont copybtn_item_${id}`} data-clipboard-text={getCopyText(file_url, cover_url)}></i> <i className={`icon-fuzhi iconfont copybtn_item_${id}`} data-clipboard-text={getCopyText((play_url || file_url), cover_url)}></i>
</Tooltip>:"" </Tooltip>:""
} }

@ -14,7 +14,7 @@ function VideoProtocol (props) {
className="mb26 mt16" className="mb26 mt16"
separator=" > " separator=" > "
items={[ items={[
{ to: `${courseId?`/courses/${courseId}/course_videos?open=new`:`/users/${username}/videos/upload`}`, name: '视频上传'}, { to: `${courseId?`/classrooms/${courseId}/course_videos?open=new`:`/users/${username}/videos/upload`}`, name: '视频上传'},
{ name: '内容上传协议'} { name: '内容上传协议'}
]} ]}
></CBreadcrumb> ></CBreadcrumb>

@ -57,9 +57,12 @@ function VideoUploadList (props) {
} }
function onUploadChange (e) { function onUploadChange (e) {
var file = e.target.files[0] var file = e.target.files[0];
setLoading(true);
if (!file) { if (!file) {
// alert("请先选择需要上传的文件!") // alert("请先选择需要上传的文件!")
setLoading(false);
return return
} }
// avi、flv、f4v、m4v、mov、mp4、rmvb、swf、webm // avi、flv、f4v、m4v、mov、mp4、rmvb、swf、webm
@ -71,6 +74,7 @@ function VideoUploadList (props) {
&& file.name.indexOf('.webm') == -1 && file.name.indexOf('.webm') == -1
) { ) {
showNotification(`不支持的视频格式`) showNotification(`不支持的视频格式`)
setLoading(false);
clearInput() clearInput()
return; return;
} }
@ -79,7 +83,8 @@ function VideoUploadList (props) {
}else if (file.size >(parseInt(MAX_FILE_SIZE) * 1024 * 1024)) { }else if (file.size >(parseInt(MAX_FILE_SIZE) * 1024 * 1024)) {
// 超过500m TODO // 超过500m TODO
clearInput() clearInput();
setLoading(false);
showNotification(`视频大小超过${MAX_FILE_SIZE}M`) showNotification(`视频大小超过${MAX_FILE_SIZE}M`)
return; return;
} }
@ -91,7 +96,8 @@ function VideoUploadList (props) {
} }
}) })
if (gotTheSameFileName) { if (gotTheSameFileName) {
clearInput() clearInput();
setLoading(false);
showNotification(`你不能上传同一个视频文件名称,请重新选择。`) showNotification(`你不能上传同一个视频文件名称,请重新选择。`)
return; return;
} }
@ -106,7 +112,6 @@ function VideoUploadList (props) {
// 重新创建 才会用最新的 dispatch // 重新创建 才会用最新的 dispatch
create: !uploader, create: !uploader,
addFileSuccess: (uploadInfo) => { addFileSuccess: (uploadInfo) => {
setLoading(true);
const file = uploadInfo.file; const file = uploadInfo.file;
console.log('addFileSuccess', uploadInfo) console.log('addFileSuccess', uploadInfo)
// const newvideos = [...videos, { // const newvideos = [...videos, {
@ -435,9 +440,10 @@ function VideoUploadList (props) {
>继续添加</ActionBtn>} >继续添加</ActionBtn>}
<div className={`description ${noUploads ? 'noUploads' : ''}`}> <div className={`description ${noUploads ? 'noUploads' : ''}`}>
<div className="">视频大小不支持断点续传单个视频文件最大500M单次最多支持3个视频文件上传 </div> <div class="description ">
<div className="">视频规格aviflvf4vm4vmovmp4rmvbswfwebm </div> <div>上传说明目前不支持断点续传单个视频文件最大限制500M单次最多支持3个视频文件上传 </div>
<div className="">温馨提示请勿上传违法视频平台将为每一个视频分配一个地址您可以通过引用该地址将视频使用在实训项目等模块</div> <div>视频规格aviflvf4vm4vmovmp4rmvbswfwebm </div>
<div>温馨提示<span class="color-orange-tip">为了更好播放的体验建议您优先上传MP4格式如果您是自己录制视频建议您保存的时候将视频编码设置为AVC(H264)</span></div></div>
</div> </div>
{!noUploads && <React.Fragment> {!noUploads && <React.Fragment>

Loading…
Cancel
Save