import React, { Component } from 'react'; import { getRandomNumber } from 'educoder'; import {Link} from 'react-router-dom'; import {BrowserRouter as Router,Route,Switch} from 'react-router-dom'; import Loadable from 'react-loadable'; import Loading from '../../../Loading'; import { WordsBtn, MarkdownToHtml, trigger, queryString, getRandomcode } from 'educoder'; import axios from 'axios'; import CoursesListType from '../coursesPublic/CoursesListType'; import AccessoryModal from "../coursesPublic/AccessoryModal"; import PublishRightnow from './PublishRightnow' import '../css/Courses.css' import CBreadcrumb from '../common/CBreadcrumb' import DownloadMessageysl from "../../modals/DownloadMessageysl"; import ConnectProject from './ConnectProject' import { Spin } from 'antd' //引入对应跳转的组件 //新建分组/普通作业 const NewWork = Loadable({ loader: () => import('./NewWork'), loading:Loading, }) const CommonWorkSetting = Loadable({ loader: () => import('./CommonWorkSetting'), loading:Loading, }) //普通作业列表 const CommonWorkList = Loadable({ loader: () => import('./CommonWorkList'), loading:Loading, }) const CommonWorkQuestion = Loadable({ loader: () => import('./CommonWorkQuestion'), loading:Loading, }) const CommonWorkAnswer = Loadable({ loader: () => import('./CommonWorkAnswer'), loading:Loading, }) const CommonWorkAppraise = Loadable({ loader: () => import('./CommonWorkAppraise'), loading:Loading, }) const CommonWorkPost = Loadable({ loader: () => import('./CommonWorkPost'), loading:Loading, }) const CommonWork = Loadable({ loader: () => import('./commonWork'), loading:Loading, }) class CommonWorkDetailIndex extends Component{ constructor(props) { super(props) this.publishModal = React.createRef(); this.endModal = React.createRef(); this.state = { DownloadType:false, DownloadMessageval:undefined, donwloading:false, } } initWorkDetailCommonState = (data) => { this.setState({ ...data }) } goback = () => { let workId=this.props.match.params.workId; // if ( window.location.pathname.indexOf('appraise') == -1) { let category_id= this.state.category.category_id; this.props.toListPage(this.props.match.params, category_id) } else { this.props.toWorkListPage(this.props.match.params, workId) } // this.props.history.goBack() } // 补交附件 Cancelvisible=()=>{ this.setState({ accessoryVisible:false }) } addAccessory=()=>{ this.setState({ accessoryVisible:true }) } setupdate = () => { } doWhenSuccess = () => { trigger('commonwork_fetch_all') } /// 确认是否下载 confirmysl(url){ axios.get(url+ '&export=true').then((response) => { if(response===undefined){ return } if(response.data.status&&response.data.status===-1){ }else if(response.data.status&&response.data.status===-2){ if(response.data.message === "100"){ // 已超出文件导出的上限数量(100 ),建议: this.setState({ DownloadType:true, DownloadMessageval:100 }) }else { //因附件资料超过500M this.setState({ DownloadType:true, DownloadMessageval:500 }) } }else { this.props.slowDownload(getRandomcode(url)) // this.props.showNotification(`正在下载中`); // this.setState({ donwloading: true }) // downloadFile({ // url: url, // successCallback: (url) => { // this.setState({ donwloading: false }) // console.log('successCallback') // }, // failCallback: (responseHtml, url) => { // this.setState({ donwloading: false }) // console.log('failCallback') // } // }) // window.open("/api"+url, '_blank'); } }).catch((error) => { console.log(error) }); } Downloadcal=()=>{ this.setState({ DownloadType:false, DownloadMessageval:undefined }) } bindRef = ref => { this.child = ref }; // 关联项目 openConnectionProject = (work) => { this.refs['connectProject'].openConnectionProject(work) } connectSuccess = () => { this.child.fetchData && this.child.fetchData() } cancelConnectionProject = (work) => { let workId=this.props.match.params.workId; let courseId=this.props.match.params.coursesId; const url = `/homework_commons/${work.homework_id}/student_works/cancel_relate_project.json` axios.get(url).then((response)=> { if (response.data.status == 0) { this.child.fetchData && this.child.fetchData() this.props.showNotification('取消关联成功') } }).catch((error)=>{ console.log(error) }) } // 关联项目 END render() { let {course_name, homework_name, homework_status, noTab , view_answer, author_name, category, work_id , end_immediately, publish_immediately, work_statuses, accessoryVisible } =this.state; const { current_user } = this.props let courseId=this.props.match.params.coursesId; let category_id= category && category.category_id; let category_name= category && category.category_name; let workId=this.props.match.params.workId; const studentWorkId = this.props.match.params.studentWorkId const isGroup = this.props.isGroup() const moduleName = !isGroup? "普通作业":"分组作业"; const moduleEngName = this.props.getModuleName() const childModuleName = this.state.moduleName const commonHandler = { initWorkDetailCommonState: this.initWorkDetailCommonState, triggerRef: this.bindRef } const isAdmin = this.props.isAdmin() let exportParams = {} const isListModule = childModuleName == '作品列表'; // 是列表页 let params = {} if (isListModule) { // TODO if(this.child && this.child._getRequestParams) { params = this.child._getRequestParams() !== undefined ? this.child._getRequestParams() : {}; } } // console.log("普通作业176176176"); // console.log(params); let exportUrl = `/homework_commons/${workId}/works_list.zip?${queryString.stringify(params)}` let exportResultUrl = `/homework_commons/${workId}/works_list.xlsx?${queryString.stringify(params)}` document.title=course_name === undefined ? "" : course_name; console.log(category_id) return (
{current_user && }
36 ? homework_name : ''}`} style={{height: 'auto'}} > {homework_name} {/* {homework_name} */} {category && 返回} {this.state.update_atta && {this.state.accessoryVisible===true? :""} 补交附件 }
{ noTab !== true &&
this.setState({moduleName: '作品列表'})} className={`${isListModule ? 'active' : '' } `} to={`/classrooms/${courseId}/${moduleEngName}/${workId}/list`}>作品列表 this.setState({moduleName: '作业描述'})} className={`${childModuleName == '作业描述' ? 'active' : '' } `} to={`/classrooms/${courseId}/${moduleEngName}/${workId}/question`}>作业描述 {view_answer == true && this.setState({moduleName: '参考答案'})} className={`${childModuleName == '参考答案' ? 'active' : '' } `} to={`/classrooms/${courseId}/${moduleEngName}/${workId}/answer`}>参考答案} this.setState({moduleName: '设置'})} className={`${childModuleName == '设置' ? 'active' : '' } `} style={{paddingLeft:this.props.isAdmin()?'38px':'20px'}} to={`/classrooms/${courseId}/${moduleEngName}/${workId}/setting`}>{this.props.isAdmin()?"设置":"得分规则"} {/* { this.props.tabRightComponents } */} {this.props.isAdmin()?
  • 导出
  • :""} {/* {isAdmin && 导出作品附件} {isAdmin && 导出成绩} */} {/*导出*/} {end_immediately && { this.endModal.current.open() } }>立即截止} {publish_immediately && { this.publishModal.current.open() } } >立即发布} {/*项目在线质量检测*/} {isAdmin && this.props.toEditPage(this.props.match.params, workId)}>编辑作业} { // work_statuses && work_statuses.indexOf('关联项目') != -1 && this.openConnectionProject({ homework_id: workId })}>关联项目 this.props.toCreateProject()}>创建项目 } { // work_statuses && work_statuses.indexOf('取消关联') != -1 && this.cancelConnectionProject( {homework_id: workId} )}>取消关联 } {work_statuses && work_statuses.indexOf('提交作品') != -1 && { this.props.toWorkPostPage(this.props.match.params)}} >提交作品} { work_statuses && work_statuses.indexOf('补交作品') != -1 && { this.props.toWorkPostPage(this.props.match.params)}}> 补交作品 } {work_statuses && work_statuses.indexOf('修改作品') != -1 && { this.props.toWorkPostPage(this.props.match.params, null, true, work_id)}} >修改作品} {work_statuses && work_statuses.indexOf('补交附件') != -1 && 补交附件 }
    } {/* 内容区 */} {/* --------------------------------------------------------------------- */} {/* 作业设置 */} {/* http://localhost:3007/classrooms/1309/homework/9300/setting */} () } > () } > {/* 作品列表 */} () } > {/* 作品列表 */} () } > {/* 作业问答 */} () } > () } > () } > () } > () } > () } > {/* 作品列表 */} () } > () } > {/* 作业问答 */} () } > () } > () } > () } >
    ) } } export default ( CommonWorkDetailIndex) ;