You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
educoder/public/react/src/modules/tpm/shixunchild/Challenges/Challenges.js

829 lines
33 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

import React, { Component } from 'react';
import { Link } from "react-router-dom";
import { getImageUrl ,markdownToHTML, configShareForCustom} from 'educoder';
import { CircularProgress } from 'material-ui/Progress';
import { Modal, Spin, Tooltip ,message,Icon,Button,Divider} from 'antd';
import axios from 'axios';
import '../shixunchildCss/Challenges.css';
import AccountProfile from"../../../user/AccountProfile";
const $ = window.$;
class Challenges extends Component {
constructor(props) {
super(props)
this.state = {
ChallengesDataList: undefined,
operate: true,
startbtns: false,
sumid: "",
sumidtype: false,
startshixunCombattype:false,
shixunsreplace:false,
shixunsmessage:"",
hidestartshixunsreplacevalue:"",
operationstrue:false,
isSpin:false,
boxoffsetHeigh:0,
opentitletype:true,
isopentitletype:"Less",
}
}
ChallengesList = () => {
let id = this.props.match.params.shixunId;
let ChallengesURL = `/shixuns/` + id + `/challenges.json`;
axios.get(ChallengesURL).then((response) => {
if (response.status === 200) {
if (response.data.status === 403||response.data.status === 401||response.data.status === 500) {
}else{
configShareForCustom(this.props.shixunsDetails.name, response.data.description)
this.setState({
ChallengesDataList: response.data,
sumidtype: false,
});
if(response.data.description=== ""||response.data.description===null||response.data.description===undefined){
this.setState({
isopentitletype:"Less",
})
}
this.getjianjiesize()
}
}
}).catch((error) => {
console.log(error)
});
}
getjianjiesize=()=>{
let {ChallengesDataList}=this.state;
let boxoffsetHeigh;
let box=document.getElementById("shixunchallengesid");
if(box){
boxoffsetHeigh=box.offsetHeight
if(ChallengesDataList === undefined || ChallengesDataList&&ChallengesDataList.description=== ""||ChallengesDataList&&ChallengesDataList.description===null||ChallengesDataList&&ChallengesDataList.description===undefined){
}else{
if(this.state.isopentitletype==="greater"){
}else{
if(boxoffsetHeigh>=300){
this.setState({
opentitletype:true,
isopentitletype:"greater",
boxoffsetHeigh:boxoffsetHeigh
})
}else{
this.setState({
isopentitletype:"Less",
boxoffsetHeigh:boxoffsetHeigh
})
}
}
}
}
}
componentDidMount() {
if(this.state.isopentitletype==="greater"){
}else {
this.ChallengesList()
}
}
componentDidUpdate = (prevProps,prevState) => {
//防止陷入无限循环
if(prevState.ChallengesDataList!=this.state.ChallengesDataList){
if(this.state.isopentitletype==="greater"){
}else{
this.getjianjiesize()
}
}
}
updatamakedown = (id) => {
setTimeout(() => {
var shixunDescr = window.editormd.markdownToHTML(id, {
htmlDecode: "style,script,iframe",
taskList: true,
tex: true,
flowChart: true,
sequenceDiagram: true
});
$("#" + id + " p:first").addClass("ReactMarkdown");
}, 200)
}
// 关卡的上移下移操作
operations = (sumid, type) => {
this.setState({
operationstrue:true
})
let { ChallengesDataList } = this.state;
let operationUrl;
if (type === "up") {
operationUrl = "/shixuns/" + ChallengesDataList.shixun_identifier + "/challenges/" + sumid + "/index_up.json";
} else if (type === "down") {
operationUrl = "/shixuns/" + ChallengesDataList.shixun_identifier + "/challenges/" + sumid + "/index_down.json";
}
if (this.state.operate) {
this.setState({
operate: false
});
axios.get(operationUrl).then((response) => {
if (response.status === 200) {
this.setState({
operate: true,
operationstrue:false
});
this.ChallengesList();
}
}).catch((error) => {
console.log(error);
this.setState({
operate: true,
operationstrue:false
});
this.ChallengesList()
})
}
}
delOperations = (sumid) => {
this.setState({
sumid: sumid,
sumidtype: true
})
}
clonedelOperationss = () => {
this.setState({
sumidtype: false
})
}
delOperationss = () => {
let { ChallengesDataList, sumid } = this.state;
let operationUrl = "/shixuns/" + ChallengesDataList.shixun_identifier + "/challenges/" + sumid+".json"
if (this.state.operate) {
this.setState({
operate: false,
sumidtype: false
})
axios.delete(operationUrl, {
withCredentials: true
}).then((response) => {
if (response.status === 200) {
this.setState({
operate: true,
sumidtype: false
});
this.ChallengesList();
}
this.ChallengesList()
}).catch((error) => {
console.log(error);
this.setState({
operate: true,
sumidtype: false
});
this.ChallengesList()
})
}
}
startgameid=(id)=>{
let url = "/shixuns/" + id + "/shixun_exec.json";
axios.get(url).then((response) => {
if (response.data.status === -2) {
this.setState({
shixunsreplace:true,
hidestartshixunsreplacevalue:response.data.message+".json"
})
} else if (response.data.status === -1) {
console.log(response)
}else if(response.data.status===-3){
this.setState({
shixunsmessage:response.data.message,
startshixunCombattype:true,
})
} else {
window.location.href = "/tasks/" + response.data.game_identifier;
// window.location.href = path
// let path="/tasks/"+response.data.game_identifier;
// this.props.history.push(path);
}
}).catch((error) => {
});
}
hidestartshixunsreplace=(url)=>{
this.setState({
isSpin:true,
})
axios.get(url).then((response) => {
if(response.status===200){
// let path="/shixuns/"+response.data.shixun_identifier+"/challenges";
// this.props.history.push(path);
message.success('重置成功,正在进入实训!');
this.startgameid(response.data.shixun_identifier);
this.setState({
shixunsreplace:false,
isSpin:false,
})
// message.success('重置成功,正在进入实训!');
// this.startshixunCombat();
}}
).catch((error) => {
});
}
//编辑实训题目选择题
EditTraining=(type, ids, path)=>{
let { ChallengesDataList } = this.state;
window.location.href = "/shixuns/" + ChallengesDataList.shixun_identifier + "/challenges/" + ids + path;
}
//开始实战按钮
startshixunCombat = (type, ids, id) => {
if(this.props.checkIfLogin()===false){
this.props.showLoginDialog()
return
}
if(this.props.checkIfProfileCompleted()===false){
this.setState({
AccountProfiletype:true
})
return
}
// if(this.props.checkIfProfessionalCertification()===false){
// this.setState({
// AccountProfiletype:true
// })
// return
// }
let { ChallengesDataList } = this.state;
// let id = this.props.match.params.shixunId;
this.setState({
startbtns: true
})
let url = "/shixuns/" + ChallengesDataList.shixun_identifier + "/shixun_exec.json?challenge_id="+id;
axios.get(url).then((response) => {
if (response.data.status === -2) {
this.setState({
startbtns:false,
shixunsreplace:true,
hidestartshixunsreplacevalue:response.data.message+".json"
})
} else if (response.data.status === -1) {
this.setState({
startbtns: false
})
console.log(response)
}else if(response.data.status===-3){
this.setState({
shixunsmessage:response.data.message,
startshixunCombattype:true,
startbtns:false
})
} else {
window.location.href = "/tasks/" + response.data.game_identifier;
// window.location.href = path
// let path="/tasks/"+response.data.game_identifier;
// this.props.history.push(path);
}
}).catch((error) => {
});
// if(path===null){
// }else{
// if (type > 4 || type === false) {
// window.location.href = path;
// } else {
//
// }
// }
}
hidestartshixunCombattype=()=>{
this.setState({
startshixunCombattype:false
})
}
hideAccountProfile=()=>{
this.setState({
AccountProfiletype:false
})
}
opentitle=()=>{
this.setState({
opentitletype:!this.state.opentitletype,
})
}
render() {
let { ChallengesDataList, startbtns, sumidtype ,startshixunCombattype,shixunsreplace,shixunsmessage,hidestartshixunsreplacevalue,operationstrue,AccountProfiletype} = this.state;
let { loadingContent } = this.props;
if (ChallengesDataList != undefined) {
this.updatamakedown("ReactMarkdown")
}
let id = this.props.match.params.shixunId;
const antIcon = <Icon type="loading" style={{ fontSize: 24 }} spin />;
return (
<React.Fragment>
{AccountProfiletype===true?<AccountProfile
hideAccountProfile={()=>this.hideAccountProfile()}
{...this.props}
{...this.state}
/>:""}
{loadingContent ?
<CircularProgress size={40} thickness={3} style={{
marginLeft: 'auto',
marginRight: 'auto',
marginTop: '200px',
display: 'block'
}} /> :
<div>
{/*<p className="clearfix mb20">*/}
{/* {this.props.identity < 5 && ChallengesDataList&&ChallengesDataList.shixun_status=== 0 ?*/}
{/* <Link to={"/shixuns/" + id + "/challenges/new"}*/}
{/* className="white-btn edu-greenline-btn fr addshixuns"*/}
{/* // data-tip-down="新增代码编辑类型任务"*/}
{/* >*/}
{/* <Tooltip placement="bottom" title={"新增代码编辑类型任务"}>*/}
{/* <img src={getImageUrl("images/educoder/icon/addsmallgreen.svg")}*/}
{/* className="fl mr5 mt6" />*/}
{/* 实践任务*/}
{/* </Tooltip>*/}
{/* </Link> : ""*/}
{/* }*/}
{/* {this.props.identity < 5 && ChallengesDataList&&ChallengesDataList.shixun_status=== 0 ?*/}
{/* <Link to={"/shixuns/" + id + "/challenges/newquestion"}*/}
{/* className="white-btn edu-greenline-btn fr mr20 addshixuns"*/}
{/* // data-tip-down="新增选择题类型任务"*/}
{/* >*/}
{/* <Tooltip placement="bottom" title={"新增选择题类型任务"}>*/}
{/* <img src={getImageUrl("images/educoder/icon/addsmallgreen.svg")}*/}
{/* className="fl mr5 mt5" />*/}
{/* 选择题任务*/}
{/* </Tooltip>*/}
{/* </Link> : ""*/}
{/* }*/}
{/*</p>*/}
<style>
{
`
.task-item{
margin-bottom: 20px;
padding-bottom: 20px;
margin-top: 10px;
}
`
}
</style>
<p className="clearfix mb20 edu-back-white">
<div className={"shixunjianjie"}>
<span className="font-16 fl">简介</span>
{this.props.identity < 5 && ChallengesDataList&&ChallengesDataList.shixun_status < 3 ?
<a href={"/shixuns/" + id + "/settings?edit=1"} className="fr color-blue font-14">
{/*<img src={getImageUrl("images/educoder/icon/edit.svg")} className="fl mt3 ml2" />*/}
编辑
</a>:""}
{this.props.user && this.props.user.main_site === true ?
this.props.identity < 5?<a className="fr font-14 color-blue mr20" href="/forums/2943"
target="_blank">实训制作指南</a> : "":""}
</div>
<div>
<div className={"pd20"} id={"shixunchallengesid"}>
<style>
{
`
.editormd-html-preview, .editormd-preview-container {
width: 100% !important;
}
`
}
</style>
<style>
{
`
.markdown-body img{
min-height: 200px;
}
`
}
</style>
{ChallengesDataList === undefined || ChallengesDataList&&ChallengesDataList.description=== ""||ChallengesDataList&&ChallengesDataList.description===null||ChallengesDataList&&ChallengesDataList.description===undefined?<style>
{
`
#shixunchallengesid{
max-height: 300px;
overflow: hidden;
}
`
}
</style>:""}
{ChallengesDataList === undefined || ChallengesDataList&&ChallengesDataList.description=== ""||ChallengesDataList&&ChallengesDataList.description===null||ChallengesDataList&&ChallengesDataList.description===undefined?"":this.state.isopentitletype==="greater"&&this.state.opentitletype===true?
<style>
{
`
#shixunchallengesid{
max-height:260px;
overflow: hidden;
}
`
}
</style>:""}
<div className="justify break_full_word new_li "
id="challenge_editorMd_description">
{ChallengesDataList === undefined || ChallengesDataList&&ChallengesDataList.description=== ""||ChallengesDataList&&ChallengesDataList.description===null||ChallengesDataList&&ChallengesDataList.description===undefined?
<div className="edu-tab-con-box clearfix edu-txt-center">
{this.props.identity < 5?<img className="newedu-nodata-img mb20"
src={getImageUrl("images/educoder/shixunnodata.png")} />:<img className="edu-nodata-img mb20"
src={getImageUrl("images/educoder/nodata.png")} />}
<p className="edu-nodata-p mb80">暂时还没有相关数据哦</p>
</div>
:<p id="ReactMarkdown" style={{overflow:'hidden'}}>
{ChallengesDataList === undefined ? "" :ChallengesDataList&&ChallengesDataList.description===null?"":
<div className={"markdown-body"} dangerouslySetInnerHTML={{__html: markdownToHTML(ChallengesDataList.description).replace(/▁/g,"▁▁▁")}}></div>
}
</p>}
</div>
</div>
<style>
{
`
.ant-divider-horizontal.ant-divider-with-text-center.ant-divider-dashed::before{
border: none !important
}
.ant-divider-horizontal.ant-divider-with-text-center.ant-divider-dashed::after{
border: none !important
}
`
}
</style>
{this.state.isopentitletype==="Less"?"":this.state.opentitletype===true?<Divider dashed={true} onClick={()=>this.opentitle()} className={"pointer Breadcrumbfont color-grey-9 "}>
<a className={"font-14 color-grey-9"}>阅读全文 <i className={"iconfont icon-jiantou9 font-14"}></i></a>
</Divider>:<Divider dashed={true} onClick={()=>this.opentitle()} className={"pointer Breadcrumbfont color-grey-9 "}>
<a className={"font-14 color-grey-9"}>收起全文 <i className={"iconfont icon-changyongtubiao-xianxingdaochu-zhuanqu- font-14"}></i></a>
</Divider>}
</div>
</p>
<div className={"shixunjianjiecballenges edu-back-white boreee"}>
<span className="font-16 fl">全部任务</span>
<span className="fr mt5">
{/* <img src={getImageUrl("images/educoder/icon/addsmallgreen.svg")}
className="fl mr5 mt6" />*/}
{/*<Tooltip placement="bottom" title={"新增代码编辑类型任务"}>*/}
{/* </Tooltip>*/}
{this.props.identity < 5 && ChallengesDataList&&ChallengesDataList.shixun_status=== 0 ?
<Link to={"/shixuns/" + id + "/challenges/new"}
className="fr"
// data-tip-down="新增代码编辑类型任务"
>
<Button type="primary"
className="edu-default-btn edu-greenback-btn"
>新增实践任务</Button>
</Link> : ""
}
{this.props.identity < 5 && ChallengesDataList&&ChallengesDataList.shixun_status=== 0 ?
<Link to={"/shixuns/" + id + "/challenges/newquestion"}
className="fr mr20"
// data-tip-down="新增选择题类型任务"
>
<Button type="primary"
className="edu-default-btn edu-greenback-btn"
>新增选择题任务</Button>
</Link> : ""
}
{/*<Tooltip placement="bottom" title={"新增选择题类型任务"}>*/}
{/* </Tooltip>*/}
{/* <img src={getImageUrl("images/educoder/icon/addsmallgreen.svg")}
className="fl mr5 mt5" />*/}
</span>
</div>
<div className="alltask edu-back-white padding1020pxshixun">
{ChallengesDataList === undefined ? <div className="alltask">
<div className="edu-tab-con-box clearfix edu-txt-center">
{this.props.identity < 5?<img className="newedu-nodata-img mb20"
src={getImageUrl("images/educoder/shixunnodata.png")} />:<img className="edu-nodata-img mb20"
src={getImageUrl("images/educoder/nodata.png")} />}
<p className="edu-nodata-p mb80">暂时还没有相关数据哦</p>
</div>
</div> : ChallengesDataList.challenge_list === undefined ?
<div className="alltask">
<div className="edu-tab-con-box clearfix edu-txt-center">
{this.props.identity < 5?<img className="newedu-nodata-img mb20"
src={getImageUrl("images/educoder/shixunnodata.png")} />:<img className="edu-nodata-img mb20"
src={getImageUrl("images/educoder/nodata.png")} />}
<p className="edu-nodata-p mb80">暂时还没有相关数据哦</p>
</div>
</div>
: ChallengesDataList.challenge_list.length === 0 ?
<div className="alltask">
<div className="edu-tab-con-box clearfix edu-txt-center">
{this.props.identity < 5?<img className="newedu-nodata-img mb20"
src={getImageUrl("images/educoder/shixunnodata.png")} />:<img className="edu-nodata-img mb20"
src={getImageUrl("images/educoder/nodata.png")} />}
<p className="edu-nodata-p mb80">暂时还没有相关数据哦</p>
</div>
</div>
: ChallengesDataList.challenge_list.map((item, key) => {
return (
<div className="task-item" key={key} id={"shixun_index_" + item.position}>
<div className="clearfix mb5">
<div className="mr15 font-16 fl shixunstartbutton666666">{key+1}{item.st === 0 ?"实践题":"选择题"}
{/*<a className={"edu-default-btn edu-blueline-btn fr Finish_button mtf3"}*/}
{/* onClick={()=>this.startshixunCombat(false,undefined, item.challenge_id)}*/}
{/* // onClick={() => this.startshixunCombat(false)}*/}
{/* title={"查看挑战关卡"}*/}
{/*>已完成</a>*/}
{/*判断比较复杂 有排第一不能是灰色按钮*/}
{item.status === 2 ?
<Button type="primary" shape="round" size={"small"} className={"ml30 shixunstartbutton33BD8C"}>已完成</Button>
: ""
}
{/* <a className={"edu-default-btn edu-blueback-btn fr Finish_button"}
title={"直接挑战"}
style={{marginTop: '-2px'}}
onClick={()=>this.startshixunCombat(false,undefined, item.challenge_id)}
// onClick={() => this.startshixunCombat(false)}
>直接挑战</a> */}
{
ChallengesDataList.allow_skip === true && item.status === 1?
<Button type="primary" shape="round" size={"small"} className={"ml30 shixunstartbuttonFF6601"}>未完成</Button>
: ""
}
{/* <Tooltip placement="bottom" title={"直接挑战"}>
<a className={"edu-default-btn edu-blueback-btn fr Finish_button"}
onClick={()=>this.startshixunCombat(false,undefined, item.challenge_id)}
style={{marginTop: '-2px'}}>直接挑战</a>
</Tooltip>
*/}
{
ChallengesDataList.allow_skip === false ? item.status === 1?
<Button type="primary" shape="round" size={"small"} className={"ml30 shixunstartbuttonFF6601"}>未完成</Button>
:"":""
}
{/*<Tooltip placement="bottom" title={"请先完成前序关卡"}>*/}
{/* <a className={"edu-default-btn edu-greyback-btn fr Finish_button"}*/}
{/* // onClick={this.props.identity<5&&item.open_game!=""?()=>this.startshixunCombat(false,undefined, item.challenge_id):""}*/}
{/* style={{marginTop: '-2px'}}>直接挑战</a>*/}
{/*</Tooltip>*/}
{
item.status === 0 ?
<Button type="primary" shape="round" size={"small"} className={"ml30 shixunstartbuttonFF6601"}>未完成</Button>
:""
}
</div>
<span className="fr">
{item.delete_url != undefined &&
<Tooltip placement="bottom" title={"删除"}>
<a onClick={() => this.delOperations(item.challenge_id)}
style={{ display:this.props.user.admin===true?"block":this.props.identity < 5 && ChallengesDataList.shixun_status === 0 ? "block" : 'none' }}
className="fl mr25">
{/*<img src={getImageUrl("images/educoder/icon/close.svg")}*/}
{/* className="fl mt5 ml5" />*/}
<i className={"iconfont icon-shanchu_Hover"}></i>
</a>
</Tooltip>
}
{item.up_url != undefined &&
<Tooltip placement="bottom" title={"向上移动"}>
<a onClick={operationstrue===true?"":() => this.operations(item.challenge_id, "up")}
style={{ display:this.props.user.admin===true?"block":this.props.identity < 5 && ChallengesDataList.shixun_status === 0 ? "block" : 'none' }}
className="fl mr25">
{/*<img src={getImageUrl("images/educoder/icon/moveup.svg")}*/}
{/* className="fl mt2 ml4" />*/}
<i className={"iconfont icon-shangyi_Hover"}></i>
</a>
</Tooltip>
}
{item.down_url != undefined &&
<Tooltip placement="bottom" title={"向下移动"}>
<a onClick={operationstrue===true?"":() => this.operations(item.challenge_id, "down")}
style={{ display: this.props.user.admin===true?"block":this.props.identity < 5 && ChallengesDataList.shixun_status=== 0 ? "block" : 'none' }}
className="fl mr25">
{/*<img src={getImageUrl("images/educoder/icon/movedown.svg")} className="fl mt2 ml4" />*/}
<i className={"iconfont icon-xiayi_Hover"}></i>
</a>
</Tooltip>
}
{
item.st === 1 ?
<Tooltip placement="bottom" title={"编辑"}>
<Link
style={{ display:this.props.user.admin===true?"block":this.props.identity < 5 && ChallengesDataList.shixun_status< 3 ? "block" : 'none' }}
to={"/shixuns/" + ChallengesDataList.shixun_identifier + "/challenges/" + item.challenge_id + "/editquestion"}
className="fl">
{/*<img src={getImageUrl("images/educoder/icon/edit.svg")}*/}
{/* className="fl mt3 ml2" />*/}
<i className={"iconfont icon-bianji_Hover"}></i>
</Link>
</Tooltip>
:
<Tooltip placement="bottom" title={"编辑"}>
<Link
style={{ display:this.props.user.admin===true?"block":this.props.identity < 5 && ChallengesDataList.shixun_status < 3 ? "block" : 'none' }}
to={"/shixuns/" + ChallengesDataList.shixun_identifier + "/challenges/" + item.challenge_id + "/editcheckpoint"}
className="fl">
{/*<img src={getImageUrl("images/educoder/icon/edit.svg")}*/}
{/* className="fl mt3 ml2" />*/}
<i className={"iconfont icon-bianji_Hover"}></i>
</Link>
</Tooltip>
}
</span>
</div>
<div className="clearfix mb5">
{/*onClick={() => this.EditTraining(this.props.identity, item.challenge_id, "/editquestion")}*/}
{this.props.identity<5?
item.st === 1 ?
<div className="font-16 color05101a fonthiddens">{item.name}</div>
:
<div className="font-16 color05101a fonthiddens">{item.name}</div>:<div
// onClick={() => this.startshixunCombat(this.props.identity, item.challenge_id, "/editcheckpoint")}
className="font-16 color05101a fonthiddens">{item.name}</div>
}
{/* onClick={() => this.EditTraining(this.props.identity, item.challenge_id, "/editcheckpoint")}*/}
<Modal
keyboard={false}
visible={startbtns}
closable={false}
footer={null}
className="startbtnModal"
>
<Spin size="large" />
</Modal>
</div>
<div className="clearfix">
<style>
{
`
.task-colspan {
min-width: 18% !important;
}
`
}
</style>
<span className="task-colspan"><span className={"shixunbingbaocun12"}>正在挑战 </span><span className={"shixunbingbaocun33312"}>{item.playing_count}</span></span>
<span className="task-colspan"><span className={"shixunbingbaocun12"}>完成挑战 </span><span className={"shixunbingbaocun33312"}>{item.passed_count}</span></span>
<span className="task-colspan"><span className={"shixunbingbaocun12"}>可获经验 </span><span className={"shixunbingbaocun33312"}>{item.score}</span></span>
</div>
</div>
)
})}
</div>
<Modal
keyboard={false}
title="提示"
visible={sumidtype}
closable={false}
footer={null}
>
<div className="task-popup-content">
<p className="task-popup-text-center font-16">
<span className="font-17 mt10">是否删除该关卡</span>
</p>
<p className="task-popup-text-center font-16 mt30">
<a className="pop_close task-btn mr20"
onClick={() => this.clonedelOperationss()}
>取消</a>
<a onClick={() => this.delOperationss()}
className="task-btn task-btn-orange ">确定</a>
</p>
</div>
</Modal>
<Modal
keyboard={false}
title="提示"
visible={startshixunCombattype}
closable={false}
footer={null}
>
<div className="task-popup-content">
<p className="task-popup-text-center font-16 pb20">目前该实训项目尚在内测中将于{shixunsmessage}之后开放谢谢 </p>
</div>
<div className="task-popup-submit clearfix">
{/*<a onClick={this.hidestartshixunCombattype} className="task-btn fl">取消</a>*/}
<a className="task-btn task-btn-orange fr mr51" onClick={this.hidestartshixunCombattype}>知道了啦</a>
</div>
{/*<p className="inviteTipbtn with100 fl">*/}
{/*<a onClick={this.hidestartshixunCombattype}>知道了</a>*/}
{/*</p>*/}
</Modal>
<Modal
keyboard={false}
title="提示"
visible={shixunsreplace}
closable={false}
footer={null}
>
<Spin indicator={antIcon} spinning={this.state.isSpin}>
<div className="task-popup-content">
<p className="task-popup-text-center font-16 pb20">实训已经更新了正在为您重置!</p>
</div>
<div className="task-popup-submit clearfix">
<a className="task-btn task-btn-orange fr mr51"
onClick={() => this.hidestartshixunsreplace(hidestartshixunsreplacevalue)}>知道了</a>
</div>
</Spin>
</Modal>
</div>
}
</React.Fragment>
)
}
}
export default Challenges;
// {
// ChallengesDataList.allow_skip === false ? item.status === 1 && newstatus === 2 ?
// <Tooltip placement="bottom" title={"直接挑战"}>
// <a className={"edu-default-btn edu-blueback-btn fr Finish_button"}
// onClick={()=>this.startshixunCombat(false,undefined, item.challenge_id)}
// style={{marginTop: '-2px'}}>直接挑战</a>
// </Tooltip>
//
// : item.status === 1 && newstatus === 1 ?
// <Tooltip placement="bottom" title={"直接挑战"}>
// <a className={"edu-default-btn edu-blueback-btn fr Finish_button"}
// onClick={()=>this.startshixunCombat(false,undefined, item.challenge_id)}
// style={{marginTop: '-2px'}}>直接挑战</a>
// </Tooltip> : "" : ""
//
// }