import React, { Component } from 'react'; import { SnackbarHOC } from 'educoder'; import {BrowserRouter as Router,Route,Switch} from 'react-router-dom'; import { withRouter } from 'react-router' import Loadable from 'react-loadable'; import Loading from '../../Loading'; import axios from 'axios'; import { TPMIndexHOC } from '../tpm/TPMIndexHOC'; import { CNotificationHOC } from './common/CNotificationHOC' import {ImageLayerOfCommentHOC} from '../page/layers/ImageLayerOfCommentHOC' import "./css/Courses.css" //引入对应跳转的组件 const ListPageIndex = Loadable({ loader: () => import('./ListPageIndex'), loading:Loading, }) //课堂首页 const CoursesHome = Loadable({ loader: () => import('./coursesHome/CoursesHome'), loading:Loading, }) //课堂详情页 const CoursesDetail= Loadable({ loader: () => import('./coursesDetail/CoursesDetail'), loading:Loading, }) // 课堂讨论 const BoardIndex = Loadable({ loader: () => import('./BoardIndex'), loading:Loading, }) const GraduationTopics= Loadable({ loader: () => import('./graduation/topics'), loading: Loading, }) const GraduationTopicsDetail= Loadable({ loader: () => import('./graduation/topics/GraduateTopicDetail'), loading: Loading, }) const GraduateTopicPostWorksNew= Loadable({ loader: () => import('./graduation/topics/GraduateTopicPostWorksNew'), loading: Loading, }) const GraduateTopicNew= Loadable({ loader: () => import('./graduation/topics/GraduateTopicNew'), loading: Loading, }) const GraduationTasks= Loadable({ loader: () => import('./graduation/tasks'), loading: Loading, }) // 资源 const Resourcelist= Loadable({ loader: () => import('./Resource/index'), loading: Loading, }) //新建实训 const WrappedCoursesNewApp= Loadable({ loader: () => import('./new/CoursesNew'), loading: Loading, }) //新建精品课堂 const WrappedCoursesNewAppGoldclass= Loadable({ loader: () => import('./new/Goldsubject'), loading: Loading, }) const ShixunHomeworkPage =Loadable({ loader: () => import('./shixunHomework/ShixunHomeworkPage'), loading: Loading, }) //实训作业 const ShixunHomework= Loadable({ loader: () => import('./shixunHomework/shixunHomework'), loading: Loading, }) //实训作业设置 const Trainingjobsetting= Loadable({ loader: () => import('./shixunHomework/Trainingjobsetting'), loading: Loading, }) //实训作业列表教师 // //实训作业列表学生未完成的 // const Studentnotcompleted= Loadable({ // loader: () => import('./shixunHomework/Listofworksstudentone'), // loading: Loading, // }) //实训作业列表完成的 const Studenthascompleted= Loadable({ loader: () => import('./shixunHomework/Listofworksstudentone'), loading: Loading, }) //实训作业提交总结 const CommitSummary = Loadable({ loader: () => import('./shixunHomework/CommitSummary'), loading: Loading, }) //实训作业设置 const Workquestionandanswer= Loadable({ loader: () => import('./shixunHomework/Workquestionandanswer'), loading: Loading, }) //实训报告 const ShixunWorkReport= Loadable({ loader: () => import('./shixunHomework/ShixunWorkReport'), loading: Loading, }) //实训查重 const ShixunStudentWork= Loadable({ loader: () => import('./shixunHomework/ShixunStudentWork'), loading: Loading, }) //实训查重详情 const ShixunWorkDetails= Loadable({ loader: () => import('./shixunHomework/ShixunWorkDetails'), loading: Loading, }) //问卷 const Poll= Loadable({ loader: () => import('./poll/Poll'), loading: Loading, }) //问卷新建 const PollNew= Loadable({ loader: () => import('./poll/PollNew'), loading: Loading, }) //问卷答题 const PollInfo= Loadable({ loader: () => import('./poll/PollInfo'), loading: Loading, }) //问卷详情 const PollDetail= Loadable({ loader: () => import('./poll/PollDetailIndex'), loading: Loading, }) //试卷 const Exercise= Loadable({ loader: () => import('./exercise/Exercise'), loading: Loading, }) const Testpapersettinghomepage =Loadable({ loader: () => import('./exercise/Testpapersettinghomepage'), loading: Loading, }) const ExerciseNew =Loadable({ loader: () => import('./exercise/ExerciseNew'), loading: Loading, }) const ExerciseReviewAndAnswer=Loadable({ loader:() => import('./exercise/ExerciseReviewAndAnswer'), loading: Loading, }) //学生列表 const Studentshavecompletedthelist = Loadable({ loader: () => import('./exercise/Studentshavecompletedthelist'), loading: Loading, }) //教师列表 const TeacherList= Loadable({ loader: () => import('./members/teacherList'), loading: Loading, }) //学生列表 const StudentsList= Loadable({ loader: () => import('./members/studentsList'), loading: Loading, }) //普通作业 const CommonWork= Loadable({ loader: () => import('./busyWork/Index'), loading: Loading, }) const GroupWork= Loadable({ loader: () => import('./busyWork/IndexGroup'), loading: Loading, }) // // //分组作业 // const GroupWork= Loadable({ // loader: () => import('./busyWork/GroupWork'), // loading: Loading, // }) //毕设任务列表新建 const GraduationTaskseditApp= Loadable({ loader: () => import('./graduation/tasks/GraduationTasksedit'), loading: Loading, }) //毕设任务列表编辑 const GraduationTasksnewApp= Loadable({ loader: () => import('./graduation/tasks/GraduationTasksnew'), loading: Loading, }) //毕设任务列表设置 const GraduationTasksquestions= Loadable({ loader: () => import('./graduation/tasks/GraduationTaskssettingquestions'), loading: Loading, }) //毕设任务列表 const GraduationTaskssettinglist= Loadable({ loader: () => import('./graduation/tasks/GraduationTaskDetail'), loading: Loading, }) //毕业任务设置 const GraduationTaskssetting=Loadable({ loader: () => import('./graduation/tasks/GraduationTaskssetting'), loading: Loading, }) // 评阅列表 const GraduationTasksappraise=Loadable({ loader: () => import('./graduation/tasks/GraduationTasksappraise'), loading: Loading, }) //创建作品 const GraduationTasksSubmitnewApp=Loadable({ loader: () => import('./graduation/tasks/GraduationTasksSubmitnew'), loading: Loading, }) //修改作品 const GraduationTasksSubmiteditApp=Loadable({ loader: () => import('./graduation/tasks/GraduationTasksSubmitedit'), loading: Loading, }) //排序 const Ordering=Loadable({ loader: () => import('../../modules/courses/ordering/Ordering'), loading: Loading, }); class CoursesIndex extends Component{ constructor(props) { super(props) this.state={ coursesids: undefined, coursesidsfun:this.coursesidsfun, updataleftNavfun:this.updataleftNav, course_modules:undefined, hidden_modules:[], is_teacher:false, isaloadtype:true, coursesidtype:undefined, locationNavfun:this.locationNav, unlocationNavfun:this.unlocationNavfun } } coursesidsfun=(id,type)=>{ this.setState({ coursesids:id, coursesidtype:type }) } componentDidMount(){ // this.updataleftNav() this.historyArray = [] this.props.history.listen( location => { console.log(location) this.historyArray.unshift(location.pathname) this.historyArray.length = 2; //Do your stuff here }); } updataleftNav=()=>{ let query=this.props.location.pathname let {isaloadtype}=this.state; let types=isaloadtype===false?true:false const type = query.split('/'); let id=parseInt(type[2]) if(isNaN(id)){ return } // let id=this.props.match.params.coursesId; let url ="/courses/"+id+"/left_banner.json" axios.get(url).then((response) => { if(response!=undefined){ if(response.data&&response.data){ this.setState({ course_modules:response.data.course_modules, hidden_modules:response.data.hidden_modules, is_teacher:response.data.is_teacher, isaloadtype:types }) this.locationNav(response.data.course_modules) } } }) } locationNav=(list)=>{ if(list){ let url=this.props.location.pathname; const type = url.split('/'); let filesId=parseInt(type[4]); // let urls=this.props.match.url var lists=list; lists.forEach((item,index)=>{ if(url===item.category_url){ this.setState({ indexs:index, mainurl:item.category_url }) this.coursesidsfun(item.id,"node") }else{ if(item.second_category!=undefined&&item.second_category.length!=0){ item.second_category.forEach((iem,key)=>{ if(url===iem.second_category_url){ if( parseInt(filesId)===iem.category_id||parseInt(filesId)===item.id){ this.setState({ indexs:index, url:url, mainurl:item.category_url }) } this.coursesidsfun(item.id,"child") } }) } } }) } } unlocationNavfun=(val)=>{ this.setState({ indexs:val, }) } // // 老师、管理员等 // isAdmin = () => { // return this.state.coursedata && this.state.coursedata.course_identity < 4 // } // // 学生 // isStudent = () => { // return this.state.coursedata && this.state.coursedata.course_identity === 4 // } // isAdminOrStudent = () => { // return this.state.coursedata && this.state.coursedata.course_identity <= 4 // } // // 非课堂成员 // isNotMember = () => { // return this.state.coursedata && this.state.coursedata.course_identity === 5 // } // isCourseidentity = () => { // // if(this.state.coursedata&&this.state.coursedata.course_identity < 4){ // return "isAdmin" // // 老师、管理员等 // }else if(this.state.coursedata&&this.state.coursedata.course_identity === 4){ // return "isStudent" // // 学生 // }else if(this.state.coursedata&&this.state.coursedata.course_identity === 5){ // return "isNotMember" // // 非课堂成员 // } // // } // componentDidMount(){ // // console.log(this.props.location.pathname) // let query=this.props.location.pathname; // const type = query.split('/'); // if (!type[2]) { // return; // } // let id=parseInt(type[2]) // // let url="/courses/"+id+"/top_banner.json" // axios.get(url).then((result)=>{ // if(result.status===200){ // let data=result.data; // this.setState({ // coursedata:data // }) // // // console.log(data) // } // }).catch((error)=>{ // console.log(error); // }) // } render() { const common = { previousPathName: this.historyArray && this.historyArray[1] // isAdmin: this.isAdmin, // isStudent: this.isStudent, // isAdminOrStudent: this.isAdminOrStudent, // isNotMember: this.isNotMember, // isCourseidentity:this.isCourseidentity } // const commons = { // admind: this.props.user, // // isAdminOrStudent: this.isAdminOrStudent, // // // isNotMember: this.isNotMember, // // isCourseidentity:this.isCourseidentity // } // console.log("commonscommons") // console.log(commons) return ( {/*排序*/} () } > {/* 资源列表页 */} () } > () } > () } > {/*课堂讨论*/} () } > {/* 毕业设计 */} {/* 毕设问答 */} () } > {/* 毕设选题新建页 */} () }> {/* 毕设选题编辑页*/} () }> {/* 毕设选题详情页 */} () } > {/* 毕设选题列表 */} () }> {/*————————————————————————————————————————————————————————————————————————————————————*/} {/* 作品评阅 https://www.trustie.net/issues/19981 */} () } > {/* 新建作品 */} () } > {/* 修改作品 */} () } > {/* 设置毕设任务 https://www.trustie.net/issues/19981 */} {/* () } > () }> */} () } > {/* 修改毕设任务 https://www.trustie.net/issues/19981 */} () } > {/* 新建毕设任务 https://www.trustie.net/issues/19981 */} () } > {/* 毕设任务列表 https://www.trustie.net/issues/19981 */} () } > {/*/!* 毕业设计主 https://www.trustie.net/issues/19981 *!/*/} {/* ()*/} {/*}*/} {/*>*/} {/*/!* 资源子目录 https://www.trustie.net/issues/19917 *!/*/} {/* ()*/} {/*}*/} {/*>*/} {/* 教师列表*/} () } > {/* 学生列表*/} () } > {/* 分班列表 */} () } > {/* 普通作业 */} () } > {/* 分组作业 */} () } > {/* 普通作业 */} () } > {/* 分组作业 */} () } > {/* 问卷答题 */} () } > {/* 问卷详情 */} () } > {/* 问卷新建 */} () } > {/*/!* 问卷编辑 *!/*/} {/* ()*/} {/*}*/} {/*>*/} {/* 问卷 */} () } > {/* 试卷查看/评阅 */} () } > {/*试卷新建 */} () } > {/*试卷新建 */} () } > {/*试卷设置主页*/} () } > {/*学生完成列表*/} () } > {/* 试卷 */} () } > {/*实训查重详情*/} () } > () } > {/*实训查重列表*/} () } > () } > {/*实训报告*/} () } > () } > {/*教师列表*/} () } > () } > {/*实训作业page*/} () } > {/*实训作业设置*/} () } > () } > {/*/!*实训作品列表教师*!/*/} {/*提交总结*/} () } > () } > {/*实训作品列表学生未公布*/} {/* ()*/} {/* }*/} {/*>*/} {/*实训学生作品列表已公布*/} {/* ()*/} {/* }*/} {/* >*/} {/*/!*实训学生作品列表已公布*!/*/} {/* ()*/} {/* }*/} {/*>*/} {/*实训作业问答主目录*/} () } > {/*实训作业问答子目录*/} () } > {/*新建课堂*/} () } > {/*新建精品课堂*/} {/*coursesId 课堂id */} {/*id 是否是私有或者公有*/} () } > {/*修改精品课堂*/} () } > {/*修改课堂*/} () } > {/* 实训作业子页面*/} () } > {/* 实训作业页面*/} () } > {/*/!*实训作业and课堂详情页*!/*/} () } > {/*课堂首页*/} () } > {/**/} ) } } export default withRouter(ImageLayerOfCommentHOC({imgSelector: '.imageLayerParent img, .imageLayerParent .imageTarget', parentSelector: '.newMain'}) (CNotificationHOC() ( SnackbarHOC() ( TPMIndexHOC(CoursesIndex) ))));