diff --git a/public/react/src/modules/competition/RegisListviewdata.js b/public/react/src/modules/competition/RegisListviewdata.js
index 8e381568e..31ea816b5 100644
--- a/public/react/src/modules/competition/RegisListviewdata.js
+++ b/public/react/src/modules/competition/RegisListviewdata.js
@@ -6,95 +6,130 @@ import {
} from 'react-router-dom';
import axios from 'axios';
import moment from 'moment';
-import {SnackbarHOC, WordsBtn} from 'educoder';
+import {SnackbarHOC, WordsBtn, getImageUrl} from 'educoder';
import {TPMIndexHOC} from '../tpm/TPMIndexHOC';
import competition from './comcss/competition.css';
+import pexjiazai from './pexjiazai.png'
import {Button} from 'antd';
// 团队竞赛报名无报名子组件团队 竞赛报名-已创建战队
class RegisListviewdata extends React.Component {
constructor(props) {
super(props)
-
+ this.state = {
+ item: undefined
+ }
}
+ componentDidMount() {
+ //console.log("RegisListviewdata");
+ //console.log(this.props.item)
+ this.setState({
+ item: this.props.item
+ })
+ }
render() {
+ const {item} = this.props;
return (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ {
+ item !== undefined ?
+
+
+
+
+

+
+
+
{item.creator.name}
+
+
+
+
+ {
+ item && item.team_members.map((item, index) => {
+ return (
+
+ index === 0 ?
+

+
+
+ : index === 1 ?
+

+
+
+ : index === 2 ?
+

+
+
+ : index === 3 ?
+

+
+
+ : index === 4 ?
+

+
+
+ : index === 5 ?
+
+

+
+
+

+
+
+
+ : ""
+
+ )
+ })
+ }
+
+
+
+
+
+ : ""
+ }
diff --git a/public/react/src/modules/competition/Registration.js b/public/react/src/modules/competition/Registration.js
index 9494ffc33..02396466f 100644
--- a/public/react/src/modules/competition/Registration.js
+++ b/public/react/src/modules/competition/Registration.js
@@ -9,7 +9,7 @@ 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 {Button, Pagination, message, Spin} from 'antd';
import Registrationitem from './Registrationitem';
import RegisNodata from './RegisNodata';
import CompetitionMaxImg from './CompetitionMaxImg';
@@ -19,7 +19,10 @@ import RegisListviewdata from './RegisListviewdata';
import PersonModal from './competmodal/PersonModal';
import MessagePersonModal from './competmodal/MessagePersonModal';
import PersonalModalteam from './competmodal/PersonalModalteam';
-import PersonalCompetititem from './personal/PersonalCompetititem'
+import PersonalCompetititem from './personal/PersonalCompetititem';
+import ExittheteamModel from './competmodal/ExittheteamModel';
+import pexjiazai from "./pexjiazai.png";
+
// 团队竞赛报名无报名
class Registration extends React.Component {
/***
@@ -28,6 +31,7 @@ class Registration extends React.Component {
*"enrolled: false, // 是否已经报名
*"teacher_staff": { // 为空表示不支持老师报名
*"member_staff": { // 为空表示不支持学生报名
+ * personal// 是否是个人赛
* **/
constructor(props) {
super(props)
@@ -44,6 +48,7 @@ class Registration extends React.Component {
page: 1,
per_page: 20,
data: [],
+ competition_teams: [],
count: 0,
GetenrollmentAPI: undefined,
personal: false,
@@ -53,29 +58,65 @@ class Registration extends React.Component {
member_staff: null,
messagePer: "提示",
messagePerbool: false,
- intpermessages: "确认"
+ intpermessages: "确认",
+ messageexit: "提示",
+ messageexitol: false,
+ exitintpermessages: "是否退出战队",
+ itemid: undefined,
+ itemiddata: [],
+ pint: 0,
+
}
}
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);
+ // ////console.log("componentDidMount Registration");
+ // //// ////console.log("调用子组件 ");
+ // ////console.log(this.props.isAdmin());
+ // //// ////console.log(this.props.isAdmin())
this.GetenrollmentAPI();
+ this.Getthenavigationbar();
+
+
}
+ componentDidUpdate = (prevProps) => {
+ if (prevProps.user != this.props.user) {
+ //console.log("Registration");
+ //console.log("componentDidUpdate");
+ //console.log(this.props.user.admin);
+ const {keyword, page, per_page} = this.state;
+ this.Getdata(keyword, page, per_page, this.props.user.admin);
+
+
+ }
+
+ }
+ // 获取导航栏
+ Getthenavigationbar = () => {
+ const url = `/competitions/${"gcc-task-2020"}/competition_modules.json`;
+ axios.get((url)).then((result) => {
+ if (result) {
+ if (result.data) {
+ //// ////console.log("获取报名配置API");
+ //// ////console.log(result);
+ console.log("Getthenavigationbar");
+ console.log(result);
+ }
+ }
+ }).catch((error) => {
+ //// ////console.log(error);
+ })
+ }
//获取报名配置API
GetenrollmentAPI = () => {
- const url = `/competitions/${"gcc-course-2019"}/competition_staff.json`;
+ const url = `/competitions/${"gcc-task-2020"}/competition_staff.json`;
axios.get((url)).then((result) => {
if (result) {
if (result.data) {
- ////console.log("获取报名配置API");
- ////console.log(result);
+ //// ////console.log("获取报名配置API");
+ //// ////console.log(result);
this.setState({
GetenrollmentAPI: result.data,
personal: result.data.personal,
@@ -84,14 +125,27 @@ class Registration extends React.Component {
teacher_staff: result.data.teacher_staff,
member_staff: result.data.member_staff,
})
+ if (result.data.enroll_ended === true) {
+ this.setState({
+ pint: 0
+ })
+ } else if (result.data.enrolled === true) {
+ this.setState({
+ pint: 2
+ })
+ } else if (result.data.enrolled === false) {
+ this.setState({
+ pint: 1
+ })
+ }
}
}
}).catch((error) => {
- ////console.log(error);
+ //// ////console.log(error);
})
}
- Getdata = (keyword, page, per_page) => {
+ Getdata = (keyword, page, per_page, admin) => {
//搜索关键字 keyword
//页数 page
//分页 per_page
@@ -100,66 +154,234 @@ class Registration extends React.Component {
page: page,
per_page: per_page,
};
- let url = `/competitions/${"gcc-course-2019"}/competition_teams.json`;
+ let url = `/competitions/${"gcc-task-2020"}/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,
- })
+ //// ////console.log(result);\
+ if (result.data.personal === false) {
+ //不是个人赛
+ if (result.data.my_teams.length === 0) {
+ // 没有创建数据的
+ if (admin === true) {
+ //管理员
+ this.setState({
+ type: 4,
+ count: result.data.count,
+ data: result.data.my_teams,
+ competition_teams: result.data.competition_teams,
+ personal: result.data.personal,
+ })
+ } else {
+ //普通账号
+ this.setState({
+ type: 1,
+ count: result.data.count,
+ data: result.data.my_teams,
+ competition_teams: result.data.competition_teams,
+ personal: result.data.personal,
+ })
+ }
} else {
- //普通人
- this.setState({
- type: 1,
- count: result.data.count,
- })
+ //有数据的
+
+ if (admin === true) {
+ if (result.data.my_teams[0].manage_permission === true) {
+ this.setState({
+ type: 5,
+ data: result.data.my_teams,
+ count: result.data.count,
+ competition_teams: result.data.competition_teams,
+ personal: result.data.personal,
+
+ })
+ } else {
+ this.setState({
+ type: 4,
+ data: result.data.my_teams,
+ count: result.data.count,
+ competition_teams: result.data.competition_teams,
+ personal: result.data.personal,
+
+ })
+ }
+ } else {
+ if (result.data.my_teams[0].manage_permission === true) {
+ //普通账号true 为创建了竞赛
+ this.setState({
+ type: 2,
+ data: result.data.my_teams,
+ count: result.data.count,
+ personal: result.data.personal,
+
+ })
+ } else {
+ //普通账号true 加入了竞赛
+ this.setState({
+ type: 3,
+ data: result.data.my_teams,
+ count: result.data.count,
+ personal: result.data.personal,
+
+ })
+ }
+ }
+
}
+ } else {
+ this.setState({
+ type: 6,
+ data: result.data.my_teams,
+ count: result.data.count,
+ competition_teams: result.data.competition_teams,
+ personal: result.data.personal,
+
+ })
+
+ }
+ }
+ }
+ this.setState({
+ loadingstate: false,
+ })
+ }).catch((error) => {
+ if (admin === true) {
+ //管理员
+ this.setState({
+ type: 4,
+ count: 0,
+ competition_teams: [],
+ data: [],
+ loadingstate: false,
+ })
+ } else {
+ //普通账号
+ this.setState({
+ type: 1,
+ count: 0,
+ competition_teams: [],
+ data: [],
+ loadingstate: false,
+ })
+ }
+ })
+
+ }
+
+ Getdatatype5 = (keyword, page, per_page, admin) => {
+ //搜索关键字 keyword
+ //页数 page
+ //分页 per_page
+ const datas = {
+ keyword: keyword,
+ page: page,
+ per_page: per_page,
+ };
+ let url = `/competitions/${"gcc-task-2020"}/competition_teams.json`;
+ axios.get((url), {params: datas}).then((result) => {
+ this.setState({
+ loadingstate: false,
+ })
+ if (result) {
+ if (result.data) {
+ //// ////console.log(result);
+ if (result.data.personal === false) {
+ //不是个人赛
+ //console.log("Getdatatype5");
+ //console.log(result.data.my_teams.length);
+ if (result.data.my_teams.length === 0) {
+ // 没有创建数据的
+ //管理员
+ //console.log("a");
+ //console.log(this.state.competition_teams);
+ //console.log(result.data.competition_teams);
+ this.setState({
+ type: 4,
+ count: result.data.count,
+ competition_teams: result.data.competition_teams,
+ data: result.data.my_teams,
+ personal: result.data.personal,
+
+ })
} else {
//有数据的
- if (this.props.isAdmin() === true) {
+ //console.log("b");
+
+ if (result.data.my_teams[0].manage_permission === true) {
this.setState({
type: 5,
- data: result.data.competition_teams,
+ data: result.data.my_teams,
count: result.data.count,
+ competition_teams: result.data.competition_teams,
+ personal: result.data.personal,
+
+
})
} 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 加入了竞赛
+ //console.log("c");
+
this.setState({
- type: 3,
- data: result.data.competition_teams,
- count: result.data.count,
- })
- }
+ type: 4,
+ data: result.data.my_teams,
+ count: result.data.count,
+ competition_teams: result.data.competition_teams,
+ personal: result.data.personal,
+
+ })
}
+ }
+ } else {
+ //团队赛
+ //console.log("d");
+ this.setState({
+ type: 6,
+ data: result.data.my_teams,
+ count: result.data.count,
+ competition_teams: result.data.competition_teams,
+ personal: result.data.personal,
+
+ })
}
}
-
}
+
}).catch((error) => {
- ////console.log(error);
+ //console.log("k");
+
+ //console.log(error);
+ //console.log("报错了");
+ if (admin === true) {
+ //管理员
+ this.setState({
+ count: 0,
+ competition_teams: [],
+ data: [],
+ loadingstate: false,
+ })
+ } else {
+ //普通账号
+ this.setState({
+ count: 0,
+ competition_teams: [],
+ data: [],
+ loadingstate: false,
+ })
+ }
})
}
+
+
+ //团队竞赛翻页
paginationonChangestwo = (pageNumber) => {
this.setState({
pages: pageNumber,
loadingstate: true,
})
+ const {keyword, per_page} = this.state;
+ this.Getdatatype5(keyword, pageNumber, per_page, this.props.user.admin);
+
};
/**
* 加入战队
@@ -246,7 +468,8 @@ class Registration extends React.Component {
return;
}
this.setState({
- tmodalsType: true
+ tmodalsType: true,
+ Newtit: true,
})
} else {
//学生
@@ -259,16 +482,20 @@ class Registration extends React.Component {
return;
}
this.setState({
- tmodalsType: true
+ tmodalsType: true,
+ Newtit: true,
})
}
-
- // this.setState({
- // tmodalsType: true
- // })
}
-
+ //编辑战队
+ Createateamedit = (data) => {
+ this.setState({
+ tmodalsType: true,
+ Newtit: false,
+ itemiddata: data
+ })
+ }
Tmoconfirm = (bool) => {
//boolfalse 取消 true 确认
this.setState({
@@ -285,7 +512,7 @@ class Registration extends React.Component {
}
}
-
+ //创建战队确认
Tmoconfirm1 = (bool) => {
//boolfalse 取消 true 确认
this.setState({
@@ -293,8 +520,7 @@ class Registration extends React.Component {
})
if (bool) {
//确认
-
-
+ this.Refreshteam();
} else {
//取消
@@ -308,12 +534,136 @@ class Registration extends React.Component {
messagePerbool: false
})
}
+ //显示退出战队弹框
+ Exittheteamshow = (itemid, bool) => {
+ if (bool === true) {
+ this.setState({
+ messageexitol: true,
+ itemid: itemid,
+ exitintpermessages: "是否删除战队",
+ })
+ } else {
+ this.setState({
+ messageexitol: true,
+ itemid: itemid,
+ exitintpermessages: "是否退出战队",
+ })
+ }
+
+
+ };
+ //刷新战队
+ Refreshteam = () => {
+
+ const {keyword, page, per_page} = this.state;
+ this.Getdata(keyword, page, per_page, this.props.user.admin);
+ this.GetenrollmentAPI();
+ }
+ //退出战队
+ Exittheteam = (bool) => {
+ // ////console.log(this.state.itemid);
+ if (bool) {
+ this.setState({
+ messageexitol: true
+ })
+
+ let url = `/competitions/${"gcc-task-2020"}/competition_teams/${this.state.itemid}/leave.json`;
+ axios.post(url).then((response) => {
+ if (response) {
+ if (response.data) {
+ ////console.log("退出战队");
+ ////console.log(response);
+ this.Refreshteam();
+ this.setState({
+ messageexitol: false
+ })
+
+ }
+ }
+ }).catch((error) => {
+ ////console.log(error)
+ });
+
+ } else {
+ this.setState({
+ messageexitol: false
+ })
+ }
+ }
+ //搜索战队
+ RegistrationSearchvalue = (value) => {
+ //console.log("RegistrationSearchvalue");
+ //console.log(this.props.user.admin);
+ this.setState({
+ pages: 1,
+ limit: 20,
+ })
+ this.Getdatatype5(value, 1, 20, this.props.user.admin);
+ }
+
+ //个人竞赛
+// /competitions/:identifier/competition_teams.json
+ Personalregistration = () => {
+ let {teacher_staff, member_staff, data, enroll_ended} = this.state;
+ if (enroll_ended === true) {
+ //已截止
+ this.props.showNotification(`报名已截止`);
+
+ return;
+ }
+ if (teacher_staff) {
+ if (teacher_staff.mutiple_limited) {
+ if (teacher_staff.mutiple_limited === true) {
+ if (data) {
+ if (data.length > teacher_staff.maximum) {
+ this.props.showNotification(`你已经报名,不能重复报名!`);
+ return
+ }
+ }
+ }
+ }
+
+
+ }
+ if (member_staff) {
+ if (member_staff.mutiple_limited) {
+ if (member_staff.mutiple_limited === true) {
+ if (data) {
+ if (data.length > member_staff.maximum) {
+ this.props.showNotification(`你已经报名,不能重复报名!`);
+
+ return;
+ }
+ }
+ }
+ }
+ }
+ const url = `/competitions/${"gcc-task-2020"}/competition_teams.json`;
+ axios.post(url).then((response) => {
+ if (response) {
+ if (response.data) {
+ this.props.showNotification(`报名成功,预祝您夺得桂冠!`);
+ this.Refreshteam();
+
+
+ }
+ }
+ }).catch((error) => {
+ });
+ }
render() {
- const {test, page, pages, limit, type, tmodalsType, tmodalsTypes, data} = this.state;
- const listItems = test.map((item, index) =>
-
- );
+ const {test, page, pages, limit, type, tmodalsType, tmodalsTypes, data, count, competition_teams, Newtit, itemiddata, messagePerbool, messageexitol, GetenrollmentAPI, loadingstate, pint} = this.state;
+ // var listItems = "";
+
+ // if (competition_teams) {
+ // listItems = competition_teams.map((item, index) =>
+ //
+ // );
+ // }
+ // const listItemss = test.map((item, index) =>
+ //
+ // );
return (
@@ -329,12 +679,36 @@ class Registration extends React.Component {
`
}
-
this.messagePerboolbuton()}>
-
this.Tmoconfirm1(bool)}>
-
this.Tmoconfirm(bool)}>
+ {
+ messagePerbool === true ?
+
this.messagePerboolbuton()}
+ GetenrollmentAPI={GetenrollmentAPI}>
+ : ""
+ }
+
+ {
+ tmodalsType === true ?
+
this.Tmoconfirm1(bool)}>
+ :
+ ""
+ }
+ {
+ tmodalsTypes === true ?
+
this.Tmoconfirm(bool)}>
+ : ""
+ }
+ {
+ messageexitol === true ?
+
this.Exittheteam(bool)}>
+ : ""
+ }
+
在线竞赛
@@ -347,25 +721,62 @@ class Registration extends React.Component {
{/*大图*/}
this.Jointheteam()}
+ pint={pint}
{...this.props} {...this.state}
- Createateam={() => this.Createateam()}>
+ Createateam={() => this.Createateam()}
+ Personalregistration={() => this.Personalregistration()}
+ >
{/*大图结尾*/}
{/*没数据*/}
+ {
+ pint === 1 || pint === 3 ?
+
+
参赛总人数:{data === null || data === undefined ? 0 : data.length}人
+
+
+ : ""}
+ {/*列表*/}
+ {
+ type === 6 ?
+
+
+ {
+ data && data.map((item, index) => {
+ return (
+
+ )
+ })
+ }
+
+
+
+
+ : ""}
{
type === 1 ?
:
""
}
+ {/*普通账号出现单人 战队弹框*/}
{
type === 2 || type === 3 || type === 5 ?
-
+
this.Exittheteamshow(itemid)}
+ Createateamedit={(itemid) => this.Createateamedit(itemid)}>
: ""
}
{
type === 4 || type === 5 ?
-
+
this.RegistrationSearchvalue(value)}>
: ""
}
{/*
*/}
@@ -378,19 +789,38 @@ class Registration extends React.Component {
{type === 4 || type === 5 ?
- listItems
+
+ {
+ competition_teams && competition_teams.map((item, index) => {
+ return (
+
+ )
+ })
+ }
+
+
:
""
}
{
type === 4 || type === 5 ?
-
- : ""
+ (
+ count < 20 ?
:
+
+ )
+
+ :
}
diff --git a/public/react/src/modules/competition/RegistrationSearch.js b/public/react/src/modules/competition/RegistrationSearch.js
index ed7e326ba..5a08cd84d 100644
--- a/public/react/src/modules/competition/RegistrationSearch.js
+++ b/public/react/src/modules/competition/RegistrationSearch.js
@@ -24,15 +24,22 @@ class RegistrationSearch extends React.Component {
this.setState({
keywords: e.target.value
})
+
};
setdatafuns = (value) => {
- console.log("点击了搜索");
+ console.log("setdatafuns点击了搜索");
+ console.log(value);
this.setState({
keywords: value
})
-
+ this.props.RegistrationSearchvalue(value);
};
+ myonPressEnter = (e) => {
+ console.log("点击了回车setdatafunsval点击了搜索");
+ console.log(e.target.value);
+ this.props.RegistrationSearchvalue(e.target.value);
+ }
render() {
return (
@@ -42,10 +49,20 @@ class RegistrationSearch extends React.Component {
value={this.state.keywords}
enterButton={
搜索}
onInput={(e) => this.setdatafunsval(e)}
- onSearch={(value) => this.setdatafuns(value)}/>
+ onSearch={(value) => this.setdatafuns(value)}
+ onPressEnter={(e) => this.myonPressEnter(e)}
+ />
-
战队总数:271个
+
战队总数:{this.props.count}个
)
}
diff --git a/public/react/src/modules/competition/Registrationitem.js b/public/react/src/modules/competition/Registrationitem.js
index 6bcd18534..d252dc30d 100644
--- a/public/react/src/modules/competition/Registrationitem.js
+++ b/public/react/src/modules/competition/Registrationitem.js
@@ -6,7 +6,7 @@ import {
} from 'react-router-dom';
import axios from 'axios';
import moment from 'moment';
-import {SnackbarHOC, WordsBtn} from 'educoder';
+import {SnackbarHOC, WordsBtn, getImageUrl} from 'educoder';
import {TPMIndexHOC} from '../tpm/TPMIndexHOC';
import competition from './comcss/competition.css';
import {Button} from 'antd';
@@ -22,14 +22,16 @@ class Registrationitem extends React.Component {
render() {
-
+ let {item} = this.props;
return (
-
+
+ {
+ item !== undefined ?
-
+

-
+
小猫头像
+ }}>{item.creator.name}
+ {
+ item.manage_permission === true ?
+
已报名
+ :
+ ""
+ }
-
已报名
2019-09-07 08:33
+ }}>{item.created_at}
-
-
+ : ""
+ }
+
)
}
diff --git a/public/react/src/modules/competition/comcss/competition.css b/public/react/src/modules/competition/comcss/competition.css
index 40e732139..2b3070ad4 100644
--- a/public/react/src/modules/competition/comcss/competition.css
+++ b/public/react/src/modules/competition/comcss/competition.css
@@ -8,16 +8,17 @@
}
/*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;
-}
+/*.registrationback {*/
+/* height: 368px;*/
+/* width: 1200px;*/
+/* border: 0.5px solid;*/
+/* display: flex;*/
+/* display: -webkit-flex;*/
+/* flex-direction: column;*/
+/* align-items: center;*/
+/* background:url(../../../../../images/regis/tipregistit.jpg)*/
+
+/*}*/
.registrationbackcenter {
display: flex;
@@ -26,14 +27,14 @@
align-items: center;
}
-.registrationback1 {
- height: 368px;
- width: 1200px;
- border: 0.5px solid;
- display: flex;
- flex-direction: column;
- background: #0dcecb;
-}
+/*.registrationback1 {*/
+/* height: 368px;*/
+/* width: 1200px;*/
+/* border: 0.5px solid;*/
+/* display: flex;*/
+/* flex-direction: column;*/
+/* background:url(../../../../../images/regis/tipregistit.jpg)*/
+/*}*/
.registrationbackp1 {
color: #ffffff;
@@ -301,14 +302,42 @@
.regitem {
display: flex;
flex-direction: initial;
- border-bottom: 1px solid #EDEDED;
margin-top: 44px;
}
-.regitem2 {
+.regitem22 {
display: flex;
flex-direction: initial;
+ margin-top: 27px;
+ margin-bottom: 19px;
+}
+
+.yslborderbottom {
border-bottom: 1px solid #EDEDED;
+}
+
+.registrationback {
+ height: 368px;
+ width: 1200px;
+ display: flex;
+ display: -webkit-flex;
+ flex-direction: column;
+ align-items: center;
+ background-image: url(./tipregistit.jpg);
+}
+
+.registrationback1 {
+ height: 368px;
+ width: 1200px;
+ display: flex;
+ flex-direction: column;
+ background-image: url(./tipregistit.jpg);
+}
+
+.regitem2 {
+ display: flex;
+ flex-direction: initial;
+ padding-bottom: 18px;
margin-top: 19px;
}
@@ -328,16 +357,17 @@
align-items: center;
justify-content: center;
margin-left: 26px;
- padding-bottom: 18px;
+
}
.regitemimg2 {
height: 78px;
width: 78px;
+ background-color: transparent;
+ margin-bottom: 9px;
}
.personregitemimg {
- border: 0.5px solid;
height: 64px;
width: 64px;
}
@@ -353,7 +383,7 @@
width: 69px;
height: 69px;
margin-top: 3px;
-
+ background-color: transparent;
}
.regitemimgs2 {
@@ -375,7 +405,7 @@
height: 22px;
width: 22px;
font-size: 21px !important;
- margin-top: 22px;
+ margin-top: 21px;
color: #1C91E8;
}
diff --git a/public/react/src/modules/competition/comcss/tipregistit.jpg b/public/react/src/modules/competition/comcss/tipregistit.jpg
new file mode 100644
index 000000000..8aae50232
Binary files /dev/null and b/public/react/src/modules/competition/comcss/tipregistit.jpg differ
diff --git a/public/react/src/modules/competition/competmodal/ExittheteamModel.js b/public/react/src/modules/competition/competmodal/ExittheteamModel.js
new file mode 100644
index 000000000..29eab7b50
--- /dev/null
+++ b/public/react/src/modules/competition/competmodal/ExittheteamModel.js
@@ -0,0 +1,59 @@
+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 ExittheteamModel 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 (
+
+
+
+
+
{this.props.exitintpermessages}
+
+
+
+
+ )
+ }
+}
+
+export default ExittheteamModel;
diff --git a/public/react/src/modules/competition/competmodal/PersonModal.js b/public/react/src/modules/competition/competmodal/PersonModal.js
index 0b4e988a0..9b48307e3 100644
--- a/public/react/src/modules/competition/competmodal/PersonModal.js
+++ b/public/react/src/modules/competition/competmodal/PersonModal.js
@@ -61,9 +61,9 @@ class PersonModal extends Component {
componentDidUpdate = (prevProps) => {
if (prevProps.user != this.props.user) {
- console.log("Registration.js componentDidUpdate");
- console.log(this.props);
- //console.log(prevProps);
+ //console.log("Registration.js componentDidUpdate");
+ //console.log(this.props);
+ // //console.log(prevProps);
//identity职场称
//user_school学校
//real_name姓名
@@ -86,8 +86,8 @@ class PersonModal extends Component {
}
if (prevProps.GetenrollmentAPI != this.props.GetenrollmentAPI) {
- console.log("Registration.js GetenrollmentAPIcomponentDidUpdate");
- console.log(this.props);
+ //console.log("Registration.js GetenrollmentAPIcomponentDidUpdate");
+ //console.log(this.props);
this.setState({
GetenrollmentAPI: this.props.GetenrollmentAPI,
})
@@ -95,6 +95,8 @@ class PersonModal extends Component {
};
//创建战队
Createateam = () => {
+
+
const {polls_nametest, mydatas, GetenrollmentAPI} = this.state;
var myteaherdata = [];
var myshtudentdata = [];
@@ -102,85 +104,89 @@ class PersonModal extends Component {
for (var a = 0; a < mydatas.length; a++) {
if (mydatas[a].type === "导师") {
i++;
- var objectt = {
- enrollable: mydatas[a].enrollable,
- id: mydatas[a].id,
- identity: mydatas[a].identity,
- name: mydatas[a].name,
- school_name: mydatas[a].school_name,
- }
- myteaherdata.push(objectt);
+ // var objectt = {
+ // enrollable: mydatas[a].enrollable,
+ // id: mydatas[a].id,
+ // identity: mydatas[a].identity,
+ // name: mydatas[a].name,
+ // school_name: mydatas[a].school_name,
+ // }
+ myteaherdata.push(mydatas[a].id);
} else if (mydatas[a].type === "队员") {
- var objectts = {
- enrollable: mydatas[a].enrollable,
- id: mydatas[a].id,
- name: mydatas[a].name,
- school_name: mydatas[a].school_name,
- student_id: mydatas[a].student_id,
- }
- myshtudentdata.push(objectts);
+ // var objectts = {
+ // enrollable: mydatas[a].enrollable,
+ // id: mydatas[a].id,
+ // name: mydatas[a].name,
+ // school_name: mydatas[a].school_name,
+ // student_id: mydatas[a].student_id,
+ // }
+ myshtudentdata.push(mydatas[a].id);
}
}
- if (GetenrollmentAPI !== undefined || GetenrollmentAPI !== null) {
- if (GetenrollmentAPI.teacher_staff !== undefined || GetenrollmentAPI.teacher_staff !== null) {
- if (GetenrollmentAPI.teacher_staff.minimum > i) {
+ if (GetenrollmentAPI) {
+ if (GetenrollmentAPI !== undefined || GetenrollmentAPI !== null) {
+ if (GetenrollmentAPI.teacher_staff !== undefined || GetenrollmentAPI.teacher_staff !== null) {
+ if (GetenrollmentAPI.teacher_staff.minimum > i) {
+
+ this.setState({
+ Thecurrentnumberbool: true,
+ Thecurrentnumber: i,
+ booltech: false,
+ boolstud: false
+ })
+ return
+ } else if (GetenrollmentAPI.teacher_staff.maximum < i) {
+ this.setState({
+ Thecurrentnumberbool: true,
+ Thecurrentnumber: i,
+ booltech: false,
+ boolstud: false
+ })
+ return
+ }
- this.setState({
- Thecurrentnumberbool: true,
- Thecurrentnumber: i,
- booltech: false,
- boolstud: false
- })
- return
- } else if (GetenrollmentAPI.teacher_staff.maximum < i) {
- this.setState({
- Thecurrentnumberbool: true,
- Thecurrentnumber: i,
- booltech: false,
- boolstud: false
- })
- return
}
-
}
}
// Thecurrentnumber
- let url = `/competitions/${"gcc-course-2019"}/competition_teams.json`;
- axios.post(url, {
- name: polls_nametest,
- teacher_ids: myteaherdata,
- member_ids: myshtudentdata,
- }).then((result) => {
- //console.log("获取到创建战队的数据");
- //console.log(result);
- if (result) {
- if (result.data) {
- this.props.Tmoconfirm1(true);
+ if (this.props.Newtit === true) {
+ //创建新的战队
+ let url = `/competitions/${"gcc-course-2019"}/competition_teams.json`;
+ axios.post(url, {
+ name: polls_nametest,
+ teacher_ids: myteaherdata,
+ member_ids: myshtudentdata,
+ }).then((result) => {
+ // //console.log("获取到创建战队的数据");
+ // //console.log(result);
+ if (result) {
+ if (result.data) {
+ this.props.Tmoconfirm1(true);
+ }
}
- }
- }).catch((error) => {
- //console.log(error)
- });
-
- }
- creident = (name, teacher_ids, member_ids) => {
- let collaborators = `/competitions/${"gcc-course-2019"}/competition_teams.json`;
- axios.post(collaborators, {
- name: name,
- teacher_ids: teacher_ids,
- member_ids: member_ids,
- }).then((result) => {
- if (result) {
- if (result.data) {
-
-
+ }).catch((error) => {
+ // //console.log(error)
+ });
+ } else {
+ //编辑战队
+ let url = `/competitions/${"gcc-course-2019"}/competition_teams/${"gcc-course-2019"}.json`;
+ axios.post(url, {
+ name: polls_nametest,
+ teacher_ids: myteaherdata,
+ member_ids: myshtudentdata,
+ }).then((result) => {
+ // //console.log("获取到编辑战队的数据");
+ // //console.log(result);
+ if (result) {
+ if (result.data) {
+ this.props.Tmoconfirm1(true);
+ }
}
- }
- }).catch((error) => {
- //console.log(error)
- });
+ }).catch((error) => {
+ // //console.log(error)
+ });
+ }
}
-
Getteacherdata = (keywordteachers, team_idteachers, teacher_ids) => {
this.setState({
person1: true,
@@ -189,7 +195,7 @@ class PersonModal extends Component {
//老师姓名 keyword
//当前战队ID team_id
//当前老师ID数组 teacher_ids
- //console.log("搜索的老师");
+ // //console.log("搜索的老师");
const datas = {
keyword: keywordteachers,
team_id: team_idteachers,
@@ -199,14 +205,14 @@ class PersonModal extends Component {
axios.get((url), {params: datas}).then((result) => {
if (result) {
if (result.data) {
- //console.log(result);
+ // //console.log(result);
this.setState({
teacher_ids: result.data.teachers
})
}
}
}).catch((error) => {
- //console.log(error);
+ // //console.log(error);
})
};
Getstudentsdata = (keywordstudents, team_idstudents, student_ids) => {
@@ -217,7 +223,7 @@ class PersonModal extends Component {
//学生姓名 keyword
//当前战队ID team_id
//当前队员ID数组 student_ids
- //console.log("搜索的学生");
+ // //console.log("搜索的学生");
const datas = {
keyword: keywordstudents,
team_id: team_idstudents,
@@ -227,7 +233,7 @@ class PersonModal extends Component {
axios.get((url), {params: datas}).then((result) => {
if (result) {
if (result.data) {
- //console.log(result);
+ // //console.log(result);
this.setState({
member_ids: result.data.teachers
})
@@ -235,14 +241,14 @@ class PersonModal extends Component {
}
}
}).catch((error) => {
- //console.log(error);
+ // //console.log(error);
})
};
//老师输入框事件
teacheronChange = (e) => {
- //console.log(e.target.value);
- //console.log("老师输入框事件|||||||||||123123123");
+ // //console.log(e.target.value);
+ // //console.log("老师输入框事件|||||||||||123123123");
this.setState({
keywordteachers: e.target.value,
booltech: false,
@@ -280,8 +286,8 @@ class PersonModal extends Component {
//学生输入框事件
studentsonChange = (e) => {
- //console.log("学生输入框事件");
- //console.log(e);
+ // //console.log("学生输入框事件");
+ // //console.log(e);
this.setState({
keywordstudents: e.target.value,
boolstud: false,
@@ -331,9 +337,9 @@ class PersonModal extends Component {
};
var fordabool = false;
var forda = this.state.mydatas;
- //console.log("点击获取老师数据");
- //console.log(object);
- //console.log(forda);
+ // //console.log("点击获取老师数据");
+ // //console.log(object);
+ // //console.log(forda);
for (var i = 0; i < forda.length; i++) {
if (forda[i].id) {
if (forda[i].id === object.id) {
@@ -372,14 +378,14 @@ class PersonModal extends Component {
};
var fordabool = false;
var forda = this.state.mydatas;
- //console.log("点击获取学生数据2");
- //console.log(object);
- //console.log(forda);
+ // //console.log("点击获取学生数据2");
+ // //console.log(object);
+ // //console.log(forda);
for (var i = 0; i < forda.length; i++) {
if (forda[i].id) {
- // //console.log(true);
- // //console.log(forda[i].id);
- // //console.log(object.id);
+ // // //console.log(true);
+ // // //console.log(forda[i].id);
+ // // //console.log(object.id);
if (forda[i].id === object.id) {
fordabool = true;
break
@@ -407,7 +413,7 @@ class PersonModal extends Component {
}
//输入框事件
changeTopicName = (e) => {
- // //console.log("调用了changeTopicName");
+ // // //console.log("调用了changeTopicName");
let num = parseInt(e.target.value.length);
if (num > 60) {
return;
@@ -422,7 +428,7 @@ class PersonModal extends Component {
//onSearchsou
onSearch = (value) => {
- //console.log("搜索的数据" + value);
+ // //console.log("搜索的数据" + value);
};
handleInfiniteOnLoad = () => {
// this.setState({
@@ -442,12 +448,12 @@ class PersonModal extends Component {
}
handleInfiniteOnLoad1 = () => {
- // //console.log("调用了方法1111");
+ // // //console.log("调用了方法1111");
// this.setState({
// loading1: true,
// })
// setTimeout(() => {
- // //console.log("调用了方法11112");
+ // // //console.log("调用了方法11112");
// this.setState({
// loading1: false,
// hasMore: true,
@@ -456,13 +462,13 @@ class PersonModal extends Component {
}
handleInfiniteOnLoad2 = () => {
- // //console.log("调用了方法1111");
+ // // //console.log("调用了方法1111");
// this.setState({
// loading2: true,
//
// })
// setTimeout(() => {
- // //console.log("调用了方法11113");
+ // // //console.log("调用了方法11113");
// this.setState({
// hasMore: true,
// loading2: false,
@@ -471,23 +477,23 @@ class PersonModal extends Component {
}
inputOnBlur = (e) => {
- //console.log("inputOnBlur");
- //console.log(e);
+ // //console.log("inputOnBlur");
+ // //console.log(e);
this.setState({
person1: false
})
}
inputOnBlur2 = (e) => {
- //console.log("inputOnBlur");
- //console.log(e);
+ // //console.log("inputOnBlur");
+ // //console.log(e);
this.setState({
person2: false
})
}
startSearch = (e) => {
- //console.log("startSearch");
- //console.log(e);
+ // //console.log("startSearch");
+ // //console.log(e);
this.setState({
person1: true,
person2: false,
@@ -497,8 +503,8 @@ class PersonModal extends Component {
}
startSearch2 = (e) => {
- //console.log("startSearch2");
- //console.log(e);
+ // //console.log("startSearch2");
+ // //console.log(e);
this.setState({
person1: false,
person2: true,
@@ -508,8 +514,8 @@ class PersonModal extends Component {
}
inputOnFocus = (e) => {
- //console.log("inputOnFocus");
- //console.log(e);
+ // //console.log("inputOnFocus");
+ // //console.log(e);
try {
if (this.state.keywordteachers && this.state.keywordteachers.length > 0) {
this.setState({
@@ -533,8 +539,8 @@ class PersonModal extends Component {
}
inputOnFocus2 = (e) => {
- //console.log("inputOnFocus2");
- //console.log(e);
+ // //console.log("inputOnFocus2");
+ // //console.log(e);
try {
if (this.state.keywordstudents && this.state.keywordstudents.length > 0) {
this.setState({
@@ -559,8 +565,8 @@ class PersonModal extends Component {
}
inputOnFocus3 = (e) => {
- //console.log("inputOnFocus3");
- //console.log(e);
+ // //console.log("inputOnFocus3");
+ // //console.log(e);
this.setState({
person2: false,
person1: false,
@@ -570,13 +576,13 @@ class PersonModal extends Component {
var {mydatas} = this.state;
if (item) {
var pos = mydatas.indexOf(item);
- // console.log("deletedata");
- // console.log(pos);
+ // //console.log("deletedata");
+ // //console.log(pos);
var removedItem = mydatas.splice(pos, 1);
- // console.log("deletedata22222");
- // console.log(removedItem)
+ // //console.log("deletedata22222");
+ // //console.log(removedItem)
//removedItem 是被删除的元素
- // console.log(mydatas)
+ // //console.log(mydatas)
this.setState({
mydatas: mydatas,
})
@@ -764,6 +770,8 @@ class PersonModal extends Component {
);
+ console.log("PersonModal");
+ console.log(this.props);
return (