Merge remote-tracking branch 'origin/master'

dev_forum
杨树明 6 years ago
commit 81c042e6f1

@ -185,7 +185,7 @@ class CommonWorkItem extends Component{
</Tooltip>
}
{this.props.isAdmin && <div className="fr">
{isAdmin && <div className="fr">
<WordsBtn style="blue" className="fl font-16 ml28" onClick={ () => { this.props.toEditPage(this.props.match.params, item.homework_id) }}>编辑</WordsBtn>
<WordsBtn style="blue" className="fl font-16 ml28" onClick={ () => { this.props.toWorkSettingPage(this.props.match.params, item.homework_id) }}>设置</WordsBtn>
</div>}

@ -259,9 +259,9 @@ function buildColumns(that, student_works) {
<div>最终调整成绩{record.work_score}</div> :
<div>
{ record.final_score && <div>作业评分{record.final_score}</div> }
{ !!that.state.late_penalty && <div>迟交扣分{that.state.late_penalty}</div>}
{ !!that.state.absence_penalty && <div>缺评扣分{that.state.absence_penalty}</div>}
{ !!that.state.appeal_penalty && <div>违规匿评扣分{that.state.appeal_penalty}</div>}
{ record.late_penalty >= 0 && <div>迟交扣分{record.late_penalty}</div>}
{ record.absence_penalty >= 0 && <div>缺评扣分{record.absence_penalty}</div>}
{ record.appeal_penalty >= 0 && <div>违规匿评扣分{record.appeal_penalty}</div>}
<div>最终成绩{record.work_score}</div>
</div> }
</div>)

