forked from Gitlink/forgeplus-react
竞赛动态加载初始化
This commit is contained in:
parent
2da1a838d4
commit
4b4ac537c0
|
@ -70,7 +70,7 @@ const Expert = Loadable({
|
|||
loading: Loading,
|
||||
})
|
||||
// 启智2022 (为此竞赛定制化页面以及内容)
|
||||
const Qz2022 = Loadable({
|
||||
const Competition = Loadable({
|
||||
loader: () => import('./military/qz2022'),
|
||||
loading: Loading,
|
||||
})
|
||||
|
@ -134,11 +134,6 @@ const AboutUs = Loadable({
|
|||
// loading: Loading,
|
||||
// });
|
||||
|
||||
// 首页
|
||||
const HomePage = Loadable({
|
||||
loader: () => import('./home'),
|
||||
loading: Loading,
|
||||
});
|
||||
|
||||
// 管理页面
|
||||
const Managements = Loadable({
|
||||
|
@ -382,7 +377,7 @@ class App extends Component {
|
|||
{/*专家评审*/}
|
||||
<Route path="/expert" component={Expert} />
|
||||
{/*启智2022*/}
|
||||
<Route path="/competition/qz2022" component={Qz2022} />
|
||||
<Route path="/competition" component={Competition} />
|
||||
|
||||
<Route exact path="/explore/all"
|
||||
render={
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import React, { useEffect, useState } from "react";
|
||||
import { Link, Route, Switch } from "react-router-dom";
|
||||
import { withRouter } from "react-router";
|
||||
import { SnackbarHOC } from "educoder";
|
||||
import { SnackbarHOC, getImageUrl } from "educoder";
|
||||
import { CNotificationHOC } from "../modules/courses/common/CNotificationHOC";
|
||||
import { TPMIndexHOC } from "../modules/tpm/TPMIndexHOC";
|
||||
import Loadable from "react-loadable";
|
||||
|
@ -152,46 +152,46 @@ const Qz2022 = (props) => {
|
|||
function goToRefer() {
|
||||
if (current_user && !current_user.login) {
|
||||
props.showLoginDialog();
|
||||
}else if(enrollStatus && !enrollStatus.enroll_status){
|
||||
} else if (enrollStatus && !enrollStatus.enroll_status) {
|
||||
props.showNotification("您还未报名竞赛!");
|
||||
}else if(enrollStatus && enrollStatus.status === 0){
|
||||
} else if (enrollStatus && enrollStatus.status === 0) {
|
||||
props.showNotification("报名信息被管理员驳回!");
|
||||
} else {
|
||||
!referStatus ? props.showNotification(!referEnd ? `竞赛尚未开始提交作品,提交作品开始时间为:${qzDetail && qzDetail.enroll_date.substring(0, 10)}` : "比赛已结束") : "";
|
||||
}
|
||||
}
|
||||
|
||||
const is_local= qzDetail &&qzDetail.is_local;
|
||||
const banner_url= qzDetail &&qzDetail.banner_url;
|
||||
const is_local = qzDetail && qzDetail.is_local;
|
||||
const banner_url = qzDetail && qzDetail.banner_url && getImageUrl(qzDetail.banner_url);
|
||||
|
||||
return (
|
||||
<React.Fragment>
|
||||
<Login {...props} />
|
||||
{/* banner图+选项 */}
|
||||
<img src={banner_url || (is_local?banner_local: banner)} className="qz_banner" alt=""/>
|
||||
<img src={banner_url || (is_local ? banner_local : banner)} className="qz_banner" alt="" />
|
||||
<div className="qz2022">
|
||||
<div className={`qz2022-top ${fixedTop}`}>
|
||||
{paths.indexOf(active) !== -1 && <ul className="qz2022Menu mt20 qz_main">
|
||||
<li>
|
||||
<a href="/"><img src={logo} alt="" style={{width: 120}}/></a>
|
||||
</li>
|
||||
<li className={ active==='qz2022' ||active === "introduce"? "active" : ""}>
|
||||
<Link to={{ pathname: `/competition/qz2022/introduce` }}>首页</Link>
|
||||
</li>
|
||||
<li className={active === "fingerpost" ? "active" : ""}>
|
||||
<Link to={{ pathname: `/competition/qz2022/fingerpost` }}>赛事指南</Link>
|
||||
</li>
|
||||
<li className={active === "notice" ? "active" : ""}>
|
||||
<Link to={{ pathname: `/competition/qz2022/notice` }}>通知公告</Link>
|
||||
</li>
|
||||
{/* 处于报名阶段正常跳转到报名页面,不处于右侧弹消息 */}
|
||||
<li className={active === "apply" ? "active" : ""}>
|
||||
<Link to={{ pathname: applyStatus && current_user && current_user.login ? '/competition/qz2022/apply' :'' }} onClick={()=>{current_user && current_user.login ? !applyStatus && props.showNotification("报名时间已截止") : props.showLoginDialog()}}>参赛报名</Link>
|
||||
</li>
|
||||
<li className={active === "refer" ? "active" : ""}>
|
||||
<Link to={{ pathname: referStatus && !referEnd && current_user && current_user.login && enrollStatus && enrollStatus.enroll_status ? `/competition/qz2022/refer` : '' }} onClick={goToRefer}>提案提交</Link>
|
||||
</li>
|
||||
{/* <li className={active === "apply" ? "active" : ""}>
|
||||
{paths.indexOf(active) !== -1 && <ul className="qz2022Menu mt20 qz_main">
|
||||
<li>
|
||||
<a href="/"><img src={logo} alt="" style={{ width: 120 }} /></a>
|
||||
</li>
|
||||
<li className={active === 'qz2022' || active === "introduce" ? "active" : ""}>
|
||||
<Link to={{ pathname: `/competition/qz2022/introduce` }}>首页</Link>
|
||||
</li>
|
||||
<li className={active === "fingerpost" ? "active" : ""}>
|
||||
<Link to={{ pathname: `/competition/qz2022/fingerpost` }}>赛事指南</Link>
|
||||
</li>
|
||||
<li className={active === "notice" ? "active" : ""}>
|
||||
<Link to={{ pathname: `/competition/qz2022/notice` }}>通知公告</Link>
|
||||
</li>
|
||||
{/* 处于报名阶段正常跳转到报名页面,不处于右侧弹消息 */}
|
||||
<li className={active === "apply" ? "active" : ""}>
|
||||
<Link to={{ pathname: applyStatus && current_user && current_user.login ? '/competition/qz2022/apply' : '' }} onClick={() => { current_user && current_user.login ? !applyStatus && props.showNotification("报名时间已截止") : props.showLoginDialog() }}>参赛报名</Link>
|
||||
</li>
|
||||
<li className={active === "refer" ? "active" : ""}>
|
||||
<Link to={{ pathname: referStatus && !referEnd && current_user && current_user.login && enrollStatus && enrollStatus.enroll_status ? `/competition/qz2022/refer` : '' }} onClick={goToRefer}>提案提交</Link>
|
||||
</li>
|
||||
{/* <li className={active === "apply" ? "active" : ""}>
|
||||
<Link to={{ pathname: '/competition/qz2022/apply'}}>参赛报名</Link>
|
||||
</li> */}
|
||||
{/* <li className={active === "refer" ? "active" : ""}>
|
||||
|
@ -225,19 +225,19 @@ const Qz2022 = (props) => {
|
|||
{/* 通知公告编辑页 */}
|
||||
<Route path="/competition/qz2022/notice/:type/:noticeId"
|
||||
render={
|
||||
({ match }) => (<NoticeEdit {...props} match={match} qzDetail={qzDetail}/>)
|
||||
({ match }) => (<NoticeEdit {...props} match={match} qzDetail={qzDetail} />)
|
||||
}
|
||||
></Route>
|
||||
{/* 通知公告新增页 */}
|
||||
<Route path="/competition/qz2022/notice/:type"
|
||||
render={
|
||||
({ match }) => (<NoticeEdit {...props} match={match} qzDetail={qzDetail}/>)
|
||||
({ match }) => (<NoticeEdit {...props} match={match} qzDetail={qzDetail} />)
|
||||
}
|
||||
></Route>
|
||||
{/* 大赛介绍、大赛指南、关于我们 编辑页 */}
|
||||
<Route path="/competition/qz2022/:type/edit"
|
||||
render={
|
||||
({match}) => (<ManageEdit {...props} qzDetail={qzDetail} match={match} setReloadDetail={setReloadDetail}/>)
|
||||
({ match }) => (<ManageEdit {...props} qzDetail={qzDetail} match={match} setReloadDetail={setReloadDetail} />)
|
||||
}
|
||||
></Route>
|
||||
{/* 通知公告 */}
|
||||
|
@ -249,25 +249,25 @@ const Qz2022 = (props) => {
|
|||
{/* 参赛报名 */}
|
||||
<Route path="/competition/qz2022/apply"
|
||||
render={
|
||||
() => (<Apply {...props} qzDetail={qzDetail} enrollStatus={enrollStatus} setReload={setReload}/>)
|
||||
() => (<Apply {...props} qzDetail={qzDetail} enrollStatus={enrollStatus} setReload={setReload} />)
|
||||
}
|
||||
></Route>
|
||||
{/* 提案提交 */}
|
||||
<Route path="/competition/qz2022/refer"
|
||||
render={
|
||||
() => (<Refer {...props} enrollStatus={enrollStatus} qzDetail={qzDetail} setReload={setReload}/>)
|
||||
() => (<Refer {...props} enrollStatus={enrollStatus} qzDetail={qzDetail} setReload={setReload} />)
|
||||
}
|
||||
></Route>
|
||||
{/* 交流互动 */}
|
||||
<Route path="/competition/qz2022/chat"
|
||||
render={
|
||||
() => (<Chat {...props} isLoacl={qzDetail && qzDetail.is_local}/>)
|
||||
() => (<Chat {...props} isLoacl={qzDetail && qzDetail.is_local} />)
|
||||
}
|
||||
></Route>
|
||||
{/* 联系我们 */}
|
||||
<Route path="/competition/qz2022/contact"
|
||||
render={
|
||||
() => (<Contact {...props} aboutUs={qzDetail && qzDetail.about_us} qzDetail={qzDetail}/>)
|
||||
() => (<Contact {...props} aboutUs={qzDetail && qzDetail.about_us} qzDetail={qzDetail} />)
|
||||
}
|
||||
></Route>
|
||||
{/* 数据统计 */}
|
||||
|
@ -279,13 +279,13 @@ const Qz2022 = (props) => {
|
|||
{/* 后台管理-报名列表 */}
|
||||
<Route path="/competition/qz2022/management/applys"
|
||||
render={
|
||||
() => (<Management {...props} qzDetail={qzDetail}/>)
|
||||
() => (<Management {...props} qzDetail={qzDetail} />)
|
||||
}
|
||||
></Route>
|
||||
{/* 后台管理-作品列表 */}
|
||||
<Route path="/competition/qz2022/management/production"
|
||||
render={
|
||||
() => (<Management {...props} qzDetail={qzDetail}/>)
|
||||
() => (<Management {...props} qzDetail={qzDetail} />)
|
||||
}
|
||||
></Route>
|
||||
{/* 大赛介绍 */}
|
||||
|
@ -297,7 +297,7 @@ const Qz2022 = (props) => {
|
|||
{/* 大赛指南 */}
|
||||
<Route path="/competition/qz2022/fingerpost"
|
||||
render={
|
||||
() => (<Fingerpost {...props} qzDetail={qzDetail}/>)
|
||||
() => (<Fingerpost {...props} qzDetail={qzDetail} />)
|
||||
}
|
||||
></Route>
|
||||
{/* 大赛介绍 */}
|
||||
|
|
|
@ -280,7 +280,7 @@ export function TPMIndexHOC(WrappedComponent, headFoot) {
|
|||
resetUserInfo:this.fetchUsers,
|
||||
showCompeleteDialog:this.showCompeleteDialog
|
||||
};
|
||||
let qz2022 = this.props.match.path.includes('/competition/qz2022');
|
||||
let competition = this.props.match.path.includes('/competition');
|
||||
return (
|
||||
<div className="indexHOC">
|
||||
<SystemNotice
|
||||
|
@ -303,12 +303,12 @@ export function TPMIndexHOC(WrappedComponent, headFoot) {
|
|||
/> : ""}
|
||||
{/* <Header {...this.state} {...this.props} {...common} publicNav={publicNav}></Header> */}
|
||||
{/* <NewHeader {...this.state} {...this.props} {...common}></NewHeader> */}
|
||||
{!qz2022&&<NewHeader {...this.state} {...this.props} {...common}></NewHeader>}
|
||||
{!competition&&<NewHeader {...this.state} {...this.props} {...common}></NewHeader>}
|
||||
<Spin spinning={this.state.globalLoading} delay={0} className="globalSpin"
|
||||
size="large" tip={this._gLoadingTip || "加载中..."}
|
||||
>
|
||||
<div className="newContainer newContainers">
|
||||
{!publicNav && !qz2022&&<div style={{height:"70px"}}></div> }
|
||||
{!publicNav && !competition&&<div style={{height:"70px"}}></div> }
|
||||
{
|
||||
current_user &&
|
||||
<WrappedComponent initCommonState={(user) => this.initCommonState(user)}
|
||||
|
|
Loading…
Reference in New Issue