Merge branches 'yslcompetition' and 'ysm1' of https://bdgit.educoder.net/Hjqreturn/educoder into ysm1
# Conflicts: # public/react/src/App.jsdev_sync_trustie
commit
e388939af9
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Before Width: | Height: | Size: 294 KiB After Width: | Height: | Size: 303 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
After Width: | Height: | Size: 3.1 KiB |
After Width: | Height: | Size: 4.4 KiB |
@ -0,0 +1,50 @@
|
||||
import React, {Component} from 'react';
|
||||
import {
|
||||
BrowserRouter as Router,
|
||||
Route,
|
||||
Switch
|
||||
} from 'react-router-dom';
|
||||
import axios from 'axios';
|
||||
import moment from 'moment';
|
||||
import competition from './comcss/competition.css';
|
||||
import {Checkbox, Table, Pagination, Menu, Icon} from "antd";
|
||||
// 团队竞赛报名无报名子组件团队 在线竞赛 > 全国高校计算机大赛-项目挑战>
|
||||
import Rectanglex from "../../modules/competition/Rectanglex.png";
|
||||
class RegisListview extends React.Component {
|
||||
constructor(props) {
|
||||
super(props)
|
||||
|
||||
}
|
||||
|
||||
|
||||
render() {
|
||||
return (
|
||||
<div className="reglistviewdivs">
|
||||
<div className="reglistviewdivss " style={{
|
||||
width: "100%",
|
||||
display: "flex",
|
||||
justifyContent: " space-around",
|
||||
alignItems: "center",
|
||||
background: `url(${Rectanglex})`,
|
||||
height: "50px",
|
||||
backgroundPosition: "center",
|
||||
backgroundSize: "110% 100%",
|
||||
}}>
|
||||
<p className="borders"
|
||||
style={{fontSize: "16px", color: "#05101A", width: "79px", textAlign: "center"}}>创建者</p>
|
||||
<p className="borders"
|
||||
style={{fontSize: "16px", color: "#05101A", width: "160px", textAlign: "center"}}>战队名称</p>
|
||||
<p className="borders"
|
||||
style={{fontSize: "16px", color: "#05101A", width: "487px", textAlign: "center"}}>战队成员</p>
|
||||
<p className="borders"
|
||||
style={{fontSize: "16px", color: "#05101A", width: "134px", textAlign: "center"}}>学校</p>
|
||||
<p className="borders"
|
||||
style={{fontSize: "16px", color: "#05101A", width: "151px", textAlign: "center"}}>时间</p>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export default RegisListview;
|
@ -0,0 +1,106 @@
|
||||
import React, {Component} from 'react';
|
||||
import {
|
||||
BrowserRouter as Router,
|
||||
Route,
|
||||
Switch
|
||||
} from 'react-router-dom';
|
||||
import axios from 'axios';
|
||||
import moment from 'moment';
|
||||
import {SnackbarHOC, WordsBtn} from 'educoder';
|
||||
import {TPMIndexHOC} from '../tpm/TPMIndexHOC';
|
||||
import competition from './comcss/competition.css';
|
||||
import {Button} from 'antd';
|
||||
|
||||
// 团队竞赛报名无报名子组件团队 竞赛报名-已创建战队
|
||||
class RegisListviewdata extends React.Component {
|
||||
constructor(props) {
|
||||
super(props)
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
render() {
|
||||
return (
|
||||
|
||||
<div className="regitem">
|
||||
<div className="regitemimg1 borders">
|
||||
<div className="regitemimg2">
|
||||
|
||||
</div>
|
||||
<p>小猫头像</p>
|
||||
</div>
|
||||
<div className="borders" style={{
|
||||
marginTop: "29px",
|
||||
marginLeft: "37px"
|
||||
}}>
|
||||
<p style={{
|
||||
border: "1px solid",
|
||||
color: "#05101A",
|
||||
fontSize: "16px",
|
||||
width: "160px",
|
||||
textAlign: "center"
|
||||
}}>重庆邮电大学</p>
|
||||
</div>
|
||||
<div className="borders" style={{
|
||||
marginLeft: "37px",
|
||||
display: "flex",
|
||||
flexDirection: "initial",
|
||||
width: "487px"
|
||||
}}>
|
||||
<div className="regitemimgs">
|
||||
|
||||
</div>
|
||||
<div className="regitemimgs2">
|
||||
|
||||
</div>
|
||||
<div className="regitemimgs2">
|
||||
|
||||
</div>
|
||||
<div className="regitemimgs2">
|
||||
|
||||
</div>
|
||||
<div className="regitemimgs2">
|
||||
|
||||
</div>
|
||||
<div className="regitemimgs2">
|
||||
|
||||
</div>
|
||||
<div className="regitemimgs22">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div className="borders" style={{
|
||||
marginLeft: "37px",
|
||||
width: "134px",
|
||||
marginTop: "29px",
|
||||
}}>
|
||||
<p style={{
|
||||
color: "#05101A",
|
||||
fontSize: "16px",
|
||||
textAlign: "center"
|
||||
}}>重庆邮电大学</p>
|
||||
</div>
|
||||
<div className="borders" style={{
|
||||
marginLeft: "37px",
|
||||
width: "151px",
|
||||
marginTop: "29px",
|
||||
|
||||
}}>
|
||||
<p style={{
|
||||
color: "#999999",
|
||||
fontSize: "16px",
|
||||
textAlign: "center"
|
||||
}}>2019-09-07 08:33</p>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export default RegisListviewdata;
|
@ -0,0 +1,404 @@
|
||||
import React, {Component} from 'react';
|
||||
import {
|
||||
BrowserRouter as Router,
|
||||
Route,
|
||||
Switch
|
||||
} from 'react-router-dom';
|
||||
import axios from 'axios';
|
||||
import moment from 'moment';
|
||||
import {SnackbarHOC, WordsBtn} from 'educoder';
|
||||
import {TPMIndexHOC} from '../tpm/TPMIndexHOC';
|
||||
import competition from './comcss/competition.css';
|
||||
import {Button, Pagination, message} from 'antd';
|
||||
import Registrationitem from './Registrationitem';
|
||||
import RegisNodata from './RegisNodata';
|
||||
import CompetitionMaxImg from './CompetitionMaxImg';
|
||||
import RegistrationSearch from './RegistrationSearch';
|
||||
import RegisListview from './RegisListview';
|
||||
import RegisListviewdata from './RegisListviewdata';
|
||||
import PersonModal from './competmodal/PersonModal';
|
||||
import MessagePersonModal from './competmodal/MessagePersonModal';
|
||||
import PersonalModalteam from './competmodal/PersonalModalteam';
|
||||
import PersonalCompetititem from './personal/PersonalCompetititem'
|
||||
// 团队竞赛报名无报名
|
||||
class Registration extends React.Component {
|
||||
/***
|
||||
*"personal": false, // 是否为个人赛
|
||||
*"enroll_ended": false, // 报名是否截止
|
||||
*"enrolled: false, // 是否已经报名
|
||||
*"teacher_staff": { // 为空表示不支持老师报名
|
||||
*"member_staff": { // 为空表示不支持学生报名
|
||||
* **/
|
||||
constructor(props) {
|
||||
super(props)
|
||||
this.state = {
|
||||
test: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20],
|
||||
loadingstate: false,
|
||||
pages: 1,
|
||||
limit: 20,
|
||||
type: 1,
|
||||
tmodalsType: false,
|
||||
tmodalsTypes: false,
|
||||
Newtit: true,
|
||||
keyword: "",
|
||||
page: 1,
|
||||
per_page: 20,
|
||||
data: [],
|
||||
count: 0,
|
||||
GetenrollmentAPI: undefined,
|
||||
personal: false,
|
||||
enroll_ended: false,
|
||||
enrolled: false,
|
||||
teacher_staff: null,
|
||||
member_staff: null,
|
||||
messagePer: "提示",
|
||||
messagePerbool: false,
|
||||
intpermessages: "确认"
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
componentDidMount() {
|
||||
//console.log("componentDidMount Registration");
|
||||
// ////console.log("调用子组件 ");
|
||||
//console.log(this.props.isAdmin());
|
||||
// ////console.log(this.props.isAdmin())
|
||||
const {keyword, page, per_page} = this.state;
|
||||
this.Getdata(keyword, page, per_page);
|
||||
this.GetenrollmentAPI();
|
||||
}
|
||||
|
||||
//获取报名配置API
|
||||
GetenrollmentAPI = () => {
|
||||
const url = `/competitions/${"gcc-course-2019"}/competition_staff.json`;
|
||||
axios.get((url)).then((result) => {
|
||||
if (result) {
|
||||
if (result.data) {
|
||||
////console.log("获取报名配置API");
|
||||
////console.log(result);
|
||||
this.setState({
|
||||
GetenrollmentAPI: result.data,
|
||||
personal: result.data.personal,
|
||||
enroll_ended: result.data.enroll_ended,
|
||||
enrolled: result.data.enrolled,
|
||||
teacher_staff: result.data.teacher_staff,
|
||||
member_staff: result.data.member_staff,
|
||||
})
|
||||
}
|
||||
}
|
||||
}).catch((error) => {
|
||||
////console.log(error);
|
||||
})
|
||||
}
|
||||
|
||||
Getdata = (keyword, page, per_page) => {
|
||||
//搜索关键字 keyword
|
||||
//页数 page
|
||||
//分页 per_page
|
||||
const datas = {
|
||||
keyword: keyword,
|
||||
page: page,
|
||||
per_page: per_page,
|
||||
};
|
||||
let url = `/competitions/${"gcc-course-2019"}/competition_teams.json`;
|
||||
axios.get((url), {params: datas}).then((result) => {
|
||||
if (result) {
|
||||
if (result.data) {
|
||||
////console.log(result);
|
||||
if (result.data.count === 0) {
|
||||
// 没有创建数据的
|
||||
if (this.props.isAdmin() === true) {
|
||||
//管理员
|
||||
this.setState({
|
||||
type: 4,
|
||||
count: result.data.count,
|
||||
})
|
||||
} else {
|
||||
//普通人
|
||||
this.setState({
|
||||
type: 1,
|
||||
count: result.data.count,
|
||||
})
|
||||
}
|
||||
} else {
|
||||
//有数据的
|
||||
if (this.props.isAdmin() === true) {
|
||||
this.setState({
|
||||
type: 5,
|
||||
data: result.data.competition_teams,
|
||||
count: result.data.count,
|
||||
})
|
||||
} else {
|
||||
if (result.data.competition_teams[0].manage_permission === true) {
|
||||
//学生true 为创建了竞赛
|
||||
this.setState({
|
||||
type: 2,
|
||||
data: result.data.competition_teams,
|
||||
count: result.data.count,
|
||||
})
|
||||
} else {
|
||||
//学生true 加入了竞赛
|
||||
this.setState({
|
||||
type: 3,
|
||||
data: result.data.competition_teams,
|
||||
count: result.data.count,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}).catch((error) => {
|
||||
////console.log(error);
|
||||
})
|
||||
}
|
||||
paginationonChangestwo = (pageNumber) => {
|
||||
this.setState({
|
||||
pages: pageNumber,
|
||||
loadingstate: true,
|
||||
})
|
||||
};
|
||||
/**
|
||||
* 加入战队
|
||||
* */
|
||||
Jointheteam = () => {
|
||||
if (this.state.enrolled === true) {
|
||||
//已经报名
|
||||
this.setState({
|
||||
messagePerbool: true,
|
||||
intpermessages: "您已报名,无需重复报"
|
||||
})
|
||||
return;
|
||||
}
|
||||
if (this.state.enroll_ended === true) {
|
||||
//报名截止
|
||||
this.setState({
|
||||
messagePerbool: true,
|
||||
intpermessages: "报名已截止,无需报名"
|
||||
})
|
||||
return
|
||||
}
|
||||
if (this.props.isAdmin() === true) {
|
||||
//老师
|
||||
if (this.state.teacher_staff === null) {
|
||||
//禁止老师
|
||||
this.setState({
|
||||
messagePerbool: true,
|
||||
intpermessages: "已禁止老师报名"
|
||||
})
|
||||
return;
|
||||
}
|
||||
this.setState({
|
||||
tmodalsTypes: true
|
||||
})
|
||||
} else {
|
||||
//学生
|
||||
if (this.state.member_staff === null) {
|
||||
//禁止学生
|
||||
this.setState({
|
||||
messagePerbool: true,
|
||||
intpermessages: "已禁止学生报名"
|
||||
})
|
||||
return;
|
||||
}
|
||||
this.setState({
|
||||
tmodalsTypes: true
|
||||
})
|
||||
}
|
||||
// this.setState({
|
||||
// tmodalsTypes: true
|
||||
// })
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建战队
|
||||
**/
|
||||
Createateam = () => {
|
||||
//
|
||||
if (this.state.enrolled === true) {
|
||||
//已经报名
|
||||
this.setState({
|
||||
messagePerbool: true,
|
||||
intpermessages: "您已报名,无需重复报"
|
||||
})
|
||||
return;
|
||||
}
|
||||
if (this.state.enroll_ended === true) {
|
||||
//报名截止
|
||||
this.setState({
|
||||
messagePerbool: true,
|
||||
intpermessages: "报名已截止,无需报名"
|
||||
})
|
||||
return
|
||||
}
|
||||
if (this.props.isAdmin() === true) {
|
||||
//老师
|
||||
if (this.state.teacher_staff === null) {
|
||||
//禁止老师
|
||||
this.setState({
|
||||
messagePerbool: true,
|
||||
intpermessages: "已禁止老师报名"
|
||||
})
|
||||
return;
|
||||
}
|
||||
this.setState({
|
||||
tmodalsType: true
|
||||
})
|
||||
} else {
|
||||
//学生
|
||||
if (this.state.member_staff === null) {
|
||||
//禁止学生
|
||||
this.setState({
|
||||
messagePerbool: true,
|
||||
intpermessages: "已禁止学生报名"
|
||||
})
|
||||
return;
|
||||
}
|
||||
this.setState({
|
||||
tmodalsType: true
|
||||
})
|
||||
}
|
||||
|
||||
// this.setState({
|
||||
// tmodalsType: true
|
||||
// })
|
||||
}
|
||||
|
||||
|
||||
Tmoconfirm = (bool) => {
|
||||
//boolfalse 取消 true 确认
|
||||
this.setState({
|
||||
tmodalsTypes: false
|
||||
})
|
||||
if (bool) {
|
||||
//确认
|
||||
|
||||
|
||||
} else {
|
||||
//取消
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Tmoconfirm1 = (bool) => {
|
||||
//boolfalse 取消 true 确认
|
||||
this.setState({
|
||||
tmodalsType: false
|
||||
})
|
||||
if (bool) {
|
||||
//确认
|
||||
|
||||
|
||||
} else {
|
||||
//取消
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
//自定义弹框按钮
|
||||
messagePerboolbuton = () => {
|
||||
this.setState({
|
||||
messagePerbool: false
|
||||
})
|
||||
}
|
||||
|
||||
render() {
|
||||
const {test, page, pages, limit, type, tmodalsType, tmodalsTypes, data} = this.state;
|
||||
const listItems = test.map((item, index) =>
|
||||
<RegisListviewdata></RegisListviewdata>
|
||||
);
|
||||
|
||||
return (
|
||||
<div className="newMain clearfix ">
|
||||
|
||||
<div className={"educontent mb20 persmstyle"} style={{width: "1200px", marginTop: "26px"}}>
|
||||
<style>
|
||||
{
|
||||
`
|
||||
html, body{
|
||||
overflow: hidden;
|
||||
height: 100%;
|
||||
}
|
||||
`
|
||||
}
|
||||
</style>
|
||||
<MessagePersonModal messagePer={this.state.messagePer} {...this.props} {...this.state}
|
||||
messagePerboolbuton={() => this.messagePerboolbuton()}></MessagePersonModal>
|
||||
<PersonModal modalsType={tmodalsType} {...this.props} {...this.state} Newtit={true}
|
||||
Tmoconfirm1={(bool) => this.Tmoconfirm1(bool)}></PersonModal>
|
||||
<PersonalModalteam tmodalsTypes={tmodalsTypes} {...this.props} {...this.state}
|
||||
Tmoconfirm={(bool) => this.Tmoconfirm(bool)}></PersonalModalteam>
|
||||
<div className="educontent mb20 ">
|
||||
<p className="clearfix mb20 mt10">
|
||||
<a className="btn colorgrey fl hovercolorblue ">在线竞赛</a>
|
||||
<span className="color-grey-9 fl ml3 mr3">></span>
|
||||
<a
|
||||
className=" btn colorgrey fl hovercolorblue ">全国高校计算机大赛-项目挑战</a>
|
||||
<span className="color-grey-9 fl ml3 mr3">></span>
|
||||
<WordsBtn className="fl">报名</WordsBtn>
|
||||
</p>
|
||||
</div>
|
||||
{/*大图*/}
|
||||
<CompetitionMaxImg type={type} Jointheteam={() => this.Jointheteam()}
|
||||
{...this.props} {...this.state}
|
||||
Createateam={() => this.Createateam()}></CompetitionMaxImg>
|
||||
{/*大图结尾*/}
|
||||
{/*没数据*/}
|
||||
{
|
||||
type === 1 ?
|
||||
<RegisNodata></RegisNodata>
|
||||
:
|
||||
""
|
||||
}
|
||||
{
|
||||
type === 2 || type === 3 || type === 5 ?
|
||||
<PersonalCompetititem type={type} data={data}></PersonalCompetititem>
|
||||
: ""
|
||||
}
|
||||
|
||||
{
|
||||
type === 4 || type === 5 ?
|
||||
<RegistrationSearch></RegistrationSearch>
|
||||
: ""
|
||||
}
|
||||
{/*<Registrationitem></Registrationitem>*/}
|
||||
{
|
||||
type === 4 || type === 5 ?
|
||||
<RegisListview></RegisListview>
|
||||
:
|
||||
""
|
||||
}
|
||||
|
||||
|
||||
{type === 4 || type === 5 ?
|
||||
listItems
|
||||
:
|
||||
""
|
||||
}
|
||||
|
||||
{
|
||||
type === 4 || type === 5 ?
|
||||
<div className="edu-txt-center ysyslxh mt56 " style={{marginBottom: "192px",}}>
|
||||
<Pagination showQuickJumper current={pages}
|
||||
onChange={this.paginationonChangestwo} pageSize={limit}
|
||||
total={30}></Pagination>
|
||||
</div>
|
||||
: ""
|
||||
}
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export default SnackbarHOC()(TPMIndexHOC(Registration));
|
@ -0,0 +1,76 @@
|
||||
import React, {Component} from 'react';
|
||||
import {
|
||||
BrowserRouter as Router,
|
||||
Route,
|
||||
Switch
|
||||
} from 'react-router-dom';
|
||||
import axios from 'axios';
|
||||
import moment from 'moment';
|
||||
import {SnackbarHOC, WordsBtn} from 'educoder';
|
||||
import {TPMIndexHOC} from '../tpm/TPMIndexHOC';
|
||||
import competition from './comcss/competition.css';
|
||||
import {Button} from 'antd';
|
||||
import RegisListviewdata from "./RegisListviewdata";
|
||||
|
||||
// 团队竞赛报名无报名子组件团队 竞赛报名-已创建战队
|
||||
class Registrationitem extends React.Component {
|
||||
constructor(props) {
|
||||
super(props)
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
render() {
|
||||
|
||||
return (
|
||||
|
||||
<div className="regitem2">
|
||||
<div className="perregitemimg1 ">
|
||||
<div className="personregitemimg">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div className="" style={{
|
||||
marginTop: "19px",
|
||||
marginLeft: "54px",
|
||||
display: "flex",
|
||||
flexDirection: "initial",
|
||||
}}>
|
||||
<p className="" style={{
|
||||
color: "#05101A",
|
||||
fontSize: "16px",
|
||||
width: "160px",
|
||||
textAlign: "center"
|
||||
}}>小猫头像</p>
|
||||
|
||||
<p className="" style={{
|
||||
color: "#459BE5",
|
||||
fontSize: "16px",
|
||||
textAlign: "center",
|
||||
marginLeft: "25px",
|
||||
}}>已报名</p>
|
||||
</div>
|
||||
|
||||
<div className="" style={{
|
||||
marginLeft: "632px",
|
||||
width: "151px",
|
||||
marginTop: "19px",
|
||||
marginRight: "35px",
|
||||
}}>
|
||||
<p style={{
|
||||
color: "#999999",
|
||||
fontSize: "16px",
|
||||
textAlign: "center",
|
||||
}}>2019-09-07 08:33</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export default Registrationitem;
|
@ -0,0 +1,717 @@
|
||||
/*All*/
|
||||
.borders {
|
||||
border: 0.5px solid;
|
||||
}
|
||||
|
||||
.borders2 {
|
||||
border: 1px solid #D9D9D9;
|
||||
}
|
||||
/*All*/
|
||||
/*Registration.js*/
|
||||
.registrationback {
|
||||
height: 368px;
|
||||
width: 1200px;
|
||||
border: 0.5px solid;
|
||||
display: flex;
|
||||
display: -webkit-flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
background: #0dcecb;
|
||||
}
|
||||
|
||||
.registrationbackcenter {
|
||||
display: flex;
|
||||
display: -webkit-flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.registrationback1 {
|
||||
height: 368px;
|
||||
width: 1200px;
|
||||
border: 0.5px solid;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
background: #0dcecb;
|
||||
}
|
||||
|
||||
.registrationbackp1 {
|
||||
color: #ffffff;
|
||||
font-size: 42px;
|
||||
margin-top: 80px;
|
||||
line-height: 42px;
|
||||
font-weight: bold;
|
||||
|
||||
}
|
||||
|
||||
.registrationbackp11 {
|
||||
color: #ffffff;
|
||||
font-size: 48px;
|
||||
margin-top: 71px;
|
||||
line-height: 48px;
|
||||
font-weight: bold;
|
||||
margin-left: 251px;
|
||||
|
||||
}
|
||||
|
||||
.registrationbackp2 {
|
||||
color: #ffffff;
|
||||
font-size: 18px;
|
||||
margin-top: 16px;
|
||||
line-height: 20px;
|
||||
}
|
||||
|
||||
.registrationbackp22 {
|
||||
margin-left: 251px;
|
||||
color: #ffffff;
|
||||
font-size: 36px;
|
||||
margin-top: 25px;
|
||||
line-height: 36px;
|
||||
}
|
||||
|
||||
.registrationbackp3 {
|
||||
color: #ffffff;
|
||||
font-size: 18px;
|
||||
line-height: 20px;
|
||||
margin-top: 7px;
|
||||
}
|
||||
|
||||
.registrationbackp4 {
|
||||
color: #ffffff;
|
||||
font-size: 26px;
|
||||
margin-top: 25px;
|
||||
line-height: 26px;
|
||||
}
|
||||
|
||||
.registrationbackp5 {
|
||||
color: #ffffff;
|
||||
font-size: 26px;
|
||||
margin-top: 25px;
|
||||
}
|
||||
|
||||
|
||||
.registrationbackp2button {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-top: 36px;
|
||||
}
|
||||
|
||||
.registrationbackp2button2 {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-top: 40px;
|
||||
}
|
||||
|
||||
.registrationbackp2button3 {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-top: 44px;
|
||||
margin-left: 251px;
|
||||
|
||||
}
|
||||
|
||||
.registbut1 {
|
||||
margin-right: 46px;
|
||||
text-align: center;
|
||||
background: #ffffff;
|
||||
height: 54px;
|
||||
width: 156px;
|
||||
border-radius: 4px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
cursor: pointer
|
||||
|
||||
}
|
||||
|
||||
.personreg1 {
|
||||
margin-right: 46px;
|
||||
text-align: center;
|
||||
background: #C3C1C1;
|
||||
height: 54px;
|
||||
width: 156px;
|
||||
border-radius: 4px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
cursor: pointer
|
||||
}
|
||||
|
||||
.registbut11 {
|
||||
margin-right: 46px;
|
||||
text-align: center;
|
||||
font-size: 16px;
|
||||
color: #ffffff;
|
||||
height: 48px;
|
||||
width: 156px;
|
||||
border-radius: 4px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
cursor: pointer;
|
||||
border: 1px;
|
||||
border-style: solid;
|
||||
border-color: #ffffff;
|
||||
|
||||
}
|
||||
|
||||
.registbut111 {
|
||||
margin-right: 46px;
|
||||
text-align: center;
|
||||
color: #ffffff;
|
||||
height: 41px;
|
||||
width: 146px;
|
||||
font-size: 16px;
|
||||
border-radius: 4px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
cursor: pointer;
|
||||
border: 2px;
|
||||
border-style: solid;
|
||||
border-color: #ffffff;
|
||||
|
||||
}
|
||||
|
||||
.registbut1 p {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
color: #05101A;
|
||||
line-height: 54px;
|
||||
font-size: 20px;
|
||||
font-weight: bold;
|
||||
cursor: pointer
|
||||
}
|
||||
|
||||
.registbut11 p {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
line-height: 48px;
|
||||
|
||||
}
|
||||
|
||||
.registbut22 p {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
line-height: 48px;
|
||||
}
|
||||
|
||||
.registbut2 p {
|
||||
line-height: 54px;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
color: #05101A;
|
||||
font-size: 20px;
|
||||
font-weight: bold;
|
||||
cursor: pointer
|
||||
|
||||
}
|
||||
|
||||
.personreg1 p {
|
||||
color: #ffffff;
|
||||
font-size: 20px;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
.registbut111 p {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
line-height: 41px;
|
||||
}
|
||||
|
||||
.registbut222 p {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
line-height: 41px;
|
||||
|
||||
}
|
||||
|
||||
.registbut2 {
|
||||
text-align: center;
|
||||
color: #05101A;
|
||||
font-size: 20px;
|
||||
background: #ffffff;
|
||||
height: 54px;
|
||||
width: 156px;
|
||||
border-radius: 4px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
cursor: pointer
|
||||
}
|
||||
|
||||
.registbut22 {
|
||||
text-align: center;
|
||||
color: #ffffff;
|
||||
font-size: 16px;
|
||||
height: 48px;
|
||||
width: 156px;
|
||||
border-radius: 4px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
cursor: pointer;
|
||||
border: 1px;
|
||||
border-style: solid;
|
||||
border-color: #ffffff;
|
||||
}
|
||||
|
||||
.registbut222 {
|
||||
text-align: center;
|
||||
color: #ffffff;
|
||||
font-size: 16px;
|
||||
height: 41px;
|
||||
width: 146px;
|
||||
border-radius: 4px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
cursor: pointer;
|
||||
border: 2px;
|
||||
border-style: solid;
|
||||
border-color: #ffffff;
|
||||
}
|
||||
|
||||
.bootom {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.bootomimg {
|
||||
height: 80px;
|
||||
width: 125px;
|
||||
margin-top: 107px;
|
||||
|
||||
}
|
||||
|
||||
.bootomtext {
|
||||
color: #999999;
|
||||
font-size: 16px;
|
||||
margin-top: 33px;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*Registration.js*/
|
||||
|
||||
/*Registrationitem.js*/
|
||||
/*横向*/
|
||||
.regitem {
|
||||
display: flex;
|
||||
flex-direction: initial;
|
||||
border-bottom: 1px solid #EDEDED;
|
||||
margin-top: 44px;
|
||||
}
|
||||
|
||||
.regitem2 {
|
||||
display: flex;
|
||||
flex-direction: initial;
|
||||
border-bottom: 1px solid #EDEDED;
|
||||
margin-top: 19px;
|
||||
|
||||
}
|
||||
|
||||
/*垂直*/
|
||||
.regitemimg1 {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin-left: 17px;
|
||||
}
|
||||
|
||||
.perregitemimg1 {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin-left: 26px;
|
||||
padding-bottom: 18px;
|
||||
}
|
||||
|
||||
.regitemimg2 {
|
||||
height: 78px;
|
||||
width: 78px;
|
||||
}
|
||||
|
||||
.personregitemimg {
|
||||
border: 0.5px solid;
|
||||
height: 64px;
|
||||
width: 64px;
|
||||
}
|
||||
|
||||
|
||||
.regitemimg2 p {
|
||||
border: 0.5px solid;
|
||||
color: #999999;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.regitemimgs {
|
||||
width: 69px;
|
||||
height: 69px;
|
||||
margin-top: 3px;
|
||||
|
||||
}
|
||||
|
||||
.regitemimgs2 {
|
||||
margin-top: 16px;
|
||||
width: 49px;
|
||||
height: 51px;
|
||||
margin-left: 25px
|
||||
}
|
||||
|
||||
.regitemimgs22 {
|
||||
margin-top: 27px;
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
margin-left: 20px;
|
||||
}
|
||||
|
||||
.regitemimgs3 {
|
||||
/* border: 0.5px solid; */
|
||||
height: 22px;
|
||||
width: 22px;
|
||||
font-size: 21px !important;
|
||||
margin-top: 22px;
|
||||
color: #1C91E8;
|
||||
}
|
||||
|
||||
.regitemimgs4 {
|
||||
width: 156px;
|
||||
display: flex;
|
||||
flex-direction: row-reverse;
|
||||
margin-top: 18px;
|
||||
}
|
||||
|
||||
.regitemimgs5 {
|
||||
margin-left: 10px;
|
||||
text-align: center;
|
||||
background: #ffffff;
|
||||
height: 40px;
|
||||
width: 72px;
|
||||
border-radius: 4px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border: 1px;
|
||||
border-style: solid;
|
||||
border-color: #459BE5;
|
||||
cursor: pointer
|
||||
}
|
||||
|
||||
.regitemimgs6 {
|
||||
text-align: center;
|
||||
background: #ffffff;
|
||||
height: 40px;
|
||||
width: 72px;
|
||||
border-radius: 4px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border: 1px;
|
||||
cursor: pointer;
|
||||
border-style: solid;
|
||||
border-color: #459BE5;
|
||||
}
|
||||
|
||||
.regitemimgs5 p {
|
||||
color: #459BE5;
|
||||
font-size: 14px;
|
||||
cursor: pointer
|
||||
}
|
||||
|
||||
.regitemimgs6 p {
|
||||
color: #459BE5;
|
||||
font-size: 14px;
|
||||
cursor: pointer
|
||||
|
||||
}
|
||||
|
||||
/*Registrationitem.js*/
|
||||
|
||||
/*RegistrationSearch.js*/
|
||||
.searchhead {
|
||||
display: flex;
|
||||
flex-direction: initial;
|
||||
margin-top: 24px;
|
||||
|
||||
}
|
||||
|
||||
.packinputs button {
|
||||
background: #459BE5;
|
||||
}
|
||||
|
||||
.packinputs {
|
||||
width: 317px;
|
||||
height: 34px;
|
||||
}
|
||||
|
||||
|
||||
/*RegistrationSearch.js*/
|
||||
.reglistviewdiv {
|
||||
display: flex;
|
||||
flex-direction: initial;
|
||||
margin-top: 25px;
|
||||
}
|
||||
|
||||
/*RegisListview.js*/
|
||||
.reglistviewdivs {
|
||||
margin-top: 25px;
|
||||
|
||||
}
|
||||
|
||||
.reglistviewdivss {
|
||||
display: flex;
|
||||
flex-direction: initial;
|
||||
|
||||
}
|
||||
|
||||
.reglistviewdivss2 {
|
||||
display: flex;
|
||||
flex-direction: initial;
|
||||
|
||||
}
|
||||
.reglistviewdivss2p {
|
||||
width: 90px;
|
||||
font-size: 12px;
|
||||
color: #666666;
|
||||
text-align: center;
|
||||
|
||||
}
|
||||
|
||||
.reglistviewdivss4p {
|
||||
width: 90px;
|
||||
font-size: 12px;
|
||||
color: #666666;
|
||||
text-align: center;
|
||||
|
||||
}
|
||||
|
||||
.reglistviewdivss5p {
|
||||
width: 110px;
|
||||
font-size: 12px;
|
||||
color: #666666;
|
||||
text-align: center;
|
||||
|
||||
}
|
||||
|
||||
.reglistviewdivss33p {
|
||||
width: 25px;
|
||||
font-size: 12px;
|
||||
color: #666666;
|
||||
text-align: center;
|
||||
|
||||
}
|
||||
|
||||
.reglistviewdivss3p {
|
||||
width: 31px;
|
||||
font-size: 12px;
|
||||
color: #666666;
|
||||
text-align: center;
|
||||
|
||||
}
|
||||
|
||||
reglistviewdivs2 {
|
||||
margin-top: 27px;
|
||||
|
||||
}
|
||||
|
||||
/*RegisListview.js*/
|
||||
|
||||
|
||||
/*RegisListviewdata.js*/
|
||||
.reglistimg1 {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
|
||||
}
|
||||
|
||||
.reglistimg2 {
|
||||
border: 0.5px solid;
|
||||
height: 78px;
|
||||
width: 78px;
|
||||
}
|
||||
|
||||
/*RegisListviewdata.js*/
|
||||
|
||||
|
||||
/*PersonModal.js*/
|
||||
.permaindiv {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
|
||||
.demo-loading-container {
|
||||
position: absolute;
|
||||
bottom: 40px;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.demo-infinite-container {
|
||||
border-radius: 2px;
|
||||
overflow: auto;
|
||||
height: 215px;
|
||||
width: 485px;
|
||||
|
||||
}
|
||||
|
||||
.demo-infinite-containerdiv {
|
||||
margin-top: 12px;
|
||||
}
|
||||
|
||||
.demo-infinite-containerdiv2 {
|
||||
margin-top: 24px;
|
||||
|
||||
}
|
||||
|
||||
.backgroundspersondiv {
|
||||
background: #ffffff;
|
||||
}
|
||||
|
||||
.cpersondiv1 {
|
||||
height: 161px;
|
||||
width: 410px;
|
||||
}
|
||||
|
||||
.demo-infinite-container2 {
|
||||
border-radius: 2px;
|
||||
overflow: auto;
|
||||
height: 161px;
|
||||
width: 410px;
|
||||
|
||||
}
|
||||
|
||||
.demo-infinite-container33 {
|
||||
border-radius: 2px;
|
||||
height: 161px;
|
||||
width: 410px;
|
||||
|
||||
}
|
||||
.cpersondiv1Items {
|
||||
color: #05101A;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.personbut1 {
|
||||
background: #F2F2F2;
|
||||
border-color: #F2F2F2;
|
||||
margin-right: 26px;
|
||||
width: 120px;
|
||||
height: 38px;
|
||||
color: #4A4A4A;
|
||||
font-size: 16px;
|
||||
border-radius: 3px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.personbut1 p {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
text-align: center;
|
||||
margin-top: 10px;
|
||||
color: #4A4A4A;
|
||||
font-size: 16px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.personbut2 {
|
||||
background: #459BE5;
|
||||
border-color: #459BE5;
|
||||
margin-right: 26px;
|
||||
width: 120px;
|
||||
height: 38px;
|
||||
color: #ffffff;
|
||||
font-size: 16px;
|
||||
border-radius: 3px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.personbut2 p {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
text-align: center;
|
||||
margin-top: 10px;
|
||||
color: #ffffff;
|
||||
font-size: 16px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/*PersonModal.js*/
|
||||
|
||||
|
||||
/*PersonalModalteam.js*/
|
||||
.personaldiv {
|
||||
display: flex;
|
||||
display: -webkit-flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.personaldivbutt1 {
|
||||
|
||||
background: #F2F2F2;
|
||||
border-color: #F2F2F2;
|
||||
margin-right: 23px;
|
||||
width: 100px;
|
||||
height: 38px;
|
||||
color: #4A4A4A;
|
||||
font-size: 16px;
|
||||
border-radius: 3px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.personaldivbutt1 p {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
text-align: center;
|
||||
margin-top: 10px;
|
||||
color: #666666;
|
||||
font-size: 16px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.personaldivbutt2 {
|
||||
background: #459BE5;
|
||||
border-color: #459BE5;
|
||||
width: 100px;
|
||||
height: 38px;
|
||||
color: #ffffff;
|
||||
font-size: 16px;
|
||||
border-radius: 3px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.personaldivbutt2 p {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
text-align: center;
|
||||
margin-top: 10px;
|
||||
color: #ffffff;
|
||||
font-size: 16px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.task-btn-orange {
|
||||
background: #4CACFF !important;
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
.task-btn {
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
border: none;
|
||||
padding: 0 12px;
|
||||
letter-spacing: 1px;
|
||||
text-align: center;
|
||||
font-size: 14px;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
border-radius: 2px;
|
||||
}
|
||||
/*PersonalModalteam.js*/
|
@ -0,0 +1,63 @@
|
||||
import React, {Component} from 'react';
|
||||
import {getImageUrl} from 'educoder';
|
||||
import {Modal, Input, Spin, Tooltip, Icon, Dropdown, Button} from 'antd';
|
||||
import axios from 'axios';
|
||||
import competition from '../comcss/competition.css';
|
||||
import Registrationitem from "../Registrationitem";
|
||||
import InfiniteScroll from 'react-infinite-scroller';
|
||||
// import PersonModaltion from "./PersonModaltion";
|
||||
const {Search} = Input;
|
||||
|
||||
class MessagePersonModal extends React.Component {
|
||||
|
||||
constructor(props) {
|
||||
super(props);
|
||||
this.state = {}
|
||||
}
|
||||
|
||||
|
||||
render() {
|
||||
const {
|
||||
addonAfter, test, test3, Numberofteammentors, Thecurrentnumber, person1, person2
|
||||
} = this.state;
|
||||
//Modal
|
||||
//keyboard是否支持键盘 esc 关闭
|
||||
//closable 是否显示右上角的关闭按钮
|
||||
//底部内容,当不需要默认底部按钮时,可以设为 footer={null}
|
||||
//destroyOnClose 关闭时销毁 Modal 里的子元素
|
||||
//centered 垂直居中展示 Modal
|
||||
//visible 弹出框是否显示
|
||||
|
||||
return (
|
||||
|
||||
<Modal
|
||||
keyboard={false}
|
||||
closable={false}
|
||||
footer={null}
|
||||
destroyOnClose={true}
|
||||
title={this.props.messagePer}
|
||||
centered={true}
|
||||
visible={this.props.messagePerbool === undefined ? false : this.props.messagePerbool}
|
||||
width="480px"
|
||||
>
|
||||
<div
|
||||
style={{
|
||||
display: "flex",
|
||||
flexDirection: "column",
|
||||
justifyContent: "center",
|
||||
alignItems: "center",
|
||||
}}
|
||||
>
|
||||
<div style={{width: "100%", textAlign: "center"}}
|
||||
className="task-popup-text-center font-16 ">{this.props.intpermessages}</div>
|
||||
<div style={{textAlign: "center", marginTop: "30px"}}
|
||||
className="task-popup-text-center task-btn task-btn-orange"
|
||||
onClick={() => this.props.messagePerboolbuton()}>确认
|
||||
</div>
|
||||
</div>
|
||||
</Modal>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
export default MessagePersonModal;
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,51 @@
|
||||
import React, {Component} from 'react';
|
||||
import {
|
||||
BrowserRouter as Router,
|
||||
Route,
|
||||
Switch
|
||||
} from 'react-router-dom';
|
||||
import axios from 'axios';
|
||||
import moment from 'moment';
|
||||
import competition from './comcss/competition.css';
|
||||
import {Checkbox, Table, Pagination, Menu, Icon} from "antd";
|
||||
// 团队竞赛报名无报名子组件团队 在线竞赛 > 全国高校计算机大赛-项目挑战>
|
||||
import Rectanglex from "../../modules/competition/Rectanglex.png";
|
||||
|
||||
class PersonModaltion extends React.Component {
|
||||
constructor(props) {
|
||||
super(props)
|
||||
|
||||
}
|
||||
|
||||
|
||||
render() {
|
||||
return (
|
||||
<div className="reglistviewdivs">
|
||||
<div className="reglistviewdivss " style={{
|
||||
width: "100%",
|
||||
display: "flex",
|
||||
justifyContent: " space-around",
|
||||
alignItems: "center",
|
||||
height: "50px",
|
||||
backgroundPosition: "center",
|
||||
backgroundSize: "110% 100%",
|
||||
backgroundColor: "#E0E0E0",
|
||||
}}>
|
||||
<p className="borders"
|
||||
style={{fontSize: "16px", color: "#05101A", textAlign: "center"}}>姓名</p>
|
||||
<p className="borders"
|
||||
style={{fontSize: "16px", color: "#05101A", textAlign: "center"}}>角色</p>
|
||||
<p className="borders"
|
||||
style={{fontSize: "16px", color: "#05101A", textAlign: "center"}}>单位</p>
|
||||
<p className="borders"
|
||||
style={{fontSize: "16px", color: "#05101A", textAlign: "center"}}>其他</p>
|
||||
<p className="borders"
|
||||
style={{fontSize: "16px", color: "#05101A", textAlign: "center"}}>操作</p>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export default PersonModaltion;
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Before Width: | Height: | Size: 294 KiB After Width: | Height: | Size: 303 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in new issue