import React, { Component } from 'react'; import { SnackbarHOC } 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 { CNotificationHOC } from '../common/CNotificationHOC' import { RouteHOC } from './common' import locale from 'antd/lib/date-picker/locale/zh_CN'; import { WordsBtn, MarkdownToHtml, trigger, queryString, downloadFile } from 'educoder'; import axios from 'axios'; import Modals from '../../modals/Modals'; 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 { 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) } } // 补交附件 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.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 }; 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 } const isAdmin = this.props.isAdmin() let exportParams = {} const isListModule = childModuleName == '作品列表'; // 是列表页 let params = {} if (isListModule) { // TODO if(this.child!=undefined) { 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)}` return (