|
|
@ -5,6 +5,7 @@ import axios from 'axios';
|
|
|
|
import {markdownToHTML,getImageUrl} from 'educoder';
|
|
|
|
import {markdownToHTML,getImageUrl} from 'educoder';
|
|
|
|
import CompetitionContents from './CompetitionContents';
|
|
|
|
import CompetitionContents from './CompetitionContents';
|
|
|
|
import CompetitionContentsChart from './CompetitionContentsChart';
|
|
|
|
import CompetitionContentsChart from './CompetitionContentsChart';
|
|
|
|
|
|
|
|
import CompetitionContentsMd from './CompetitionContentsMd';
|
|
|
|
import NoneData from "../../courses/shixunHomework/shixunHomework";
|
|
|
|
import NoneData from "../../courses/shixunHomework/shixunHomework";
|
|
|
|
|
|
|
|
|
|
|
|
import './CompetitionCommon.css';
|
|
|
|
import './CompetitionCommon.css';
|
|
|
@ -18,7 +19,8 @@ class CompetitionCommon extends Component{
|
|
|
|
data:undefined,
|
|
|
|
data:undefined,
|
|
|
|
bannerdata:undefined,
|
|
|
|
bannerdata:undefined,
|
|
|
|
module_type:undefined,
|
|
|
|
module_type:undefined,
|
|
|
|
mdContentdata:undefined
|
|
|
|
mdContentdata:undefined,
|
|
|
|
|
|
|
|
Competitionedittype:false
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -46,6 +48,7 @@ class CompetitionCommon extends Component{
|
|
|
|
if(response.status===200){
|
|
|
|
if(response.status===200){
|
|
|
|
this.setState({
|
|
|
|
this.setState({
|
|
|
|
data:response.data,
|
|
|
|
data:response.data,
|
|
|
|
|
|
|
|
thiskeys:response.data.competition_modules[0].position
|
|
|
|
})
|
|
|
|
})
|
|
|
|
this.getrightdata(
|
|
|
|
this.getrightdata(
|
|
|
|
response.data.competition_modules[0].id,
|
|
|
|
response.data.competition_modules[0].id,
|
|
|
@ -59,12 +62,33 @@ class CompetitionCommon extends Component{
|
|
|
|
})
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
getrightdatas=(e)=>{
|
|
|
|
|
|
|
|
let keys=parseInt(e.key);
|
|
|
|
|
|
|
|
this.getlistdata(keys)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
getlistdata=(keys)=>{
|
|
|
|
|
|
|
|
let{data}=this.state;
|
|
|
|
|
|
|
|
this.setState({
|
|
|
|
|
|
|
|
thiskeys:keys
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
data&&data.competition_modules.map((item,key)=>{
|
|
|
|
|
|
|
|
if(keys===item.position){
|
|
|
|
|
|
|
|
this.getrightdata(item.id,item.module_type,item.module_url,item.has_url)
|
|
|
|
|
|
|
|
return
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
}
|
|
|
|
getrightdata=(id,typeid,module_url,has_url)=>{
|
|
|
|
getrightdata=(id,typeid,module_url,has_url)=>{
|
|
|
|
console.log(id,typeid,module_url,has_url)
|
|
|
|
console.log(id,typeid,module_url,has_url)
|
|
|
|
this.setState({
|
|
|
|
this.setState({
|
|
|
|
module_id:id,
|
|
|
|
module_id:id,
|
|
|
|
module_type:typeid
|
|
|
|
module_type:typeid
|
|
|
|
})
|
|
|
|
})
|
|
|
|
|
|
|
|
if(typeid==="enroll"){
|
|
|
|
|
|
|
|
this.props.history.replace(`/newcompetitions/${this.props.match.params.identifier}/enroll`);
|
|
|
|
|
|
|
|
return
|
|
|
|
|
|
|
|
}
|
|
|
|
if(has_url===false){
|
|
|
|
if(has_url===false){
|
|
|
|
let url=`${module_url}`;
|
|
|
|
let url=`${module_url}`;
|
|
|
|
axios.get(url).then((response) => {
|
|
|
|
axios.get(url).then((response) => {
|
|
|
@ -76,19 +100,38 @@ class CompetitionCommon extends Component{
|
|
|
|
}).catch((error) => {
|
|
|
|
}).catch((error) => {
|
|
|
|
console.log(error)
|
|
|
|
console.log(error)
|
|
|
|
})
|
|
|
|
})
|
|
|
|
|
|
|
|
}else{
|
|
|
|
|
|
|
|
this.props.history.replace(module_url);
|
|
|
|
|
|
|
|
return
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Competitionedit=()=>{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
this.setState({
|
|
|
|
|
|
|
|
Competitionedittype:true
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
hideCompetitionedit=()=>{
|
|
|
|
|
|
|
|
this.setState({
|
|
|
|
|
|
|
|
Competitionedittype:false
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
render() {
|
|
|
|
render() {
|
|
|
|
let {data,bannerdata,module_type,module_id,mdContentdata}=this.state;
|
|
|
|
let {data,bannerdata,module_type,Competitionedittype,mdContentdata}=this.state;
|
|
|
|
console.log(module_type)
|
|
|
|
console.log(module_type)
|
|
|
|
return (
|
|
|
|
return (
|
|
|
|
data===undefined?"":<div className={"educontent clearfix mt20 "}>
|
|
|
|
data===undefined?"":<div className={"educontent clearfix mt20 "}>
|
|
|
|
|
|
|
|
|
|
|
|
<Breadcrumb separator=">">
|
|
|
|
<Breadcrumb separator=">">
|
|
|
|
<Breadcrumb.Item href="">在线竞赛</Breadcrumb.Item>
|
|
|
|
<Breadcrumb.Item><Link to={"/newcompetitions"}>在线竞赛</Link></Breadcrumb.Item>
|
|
|
|
<Breadcrumb.Item href="">{data&&data.name}</Breadcrumb.Item>
|
|
|
|
<Breadcrumb.Item>{data&&data.name}</Breadcrumb.Item>
|
|
|
|
</Breadcrumb>
|
|
|
|
</Breadcrumb>
|
|
|
|
|
|
|
|
|
|
|
|
<div className={"mt10 relative"}>
|
|
|
|
<div className={"mt10 relative"}>
|
|
|
@ -173,12 +216,14 @@ class CompetitionCommon extends Component{
|
|
|
|
|
|
|
|
|
|
|
|
<Layout className={'teamsLayout mt40'}>
|
|
|
|
<Layout className={'teamsLayout mt40'}>
|
|
|
|
<Sider>
|
|
|
|
<Sider>
|
|
|
|
<Menu mode="inline" className="CompetitionMenu" defaultSelectedKeys={['1']}>
|
|
|
|
<Menu mode="inline" className="CompetitionMenu" defaultSelectedKeys={['1']} onClick={(e)=>this.getrightdatas(e)}>
|
|
|
|
|
|
|
|
|
|
|
|
{data&&data.competition_modules.map((item,key)=>{
|
|
|
|
{data&&data.competition_modules.map((item,key)=>{
|
|
|
|
return(
|
|
|
|
return(
|
|
|
|
<Menu.Item key={item.position}>
|
|
|
|
<Menu.Item key={item.position}>
|
|
|
|
{item.has_url===false?<span onClick={()=>this.getrightdata(item.id,item.module_type,item.module_url,item.has_url)}>{item.name}</span>:<a
|
|
|
|
{item.has_url===false?<span
|
|
|
|
|
|
|
|
// onClick={()=>this.getrightdata(item.id,item.module_type,item.module_url,item.has_url)}
|
|
|
|
|
|
|
|
>{item.name}</span>:<a
|
|
|
|
// target="_blank"
|
|
|
|
// target="_blank"
|
|
|
|
href={item.module_url}
|
|
|
|
href={item.module_url}
|
|
|
|
// onClick={()=>this.getrightdata(item.id,item.module_type)}
|
|
|
|
// onClick={()=>this.getrightdata(item.id,item.module_type)}
|
|
|
@ -191,17 +236,25 @@ class CompetitionCommon extends Component{
|
|
|
|
</Sider>
|
|
|
|
</Sider>
|
|
|
|
|
|
|
|
|
|
|
|
<Layout className={"teamsLayoutleft"}>
|
|
|
|
<Layout className={"teamsLayoutleft"}>
|
|
|
|
{this.state.module_type==="chart"?<CompetitionContentsChart
|
|
|
|
{this.state.module_type==="chart"?Competitionedittype===false?<CompetitionContentsChart
|
|
|
|
{...this.props}
|
|
|
|
{...this.props}
|
|
|
|
{...this.state}
|
|
|
|
{...this.state}
|
|
|
|
/>:<CompetitionContents
|
|
|
|
Competitionedit={()=>this.Competitionedit()}
|
|
|
|
|
|
|
|
/>:"":Competitionedittype===false?<CompetitionContents
|
|
|
|
|
|
|
|
Competitionedit={()=>this.Competitionedit()}
|
|
|
|
{...this.props}
|
|
|
|
{...this.props}
|
|
|
|
{...this.state}
|
|
|
|
{...this.state}
|
|
|
|
/>}
|
|
|
|
/>:""}
|
|
|
|
{/*<CompetitionContentsChart*/}
|
|
|
|
{/*<CompetitionContentsChart*/}
|
|
|
|
{/*{...this.props}*/}
|
|
|
|
{/*{...this.props}*/}
|
|
|
|
{/*{...this.state}*/}
|
|
|
|
{/*{...this.state}*/}
|
|
|
|
{/*/>*/}
|
|
|
|
{/*/>*/}
|
|
|
|
|
|
|
|
{Competitionedittype===true?<CompetitionContentsMd
|
|
|
|
|
|
|
|
hideCompetitionedit={()=>this.hideCompetitionedit()}
|
|
|
|
|
|
|
|
getlistdata={(keys)=>this.getlistdata(keys)}
|
|
|
|
|
|
|
|
{...this.props}
|
|
|
|
|
|
|
|
{...this.state}
|
|
|
|
|
|
|
|
/>:""}
|
|
|
|
</Layout>
|
|
|
|
</Layout>
|
|
|
|
|
|
|
|
|
|
|
|
</Layout>
|
|
|
|
</Layout>
|
|
|
|