dev_cs_new
杨树明 6 years ago
parent 6b7eeb5a06
commit 2b70af1355

@ -308,6 +308,7 @@ class ShixunWorkModal extends Component{
} }
<div className={"clearfix"}> <div className={"clearfix"}>
<Checkbox checked={onChangetype} onChange={this.onChange} className={"ml10"}>{onChangetype===true?"清除":"全选"}</Checkbox> <Checkbox checked={onChangetype} onChange={this.onChange} className={"ml10"}>{onChangetype===true?"清除":"全选"}</Checkbox>
<span>有效作品都为0</span>
</div> </div>
<div className="clearfix mt30 edu-txt-center mb10"> <div className="clearfix mt30 edu-txt-center mb10">

@ -806,11 +806,11 @@ submittojoinclass=(value)=>{
<%= link_to '注册', user_join_path, :className => "ml5" %> <%= link_to '注册', user_join_path, :className => "ml5" %>
</span>*/} </span>*/}
{ user===undefined? { user===undefined?
<span className="font-15 fr mt17 ml10 mr25"> <span className="font-15 fr mt17 ml5 mr25">
<a onClick={()=>this.educoderlogin()} className="mr5 color-white">登录</a> <a onClick={()=>this.educoderlogin()} className="mr5 color-white">登录</a>
<em className="vertical-line"></em> <em className="vertical-line"></em>
<a href={"/register"} className="mr5 color-white">注册</a> <a href={"/register"} className="mr5 color-white">注册</a>
</span> :user.login===""?<span className="font-15 fr mt17 ml20 mr25"> </span> :user.login===""?<span className="font-15 fr mt17 ml5 mr25">
<a onClick={()=>this.educoderlogin()} className="mr5 color-white">登录</a> <a onClick={()=>this.educoderlogin()} className="mr5 color-white">登录</a>
<em className="vertical-line"></em> <em className="vertical-line"></em>
<a href={"/register"} className="mr5 color-white">注册</a> <a href={"/register"} className="mr5 color-white">注册</a>

@ -250,7 +250,7 @@ export default class TPMchallengesnew extends Component {
// }) // })
} }
this.props.showSnackbar(response.data.messages); // this.props.showSnackbar(response.data.messages);
}).catch((error) => { }).catch((error) => {
console.log(error) console.log(error)
}); });

