Merge branches 'gitlink_server' and 'gitlink_server' of https://git.trustie.net/Gitlink/forgeplus-react into gitlink_server

This commit is contained in:
caishi 2021-12-15 09:46:44 +08:00
commit b3dec1ee8e
8 changed files with 50 additions and 21 deletions

View File

@ -55,7 +55,8 @@ const OrderupdateMilepost = Loadable({
}) })
const OrderupdateDetail = Loadable({ const OrderupdateDetail = Loadable({
loader: () => import('../Order/UpdateDetail'), // loader: () => import('../Order/UpdateDetail'),
loader: () => import('../Order/order_form'),
loading: Loading, loading: Loading,
}) })
@ -213,6 +214,10 @@ class Detail extends Component {
} }
} }
componentWillUnmount() {
this.timerChannel && clearTimeout(this.timerChannel);
}
getProject = (num) => { getProject = (num) => {
const { projectsId, owner } = this.props.match.params; const { projectsId, owner } = this.props.match.params;
const url = `/${owner}/${projectsId}/simple.json`; const url = `/${owner}/${projectsId}/simple.json`;
@ -275,7 +280,9 @@ class Detail extends Component {
connected: () => { connected: () => {
console.log("###### channel connected! ######"); console.log("###### channel connected! ######");
}, },
disconnected: () => { }, disconnected: () => {
console.log("###### cannot connected! ######");
},
received: data => { received: data => {
console.log(`###### ---received data--- ######`); console.log(`###### ---received data--- ######`);
console.log(data); console.log(data);
@ -296,10 +303,22 @@ class Detail extends Component {
}); });
cable.subscriptions.consumer.disconnect(); cable.subscriptions.consumer.disconnect();
} }
},
onerror:()=>{
console.log("###### cannot connected! ######");
} }
}) });
this.timerChannel = setTimeout(this.reloadDetail,5000);
} }
reloadDetail=()=>{
if(this.state.firstSync||this.state.secondSync){
window.location.reload();
}
}
deleteProjectBack = () => { deleteProjectBack = () => {
const { history } = this.props; const { history } = this.props;
const { projectsId, owner } = this.props.match.params; const { projectsId, owner } = this.props.match.params;
@ -700,16 +719,16 @@ class Detail extends Component {
(props) => (<OrderNew {...this.props} {...props} {...this.state} {...common} />) (props) => (<OrderNew {...this.props} {...props} {...this.state} {...common} />)
} }
></Route> ></Route>
{/* 修改详情 updatedetail*/} {/* 修改详情 edit*/}
<Route path="/:owner/:projectsId/issues/:orderId/:operateName" <Route path="/:owner/:projectsId/issues/:orderId/edit"
render={ render={
(props) => (<OrderupdateDetail {...this.props} {...props} {...this.state} {...common} />) (props) => (<OrderupdateDetail {...this.props} {...props} {...this.state} {...common} form_type={"edit"}/>)
} }
></Route> ></Route>
{/* 复制详情 copyetail*/} {/* 复制详情 copyetail*/}
<Route path="/:owner/:projectsId/issues/:orderId/copyetail" <Route path="/:owner/:projectsId/issues/:orderId/copyetail"
render={ render={
(props) => (<OrderupdateDetail {...this.props} {...props} {...this.state} {...common} />) (props) => (<OrderupdateDetail {...this.props} {...props} {...this.state} {...common} form_type={"copy"}/>)
} }
></Route> ></Route>

View File

@ -257,7 +257,7 @@ class Detail extends Component {
</Popconfirm> </Popconfirm>
<Link <Link
to={`/${owner}/${projectsId}/issues/${orderId}/updatedetail`} to={`/${owner}/${projectsId}/issues/${orderId}/edit`}
className="color-blue fr" className="color-blue fr"
> >
编辑 编辑

View File

@ -94,7 +94,7 @@ class OrderItem extends Component {
user_admin_or_member ? user_admin_or_member ?
<div style={{ display: orderid === item.id && isdisplay ? 'flex' : 'none' }}> <div style={{ display: orderid === item.id && isdisplay ? 'flex' : 'none' }}>
<div className="mr8 ml8 color-grey-9"> <div className="mr8 ml8 color-grey-9">
<Link to={`/${owner}/${projectsId}/issues/${item.id}/updatedetail`} className="color-grey-9"> <Link to={`/${owner}/${projectsId}/issues/${item.id}/edit`} className="color-grey-9">
<i className="iconfont icon-bianji3 font-14 mr5"></i> <i className="iconfont icon-bianji3 font-14 mr5"></i>
</Link> </Link>
</div> </div>

View File

@ -4,6 +4,7 @@ import OrderForm from './order_form'
function CopyDetail(props){ function CopyDetail(props){
const operateName = props.match.params.operateName; const operateName = props.match.params.operateName;
console.log('operateName:'+operateName);
return( return(
<OrderForm form_type={operateName === "copyetail" ? "copy":"edit"} {...props}></OrderForm> <OrderForm form_type={operateName === "copyetail" ? "copy":"edit"} {...props}></OrderForm>
) )

View File

@ -169,11 +169,12 @@ class order_form extends Component {
// 创建 // 创建
handleSubmit = () => { handleSubmit = () => {
this.setState({
isSpin: true,
});
this.props.form.validateFieldsAndScroll((err, values) => { this.props.form.validateFieldsAndScroll((err, values) => {
if (!err) { if (!err) {
this.setState({
isSpin: true,
});
const { form_type } = this.props; const { form_type } = this.props;
const { projectsId , orderId , owner } = this.props.match.params; const { projectsId , orderId , owner } = this.props.match.params;
@ -247,9 +248,6 @@ class order_form extends Component {
}); });
} }
} }
this.setState({
isSpin: false,
});
}); });
}; };

View File

@ -24,15 +24,16 @@ function Teaching(){
<div className="teaching"> <div className="teaching">
<div className="tea_head"> <div className="tea_head">
<div> <div>
<div className='head_til1'>大规模实训课程体系</div> <a href="#teaching_part1"><div className='head_til1'>大规模实训课程体系</div></a>
<div className='head_til2'>集成化班级协同空间</div> <a href="#teaching_part2"><div className='head_til2'>集成化班级协同空间</div></a>
<div className='head_til3'>多联盟共建开源竞赛</div> <a href="#teaching_part3"><div className='head_til3'>多联盟共建开源竞赛</div></a>
</div> </div>
<img src={head} /> <img src={head} onClick={() => window.open('https://www.educoder.net', '_blank')}/>
</div> </div>
{/* 大规模实训课程体系 */} {/* 大规模实训课程体系 */}
<div className="tea_part1"> <div className="tea_part1">
<span id='teaching_part1'></span>
<p className="tea_title">大规模实训课程体系</p> <p className="tea_title">大规模实训课程体系</p>
<p className="tips">谢绝纸上谈兵精心打造教学标注练平一体化的实战环境</p> <p className="tips">谢绝纸上谈兵精心打造教学标注练平一体化的实战环境</p>
<div className="tea_small_title"> <div className="tea_small_title">
@ -95,6 +96,7 @@ function Teaching(){
{/* 集成化班级协同空间 */} {/* 集成化班级协同空间 */}
<div className="tea_part2_bg"> <div className="tea_part2_bg">
<span id='teaching_part2'></span>
<div className="tea_part2"> <div className="tea_part2">
<p className="tea_title">集成化班级协同空间</p> <p className="tea_title">集成化班级协同空间</p>
<p className="tips">支持实验作业视频考试毕设等十余种线上线下管理工具</p> <p className="tips">支持实验作业视频考试毕设等十余种线上线下管理工具</p>
@ -177,6 +179,7 @@ function Teaching(){
{/* 多联盟共建开源竞赛 */} {/* 多联盟共建开源竞赛 */}
<div className="tea_part3_bg"> <div className="tea_part3_bg">
<span id='teaching_part3'></span>
<div className="tea_part3"> <div className="tea_part3">
<p className="tea_title">多联盟共建开源竞赛</p> <p className="tea_title">多联盟共建开源竞赛</p>
<p className="tips">聚焦开源定期开展有奖大型竞赛让您的作品伴随您成长</p> <p className="tips">聚焦开源定期开展有奖大型竞赛让您的作品伴随您成长</p>

View File

@ -26,9 +26,17 @@
&:hover{opacity: 0.8; } &:hover{opacity: 0.8; }
} }
} }
& .tea_part1 .vertical:hover, .tea_part2 .vertical:hover, .tea_part3 .content:hover, .practice div{ & .tea_part1 .vertical:hover, .tea_part2 .vertical:hover, .tea_part3 .content:hover, .practice div, .tea_head>div div, .tea_head>img{
cursor: pointer; cursor: pointer;
} }
& .tea_part1>span{
position: relative;
top: -100px;
}
& .tea_part2_bg>span, .tea_part3_bg>span{
position: relative;
top: -50px;
}
} }
.tea_head{ .tea_head{
display: flex; display: flex;

View File

@ -251,7 +251,7 @@ class claims extends React.Component {
{ {
claimerdata.length>0?( claimerdata&&claimerdata.length>0?(
<div> <div>
<span>声明要关注/解决此易修的用户</span><span className="infoCount">{claimerdata.length}</span> <span>声明要关注/解决此易修的用户</span><span className="infoCount">{claimerdata.length}</span>
<div className="attrPerson" onMouseLeave={()=>this.setVisibleFunc(false)}> <div className="attrPerson" onMouseLeave={()=>this.setVisibleFunc(false)}>