@ -271,8 +271,8 @@ class CommonWorkSetting extends Component{
absence_penalty = 2
}
} else {
evaluation_start = ''
evaluation_end = ''
evaluation_start = null
evaluation_end = null
evaluation_num = 0
absence_penalty = 0
}
@ -484,6 +484,7 @@ class CommonWorkSetting extends Component{
publish_time_type, end_time_type
} = this.state;
let group_settings_param = []
let max_un_unified_setting_end_time = null
if (!unified_setting) {
const result = this.refs.pollDetailTabForthRules.notUnifiedSettingCheck(this.state.rules);
this.setState({
@ -494,6 +495,9 @@ class CommonWorkSetting extends Component{
return false;
}
group_settings_param = result.rules.map(item => {
if (!max_un_unified_setting_end_time || moment(item.end_time) > moment(max_un_unified_setting_end_time)) {
max_un_unified_setting_end_time = item.end_time;
}
return {
group_id: item.course_group_id,
publish_time: item.publish_time,
@ -517,16 +521,22 @@ class CommonWorkSetting extends Component{
return false
}
let temp_publish_time = publish_time
let temp_end_time = end_time
if (!temp_publish_time) {
const publish_time_moment = getNextHalfHourOfMoment(moment());
temp_publish_time = publish_time_moment.format(dateFormat);
}
if (!temp_end_time) {
temp_end_time = moment(handleDateString(temp_publish_time)).add(1, 'months').format(dateFormat)
let temp_publish_time
let temp_end_time
if (unified_setting) {
let temp_publish_time = publish_time
let temp_end_time = end_time
if (!temp_publish_time) {
const publish_time_moment = getNextHalfHourOfMoment(moment());
temp_publish_time = publish_time_moment.format(dateFormat);
}
if (!temp_end_time) {
temp_end_time = moment(handleDateString(temp_publish_time)).add(1, 'months').format(dateFormat)
}
} else {
temp_end_time = max_un_unified_setting_end_time
}
// 已发布的不检查
const isUnPublish= homework_status.indexOf(STATUS_UN_PUBLISH) != -1
const isAdmin = this.props.isAdmin()
@ -534,20 +544,22 @@ class CommonWorkSetting extends Component{
const publish_time_editable = isUnPublish;
const end_time_editable = isAdmin || !end_time || moment(end_time) > current;
if (publish_time_editable && temp_publish_time && moment(temp_publish_time) < moment()) {
this.setState({
publicTimeTip: '发布时间不能小于当前时间'
})
scrollTo('.publicTimeTip')
return false
}
// 已截止的不检查
if (end_time_editable && temp_end_time && moment(temp_end_time) <= moment(temp_publish_time)) {
this.setState({
publicTimeTip: '截止时间必须晚于发布时间'
})
scrollTo('.publicTimeTip')
return false
if (unified_setting) {
if (publish_time_editable && temp_publish_time && moment(temp_publish_time) < moment()) {
this.setState({
publicTimeTip: '发布时间不能小于当前时间'
})
scrollTo('.publicTimeTip')
return false
}
// 已截止的不检查
if (end_time_editable && temp_end_time && moment(temp_end_time) <= moment(temp_publish_time)) {
this.setState({
publicTimeTip: '截止时间必须晚于发布时间'
})
scrollTo('.publicTimeTip')
return false
}
}
this.setState({
publicTimeTip: ''
@ -1006,7 +1018,7 @@ class CommonWorkSetting extends Component{
placeholder="请选择发布时间"
id={"startime"}
width={"210px"}
value={publish_time===null||publish_time===""?"":moment(publish_time, dateFormat)}
value={!publish_time?"":moment(publish_time, dateFormat)}
onChange={this.onChangeTimepublish}
// disabled={this.props.isSuperAdmin()?false:publish_time_type===true?true:false}
disabled={moment(this.state.init_publish_time) < moment() || noAuth}
@ -1036,7 +1048,7 @@ class CommonWorkSetting extends Component{
placeholder="请选择截止时间"
id={"endTime"}
width={"210px"}
value={end_time===null||end_time===""?"":moment(end_time, dateFormat)}
value={!end_time?"":moment(end_time, dateFormat)}
onChange={this.onChangeTimeend}
disabled={this.props.isSuperAdmin()?false:end_time_type===true?true:false}
disabled={moment(this.state.init_end_time) < moment() || noAuth}
@ -1105,7 +1117,7 @@ class CommonWorkSetting extends Component{
placeholder="请选择结束时间"
id={"enTime"}
width={"210px"}
value={late_time===null||late_time===""? undefined :moment(late_time, dateFormat)}
value={!late_time ? undefined :moment(late_time, dateFormat)}
onChange={this.onChangeTimelatetime}
disabledTime={disabledDateTime}
disabled={!allow_late || noAuth || moment(init_late_time) < moment()}
@ -1153,7 +1165,7 @@ class CommonWorkSetting extends Component{
placeholder="请选择匿名开启时间"
id={"startime"}
width={"210px"}
value={evaluation_start===null||evaluation_start===""?"":moment(evaluation_start, dateFormat)}
value={!evaluation_start ?"":moment(evaluation_start, dateFormat)}
onChange={this.onChangeEvaluationStart}
disabled={ (anonymous_comment && !noAuth ? false : true) || moment(init_evaluation_start) < moment() }
// disabledDate={ (evaluation_start) =>
@ -1182,7 +1194,7 @@ class CommonWorkSetting extends Component{
placeholder="请选择匿名结束时间"
id={"endtime"}
width={"210px"}
value={evaluation_end===null||evaluation_end===""?"":moment(evaluation_end, dateFormat)}
value={!evaluation_end ?"":moment(evaluation_end, dateFormat)}
onChange={this.onChangeEvaluationEnd}
disabledTime={disabledDateTime}
disabled={(anonymous_comment && !noAuth ? false : true) || moment(init_evaluation_end) < moment()}
@ -1201,7 +1213,7 @@ class CommonWorkSetting extends Component{
<span className={"font-14 color-grey-9 ml10"}></span>
</div>
{anonymous_comment_time_tip && <div className={" anonymous_comment_time_tip color-red ml60"} style={{marginTop: '-6px'}}>{anonymous_comment_time_tip}</div>}
{<div className={" anonymous_comment_time_tip color-red ml60"} style={{marginTop: '-6px'}}>{anonymous_comment_time_tip}</div>}
{/* 匿评数量 */}
<div className={"h20 mb30 ml60"}>
@ -1277,7 +1289,7 @@ class CommonWorkSetting extends Component{
placeholder="请选择申诉结束时间"
id={"endtime"}
width={"210px"}
value={appeal_time===null||appeal_time===""?"":moment(appeal_time, dateFormat)}
value={!appeal_time?"":moment(appeal_time, dateFormat)}
onChange={this.appeal_time_change}
disabled={ (anonymous_appeal && !noAuth ? false : true) || moment(init_appeal_time) < moment()}
/>

@ -27,8 +27,6 @@ class HomeworkModal extends Component{
group_ids:[],
endtime:""
}
console.log("30");
console.log(props);
}
componentDidMount() {

@ -656,7 +656,7 @@ class ExerciseReviewAndAnswer extends Component{
return(
<div className="bor-top-greyE pt30 pb30" id={"Anchor_"+parseInt(key+1)}>
<p className="clearfix font-16 pl30 pr30">
<span className="color-blue mr5">{parseInt(key+1)}{type[item.question_type]}</span><span className="color-grey-9 mr5">({item.question_score})</span>
<span className="color-blue mr5">{exercise_questions.q_position}{type[item.question_type]}</span><span className="color-grey-9 mr5">({item.question_score})</span>
<span className="fr">
{
// 填空(一直都有调分),和简答题调分:老师身份 已经评分的才能出现调分按钮

@ -13,6 +13,7 @@ import Modals from '../../../modals/Modals';
import UseBank from "../../busyWork/UseBank";
import '../../css/members.css';
import '../style.css';
import moment from 'moment'
class GraduationTasks extends Component{
@ -413,7 +414,7 @@ class GraduationTasks extends Component{
Topval:"本操作只对“未发布”的对象生效",
Botvalleft:"暂不发布",
Botval:"则通过后续手动设置,定时发布",
starttime:"发布时间:"+moment(moment(new Date())).format("YYYY-MM-DD HH:mm"),
starttime:"发布时间:"+moment(new Date()).format("YYYY-MM-DD HH:mm"),
starttimes:this.props.getNowFormatDates(1),
typs:"start",
endtime:"截止时间:"+endtime,

@ -49,7 +49,7 @@ function buildColumns(that) {
width: 160,
key: 'name',
render: (name, record) => {
return <a href={`login/${record.login}`} target="_blank">{name}</a>
return <a href={`/login/${record.login}`} target="_blank">{name}</a>
}
}, {
title: '角色',

@ -44,18 +44,14 @@ class Trialapplication extends Component {
componentWillReceiveProps(nextProps) {
// this.setState({
// isRenders:nextProps.isRenders
// })
// console.log("componentWillReceiveProps");
// console.log(nextProps);
}
//初始化数据
componentDidMount() {
// console.log("53");
console.log("53");
// console.log(this.props.isRenders);
console.log(this.props.isRenders);
if (this.props.isRenders != undefined) {
this.setState({
@ -78,14 +74,15 @@ class Trialapplication extends Component {
}
return response;
}, (error) => {
// // // TODO 这里如果样式变了会出现css不加载的情况
//TODO 这里如果样式变了会出现css不加载的情况
});
// console.log("89");
console.log("89");
try {
// console.log(this.state.props.user && this.state.props.user.user_phone_binded);
if (this.state.props.user !== undefined) {
if (this.state.props.user_phone_binded !== undefined) {
console.log(this.state.props.user_phone_binded);
this.setState({
user_phone_binded: this.state.props.user.user_phone_binded,
user_phone_binded: this.state.props.user_phone_binded,
})
}
@ -212,6 +209,7 @@ class Trialapplication extends Component {
this.setState({
isRenders: false
})
this.Cancel();
window.location.href = "/";
} else {
this.setState({
@ -273,6 +271,8 @@ class Trialapplication extends Component {
thiss.setState({
isRenders: false
})
thiss.Cancel();
} else {
thiss.setState({
isRenders: false

@ -171,8 +171,9 @@ class NewHeader extends Component {
isRender:false,
isRenders:false,
showTrial:false,
user:undefined,
}
console.log("176")
console.log(props);
}
componentDidMount() {
@ -581,7 +582,6 @@ submittojoinclass=(value)=>{
/>
{/* :""*/}
{/*}*/}
<Trialapplication></Trialapplication>
{/*{*/}
{/* isRenders&&isRenders===true?*/}
@ -707,18 +707,18 @@ submittojoinclass=(value)=>{
<a href={"/register"} className="mr5 color-white">注册</a>
</span>:
<div className="fr edu-menu-panel" style={{height:'60px'}}>
<a href={this.props.Headertop===undefined?"":this.props.Headertop.avatar_url} className="fl ml15">
<a href={`/users/${this.props.current_user===undefined?"":this.props.current_user.login}/courses`} className="fl ml15">
<img alt="头像" className="radius mt13" height="34" id="nh_user_logo" name="avatar_image"
src={getImageUrl(`images/`+user.image_url)} width="34">
</img>
</a>
<ul className="edu-menu-list" style={{top:'60px'}}>
<span className="bor-bottom-greyE currentName task-hide">{user.username}</span>
<li><a href={this.props.Headertop===undefined?"":this.props.Headertop.my_course_url}>我的课堂</a></li>
<li><Link to={`/users/${this.props.current_user===undefined?"":this.props.current_user.login}/courses`}>我的课堂</Link></li>
{/* p 老师 l 学生 */}
<li><a href={this.props.Headertop===undefined?"":this.props.Headertop.my_shixun_url}>我的实训</a></li>
<li><a href={this.props.Headertop===undefined?"":this.props.Headertop.my_shixun_paths_url}>我的实训课程</a></li>
<li><a href={this.props.Headertop===undefined?"":this.props.Headertop.my_project_url}>我的项目</a></li>
<li><Link to={`/users/${this.props.current_user===undefined?"":this.props.current_user.login}/shixuns`}>我的实训</Link></li>
<li><Link to={`/users/${this.props.current_user===undefined?"":this.props.current_user.login}/paths`}>我的实训课程</Link></li>
<li><Link to={`/users/${this.props.current_user===undefined?"":this.props.current_user.login}/projects`}>我的项目</Link></li>
<li><a href={this.props.Headertop===undefined?"":this.props.Headertop.account_manager_url}>账号管理</a></li>
{/*<li><a onClick={()=>this.educoderlogin()} >登入测试接口</a></li>*/}
{/*<li><a onClick={()=>this.trialapplications()} >试用申请</a> </li>*/}

@ -9,6 +9,7 @@ import { getUrl } from 'educoder'
import axios from 'axios';
import './TPMIndex.css'
import Trialapplication from "../login/Trialapplication";
// import "antd/dist/antd.css";
// import '../../css/educoder/edu-common.css'
// import '../../css/educoder/edu-all.css'
@ -246,10 +247,10 @@ export function TPMIndexHOC(WrappedComponent) {
}
*/
if (response.data) {
this.initCommonState(response.data)
this.setState({
tpmLoading: false,
this.setState({
user_phone_binded:response.data.user_phone_binded,
tpmLoading: false,
coursedata: {
course_identity: response.data.course_identity >= 0 ? response.data.course_identity : undefined,
course_public: response.data.course_public,
@ -266,7 +267,7 @@ export function TPMIndexHOC(WrappedComponent) {
})
}
render() {
let{Headertop,Footerdown}=this.state;
let{Headertop,Footerdown,user_phone_binded}=this.state;
const common = {
isSuperAdmin:this.isSuperAdmin,
isAdminOrCreator:this.isAdminOrCreator,
@ -278,11 +279,17 @@ export function TPMIndexHOC(WrappedComponent) {
isNotMember: this.isNotMember,
isUserid:this.state.coursedata&&this.state.coursedata.userid
}
return (
<div>
<SiderBar
{
user_phone_binded === undefined?
""
:
<Trialapplication {...this.state} user_phone_binded={user_phone_binded}></Trialapplication>
}
<SiderBar
Headertop={Headertop}
/>
<NewHeader {...this.state} {...this.props}></NewHeader>

@ -1,11 +1,11 @@
import React, { Component } from 'react';
import { SnackbarHOC } from 'educoder';
import {Link} from 'react-router-dom';
import {Tooltip,Menu} from 'antd';
import InfosCourse from './InfosCourse';
import InfosShixun from './InfosShixun';
import InfosProject from './InfosProject';
import InfosPath from './InfosPath';
import InfosBank from './InfosBank';
import Loadable from 'react-loadable';
import Loading from '../../../Loading';
import {BrowserRouter as Router,Route,Switch} from 'react-router-dom';
import axios from 'axios';
import {getImageUrl} from 'educoder';
import { TPMIndexHOC } from '../../tpm/TPMIndexHOC';
@ -17,6 +17,22 @@ import update from 'immutability-helper'
import Trialapplication from '../../login/Trialapplication'
const InfosCourse = Loadable({
loader: () => import('./InfosCourse'),
loading:Loading,
})
const InfosShixun = Loadable({
loader: () => import('./InfosShixun'),
loading:Loading,
})
const InfosPath = Loadable({
loader: () => import('./InfosPath'),
loading:Loading,
})
const InfosProject = Loadable({
loader: () => import('./InfosProject'),
loading:Loading,
})
const $ = window.$;
class Infos extends Component{
@ -29,7 +45,8 @@ class Infos extends Component{
sign:undefined,
type:0,
login:undefined,
isRenders:false
isRenders:false,
moduleName:"courses"
}
}
componentDidMount =()=>{
@ -177,10 +194,13 @@ class Infos extends Component{
followed,
id,
login,
isRenders
isRenders,
moduleName
}=this.state;
let {username}= this.props.match.params;
let {isAdmin}=this.props.isAdmin();
let {pathname}=this.props.location;
moduleName=pathname.split("/")[3];
return(
<div className="newMain">
{
@ -194,24 +214,24 @@ class Infos extends Component{
<div className="inline">
<div className="fl headtab">
<span>{is_current ? "我":"TA"}的经验值</span>
<a href={`/users/${username}/user_experience`}>{data && data.experience}</a>
<a href={`${this.props.Headertop && this.props.Headertop.old_url}/users/${username}/user_experience`}>{data && data.experience}</a>
</div>
<em className="v-h-line fl"></em>
<div className="fl headtab">
<span>{is_current ? "我":"TA"}的金币</span>
<a href={`/users/${username}/user_grade`} id="user_code">{data && data.grade}</a>
<a href={`${this.props.Headertop && this.props.Headertop.old_url}/users/${username}/user_grade`} id="user_code">{data && data.grade}</a>
</div>
<div className="headphoto mt14">
<img alt="头像" id="user_avatar_show" nhname="avatar_image" src={data && `${getImageUrl('images/'+data.avatar_url)}`}/>
</div>
<div className="fl headtab">
<span>{is_current ? "我":"TA"}的粉丝</span>
<a href={`/users/${username}/user_fanslist`} id="user_h_fan_count">{data && data.fan_count}</a>
<a href={`${this.props.Headertop && this.props.Headertop.old_url}/users/${username}/user_fanslist`} id="user_h_fan_count">{data && data.fan_count}</a>
</div>
<em className="v-h-line fl"></em>
<div className="fl headtab">
<span>{is_current ? "我":"TA"}的关注</span>
<a href={`/users/${username}/user_watchlist`}>{data && data.follow_count}</a>
<a href={`${this.props.Headertop && this.props.Headertop.old_url}/users/${username}/user_watchlist`}>{data && data.follow_count}</a>
</div>
<span className="clearfix"></span>
<span className="myName">{data && data.name}</span>
@ -220,22 +240,22 @@ class Infos extends Component{
<div className="educontent mt10 clearfix edu-txt-center">
<div className="inline">
<span className="mypost fl mr10">{data && data.identity}</span>
<a href={is_current ? "/account/authentication" :"javascript:void(0)"} target="_blank" className={is_current ? "ringauto fl" :"ringauto fl cdefault"}>
<a href={is_current ? `${this.props.Headertop && this.props.Headertop.old_url}/account/authentication` :"javascript:void(0)"} target="_blank" className={is_current ? "ringauto fl" :"ringauto fl cdefault"}>
<Tooltip placement='bottom' title={ data && data.authentication ?"已实名认证":"未实名认证"}>
<i className={ data && data.authentication ? "iconfont icon-shenfenrenzheng font-13 color-blue":"iconfont icon-shenfenrenzheng font-13 color-grey-9"}></i>
</Tooltip>
</a>
<a href={is_current ? "/account/professional_certification" :"javascript:void(0)"} target="_blank" className={is_current ? "ringauto fl" :"ringauto fl cdefault"}>
<a href={is_current ? `${this.props.Headertop && this.props.Headertop.old_url}/account/professional_certification` :"javascript:void(0)"} target="_blank" className={is_current ? "ringauto fl" :"ringauto fl cdefault"}>
<Tooltip placement='bottom' title={ data && data.professional_certification ?"已职业认证":"未职业认证"}>
<i className={ data && data.professional_certification ? "iconfont icon-zhiyerenzheng font-13 color-blue":"iconfont icon-zhiyerenzheng font-13 color-grey-9"}></i>
</Tooltip>
</a>
<a href={is_current ? "/account/change_or_bind?type=phone" :"javascript:void(0)"} target="_blank" className={is_current ? "ringauto fl" :"ringauto fl cdefault"}>
<a href={is_current ? `${this.props.Headertop && this.props.Headertop.old_url}/account/change_or_bind?type=phone` :"javascript:void(0)"} target="_blank" className={is_current ? "ringauto fl" :"ringauto fl cdefault"}>
<Tooltip placement='bottom' title={ data && data.phone_binded ?"已手机认证":"未手机认证"}>
<i className={ data && data.phone_binded ? "iconfont icon-shoujirenzheng font-13 color-blue":"iconfont icon-shoujirenzheng font-13 color-grey-9"}></i>
</Tooltip>
</a>
<a href={is_current ? "/my/account" :"javascript:void(0)"} target="_blank" className={is_current ? "ringauto fl" :"ringauto fl cdefault"}>
<a href={is_current ? `${this.props.Headertop && this.props.Headertop.old_url}/my/account` :"javascript:void(0)"} target="_blank" className={is_current ? "ringauto fl" :"ringauto fl cdefault"}>
<Tooltip placement='bottom' title={ data && data.email_binded ?"已邮箱认证":"未邮箱认证"}>
<i className={ data && data.email_binded ? "iconfont icon-youxiangrenzheng font-13 color-blue":"iconfont icon-youxiangrenzheng font-13 color-grey-9"}></i>
</Tooltip>
@ -243,7 +263,7 @@ class Infos extends Component{
{/* <!--学院管理员身份--> */}
{
data && data.college_identifier &&
<a href={`/colleges/${data.college_identifier}/statistics`} target="_blank" className={is_current ? "ringauto fl" :"ringauto fl cdefault"}>
<a href={`${this.props.Headertop && this.props.Headertop.old_url}/colleges/${data.college_identifier}/statistics`} target="_blank" className={is_current ? "ringauto fl" :"ringauto fl cdefault"}>
<Tooltip placement='bottom' title="学院管理员">
<i className="iconfont icon-chengyuanguanli font-12 color-blue" data-tip-down="学院管理员"></i>
</Tooltip>
@ -288,33 +308,68 @@ class Infos extends Component{
</div>
<div className="edu-txt-center navInfo">
<div className="inline">
<Menu mode="horizontal" defaultSelectedKeys="0" onClick={this.changeType}>
<Menu.Item key="0">课堂</Menu.Item>
<Menu.Item key="1">实训</Menu.Item>
<Menu.Item key="2">实训课程</Menu.Item>
<Menu.Item key="3">项目</Menu.Item>
{ data && data.identity !="学生" && <Menu.Item key="4" onClick={()=>this.ToBank(`/users/${username}?type=a_project`)}>题库</Menu.Item> }
</Menu>
<li className={`${moduleName == 'courses' ? 'active' : '' }`}>
<Link
onClick={() => this.setState({moduleName: 'courses'})}
to={`/users/${username}/courses`}>课堂</Link>
</li>
<li className={`${moduleName == 'shixuns' ? 'active' : '' }`}>
<Link
onClick={() => this.setState({moduleName: 'shixuns'})}
to={`/users/${username}/shixuns`}>实训</Link>
</li>
<li className={`${moduleName == 'paths' ? 'active' : '' }`}>
<Link
onClick={() => this.setState({moduleName: 'paths'})}
to={`/users/${username}/paths`}>实训课程</Link>
</li>
<li className={`${moduleName == 'projects' ? 'active' : '' }`}>
<Link
onClick={() => this.setState({moduleName: 'projects'})}
to={`/users/${username}/projects`}>项目</Link>
</li>
{ data && data.identity!="学生" && <li> <a href={`${this.props.Headertop && this.props.Headertop.old_url}/users/${username}?type=m_bank`}>题库</a></li>}
</div>
</div>
</div>
</div>
</div>
{
parseInt(type) == 0 && <InfosCourse {...this.props} {...this.state} login={username} is_current={is_current}></InfosCourse>
}
{
parseInt(type) == 1 && <InfosShixun {...this.props} {...this.state} login={username} is_current={is_current}></InfosShixun>
}
{
parseInt(type) == 2 && <InfosPath {...this.props} {...this.state} login={username} is_current={is_current}></InfosPath>
}
{
parseInt(type) == 3 && <InfosProject {...this.props} {...this.state} login={username} is_current={is_current}></InfosProject>
}
{
parseInt(type) == 4 && <InfosBank {...this.props} {...this.state} login={username} is_current={is_current}></InfosBank>
}
<Switch {...this.props}>
{/* --------------------------------------------------------------------- */}
{/* 课堂 */}
{/* http://localhost:3007/courses/1309/homework/9300/setting */}
<Route exact path="/users/:username/courses"
render={
(props) => (<InfosCourse {...this.props} {...props} {...this.state} />)
}
></Route>
{/* 实训 */}
<Route exact path="/users/:username/shixuns"
render={
(props) => (<InfosShixun {...this.props} {...props} {...this.state} />)
}
></Route>
{/* 实训课程 */}
<Route exact path="/users/:username/paths"
render={
(props) => (<InfosPath {...this.props} {...props} {...this.state} />)
}
></Route>
{/* 项目 */}
<Route exact path="/users/:username/projects"
render={
(props) => (<InfosProject {...this.props} {...props} {...this.state} />)
}
></Route>
</Switch>
</div>
)
}

@ -39,7 +39,7 @@ class InfosBank extends Component{
}
getCourses=(category,type,page,sort_by,CoursesId)=>{
let url=`/users/${this.props.login}/question_banks.json`;
let url=`/users/${this.props.match.params.username}/question_banks.json`;
axios.get((url),{params:{
category,
type,

@ -36,7 +36,7 @@ class InfosCourse extends Component{
}
getCourses=(category,status,page)=>{
let url=`/users/${this.props.login}/courses.json`;
let url=`/users/${this.props.match.params.username}/courses.json`;
axios.get((url),{params:{
category,
status,

@ -38,7 +38,7 @@ class InfosPath extends Component{
}
getCourses=(category,status,sort_by,page,per_page)=>{
let url=`/users/${this.props.login}/subjects.json`;
let url=`/users/${this.props.match.params.username}/subjects.json`;
axios.get((url),{params:{
category,
status,

@ -32,7 +32,7 @@ class InfosProject extends Component{
}
getCourses=(category,status,page)=>{
let url=`/users/${this.props.login}/projects.json`;
let url=`/users/${this.props.match.params.username}/projects.json`;
axios.get((url),{params:{
category,
status,

@ -38,7 +38,7 @@ class InfosShixun extends Component{
}
getCourses=(category,status,sort_by,page)=>{
let url=`/users/${this.props.login}/shixuns.json`;
let url=`/users/${this.props.match.params.username}/shixuns.json`;
axios.get((url),{params:{
category,
status,

@ -8,8 +8,20 @@
float: left;
margin: 0px 40px;
padding:0px;
height: 47px;line-height: 40px;
height: 45px;
line-height: 40px;
font-size: 16px;
position: relative;
}
.navInfo li.active::after{
position: absolute;
left: 0px;
height: 2px;
width: 100%;
content: '';
bottom: 0px;
background: #05101A!important;
color: #666!important;
}
.navInfo li,.navInfo li.ant-menu-item-active{
border-bottom: none!important;

Loading…
Cancel
Save