@ -124,7 +124,8 @@ export default class TPMevaluation extends Component {
handpathopt:false, handpathopt:false,
scorevalue:false, scorevalue:false,
markvalue:true, markvalue:true,
scoretype:undefined scoretype:undefined,
web_route:null
} }
} }
@ -215,6 +216,7 @@ export default class TPMevaluation extends Component {
position: response.data.position, //int 关卡位置,导航栏中的第几关 position: response.data.position, //int 关卡位置,导航栏中的第几关
scorevalue:response.data.test_set_score, scorevalue:response.data.test_set_score,
markvalue:response.data.test_set_average, markvalue:response.data.test_set_average,
web_route:response.data.web_route
}) })
this.evaluationoninputvalueonload(); this.evaluationoninputvalueonload();
if(response.data.power===false){ if(response.data.power===false){
@ -579,7 +581,7 @@ export default class TPMevaluation extends Component {
$('textarea[autoHeight]').autoHeight(); $('textarea[autoHeight]').autoHeight();
} }
submitarbitrationevaluation=()=>{ submitarbitrationevaluation=()=>{
let{evaluationlist,shixunfilepath,shixunfilepathplay,shixunfileexpectpicturepath,shixunfilestandardpicturepath,shixunfilepicturepath,pathoptionvalue,scorevalue,markvalue}=this.state; let{evaluationlist,shixunfilepath,shixunfilepathplay,shixunfileexpectpicturepath,shixunfilestandardpicturepath,shixunfilepicturepath,pathoptionvalue,scorevalue,markvalue,web_route}=this.state;
let newscorevalue; let newscorevalue;
@ -647,7 +649,8 @@ export default class TPMevaluation extends Component {
expect_picture_path:shixunfilestandardpicturepath, expect_picture_path:shixunfilestandardpicturepath,
picture_path:shixunfilepicturepath, picture_path:shixunfilepicturepath,
test_set_score:newscorevalue, test_set_score:newscorevalue,
test_set_average:markvalue test_set_average:markvalue,
web_route:web_route===null?undefined:web_route
}, },
test_set:evaluationlist test_set:evaluationlist
} }
@ -741,6 +744,12 @@ export default class TPMevaluation extends Component {
}); });
} }
updatewebroute=(e)=>{
this.setState({
web_route:e.target.value
})
}
render() { render() {
let { let {
@ -768,7 +777,7 @@ export default class TPMevaluation extends Component {
next_challenge, next_challenge,
StudentTaskPapers, StudentTaskPapers,
StudentTaskDocs, StudentTaskDocs,
handpathopt, web_route,
scorevalue, scorevalue,
markvalue, markvalue,
scoretype scoretype
@ -978,6 +987,20 @@ export default class TPMevaluation extends Component {
</div> </div>
</div> </div>
{pathoptionvalue===4&&web_route!=null?<div className="edu-back-white mb10 clearfix">
<div className="padding40-20">
<p className="color-grey-6 font-16 mb20">Web路由</p>
<div className="df">
<div className="flex1 mr20">
<input type="text" className="input-100-45 change" autoComplete="off"
id="shixun_file_picture_path" name="challenge[picture_path]"
value={web_route}
onInput={(e)=>this.updatewebroute(e)}
placeholder="网站类型实训请填写Web路由地址。例java/mypage"/>
</div>
</div>
</div>
</div>:""}
{pathoptionvalue===1||pathoptionvalue===5||pathoptionvalue===6?<div className="edu-back-white mb10 clearfix"> {pathoptionvalue===1||pathoptionvalue===5||pathoptionvalue===6?<div className="edu-back-white mb10 clearfix">
<div className="padding40-20"> <div className="padding40-20">

@ -1,251 +1,253 @@
import React, { Component } from 'react'; import React, { Component } from 'react';
import { Redirect } from 'react-router'; import { Redirect } from 'react-router';
import { BrowserRouter as Router, Route} from "react-router-dom"; import { BrowserRouter as Router, Route} from "react-router-dom";
import { Switch ,Input,Tooltip,Icon} from 'antd'; import { Switch ,Input,Tooltip,Icon} from 'antd';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import classNames from 'classnames' import classNames from 'classnames'
import 'antd/lib/switch/style/index.css' import 'antd/lib/switch/style/index.css'
import './shixunCss/ShixunCardList.css'; import './shixunCss/ShixunCardList.css';
import { on, off } from 'educoder' import { on, off } from 'educoder'
const $ = window.$; const $ = window.$;
const Search = Input.Search; const Search = Input.Search;
class ShixunCardList extends Component { class ShixunCardList extends Component {
constructor(props) { constructor(props) {
super(props); super(props);
this.state={ this.state={
allevent:"desc", allevent:"desc",
mine:0, mine:0,
InputValue: props.keyword || "", InputValue: props.keyword || "",
typemy:0, typemy:0,
hots:0, hots:0,
news:0, news:0,
shixunid:"", shixunid:"",
upcircle:false, upcircle:false,
typekeyid:undefined, typekeyid:undefined,
} }
} }
componentDidUpdate = (prevProps, prevState) => { componentDidUpdate = (prevProps, prevState) => {
if (this.props.keyword != prevProps.keyword) { if (this.props.keyword != prevProps.keyword) {
this.setState({ this.setState({
InputValue: this.props.keyword InputValue: this.props.keyword
}) })
} }
} }
componentDidMount = () => { componentDidMount = () => {
on('searchKeywordChange', (event, data) => { on('searchKeywordChange', (event, data) => {
// console.log(data) // console.log(data)
this.Input_search(data) this.Input_search(data)
}) })
} }
componentWillUnmount = () => { componentWillUnmount = () => {
off('searchKeywordChange') off('searchKeywordChange')
} }
latestHot=(e,key)=>{ latestHot=(e,key)=>{
let{upcircle,typekeyid}=this.state; let{upcircle,typekeyid}=this.state;
let id = e.target.id; let id = e.target.id;
$("#"+id).siblings().removeClass("active"); $("#"+id).siblings().removeClass("active");
$("#"+id).addClass("active"); $("#"+id).addClass("active");
let type; let type;
if(id==="all"){ if(id==="all"){
type="publish_time"; type="publish_time";
} }
if(id==="hot"){ if(id==="hot"){
type="hot"; type="hot";
}else if(id==="new"){ }else if(id==="new"){
type="new"; type="new";
} }
if(typekeyid===key){ if(typekeyid===key){
if(upcircle===true){ if(upcircle===true){
this.setState({ this.setState({
upcircle:false, upcircle:false,
}) })
this.props.Shixunsupcircles("desc") this.props.Shixunsupcircles("desc")
}else if(upcircle===false){ }else if(upcircle===false){
this.setState({ this.setState({
upcircle:true, upcircle:true,
}) })
this.props.Shixunsupcircles("asc") this.props.Shixunsupcircles("asc")
} }
}else{ }else{
this.setState({ this.setState({
typekeyid:key typekeyid:key
}) })
} }
//allevent //allevent
this.props.ShixunsState(false,type); this.props.ShixunsState(false,type);
} }
onSwitchChange=(e,key)=>{ onSwitchChange=(e,key)=>{
let id=e.target.id let id=e.target.id
$("#"+id).siblings().removeClass("active"); $("#"+id).siblings().removeClass("active");
$("#"+id).addClass("active"); $("#"+id).addClass("active");
let {typemy,upcircle,typekeyid}=this.state; let {typemy,upcircle,typekeyid}=this.state;
if(typekeyid===key){ if(typekeyid===key){
if(upcircle===true){ if(upcircle===true){
this.setState({ this.setState({
upcircle:false, upcircle:false,
}) })
this.props.Shixunsupcircles("desc") this.props.Shixunsupcircles("desc")
}else if(upcircle===false){ }else if(upcircle===false){
this.setState({ this.setState({
upcircle:true upcircle:true
}) })
this.props.Shixunsupcircles("asc") this.props.Shixunsupcircles("asc")
} }
}else{ }else{
this.setState({ this.setState({
typekeyid:key typekeyid:key
}) })
} }
if(typemy===0){ if(typemy===0){
this.setState({ this.setState({
typemy:1 typemy:1
}) })
}else{ }else{
this.setState({ this.setState({
typemy:0 typemy:0
}) })
} }
// allevent // allevent
this.props.ShixunsSwitch(); this.props.ShixunsSwitch();
} }
//输入框搜索 //输入框搜索
Input_search = (value) => { Input_search = (value) => {
this.setState({ this.setState({
InputValue: value InputValue: value
}) })
this.props.OnSearchInput(value,true); this.props.OnSearchInput(value,true);
} }
Input_searchs = (e) => { Input_searchs = (e) => {
this.setState({ this.setState({
InputValue: e.target.value InputValue: e.target.value
}) })
this.props.OnSearchInput(e.target.value,false); this.props.OnSearchInput(e.target.value,false);
} }
upcircles=(val)=>{ upcircles=(val)=>{
if(val==="asc"){ if(val==="asc"){
this.setState({ this.setState({
upcircle:false, upcircle:false,
}) })
this.props.Shixunsupcircles("desc") this.props.Shixunsupcircles("desc")
}else if(val==="desc"){ }else if(val==="desc"){
this.setState({ this.setState({
upcircle:true upcircle:true
}) })
this.props.Shixunsupcircles("asc") this.props.Shixunsupcircles("asc")
} }
} }
render(){ render(){
let {mine,InputValue,upcircle}=this.state; let {mine,InputValue,upcircle}=this.state;
return ( return (
<div className="educontent mt20"> <div className="educontent mt20">
<div className="clearfix"> <div className="clearfix">
<div className="fl mr20 font-16 bestChoose shixun_repertoire active" <div className="fl mr20 font-16 bestChoose shixun_repertoire active"
id={"all"} id={"all"}
onClick={(e)=>this.latestHot(e,1)}>全部 onClick={(e)=>this.latestHot(e,1)}>全部
</div> </div>
<div className="fl mr20 font-16 bestChoose shixun_repertoire" <div className="fl mr20 font-16 bestChoose shixun_repertoire"
id={mine} id={mine}
onClick={(e)=>this.onSwitchChange(e,2)}>我的 onClick={(e)=>this.onSwitchChange(e,2)}>我的
</div> </div>
<div className="fl mr20 font-16 bestChoose shixun_repertoire" <div className="fl mr20 font-16 bestChoose shixun_repertoire"
id="hot" id="new"
onClick={(e)=>this.latestHot(e,3)}>最热 onClick={(e)=>this.latestHot(e,4)}>最新
</div> </div>
<div className="fl font-16 bestChoose shixun_repertoire"
id="new" <div className="fl font-16 bestChoose shixun_repertoire"
onClick={(e)=>this.latestHot(e,4)}>最新 id="hot"
</div> onClick={(e)=>this.latestHot(e,3)}>最热
</div>
<div className="fl font-16 bestChoose shixun_repertoire ml20 mt1"
style={{display:upcircle===true?"block":"none"}}
// onClick={()=>this.upcircles("asc")} <div className="fl font-16 bestChoose shixun_repertoire ml20 mt1"
> style={{display:upcircle===true?"block":"none"}}
<Tooltip placement="bottom" title={"升序"}> // onClick={()=>this.upcircles("asc")}
<Icon type="up-circle" theme="twoTone" /> >
{/*<Icon type="sort-descending" />*/} <Tooltip placement="bottom" title={"升序"}>
</Tooltip> <Icon type="up-circle" theme="twoTone" />
</div> {/*<Icon type="sort-descending" />*/}
<div className="fl font-16 bestChoose shixun_repertoire ml20 mt1" </Tooltip>
// onClick={()=>this.upcircles("desc")} </div>
style={{display:upcircle===true?"none":"block"}} <div className="fl font-16 bestChoose shixun_repertoire ml20 mt1"
> // onClick={()=>this.upcircles("desc")}
<Tooltip placement="bottom" title={"降序"}> style={{display:upcircle===true?"none":"block"}}
<Icon type="down-circle" theme="twoTone" /> >
{/*<Icon type="sort-ascending" />*/} <Tooltip placement="bottom" title={"降序"}>
</Tooltip> <Icon type="down-circle" theme="twoTone" />
</div> {/*<Icon type="sort-ascending" />*/}
</Tooltip>
<div className="fr mt3"> </div>
{/*<Search*/}
{/*style={{ width: 300 }}*/} <div className="fr mt3">
{/*className="search-new-input fl"*/} {/*<Search*/}
{/*placeholder="请输入创建者/实训/关卡名称进行搜索"*/} {/*style={{ width: 300 }}*/}
{/*value={InputValue}*/} {/*className="search-new-input fl"*/}
{/*onInput={this.Input_searchs}*/} {/*placeholder="请输入创建者/实训/关卡名称进行搜索"*/}
{/*onSearch={value => this.Input_search(value)}*/} {/*value={InputValue}*/}
{/*enterButton*/} {/*onInput={this.Input_searchs}*/}
{/*/>*/} {/*onSearch={value => this.Input_search(value)}*/}
{/*enterButton*/}
{/* <Search {/*/>*/}
style={{ width: 300 }}
className="fl" {/* <Search
placeholder="请输入创建者/实训/关卡名称进行搜索" style={{ width: 300 }}
value={InputValue} className="fl"
onInput={this.Input_searchs} placeholder="请输入创建者/实训/关卡名称进行搜索"
onSearch={value => this.Input_search(value)} value={InputValue}
autoComplete="off" onInput={this.Input_searchs}
></Search> */} onSearch={value => this.Input_search(value)}
</div> autoComplete="off"
<div className="fr"> ></Search> */}
<span className="fl color-grey-6 mr30 font-16 mt5" id="search_name">{ </div>
this.props.search_tags === null ? "" : this.props.search_tags <div className="fr">
}</span> <span className="fl color-grey-6 mr30 font-16 mt5" id="search_name">{
{/*<div className="fl mr5" style={{marginTop:'1px'}}>*/} this.props.search_tags === null ? "" : this.props.search_tags
{/*/!* <div className="controlblue"></div>*/} }</span>
{/*<span className="controlring"></span> *!/*/} {/*<div className="fl mr5" style={{marginTop:'1px'}}>*/}
{/*<Switch*/} {/*/!* <div className="controlblue"></div>*/}
{/*className="controlbtn mr10 mt10 pr"*/} {/*<span className="controlring"></span> *!/*/}
{/*size="small"*/} {/*<Switch*/}
{/*style={{marginTop:'1px'}}*/} {/*className="controlbtn mr10 mt10 pr"*/}
{/*onChange={this.onSwitchChange}*/} {/*size="small"*/}
{/*/>*/} {/*style={{marginTop:'1px'}}*/}
{/*</div>*/} {/*onChange={this.onSwitchChange}*/}
{/*<span className="fl font-16 cdefault" data-tip-down="隐藏我学习的实训">隐藏我的</span>*/} {/*/>*/}
{/*</div>*/}
</div> {/*<span className="fl font-16 cdefault" data-tip-down="隐藏我学习的实训">隐藏我的</span>*/}
<span className="fr color-grey-6 mr30 font-16" id="search_name"></span>
</div> </div>
</div> <span className="fr color-grey-6 mr30 font-16" id="search_name"></span>
); </div>
} </div>
} );
}
export default ShixunCardList; }
export default ShixunCardList;

Loading…
Cancel
Save