@ -1,24 +1,18 @@
import React , { Component } from 'react' ;
import { Redirect } from 'react-router' ;
import { Link } from "react-router-dom" ;
import { BrowserRouter as Router , Route , Link , Switch } from "react-router-dom" ;
import PropTypes from 'prop-types' ;
import classNames from 'classnames' ;
import { getImageUrl , markdownToHTML , configShareForCustom } from 'educoder'
import { getImageUrl , markdownToHTML , configShareForCustom } from 'educoder' ;
import { CircularProgress } from 'material-ui/Progress' ;
import { Modal , Spin , Tooltip , message , Icon } from 'antd' ;
import { Modal , Spin , Tooltip , message , Icon , Button , Divider } from 'antd' ;
import 'antd/lib/pagination/style/index.cs s';
import axios from 'axios' ;
import ' ../shixunchildCss/Challenges.css'
import ' antd/lib/pagination/style/index.css';
import axios from 'axio s';
import '../shixunchildCss/Challenges.cs s';
import AccountProfile from "../../../user/AccountProfile" ;
@ -39,6 +33,8 @@ class Challenges extends Component {
hidestartshixunsreplacevalue : "" ,
operationstrue : false ,
isSpin : false ,
boxoffsetHeigh : 0 ,
opentitletype : true
}
}
@ -64,9 +60,32 @@ class Challenges extends Component {
}
componentDidMount ( ) {
setTimeout ( this . ChallengesList ( ) , 1000 ) ;
this . ChallengesList ( )
}
componentDidUpdate = ( prevProps , prevState ) => {
//防止陷入无限循环
if ( prevState . ChallengesDataList != this . state . ChallengesDataList ) {
let boxoffsetHeigh ;
let box = document . getElementById ( "shixunchallengesid" ) ;
if ( box ) {
boxoffsetHeigh = box . offsetHeight
if ( boxoffsetHeigh < 260 ) {
this . setState ( {
opentitletype : false ,
boxoffsetHeigh : boxoffsetHeigh
} )
} else {
this . setState ( {
boxoffsetHeigh : boxoffsetHeigh
} )
}
}
}
}
updatamakedown = ( id ) => {
setTimeout ( ( ) => {
var shixunDescr = window . editormd . markdownToHTML ( id , {
@ -301,6 +320,12 @@ class Challenges extends Component {
} )
}
opentitle = ( ) => {
this . setState ( {
opentitletype : ! this . state . opentitletype
} )
}
render ( ) {
let { ChallengesDataList , startbtns , sumidtype , startshixunCombattype , shixunsreplace , shixunsmessage , hidestartshixunsreplacevalue , operationstrue , AccountProfiletype } = this . state ;
let { loadingContent } = this . props ;
@ -325,61 +350,8 @@ class Challenges extends Component {
display : 'block'
} } / > :
< div className = "mt30 pl20 pr20" >
< 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" / >
实践任务
< / T o o l t i p >
< / L i n k > : " "
}
{ 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" / >
选择题任务
< / T o o l t i p >
< / L i n k > : " "
}
< / p >
< p className = "clearfix mb20" >
< span className = "font-16 fl" > 简介 < / s p a n >
< Tooltip placement = "bottom" title = { "编辑" } >
< a style = { { display : this . props . identity < 5 && ChallengesDataList && ChallengesDataList . shixun _status < 3 ? "block" : 'none' } }
href = { "/shixuns/" + id + "/settings?edit=1" } className = "ring-green fr" >
< img src = { getImageUrl ( "images/educoder/icon/edit.svg" ) } className = "fl mt3 ml2" / >
< / a >
< / T o o l t i p >
< / p >
< div className = "justify break_full_word new_li "
id = "challenge_editorMd_description" >
< p id = "ReactMarkdown" style = { { overflow : 'hidden' } } >
{ ChallengesDataList === undefined ? "" : ChallengesDataList && ChallengesDataList . description === null ? "" :
< div className = { "markdown-body" } dangerouslySetInnerHTML = { { _ _html : markdownToHTML ( ChallengesDataList . description ) . replace ( /▁/g , "▁▁▁" ) } } > < / d i v >
}
< / p >
{ / *
< span className = "markdown-body" dangerouslySetInnerHTML = { { _ _html : markdownToHTML ( question _title ) } }
style = { { display : 'inline-block' , width : '100%' , margin : '10px 0px 15px' } } > < / s p a n >
* / }
< / d i v >
< p className = "clearfix mb10 mt20" >
< span className = "font-16 fl" > 全部任务 < / s p a n >
< 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"*/ }
@ -405,84 +377,197 @@ class Challenges extends Component {
{ /* </Tooltip>*/ }
{ /* </Link> : ""*/ }
{ /* }*/ }
{ /*</p>*/ }
< style >
{
`
. task - item {
margin - bottom : 20 px ;
padding - bottom : 20 px ;
margin - top : 10 px ;
}
`
}
< / s t y l e >
< p className = "clearfix mb20 edu-back-white" >
< div className = { "shixunjianjie" } >
< span className = "font-16 fl" > 简介 < / s p a n >
{ this . props . identity < 5 && ChallengesDataList && ChallengesDataList . shixun _status < 3 ?
< Link to = { "/shixuns/" + id + "/settings" } className = "fr color-blue font-14" >
{ /*<img src={getImageUrl("images/educoder/icon/edit.svg")} className="fl mt3 ml2" />*/ }
编辑
< / L i n k > : " " }
{ 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 > : " " : " " }
< / d i v >
{ this . state . opentitletype === true ? < style >
{
`
# shixunchallengesid {
max - height : 260 px ;
overflow : hidden ;
}
`
}
< / s t y l e > : " " }
< div >
< div className = { "pd20" } id = { "shixunchallengesid" } >
< style >
{
`
. editormd - html - preview , . editormd - preview - container {
width : 100 % ! important ;
}
`
}
< / s t y l e >
< div className = "justify break_full_word new_li "
id = "challenge_editorMd_description" >
< p id = "ReactMarkdown" style = { { overflow : 'hidden' } } >
{ ChallengesDataList === undefined ? "" : ChallengesDataList && ChallengesDataList . description === null ? "" :
< div className = { "markdown-body" } dangerouslySetInnerHTML = { { _ _html : markdownToHTML ( ChallengesDataList . description ) . replace ( /▁/g , "▁▁▁" ) } } > < / d i v >
}
< / p >
< / d i v >
< / d i v >
{ 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 >
< / D i v i d e r > : < D i v i d e r d a s h e d = { t r u e } o n C l i c k = { ( ) = > t h i s . o p e n t i t l e ( ) } c l a s s N a m e = { " p o i n t e r B r e a d c r u m b f o n t c o l o r - g r e y - 9 " } >
< a className = { "font-14 color-grey-9" } > 收起全文 < i className = { "iconfont icon-changyongtubiao-xianxingdaochu-zhuanqu- font-14" } > < / i > < / a >
< / D i v i d e r > }
< / d i v >
< / p >
< div className = { "shixunjianjiecballenges edu-back-white" } >
< span className = "font-16 fl" > 全部任务 < / s p a n >
< span className = "fr mt5" >
{ / * < i m g s r c = { g e t I m a g e U r l ( " i m a g e s / e d u c o d e r / i c o n / a d d s m a l l g r e e n . s v g " ) }
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"
> 新增实践任务 < / B u t t o n >
< / L i n k > : " "
}
{ 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"
> 新增选择题任务 < / B u t t o n >
< / L i n k > : " "
}
{ /*<Tooltip placement="bottom" title={"新增选择题类型任务"}>*/ }
{ /* </Tooltip>*/ }
{ / * < i m g s r c = { g e t I m a g e U r l ( " i m a g e s / e d u c o d e r / i c o n / a d d s m a l l g r e e n . s v g " ) }
className = "fl mr5 mt5" / > * / }
< / s p a n >
< / d i v >
< div className = "alltask edu-back-white padding1020pxshixun" >
< div className = "alltask" >
{ ChallengesDataList === undefined ? < div className = "alltask" >
< div className = "edu-tab-con-box clearfix edu-txt-center" >
< img className = "edu-nodata-img mb20"
src = { getImageUrl ( "images/educoder/nodata.png" ) } / >
< p className = "edu-nodata-p mb20" > 暂时还没有相关数据哦 ! < / p >
{ 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 >
< / d i v >
< / d i v > : C h a l l e n g e s D a t a L i s t . c h a l l e n g e _ l i s t = = = u n d e f i n e d ?
< div className = "alltask" >
< div className = "edu-tab-con-box clearfix edu-txt-center" >
< img className = "edu-nodata-img mb20"
src = { getImageUrl ( "images/educoder/nodata.png" ) } / >
< p className = "edu-nodata-p mb20" > 暂时还没有相关数据哦 ! < / p >
{ 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 >
< / d i v >
< / d i v >
: ChallengesDataList . challenge _list . length === 0 ?
< div className = "alltask" >
< div className = "edu-tab-con-box clearfix edu-txt-center" >
< img className = "edu-nodata-img mb20"
src = { getImageUrl ( "images/educoder/nodata.png" ) } / >
< p className = "edu-nodata-p mb20" > 暂时还没有相关数据哦 ! < / p >
{ 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 >
< / d i v >
< / d i v >
: ChallengesDataList . challenge _list . map ( ( item , key ) => {
let newstatus = 2 ;
if ( ChallengesDataList . challenge _list [ key - 1 ] != undefined ) {
newstatus = ChallengesDataList . challenge _list [ key - 1 ] . status ;
}
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" } > 已完成 < / B u t t o n >
: ""
}
< div className = "clearfix mb20" >
< span className = "fl ring-blue mr10 mt8" >
{ item . st === 0 ?
< Tooltip placement = "bottom" title = { "实训任务" } >
< img src = { getImageUrl ( "images/educoder/icon/code.svg" ) } className = "fl mt2 ml2" / >
< / T o o l t i p >
:
< Tooltip placement = "bottom" title = { "选择题任务" } >
< img src = { getImageUrl ( "images/educoder/icon/choose.svg" ) } className = "fl mt2 ml3" / >
< / T o o l t i p >
{ / * < a c l a s s N a m e = { " e d u - d e f a u l t - b t n e d u - b l u e b a c k - b t n f r F i n i s h _ b u t t o n " }
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" } > 未完成 < / B u t t o n >
: ""
}
< / s p a n >
< span className = "mr15 font-16 fl" > 第 { key + 1 } 关 < / s p a n >
{ this . props . identity < 5 ?
item . st === 1 ?
< a onClick = { ( ) => this . EditTraining ( this . props . identity , item . challenge _id , "/editquestion" ) }
className = "font-16 color05101a" > { item . name } < / a >
:
< a onClick = { ( ) => this . EditTraining ( this . props . identity , item . challenge _id , "/editcheckpoint" ) }
className = "font-16 color05101a" > { item . name } < / a > : < s p a n
// onClick={() => this.startshixunCombat(this.props.identity, item.challenge_id, "/editcheckpoint")}
className = "font-16 color05101a" > { item . name } < / s p a n >
{ / * < T o o l t i p p l a c e m e n t = " b o t t o m " t i t l e = { " 直 接 挑 战 " } >
< a className = { "edu-default-btn edu-blueback-btn fr Finish_button" }
onClick = { ( ) => this . startshixunCombat ( false , undefined , item . challenge _id ) }
style = { { marginTop : '-2px' } } > 直接挑战 < / a >
< / T o o l t i p >
* / }
{
ChallengesDataList . allow _skip === false ? item . status === 1 ?
< Button type = "primary" shape = "round" size = { "small" } className = { "ml30 shixunstartbuttonFF6601" } > 未完成 < / B u t t o n >
: "" : ""
}
< Modal
keyboard = { false }
visible = { startbtns }
closable = { false }
footer = { null }
className = "startbtnModal"
>
< Spin size = "large" / >
< / M o d a l >
< span className = "fr mt8" >
{ /*<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" } > 未完成 < / B u t t o n >
: ""
}
< / d i v >
< 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 ring-op-green mr25" >
< img src = { getImageUrl ( "images/educoder/icon/close.svg" ) }
className = "fl mt5 ml5" / >
className = "fl mr25" >
{ /*<img src={getImageUrl("images/educoder/icon/close.svg")}*/ }
{ /* className="fl mt5 ml5" />*/ }
< i className = { "iconfont icon-shanchu_Hover" } > < / i >
< / a >
< / T o o l t i p >
}
@ -492,9 +577,10 @@ class Challenges extends Component {
< 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 ring-op-green mr25" >
< img src = { getImageUrl ( "images/educoder/icon/moveup.svg" ) }
className = "fl mt2 ml4" / >
className = "fl mr25" >
{ /*<img src={getImageUrl("images/educoder/icon/moveup.svg")}*/ }
{ /* className="fl mt2 ml4" />*/ }
< i className = { "iconfont icon-shangyi_Hover" } > < / i >
< / a >
< / T o o l t i p >
}
@ -502,8 +588,9 @@ class Challenges extends Component {
< 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 ring-op-green mr25" >
< img src = { getImageUrl ( "images/educoder/icon/movedown.svg" ) } className = "fl mt2 ml4" / >
className = "fl mr25" >
{ /*<img src={getImageUrl("images/educoder/icon/movedown.svg")} className="fl mt2 ml4" />*/ }
< i className = { "iconfont icon-xiayi_Hover" } > < / i >
< / a >
< / T o o l t i p >
@ -512,78 +599,68 @@ class Challenges extends Component {
{
item . st === 1 ?
< Tooltip placement = "bottom" title = { "编辑" } >
< a
< Link
style = { { display : this . props . user . admin === true ? "block" : this . props . identity < 5 && ChallengesDataList . shixun _status < 3 ? "block" : 'none' } }
href = { "/shixuns/" + ChallengesDataList . shixun _identifier + "/challenges/" + item . challenge _id + "/editquestion" }
className = "fl ring-green" >
< img src = { getImageUrl ( "images/educoder/icon/edit.svg" ) }
className = "fl mt3 ml2" / >
< / a >
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 >
< / L i n k >
< / T o o l t i p >
:
< Tooltip placement = "bottom" title = { "编辑" } >
< a
< Link
style = { { display : this . props . user . admin === true ? "block" : this . props . identity < 5 && ChallengesDataList . shixun _status < 3 ? "block" : 'none' } }
href = { "/shixuns/" + ChallengesDataList . shixun _identifier + "/challenges/" + item . challenge _id + "/editcheckpoint" }
className = "fl ring-green" >
< img src = { getImageUrl ( "images/educoder/icon/edit.svg" ) }
className = "fl mt3 ml2" / >
< / a >
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 >
< / L i n k >
< / T o o l t i p >
}
< / s p a n >
< / d i v >
< div className = "clearfix pl28" >
< span className = "task-colspan" > < span className = { "color-orange" } > { item . passed _count } < / s p a n > & n b s p ; 人 完 成 挑 战 < / s p a n >
< span
className = "task-colspan" > < span className = { "color-orange" } > { item . playing _count } < / s p a n > & n b s p ; 人 正 在 挑 战 < / s p a n >
< span className = "task-colspan" > < span > 完成挑战可获得经验值 & nbsp ; < span className = { "color-orange" } > { item . score } < / s p a n > < / s p a n > < / s p a n >
{ /*判断比较复杂 有排第一不能是灰色按钮*/ }
{ item . status === 2 ?
< 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 > : " "
}
{
ChallengesDataList . allow _skip === true && item . status === 1 ?
< 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 > : " "
< 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 } < / d i v >
:
< div className = "font-16 color05101a fonthiddens" > { item . name } < / d i v > : < d i v
// onClick={() => this.startshixunCombat(this.props.identity, item.challenge_id, "/editcheckpoint")}
className = "font-16 color05101a fonthiddens" > { item . name } < / d i v >
}
{ /* onClick={() => this.EditTraining(this.props.identity, item.challenge_id, "/editcheckpoint")}*/ }
< Modal
keyboard = { false }
visible = { startbtns }
closable = { false }
footer = { null }
className = "startbtnModal"
>
< Spin size = "large" / >
< / M o d a l >
< / d i v >
< div className = "clearfix" >
< style >
{
ChallengesDataList . allow _skip === false ? item . status === 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 >
< / T o o l t i p > : " " : " "
`
. task - colspan {
min - width : 20 % ! important ;
}
{
item . status === 0 ?
< 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 >
< / T o o l t i p > : " "
`
}
< / s t y l e >
< span className = "task-colspan" > < span className = { "shixunbingbaocun12" } > 正在挑战 : < / s p a n > < s p a n c l a s s N a m e = { " s h i x u n b i n g b a o c u n 3 3 3 1 2 " } > { i t e m . p l a y i n g _ c o u n t } 人 < / s p a n > < / s p a n >
< span className = "task-colspan" > < span className = { "shixunbingbaocun12" } > 完成挑战 : < / s p a n > < s p a n c l a s s N a m e = { " s h i x u n b i n g b a o c u n 3 3 3 1 2 " } > { i t e m . p a s s e d _ c o u n t } 人 < / s p a n > < / s p a n >
< span className = "task-colspan" > < span className = { "shixunbingbaocun12" } > 可获经验 : < / s p a n > < s p a n c l a s s N a m e = { " s h i x u n b i n g b a o c u n 3 3 3 1 2 " } > { i t e m . s c o r e } 点 < / s p a n > < / s p a n >
< / d i v >
< / d i v >