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

View File

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

View File

@ -94,7 +94,7 @@ class OrderItem extends Component {
user_admin_or_member ?
<div style={{ display: orderid === item.id && isdisplay ? 'flex' : 'none' }}>
<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>
</Link>
</div>

View File

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

View File

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

View File

@ -26,9 +26,17 @@
&: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;
}
& .tea_part1>span{
position: relative;
top: -100px;
}
& .tea_part2_bg>span, .tea_part3_bg>span{
position: relative;
top: -50px;
}
}
.tea_head{
display: flex;

View File

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