From 21738d8b723f64c8e4bbc5e05e1b37b869c48e3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=9E=97?= <904079904@qq.com> Date: Fri, 18 Oct 2019 14:43:12 +0800 Subject: [PATCH 01/33] =?UTF-8?q?=E7=AB=9E=E8=B5=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/react/src/App.js | 14 +- .../modules/competition/CompetitionMaxImg.js | 77 ++++ .../src/modules/competition/Rectanglex.png | Bin 0 -> 4529 bytes .../src/modules/competition/RegisListview.js | 48 +++ .../src/modules/competition/RegisNodata.js | 27 ++ .../src/modules/competition/Registration.js | 61 +++ .../modules/competition/RegistrationSearch.js | 55 +++ .../modules/competition/Registrationitem.js | 102 +++++ .../competition/comcss/competition.css | 388 ++++++++++++++++++ 9 files changed, 771 insertions(+), 1 deletion(-) create mode 100644 public/react/src/modules/competition/CompetitionMaxImg.js create mode 100755 public/react/src/modules/competition/Rectanglex.png create mode 100644 public/react/src/modules/competition/RegisListview.js create mode 100644 public/react/src/modules/competition/RegisNodata.js create mode 100644 public/react/src/modules/competition/Registration.js create mode 100644 public/react/src/modules/competition/RegistrationSearch.js create mode 100644 public/react/src/modules/competition/Registrationitem.js create mode 100644 public/react/src/modules/competition/comcss/competition.css diff --git a/public/react/src/App.js b/public/react/src/App.js index b2ec1a3a3..e89746f41 100644 --- a/public/react/src/App.js +++ b/public/react/src/App.js @@ -277,7 +277,13 @@ const Help = Loadable({ const Ecs = Loadable({ loader: () => import('./modules/ecs/Ecs'), loading: Loading, -}) +}); + +//个人竞赛报名 +const Registration = Loadable({ + loader: () => import('./modules/competition/Registration'), + loading: Loading, +}); class App extends Component { constructor(props) { @@ -593,6 +599,12 @@ class App extends Component { render={ (props)=>() }/> + () + } + /> + { + type === 1 ? +
+

Educoder竞赛平台

+

Educoder是一个面向计算机类的互联网IT教育和实战平台,

+

提供企业级工程实训,以实现工程化专业教学的自动化和智能化。

+
+
+

加入战队

+
+
+

创建战队

+
+ +
+
+ : + type === 2 ? +
+

Educoder竞赛平台

+

高校智能课堂与综合实训平台

+
+
+

加入战队

+
+
+

创建战队

+
+ +
+
+ : + type === 3 ? +
+

Educoder竞赛平台

+

高校智能课堂与综合实训平台

+
+
+

加入战队

+
+
+

创建战队

+
+ +
+
+ : + "" + } + + + + + ) + } + +} + +export default CompetitionMaxImg; diff --git a/public/react/src/modules/competition/Rectanglex.png b/public/react/src/modules/competition/Rectanglex.png new file mode 100755 index 0000000000000000000000000000000000000000..0aa2a31b159a0476db98bfb47ece71f79598d9a1 GIT binary patch literal 4529 zcmeAS@N?(olHy`uVBq!ia0y~y;LHKCQ#jawq(sGQRR#vZ3Qrfukczmsw+?bLDDbd2 zzTJQB%EAQxciEQ?9Gvj{-Av2Vf(i}|42(=H90K?m2g)0DZ~V&3AxbgOK!1k~PX!4X z3bj~(lVh7whA}}mK$HvQ{3OD?V6`qxO=~%B@erw;CAyAS-%V^t&~7qwCQ|vqY4Z33 z7a9%@4Gt;_H@X&_B@h=d<-j0j9}Qw~(2fQ%EX|CjVpxGTT2PD@6c}~NXhAVrP@q@a zqXoriK`~lT;B2CfwkSqh6zE;3(XI!)%RJhm7;RCYw1HV|(vE;7|;Mr>mdK II;Vst0HmRm0ssI2 literal 0 HcmV?d00001 diff --git a/public/react/src/modules/competition/RegisListview.js b/public/react/src/modules/competition/RegisListview.js new file mode 100644 index 000000000..daa528f59 --- /dev/null +++ b/public/react/src/modules/competition/RegisListview.js @@ -0,0 +1,48 @@ +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 ( +
+ +
+

创建者

+

战队名称

+

战队成员

+

学校

+

时间

+
+
+ ) + } + +} + +export default RegisListview; diff --git a/public/react/src/modules/competition/RegisNodata.js b/public/react/src/modules/competition/RegisNodata.js new file mode 100644 index 000000000..a6e866538 --- /dev/null +++ b/public/react/src/modules/competition/RegisNodata.js @@ -0,0 +1,27 @@ +import React, {Component} from 'react'; +import competition from './comcss/competition.css'; + +// 团队竞赛报名无报名子组件 +class RegisNodata extends React.Component { + constructor(props) { + super(props) + + + } + + + render() { + return ( +
+
+ +
+

暂无战队参与报名哦,赶紧来成为第一个挑战的吧~

+
+ + ) + } + +} + +export default RegisNodata; diff --git a/public/react/src/modules/competition/Registration.js b/public/react/src/modules/competition/Registration.js new file mode 100644 index 000000000..6cf22015f --- /dev/null +++ b/public/react/src/modules/competition/Registration.js @@ -0,0 +1,61 @@ +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 Registrationitem from './Registrationitem'; +import RegisNodata from './RegisNodata'; +import CompetitionMaxImg from './CompetitionMaxImg'; +import RegistrationSearch from './RegistrationSearch'; +import RegisListview from './RegisListview'; + +// 团队竞赛报名无报名 +class Registration extends React.Component { + constructor(props) { + super(props) + + + } + + + render() { + return ( +
+
+ + {/*大图*/} + + {/*大图结尾*/} + {/*没数据*/} + {/**/} + + {/**/} + + + + +
+ +
+ ) + } + +} + +export default SnackbarHOC()(TPMIndexHOC(Registration)); diff --git a/public/react/src/modules/competition/RegistrationSearch.js b/public/react/src/modules/competition/RegistrationSearch.js new file mode 100644 index 000000000..ed7e326ba --- /dev/null +++ b/public/react/src/modules/competition/RegistrationSearch.js @@ -0,0 +1,55 @@ +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, Input, Table, Pagination, Menu, Icon} from "antd"; + +const Search = Input.Search; + +// 团队竞赛报名无报名子组件团队 在线竞赛 > 全国高校计算机大赛-项目挑战> +class RegistrationSearch extends React.Component { + constructor(props) { + super(props) + this.state = { + keywords: "" + } + } + + setdatafunsval = (e) => { + this.setState({ + keywords: e.target.value + }) + }; + setdatafuns = (value) => { + console.log("点击了搜索"); + this.setState({ + keywords: value + }) + + }; + + render() { + return ( +
+ + 搜索} + onInput={(e) => this.setdatafunsval(e)} + onSearch={(value) => this.setdatafuns(value)}/> + +

战队总数:271

+
+ ) + } + +} + +export default RegistrationSearch; diff --git a/public/react/src/modules/competition/Registrationitem.js b/public/react/src/modules/competition/Registrationitem.js new file mode 100644 index 000000000..0de16ecef --- /dev/null +++ b/public/react/src/modules/competition/Registrationitem.js @@ -0,0 +1,102 @@ +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 Registrationitem extends React.Component { + constructor(props) { + super(props) + + + } + + + render() { + return ( + +
+
+
+ +
+

小猫头像

+
+
+

重庆邮电大学

+
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+

邀请码:yngh5

+
+
+
+
+
+

战队详情

+
+
+

退出战队

+
+ +
+ +
+ + + ) + } + +} + +export default Registrationitem; diff --git a/public/react/src/modules/competition/comcss/competition.css b/public/react/src/modules/competition/comcss/competition.css new file mode 100644 index 000000000..51134705f --- /dev/null +++ b/public/react/src/modules/competition/comcss/competition.css @@ -0,0 +1,388 @@ +/*Registration.js*/ +.registrationback { + height: 368px; + width: 1200px; + border: 1px solid; + display: flex; + display: -webkit-flex; + flex-direction: column; + align-items: center; + background: #0dcecb; +} + +.registrationback1 { + height: 368px; + width: 1200px; + border: 1px 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; +} + +.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 + +} + +.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 { + color: #05101A; + font-size: 20px; + font-weight: bold; + cursor: pointer +} + +.registbut2 p { + color: #05101A; + font-size: 20px; + font-weight: bold; + cursor: pointer + +} + +.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 { + border: 1px solid; + 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: 1px solid; + margin-top: 44px; +} + +/*垂直*/ +.regitemimg1 { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + margin-left: 25px; +} + +.regitemimg2 { + border: 1px solid; + height: 78px; + width: 78px; +} + +.regitemimg2 p { + border: 1px solid; + color: #999999; + font-size: 14px; +} + +.regitemimgs { + border: 1px solid; + width: 69px; + height: 69px; + margin-top: 3px; + +} + +.regitemimgs2 { + margin-top: 16px; + border: 1px solid; + width: 49px; + height: 51px; + margin-left: 25px +} + +.regitemimgs22 { + margin-top: 27px; + border: 1px solid; + width: 28px; + height: 28px; + margin-left: 20px; +} + +.regitemimgs3 { + border: 1px solid; + height: 22px; + width: 22px; + margin-top: 30px; + margin-left: 14px; +} + +.regitemimgs4 { + width: 156px; + display: flex; + flex-direction: row-reverse; + margin-top: 18px; + margin-left: 55px; +} + +.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 { + display: flex; + display: -webkit-flex; + flex-direction: column; + align-items: center; + background: #F9F9F9; +} + +.reglistviewdivss { + display: flex; + flex-direction: initial; + +} + + +/*RegisListview.js*/ \ No newline at end of file From c26d4e805ddef5c5931e626924da42869a29fd54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=9E=97?= <904079904@qq.com> Date: Fri, 18 Oct 2019 15:09:45 +0800 Subject: [PATCH 02/33] =?UTF-8?q?=E7=AB=9E=E8=B5=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/modules/competition/RegisListview.js | 33 +++++++++---------- .../competition/comcss/competition.css | 9 ++++- 2 files changed, 23 insertions(+), 19 deletions(-) diff --git a/public/react/src/modules/competition/RegisListview.js b/public/react/src/modules/competition/RegisListview.js index daa528f59..92146399f 100644 --- a/public/react/src/modules/competition/RegisListview.js +++ b/public/react/src/modules/competition/RegisListview.js @@ -10,7 +10,6 @@ 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) @@ -21,23 +20,21 @@ class RegisListview extends React.Component { render() { return (
- -
-

创建者

-

战队名称

-

战队成员

-

学校

-

时间

+
+

创建者

+

战队名称

+

战队成员

+

学校

+

时间

) diff --git a/public/react/src/modules/competition/comcss/competition.css b/public/react/src/modules/competition/comcss/competition.css index 51134705f..68766d158 100644 --- a/public/react/src/modules/competition/comcss/competition.css +++ b/public/react/src/modules/competition/comcss/competition.css @@ -1,3 +1,9 @@ +/*All*/ +.borders { + border: 1px solid; +} + +/*All*/ /*Registration.js*/ .registrationback { height: 368px; @@ -375,7 +381,8 @@ display: -webkit-flex; flex-direction: column; align-items: center; - background: #F9F9F9; + margin-top: 25px; + } .reglistviewdivss { From b52afe0f8b3e86b6f0ebdca48a74d818d637fe53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=9E=97?= <904079904@qq.com> Date: Fri, 18 Oct 2019 15:38:39 +0800 Subject: [PATCH 03/33] =?UTF-8?q?=E7=AB=9E=E8=B5=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/modules/competition/RegisListview.js | 14 +-- .../modules/competition/RegisListviewdata.js | 86 +++++++++++++++++++ .../src/modules/competition/Registration.js | 5 +- .../modules/competition/Registrationitem.js | 10 +-- .../competition/comcss/competition.css | 27 ++++-- 5 files changed, 125 insertions(+), 17 deletions(-) create mode 100644 public/react/src/modules/competition/RegisListviewdata.js diff --git a/public/react/src/modules/competition/RegisListview.js b/public/react/src/modules/competition/RegisListview.js index 92146399f..60d8947b8 100644 --- a/public/react/src/modules/competition/RegisListview.js +++ b/public/react/src/modules/competition/RegisListview.js @@ -30,11 +30,15 @@ class RegisListview extends React.Component { backgroundPosition: "center", backgroundSize: "110% 100%", }}> -

创建者

-

战队名称

-

战队成员

-

学校

-

时间

+

创建者

+

战队名称

+

战队成员

+

学校

+

时间

) diff --git a/public/react/src/modules/competition/RegisListviewdata.js b/public/react/src/modules/competition/RegisListviewdata.js new file mode 100644 index 000000000..a665783ec --- /dev/null +++ b/public/react/src/modules/competition/RegisListviewdata.js @@ -0,0 +1,86 @@ +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 "./Rectanglex.png"; + +// 团队竞赛报名无报名子组件团队 在线竞赛 > 全国高校计算机大赛-项目挑战> +class RegisListviewdata extends React.Component { + constructor(props) { + super(props) + + } + + + render() { + return ( +
+
+
+
+
+ +
+

小猫头像

+
+
+
猫头鹰没头绪高校战队 +
+
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
学校
+
时间
+
+
+ ) + } + +} + +export default RegisListviewdata; diff --git a/public/react/src/modules/competition/Registration.js b/public/react/src/modules/competition/Registration.js index 6cf22015f..3aa167aca 100644 --- a/public/react/src/modules/competition/Registration.js +++ b/public/react/src/modules/competition/Registration.js @@ -15,7 +15,7 @@ import RegisNodata from './RegisNodata'; import CompetitionMaxImg from './CompetitionMaxImg'; import RegistrationSearch from './RegistrationSearch'; import RegisListview from './RegisListview'; - +import RegisListviewdata from './RegisListviewdata'; // 团队竞赛报名无报名 class Registration extends React.Component { constructor(props) { @@ -48,7 +48,8 @@ class Registration extends React.Component { {/**/} - + + {/**/} diff --git a/public/react/src/modules/competition/Registrationitem.js b/public/react/src/modules/competition/Registrationitem.js index 0de16ecef..c499f5707 100644 --- a/public/react/src/modules/competition/Registrationitem.js +++ b/public/react/src/modules/competition/Registrationitem.js @@ -24,13 +24,13 @@ class Registrationitem extends React.Component { return (
-
+

小猫头像

-
@@ -42,7 +42,7 @@ class Registrationitem extends React.Component { textAlign: "center" }}>重庆邮电大学

-
-
+

邀请码:yngh5

-
+
diff --git a/public/react/src/modules/competition/comcss/competition.css b/public/react/src/modules/competition/comcss/competition.css index 68766d158..0df42417b 100644 --- a/public/react/src/modules/competition/comcss/competition.css +++ b/public/react/src/modules/competition/comcss/competition.css @@ -377,10 +377,6 @@ /*RegisListview.js*/ .reglistviewdivs { - display: flex; - display: -webkit-flex; - flex-direction: column; - align-items: center; margin-top: 25px; } @@ -391,5 +387,26 @@ } +reglistviewdivs2 { + margin-top: 27px; + +} +/*RegisListview.js*/ + + +/*RegisListviewdata.js*/ +.reglistimg1 { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + +} + +.reglistimg2 { + border: 1px solid; + height: 78px; + width: 78px; +} -/*RegisListview.js*/ \ No newline at end of file +/*RegisListviewdata.js*/ \ No newline at end of file From 8bd60f57c2f12a79fffaeb7e8925b77a189fcdfd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=9E=97?= <904079904@qq.com> Date: Fri, 18 Oct 2019 16:17:17 +0800 Subject: [PATCH 04/33] =?UTF-8?q?=E7=AB=9E=E8=B5=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/modules/competition/RegisListview.js | 5 +- .../modules/competition/RegisListviewdata.js | 114 ++++++++++-------- .../src/modules/competition/Registration.js | 4 +- .../modules/competition/Registrationitem.js | 23 ++-- .../competition/comcss/competition.css | 4 +- 5 files changed, 89 insertions(+), 61 deletions(-) diff --git a/public/react/src/modules/competition/RegisListview.js b/public/react/src/modules/competition/RegisListview.js index 60d8947b8..c2d725661 100644 --- a/public/react/src/modules/competition/RegisListview.js +++ b/public/react/src/modules/competition/RegisListview.js @@ -35,8 +35,9 @@ class RegisListview extends React.Component {

战队名称

战队成员

-

学校

+ style={{fontSize: "16px", color: "#05101A", width: "487px", textAlign: "center"}}>战队成员

+

学校

时间

diff --git a/public/react/src/modules/competition/RegisListviewdata.js b/public/react/src/modules/competition/RegisListviewdata.js index a665783ec..8e381568e 100644 --- a/public/react/src/modules/competition/RegisListviewdata.js +++ b/public/react/src/modules/competition/RegisListviewdata.js @@ -6,78 +6,98 @@ import { } 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 {Checkbox, Table, Pagination, Menu, Icon} from "antd"; -import Rectanglex from "./Rectanglex.png"; +import {Button} from 'antd'; -// 团队竞赛报名无报名子组件团队 在线竞赛 > 全国高校计算机大赛-项目挑战> +// 团队竞赛报名无报名子组件团队 竞赛报名-已创建战队 class RegisListviewdata extends React.Component { constructor(props) { super(props) + } render() { return ( -
-
-
-
-
+
+
+
-
-

小猫头像

-
-
猫头鹰没头绪高校战队 +

小猫头像

+
+
+

重庆邮电大学

+
+
+
+
-
-
- }}> -
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
+
+

重庆邮电大学

+
+
-
+ }}> +

2019-09-07 08:33

+
-
-
-
-
学校
-
时间
-
+ + ) } diff --git a/public/react/src/modules/competition/Registration.js b/public/react/src/modules/competition/Registration.js index 3aa167aca..92d716529 100644 --- a/public/react/src/modules/competition/Registration.js +++ b/public/react/src/modules/competition/Registration.js @@ -45,10 +45,10 @@ class Registration extends React.Component { {/*没数据*/} {/**/} - {/**/} + - + {/**/}
diff --git a/public/react/src/modules/competition/Registrationitem.js b/public/react/src/modules/competition/Registrationitem.js index c499f5707..9db982d45 100644 --- a/public/react/src/modules/competition/Registrationitem.js +++ b/public/react/src/modules/competition/Registrationitem.js @@ -32,18 +32,18 @@ class Registrationitem extends React.Component {

重庆邮电大学

-
+

邀请码:yngh5

-
+
-
+

战队详情

diff --git a/public/react/src/modules/competition/comcss/competition.css b/public/react/src/modules/competition/comcss/competition.css index 0df42417b..e50561e75 100644 --- a/public/react/src/modules/competition/comcss/competition.css +++ b/public/react/src/modules/competition/comcss/competition.css @@ -249,7 +249,7 @@ flex-direction: column; align-items: center; justify-content: center; - margin-left: 25px; + margin-left: 17px; } .regitemimg2 { @@ -293,7 +293,6 @@ height: 22px; width: 22px; margin-top: 30px; - margin-left: 14px; } .regitemimgs4 { @@ -301,7 +300,6 @@ display: flex; flex-direction: row-reverse; margin-top: 18px; - margin-left: 55px; } .regitemimgs5 { From 3999146695829484dd0448c354b4fc7ad27b2dd1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=9E=97?= <904079904@qq.com> Date: Sat, 19 Oct 2019 09:06:55 +0800 Subject: [PATCH 05/33] =?UTF-8?q?=E8=B0=83=E6=95=B4bd?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/modules/competition/Registration.js | 30 +++++++++++++++++-- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/public/react/src/modules/competition/Registration.js b/public/react/src/modules/competition/Registration.js index 92d716529..911ea2f0c 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} from 'antd'; +import {Button, Pagination,} from 'antd'; import Registrationitem from './Registrationitem'; import RegisNodata from './RegisNodata'; import CompetitionMaxImg from './CompetitionMaxImg'; @@ -20,12 +20,27 @@ import RegisListviewdata from './RegisListviewdata'; class Registration extends React.Component { constructor(props) { super(props) + this.state = { + persons: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20], + loadingstate: false, + page: 1, + limit: 20, - + } } + paginationonChangestwo = (pageNumber) => { + this.setState({ + page: pageNumber, + loadingstate: true, + }) + } render() { + const {persons, page, limit} = this.state; + const listItems = persons.map((item, index) => + + ); return (
@@ -48,9 +63,18 @@ class Registration extends React.Component { - + + { + listItems + } + {/**/} +
+ +
From f954be3b1b16c9d89872ec4d3449ec3b324fc768 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=9E=97?= <904079904@qq.com> Date: Sat, 19 Oct 2019 09:44:44 +0800 Subject: [PATCH 06/33] =?UTF-8?q?=E7=AB=9E=E8=B5=9B=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/modules/competition/Registration.js | 40 +++++++++---- .../modules/competition/Registrationitem.js | 58 +++++++++++++++---- 2 files changed, 74 insertions(+), 24 deletions(-) diff --git a/public/react/src/modules/competition/Registration.js b/public/react/src/modules/competition/Registration.js index 911ea2f0c..465a041d0 100644 --- a/public/react/src/modules/competition/Registration.js +++ b/public/react/src/modules/competition/Registration.js @@ -25,7 +25,7 @@ class Registration extends React.Component { loadingstate: false, page: 1, limit: 20, - + type: 5, } } @@ -37,7 +37,7 @@ class Registration extends React.Component { }) } render() { - const {persons, page, limit} = this.state; + const {persons, page, limit, type} = this.state; const listItems = persons.map((item, index) => ); @@ -55,26 +55,42 @@ class Registration extends React.Component {

{/*大图*/} - + {/*大图结尾*/} {/*没数据*/} {/**/} - - - - + { + type === 4 || type === 5 ? + + : "" + } + { + type === 4 || type === 5 ? + + : + "" + } + + + {type === 4 || type === 5 ? listItems + : + "" } {/**/} + { + type === 5 ? +
+ +
+ : "" + } -
- -
diff --git a/public/react/src/modules/competition/Registrationitem.js b/public/react/src/modules/competition/Registrationitem.js index 9db982d45..5dd6e0b53 100644 --- a/public/react/src/modules/competition/Registrationitem.js +++ b/public/react/src/modules/competition/Registrationitem.js @@ -86,19 +86,53 @@ class Registrationitem extends React.Component { }} >
-
-
-

战队详情

-
-
-

退出战队

-
+ { + this.props.type === 5 ? +
+
+

删除战队

+
+
+

编辑战队

+
+ +
+ : this.props.type === 2 ? +
+
+

战队详情

+
+
+

退出战队

+
+ +
+ : + this.props.type === 2 ? +
+ +
+

退出战队

+
+ +
+ : + "" + + } -
From b2b4dac11dd3995d99fd91714c68495e19cda484 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=9E=97?= <904079904@qq.com> Date: Sat, 19 Oct 2019 09:47:10 +0800 Subject: [PATCH 07/33] =?UTF-8?q?=E7=AB=9E=E8=B5=9B=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/modules/competition/Registration.js | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/public/react/src/modules/competition/Registration.js b/public/react/src/modules/competition/Registration.js index 465a041d0..85f532f89 100644 --- a/public/react/src/modules/competition/Registration.js +++ b/public/react/src/modules/competition/Registration.js @@ -25,7 +25,7 @@ class Registration extends React.Component { loadingstate: false, page: 1, limit: 20, - type: 5, + type: 1, } } @@ -58,9 +58,18 @@ class Registration extends React.Component { {/*大图结尾*/} {/*没数据*/} - {/**/} - + { + type === 1 ? + + : + "" + } + { + type === 2 || type === 3 || type === 5 ? + : "" + } + { type === 4 || type === 5 ? @@ -80,7 +89,6 @@ class Registration extends React.Component { "" } - {/**/} { type === 5 ?
From 78481e4cdff0692b09182adc49ac52ef95d5732e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=9E=97?= <904079904@qq.com> Date: Sat, 19 Oct 2019 14:02:08 +0800 Subject: [PATCH 08/33] =?UTF-8?q?=E7=AB=9E=E8=B5=9B=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/react/config/webpack.config.dev.js | 2 +- public/react/src/App.js | 29 ++-- .../modules/competition/CompetitionMaxImg.js | 35 ++++- .../src/modules/competition/Registration.js | 14 +- .../modules/competition/Registrationitem.js | 123 ++++----------- .../competition/comcss/competition.css | 65 ++++++-- .../competition/competmodal/PersonModal.js | 0 .../competition/personal/PersonalCompetit.js | 97 ++++++++++++ .../personal/PersonalCompetititem.js | 144 ++++++++++++++++++ 9 files changed, 377 insertions(+), 132 deletions(-) create mode 100644 public/react/src/modules/competition/competmodal/PersonModal.js create mode 100644 public/react/src/modules/competition/personal/PersonalCompetit.js create mode 100644 public/react/src/modules/competition/personal/PersonalCompetititem.js diff --git a/public/react/config/webpack.config.dev.js b/public/react/config/webpack.config.dev.js index ef38a18f8..e96f22663 100644 --- a/public/react/config/webpack.config.dev.js +++ b/public/react/config/webpack.config.dev.js @@ -32,7 +32,7 @@ module.exports = { // See the discussion in https://github.com/facebookincubator/create-react-app/issues/343.s // devtool: "cheap-module-eval-source-map", // 开启调试 - //devtool: "source-map", // 开启调试 + devtool: "source-map", // 开启调试 // These are the "entry points" to our application. // This means they will be the "root" imports that are included in JS bundle. // The first two entry points enable "hot" CSS and auto-refreshes for JS. diff --git a/public/react/src/App.js b/public/react/src/App.js index e89746f41..8377ca410 100644 --- a/public/react/src/App.js +++ b/public/react/src/App.js @@ -279,12 +279,16 @@ const Ecs = Loadable({ loading: Loading, }); -//个人竞赛报名 +//团队竞赛报名 const Registration = Loadable({ loader: () => import('./modules/competition/Registration'), loading: Loading, }); - +//个人竞赛报名 +const PersonalCompetit = Loadable({ + loader: () => import('./modules/competition/personal/PersonalCompetit.js'), + loading: Loading, +}); class App extends Component { constructor(props) { super(props) @@ -529,7 +533,12 @@ class App extends Component { return () } }> - + () + } + /> + () + } + /> + () @@ -599,12 +615,7 @@ class App extends Component { render={ (props)=>() }/> - () - } - /> + { - type === 1 ? + type === 1 || type === 2 ?

Educoder竞赛平台

Educoder是一个面向计算机类的互联网IT教育和实战平台,

@@ -33,7 +29,7 @@ class CompetitionMaxImg extends React.Component {
: - type === 2 ? + type === 3 ?

Educoder竞赛平台

高校智能课堂与综合实训平台

@@ -48,7 +44,7 @@ class CompetitionMaxImg extends React.Component {
: - type === 3 ? + type === 4 || type === 5 ?

Educoder竞赛平台

高校智能课堂与综合实训平台

@@ -62,6 +58,29 @@ class CompetitionMaxImg extends React.Component {
+ : type === 6 ? +
+

Educoder竞赛平台

+

Educoder是一个面向计算机类的互联网IT教育和实战平台,

+

提供企业级工程实训,以实现工程化专业教学的自动化和智能化。

+
+ { + pint === 1 ? +
+

立即报名

+
+ : pint === 2 ? +
+

已报名

+
+ : +
+

报名已截止

+
+ } + +
+
: "" } diff --git a/public/react/src/modules/competition/Registration.js b/public/react/src/modules/competition/Registration.js index 85f532f89..945552ef3 100644 --- a/public/react/src/modules/competition/Registration.js +++ b/public/react/src/modules/competition/Registration.js @@ -16,16 +16,17 @@ import CompetitionMaxImg from './CompetitionMaxImg'; import RegistrationSearch from './RegistrationSearch'; import RegisListview from './RegisListview'; import RegisListviewdata from './RegisListviewdata'; + // 团队竞赛报名无报名 class Registration extends React.Component { constructor(props) { super(props) this.state = { - persons: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20], + test: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20], loadingstate: false, page: 1, limit: 20, - type: 1, + type: 5, } } @@ -36,9 +37,10 @@ class Registration extends React.Component { loadingstate: true, }) } + render() { - const {persons, page, limit, type} = this.state; - const listItems = persons.map((item, index) => + const {test, page, limit, type} = this.state; + const listItems = test.map((item, index) => ); return ( @@ -66,7 +68,7 @@ class Registration extends React.Component { } { type === 2 || type === 3 || type === 5 ? - + : "" } @@ -90,7 +92,7 @@ class Registration extends React.Component { } { - type === 5 ? + type === 4 || type === 5 ?
-
-
+
+
+
-

小猫头像

-
-

重庆邮电大学

-
-
-
- -
-
- -
-
- -
-
- -
-
+ }}>小猫头像

-
-
- -
-
- -
+

已报名

-

邀请码:yngh5

+ textAlign: "center", + }}>2019-09-07 08:33

-
-
- { - this.props.type === 5 ? -
-
-

删除战队

-
-
-

编辑战队

-
- -
- : this.props.type === 2 ? -
-
-

战队详情

-
-
-

退出战队

-
- -
- : - this.props.type === 2 ? -
- -
-

退出战队

-
- -
- : - "" - - } -
diff --git a/public/react/src/modules/competition/comcss/competition.css b/public/react/src/modules/competition/comcss/competition.css index e50561e75..aa8e2b725 100644 --- a/public/react/src/modules/competition/comcss/competition.css +++ b/public/react/src/modules/competition/comcss/competition.css @@ -1,6 +1,6 @@ /*All*/ .borders { - border: 1px solid; + border: 0.5px solid; } /*All*/ @@ -8,7 +8,7 @@ .registrationback { height: 368px; width: 1200px; - border: 1px solid; + border: 0.5px solid; display: flex; display: -webkit-flex; flex-direction: column; @@ -19,7 +19,7 @@ .registrationback1 { height: 368px; width: 1200px; - border: 1px solid; + border: 0.5px solid; display: flex; flex-direction: column; background: #0dcecb; @@ -63,6 +63,7 @@ color: #ffffff; font-size: 18px; line-height: 20px; + margin-top: 7px; } .registrationbackp4 { @@ -112,6 +113,19 @@ } +.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; @@ -163,6 +177,12 @@ } +.personreg1 p { + color: #ffffff; + font-size: 20px; + cursor: not-allowed; +} + .registbut2 { text-align: center; color: #05101A; @@ -217,7 +237,7 @@ } .bootomimg { - border: 1px solid; + border: 0.5px solid; height: 80px; width: 125px; margin-top: 107px; @@ -239,10 +259,16 @@ .regitem { display: flex; flex-direction: initial; - border: 1px solid; + border: 0.5px solid; margin-top: 44px; } +.regitem2 { + display: flex; + flex-direction: initial; + border-bottom: 1px solid #EDEDED; + margin-top: 19px; +} /*垂直*/ .regitemimg1 { display: flex; @@ -252,20 +278,35 @@ margin-left: 17px; } +.perregitemimg1 { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + margin-left: 26px; + padding-bottom: 18px; +} .regitemimg2 { - border: 1px solid; + border: 0.5px solid; height: 78px; width: 78px; } +.personregitemimg { + border: 0.5px solid; + height: 64px; + width: 64px; +} + + .regitemimg2 p { - border: 1px solid; + border: 0.5px solid; color: #999999; font-size: 14px; } .regitemimgs { - border: 1px solid; + border: 0.5px solid; width: 69px; height: 69px; margin-top: 3px; @@ -274,7 +315,7 @@ .regitemimgs2 { margin-top: 16px; - border: 1px solid; + border: 0.5px solid; width: 49px; height: 51px; margin-left: 25px @@ -282,14 +323,14 @@ .regitemimgs22 { margin-top: 27px; - border: 1px solid; + border: 0.5px solid; width: 28px; height: 28px; margin-left: 20px; } .regitemimgs3 { - border: 1px solid; + border: 0.5px solid; height: 22px; width: 22px; margin-top: 30px; @@ -402,7 +443,7 @@ reglistviewdivs2 { } .reglistimg2 { - border: 1px solid; + border: 0.5px solid; height: 78px; width: 78px; } diff --git a/public/react/src/modules/competition/competmodal/PersonModal.js b/public/react/src/modules/competition/competmodal/PersonModal.js new file mode 100644 index 000000000..e69de29bb diff --git a/public/react/src/modules/competition/personal/PersonalCompetit.js b/public/react/src/modules/competition/personal/PersonalCompetit.js new file mode 100644 index 000000000..b14ad4d36 --- /dev/null +++ b/public/react/src/modules/competition/personal/PersonalCompetit.js @@ -0,0 +1,97 @@ +import React, {Component} from 'react'; +import {SnackbarHOC, WordsBtn} from 'educoder'; +import {TPMIndexHOC} from '../../tpm/TPMIndexHOC'; +import competition from '../comcss/competition.css'; +import {Button, Pagination,} from 'antd'; +import CompetitionMaxImg from '../CompetitionMaxImg'; +import Registrationitem from '../Registrationitem'; + +// 团队竞赛报名无报名 +class PersonalCompetit extends React.Component { + constructor(props) { + super(props) + this.state = { + loadingstate: false, + page: 1, + limit: 20, + type: 6, + pint: 1, + test: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20], + } + } + + + paginationonChangestwo = (pageNumber) => { + this.setState({ + page: pageNumber, + loadingstate: true, + }) + } + + render() { + const {test, page, limit, type, pint} = this.state; + const listItems = test.map((item, index) => + + ); + return ( +
+
+ + {/*大图*/} + { + type === 6 ? + + : + "" + } + { + pint === 1 || pint === 3 ? +
+

参赛总人数:132

+
+ : ""} + + {/*列表*/} + { + pint === 1 || pint === 3 ? +
+ { + listItems + } + +
+ : ""} + { + pint === 1 || pint === 3 ? +
+ +
+ : "" + } + +
+ +
+ ) + } + +} + +export default SnackbarHOC()(TPMIndexHOC(PersonalCompetit)); diff --git a/public/react/src/modules/competition/personal/PersonalCompetititem.js b/public/react/src/modules/competition/personal/PersonalCompetititem.js new file mode 100644 index 000000000..8a0730736 --- /dev/null +++ b/public/react/src/modules/competition/personal/PersonalCompetititem.js @@ -0,0 +1,144 @@ +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 Registrationitem extends React.Component { + constructor(props) { + super(props) + + + } + + + render() { + return ( + +
+
+
+ +
+
+
+

重庆邮电大学

+
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+

邀请码:yngh5

+
+
+
+ { + this.props.type === 5 ? +
+
+

删除战队

+
+
+

编辑战队

+
+ +
+ : this.props.type === 2 ? +
+
+

战队详情

+
+
+

退出战队

+
+ +
+ : + this.props.type === 3 ? +
+ +
+

退出战队

+
+ +
+ : + "" + + } + + +
+ + + ) + } + +} + +export default Registrationitem; From d420744016e4022d7c58b577d2a6139978e36ed8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=9E=97?= <904079904@qq.com> Date: Mon, 21 Oct 2019 14:17:05 +0800 Subject: [PATCH 09/33] =?UTF-8?q?=E7=AB=9E=E8=B5=9B=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/modules/competition/Registration.js | 16 +- .../competition/comcss/competition.css | 131 ++++- .../competition/competmodal/PersonModal.js | 550 ++++++++++++++++++ .../competmodal/PersonModaltion.js | 51 ++ 4 files changed, 745 insertions(+), 3 deletions(-) create mode 100644 public/react/src/modules/competition/competmodal/PersonModaltion.js diff --git a/public/react/src/modules/competition/Registration.js b/public/react/src/modules/competition/Registration.js index 945552ef3..89cca3e75 100644 --- a/public/react/src/modules/competition/Registration.js +++ b/public/react/src/modules/competition/Registration.js @@ -16,7 +16,7 @@ import CompetitionMaxImg from './CompetitionMaxImg'; import RegistrationSearch from './RegistrationSearch'; import RegisListview from './RegisListview'; import RegisListviewdata from './RegisListviewdata'; - +import PersonModal from './competmodal/PersonModal'; // 团队竞赛报名无报名 class Registration extends React.Component { constructor(props) { @@ -45,7 +45,19 @@ class Registration extends React.Component { ); return (
-
+ +
+ +

在线竞赛 diff --git a/public/react/src/modules/competition/comcss/competition.css b/public/react/src/modules/competition/comcss/competition.css index aa8e2b725..947b69067 100644 --- a/public/react/src/modules/competition/comcss/competition.css +++ b/public/react/src/modules/competition/comcss/competition.css @@ -3,6 +3,9 @@ border: 0.5px solid; } +.borders2 { + border: 1px solid #D9D9D9; +} /*All*/ /*Registration.js*/ .registrationback { @@ -97,6 +100,7 @@ align-items: center; margin-top: 44px; margin-left: 251px; + } .registbut1 { @@ -269,6 +273,7 @@ border-bottom: 1px solid #EDEDED; margin-top: 19px; } + /*垂直*/ .regitemimg1 { display: flex; @@ -286,6 +291,7 @@ margin-left: 26px; padding-bottom: 18px; } + .regitemimg2 { border: 0.5px solid; height: 78px; @@ -426,10 +432,57 @@ } +.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*/ @@ -448,4 +501,80 @@ reglistviewdivs2 { width: 78px; } -/*RegisListviewdata.js*/ \ No newline at end of file +/*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; + +} + +.cpersondiv1Items { + color: #05101A; + font-size: 12px; +} + +.personbut1 { + background: #F2F2F2; + border-color: #F2F2F2; + margin-right: 26px; + width: 120px; + height: 38px; + color: #4A4A4A; + font-size: 16px; +} + +.personbut2 { + background: #459BE5; + border-color: #459BE5; + margin-right: 26px; + width: 120px; + height: 38px; + color: #ffffff; + font-size: 16px; +} + +/*PersonModal.js*/ \ No newline at end of file diff --git a/public/react/src/modules/competition/competmodal/PersonModal.js b/public/react/src/modules/competition/competmodal/PersonModal.js index e69de29bb..4cd4920a4 100644 --- a/public/react/src/modules/competition/competmodal/PersonModal.js +++ b/public/react/src/modules/competition/competmodal/PersonModal.js @@ -0,0 +1,550 @@ +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 PersonModal extends Component { + + constructor(props) { + super(props); + this.state = { + addonAfter: 0, + test: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18], + test2: [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40], + test3: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18], + loading: false, + loading1: false, + loading2: false, + hasMore: true, + person1: false, + person2: false, + Numberofteammentors: "0-3", + Thecurrentnumber: "3", + + } + } + + modalCancel = () => { + window.location.href = "/" + } + + setDownload = () => { + //立即联系 + }; + + //输入框事件 + changeTopicName = (e) => { + // console.log("调用了changeTopicName"); + let num = parseInt(e.target.value.length); + if (num > 60) { + return; + } + this.setState({ + addonAfter: num < 0 ? 0 : num + }); + this.setState({ + polls_nametest: e.target.value + }) + }; + + //onSearchsou + onSearch = (value) => { + console.log("搜索的数据" + value); + }; + handleInfiniteOnLoad = () => { + this.setState({ + loading: true, + }) + const test3 = this.state.test; + this.state.test2.forEach(function (item) { + test3.push(item) + }); + setTimeout(() => { + this.setState({ + test: test3, + hasMore: true, + loading: false, + }); + }, 1000) + + } + handleInfiniteOnLoad1 = () => { + console.log("调用了方法1111"); + this.setState({ + loading1: true, + }) + setTimeout(() => { + console.log("调用了方法11112"); + this.setState({ + loading1: false, + hasMore: true, + }); + }, 1000) + + } + handleInfiniteOnLoad2 = () => { + console.log("调用了方法1111"); + this.setState({ + loading2: true, + + }) + setTimeout(() => { + console.log("调用了方法11113"); + this.setState({ + hasMore: true, + loading2: false, + }); + }, 1000) + + } + inputOnBlur = (e) => { + console.log("inputOnBlur"); + console.log(e); + this.setState({ + person1: false + }) + } + inputOnBlur2 = (e) => { + console.log("inputOnBlur"); + console.log(e); + this.setState({ + person2: false + }) + } + + startSearch = (e) => { + console.log("startSearch"); + console.log(e); + } + + inputOnFocus = (e) => { + console.log("inputOnFocus"); + console.log(e); + + this.setState({ + person1: true + }) + } + + inputOnFocus2 = (e) => { + console.log("inputOnFocus2"); + console.log(e); + this.setState({ + person2: true + }) + } + + render() { + const { + addonAfter, test, test3, Numberofteammentors, Thecurrentnumber, person1, person2 + } = this.state; + //Modal + //keyboard是否支持键盘 esc 关闭 + //closable 是否显示右上角的关闭按钮 + //底部内容,当不需要默认底部按钮时,可以设为 footer={null} + //destroyOnClose 关闭时销毁 Modal 里的子元素 + //centered 垂直居中展示 Modal + //visible 弹出框是否显示 + const listItems = test.map((item, index) => +

+

陈明

+

导师/创建者

+

国防科技大学

+

职称;教授

+

+
+ ); + const cpersondiv1Items = test3.map((item, index) => +
+

李小猫{index}

+

职称:副教授

+

国防科技大学

+
+ ); + const cpersondiv1 = ( +
+ { + person1 ? + +
+ this.handleInfiniteOnLoad1()} + hasMore={!this.state.loading1 && this.state.hasMore} + useWindow={false} + > + { + cpersondiv1Items + } + + +
+
+ : + "" + } +
+ ) + const persondiv2Items = test3.map((item, index) => +
+

李小猫{index}

+

职称:副教授

+

国防科技大学

+

已加入其他战队

+
+ ); + const persondiv2 = ( +
+ { + person2 === true ? + +
+ this.handleInfiniteOnLoad2()} + hasMore={!this.state.loading2 && this.state.hasMore} + useWindow={false} + > + { + persondiv2Items + } + + +
+
+ : "" + } + +
+ ) + return ( + + + + +
+ {/*队名*/} + +
+

+ * + 队名: +

+ + + +
+ + + {/*导师*/} +
+

+ * + 导师: +

+ + {/*
*/} + trigger.parentNode} + visible={this.state.person1}> + + } + /> + + {/*
*/} +
+ + {/*队员*/} +
+

+ * + 队员: +

+ + {/* this.onSearch(value)}*/} + {/*/>*/} + + trigger.parentNode} + visible={this.state.person2}> + + } + /> + + +
+ + + {/*表格*/} +
+ {/**/} +
+
+

姓名

+

角色

+

单位

+

其他

+

操作

+
+
+ +
+ this.handleInfiniteOnLoad()} + hasMore={!this.state.loading && this.state.hasMore} + useWindow={false} + > + {listItems} + + +
+
+
+ + {/*最后一行文字*/} +

战队导师为{Numberofteammentors}人,现在为{Thecurrentnumber}人

+
+
+ + +
+
+
+
+ ) + } +} + +export default PersonModal; \ No newline at end of file diff --git a/public/react/src/modules/competition/competmodal/PersonModaltion.js b/public/react/src/modules/competition/competmodal/PersonModaltion.js new file mode 100644 index 000000000..e8e4148ee --- /dev/null +++ b/public/react/src/modules/competition/competmodal/PersonModaltion.js @@ -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 ( +
+
+

姓名

+

角色

+

单位

+

其他

+

操作

+
+
+ ) + } + +} + +export default PersonModaltion; From 7203345468132511716d8d3657b6c44888a1c320 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=9E=97?= <904079904@qq.com> Date: Mon, 21 Oct 2019 15:27:45 +0800 Subject: [PATCH 10/33] =?UTF-8?q?=E7=AB=9E=E8=B5=9B=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E5=8A=A0=E5=85=A5=E6=88=98=E9=98=9F=E5=BC=B9=E6=A1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/modules/competition/Registration.js | 10 +- .../competition/comcss/competition.css | 88 ++++++++++++++- .../competition/competmodal/PersonModal.js | 8 +- .../competmodal/PersonalModalteam.js | 101 ++++++++++++++++++ 4 files changed, 201 insertions(+), 6 deletions(-) create mode 100644 public/react/src/modules/competition/competmodal/PersonalModalteam.js diff --git a/public/react/src/modules/competition/Registration.js b/public/react/src/modules/competition/Registration.js index 89cca3e75..50da524cd 100644 --- a/public/react/src/modules/competition/Registration.js +++ b/public/react/src/modules/competition/Registration.js @@ -17,6 +17,7 @@ import RegistrationSearch from './RegistrationSearch'; import RegisListview from './RegisListview'; import RegisListviewdata from './RegisListviewdata'; import PersonModal from './competmodal/PersonModal'; +import PersonalModalteam from './competmodal/PersonalModalteam'; // 团队竞赛报名无报名 class Registration extends React.Component { constructor(props) { @@ -26,7 +27,9 @@ class Registration extends React.Component { loadingstate: false, page: 1, limit: 20, - type: 5, + type: 3, + tmodalsType: false, + tmodalsTypes: true, } } @@ -39,7 +42,7 @@ class Registration extends React.Component { } render() { - const {test, page, limit, type} = this.state; + const {test, page, limit, type, tmodalsType, tmodalsTypes} = this.state; const listItems = test.map((item, index) => ); @@ -57,7 +60,8 @@ class Registration extends React.Component { ` } - + +

在线竞赛 diff --git a/public/react/src/modules/competition/comcss/competition.css b/public/react/src/modules/competition/comcss/competition.css index 947b69067..4466a795d 100644 --- a/public/react/src/modules/competition/comcss/competition.css +++ b/public/react/src/modules/competition/comcss/competition.css @@ -19,6 +19,13 @@ background: #0dcecb; } +.registrationbackcenter { + display: flex; + display: -webkit-flex; + flex-direction: column; + align-items: center; +} + .registrationback1 { height: 368px; width: 1200px; @@ -565,8 +572,19 @@ reglistviewdivs2 { 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; @@ -575,6 +593,74 @@ reglistviewdivs2 { 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; } -/*PersonModal.js*/ \ No newline at end of file +.personaldivbutt2 p { + width: 100%; + height: 100%; + text-align: center; + margin-top: 10px; + color: #ffffff; + font-size: 16px; + cursor: pointer; +} + + +/*PersonalModalteam.js*/ \ No newline at end of file diff --git a/public/react/src/modules/competition/competmodal/PersonModal.js b/public/react/src/modules/competition/competmodal/PersonModal.js index 4cd4920a4..2495759d5 100644 --- a/public/react/src/modules/competition/competmodal/PersonModal.js +++ b/public/react/src/modules/competition/competmodal/PersonModal.js @@ -537,8 +537,12 @@ class PersonModal extends Component { justifyContent: "center", width: "100%" }}> - - +

+

取消

+
+
+

确定

+
diff --git a/public/react/src/modules/competition/competmodal/PersonalModalteam.js b/public/react/src/modules/competition/competmodal/PersonalModalteam.js new file mode 100644 index 000000000..3ba02a72a --- /dev/null +++ b/public/react/src/modules/competition/competmodal/PersonalModalteam.js @@ -0,0 +1,101 @@ +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 PersonalModalteam extends 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 ( + + + +
+
+

+ 邀请码: +

+ + + +
+ +
+
+
+

取消

+
+
+

确定

+
+
+
+
+
+ ) + } +} + +export default PersonalModalteam; \ No newline at end of file From 42e5a3ca81da2f46a9579859fd1feb6d4407c318 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=9E=97?= <904079904@qq.com> Date: Mon, 21 Oct 2019 15:37:16 +0800 Subject: [PATCH 11/33] =?UTF-8?q?=E7=AB=9E=E8=B5=9B=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E5=8A=A0=E5=85=A5=E6=88=98=E9=98=9F=E5=BC=B9=E6=A1=86=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/modules/competition/Registration.js | 40 ++++++++++++++++++- .../competition/competmodal/PersonModal.js | 4 +- .../competmodal/PersonalModalteam.js | 4 +- 3 files changed, 42 insertions(+), 6 deletions(-) diff --git a/public/react/src/modules/competition/Registration.js b/public/react/src/modules/competition/Registration.js index 50da524cd..a45e83e2a 100644 --- a/public/react/src/modules/competition/Registration.js +++ b/public/react/src/modules/competition/Registration.js @@ -39,6 +39,40 @@ class Registration extends React.Component { page: pageNumber, loadingstate: true, }) + }; + + + Tmoconfirm = (bool) => { + //boolfalse 取消 true 确认 + this.setState({ + tmodalsTypes: false + }) + if (bool) { + //确认 + + + } else { + //取消 + + + } + } + + + Tmoconfirm1 = (bool) => { + //boolfalse 取消 true 确认 + this.setState({ + tmodalsTypes: false + }) + if (bool) { + //确认 + + + } else { + //取消 + + + } } render() { @@ -60,8 +94,10 @@ class Registration extends React.Component { ` } - - + this.Tmoconfirm1(bool)}> + this.Tmoconfirm(bool)}>

在线竞赛 diff --git a/public/react/src/modules/competition/competmodal/PersonModal.js b/public/react/src/modules/competition/competmodal/PersonModal.js index 2495759d5..611841f7f 100644 --- a/public/react/src/modules/competition/competmodal/PersonModal.js +++ b/public/react/src/modules/competition/competmodal/PersonModal.js @@ -538,10 +538,10 @@ class PersonModal extends Component { width: "100%" }}>

-

取消

+

this.Tmoconfirm1(false)}> 取消

-

确定

+

this.Tmoconfirm1(true)}>确定

diff --git a/public/react/src/modules/competition/competmodal/PersonalModalteam.js b/public/react/src/modules/competition/competmodal/PersonalModalteam.js index 3ba02a72a..2d3ef9202 100644 --- a/public/react/src/modules/competition/competmodal/PersonalModalteam.js +++ b/public/react/src/modules/competition/competmodal/PersonalModalteam.js @@ -85,10 +85,10 @@ class PersonalModalteam extends Component { width: "100%" }}>
-

取消

+

this.props.Tmoconfirm(false)}>取消

-

确定

+

this.props.Tmoconfirm(true)}>确定

From 08d4b568801b44e8909fd1cb56ade507ebdfd288 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=9E=97?= <904079904@qq.com> Date: Mon, 21 Oct 2019 15:55:11 +0800 Subject: [PATCH 12/33] =?UTF-8?q?=E7=AB=9E=E8=B5=9B=E6=96=B0=E5=A2=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/competition/CompetitionMaxImg.js | 12 +++---- .../src/modules/competition/Registration.js | 24 ++++++++++++-- .../competition/comcss/competition.css | 32 +++++++++++++++++++ .../competition/competmodal/PersonModal.js | 4 +-- 4 files changed, 61 insertions(+), 11 deletions(-) diff --git a/public/react/src/modules/competition/CompetitionMaxImg.js b/public/react/src/modules/competition/CompetitionMaxImg.js index 9074523b9..55b9f1dde 100644 --- a/public/react/src/modules/competition/CompetitionMaxImg.js +++ b/public/react/src/modules/competition/CompetitionMaxImg.js @@ -20,10 +20,10 @@ class CompetitionMaxImg extends React.Component {

提供企业级工程实训,以实现工程化专业教学的自动化和智能化。

-

加入战队

+

this.props.Jointheteam()}>加入战队

-

创建战队

+

this.props.Createateam()}>创建战队

@@ -35,10 +35,10 @@ class CompetitionMaxImg extends React.Component {

高校智能课堂与综合实训平台

-

加入战队

+

this.props.Jointheteam()}>加入战队

-

创建战队

+

this.props.Createateam()}>创建战队

@@ -50,10 +50,10 @@ class CompetitionMaxImg extends React.Component {

高校智能课堂与综合实训平台

-

加入战队

+

this.props.Jointheteam()}>加入战队

-

创建战队

+

this.props.Createateam()}>创建战队

diff --git a/public/react/src/modules/competition/Registration.js b/public/react/src/modules/competition/Registration.js index a45e83e2a..7e22928f0 100644 --- a/public/react/src/modules/competition/Registration.js +++ b/public/react/src/modules/competition/Registration.js @@ -29,7 +29,7 @@ class Registration extends React.Component { limit: 20, type: 3, tmodalsType: false, - tmodalsTypes: true, + tmodalsTypes: false, } } @@ -40,6 +40,23 @@ class Registration extends React.Component { loadingstate: true, }) }; + /** + * 加入战队 + * */ + Jointheteam = () => { + this.setState({ + tmodalsTypes: true + }) + } + + /** + * 创建战队 + **/ + Createateam = () => { + this.setState({ + tmodalsType: true + }) + } Tmoconfirm = (bool) => { @@ -62,7 +79,7 @@ class Registration extends React.Component { Tmoconfirm1 = (bool) => { //boolfalse 取消 true 确认 this.setState({ - tmodalsTypes: false + tmodalsType: false }) if (bool) { //确认 @@ -109,7 +126,8 @@ class Registration extends React.Component {

{/*大图*/} - + this.Jointheteam()} + Createateam={() => this.Createateam()}> {/*大图结尾*/} {/*没数据*/} { diff --git a/public/react/src/modules/competition/comcss/competition.css b/public/react/src/modules/competition/comcss/competition.css index 4466a795d..29094737e 100644 --- a/public/react/src/modules/competition/comcss/competition.css +++ b/public/react/src/modules/competition/comcss/competition.css @@ -174,13 +174,32 @@ } .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; @@ -194,6 +213,19 @@ 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; diff --git a/public/react/src/modules/competition/competmodal/PersonModal.js b/public/react/src/modules/competition/competmodal/PersonModal.js index 611841f7f..35bbe13aa 100644 --- a/public/react/src/modules/competition/competmodal/PersonModal.js +++ b/public/react/src/modules/competition/competmodal/PersonModal.js @@ -538,10 +538,10 @@ class PersonModal extends Component { width: "100%" }}>
-

this.Tmoconfirm1(false)}> 取消

+

this.props.Tmoconfirm1(false)}> 取消

-

this.Tmoconfirm1(true)}>确定

+

this.props.Tmoconfirm1(true)}>确定

From 91eb9eac555e46a68147db7080576d7b0ec5627d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=9E=97?= <904079904@qq.com> Date: Mon, 21 Oct 2019 16:54:27 +0800 Subject: [PATCH 13/33] =?UTF-8?q?=E7=AB=9E=E8=B5=9B=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/react/src/modules/competition/Noentry.jpg | Bin 0 -> 3125 bytes .../react/src/modules/competition/RegisNodata.js | 11 +++++++++-- .../src/modules/competition/Registration.js | 5 +++-- .../modules/competition/comcss/competition.css | 1 - .../competition/competmodal/PersonModal.js | 2 +- 5 files changed, 13 insertions(+), 6 deletions(-) create mode 100644 public/react/src/modules/competition/Noentry.jpg diff --git a/public/react/src/modules/competition/Noentry.jpg b/public/react/src/modules/competition/Noentry.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5ffc34e17062409c1ce4643c63a0c03a0d03e72b GIT binary patch literal 3125 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 P00000NkvXXu0mjf7PSMa literal 0 HcmV?d00001 diff --git a/public/react/src/modules/competition/RegisNodata.js b/public/react/src/modules/competition/RegisNodata.js index a6e866538..3f8835634 100644 --- a/public/react/src/modules/competition/RegisNodata.js +++ b/public/react/src/modules/competition/RegisNodata.js @@ -1,6 +1,6 @@ import React, {Component} from 'react'; import competition from './comcss/competition.css'; - +import Noentry from './Noentry.jpg'; // 团队竞赛报名无报名子组件 class RegisNodata extends React.Component { constructor(props) { @@ -13,7 +13,14 @@ class RegisNodata extends React.Component { render() { return (
-
+

暂无战队参与报名哦,赶紧来成为第一个挑战的吧~

diff --git a/public/react/src/modules/competition/Registration.js b/public/react/src/modules/competition/Registration.js index 7e22928f0..7d85818f8 100644 --- a/public/react/src/modules/competition/Registration.js +++ b/public/react/src/modules/competition/Registration.js @@ -27,9 +27,10 @@ class Registration extends React.Component { loadingstate: false, page: 1, limit: 20, - type: 3, + type: 1, tmodalsType: false, tmodalsTypes: false, + Newtit: true, } } @@ -111,7 +112,7 @@ class Registration extends React.Component { ` } - this.Tmoconfirm1(bool)}> this.Tmoconfirm(bool)}> diff --git a/public/react/src/modules/competition/comcss/competition.css b/public/react/src/modules/competition/comcss/competition.css index 29094737e..a947fb7bd 100644 --- a/public/react/src/modules/competition/comcss/competition.css +++ b/public/react/src/modules/competition/comcss/competition.css @@ -280,7 +280,6 @@ } .bootomimg { - border: 0.5px solid; height: 80px; width: 125px; margin-top: 107px; diff --git a/public/react/src/modules/competition/competmodal/PersonModal.js b/public/react/src/modules/competition/competmodal/PersonModal.js index 35bbe13aa..1b563a5fe 100644 --- a/public/react/src/modules/competition/competmodal/PersonModal.js +++ b/public/react/src/modules/competition/competmodal/PersonModal.js @@ -299,7 +299,7 @@ class PersonModal extends Component { closable={false} footer={null} destroyOnClose={true} - title="创建战队" + title={this.props.Newtit === true ? "创建战队" : "编辑战队"} centered={true} visible={this.props.modalsType === undefined ? false : this.props.modalsType} width="620px" From 39039b3a9149aeea2aab97cfc63cc1e6a4e83638 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=9E=97?= <904079904@qq.com> Date: Mon, 21 Oct 2019 21:53:34 +0800 Subject: [PATCH 14/33] =?UTF-8?q?=E7=AB=9E=E8=B5=9B=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/modules/competition/Registration.js | 54 +++- .../competition/comcss/competition.css | 1 - .../competition/competmodal/PersonModal.js | 245 ++++++++++++++---- 3 files changed, 241 insertions(+), 59 deletions(-) diff --git a/public/react/src/modules/competition/Registration.js b/public/react/src/modules/competition/Registration.js index 7d85818f8..4dcb64a60 100644 --- a/public/react/src/modules/competition/Registration.js +++ b/public/react/src/modules/competition/Registration.js @@ -25,19 +25,65 @@ class Registration extends React.Component { 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, - page: 1, + pages: 1, limit: 20, type: 1, tmodalsType: false, tmodalsTypes: false, Newtit: true, + keyword: "", + page: 1, + per_page: 20, + data: [], + count: 0, } } + componentDidMount() { + // console.log("componentDidMount "); + // console.log("调用子组件 "); + // console.log(this.props); + // console.log(this.props.isAdmin()) + const {keyword, page, per_page} = this.state; + this.Getdata(keyword, page, per_page); + } + + 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) { + this.setState({ + type: 1, + count: result.data.count, + }) + } else { + this.setState({ + data: result.data.competition_teams, + count: result.data.count, + }) + } + + } + } + }).catch((error) => { + console.log(error); + }) + } paginationonChangestwo = (pageNumber) => { this.setState({ - page: pageNumber, + pages: pageNumber, loadingstate: true, }) }; @@ -94,7 +140,7 @@ class Registration extends React.Component { } render() { - const {test, page, limit, type, tmodalsType, tmodalsTypes} = this.state; + const {test, page, pages, limit, type, tmodalsType, tmodalsTypes} = this.state; const listItems = test.map((item, index) => ); @@ -165,7 +211,7 @@ class Registration extends React.Component { { type === 4 || type === 5 ?
-
diff --git a/public/react/src/modules/competition/comcss/competition.css b/public/react/src/modules/competition/comcss/competition.css index a947fb7bd..3f74dddde 100644 --- a/public/react/src/modules/competition/comcss/competition.css +++ b/public/react/src/modules/competition/comcss/competition.css @@ -475,7 +475,6 @@ flex-direction: initial; } - .reglistviewdivss2p { width: 90px; font-size: 12px; diff --git a/public/react/src/modules/competition/competmodal/PersonModal.js b/public/react/src/modules/competition/competmodal/PersonModal.js index 1b563a5fe..e0912dc3d 100644 --- a/public/react/src/modules/competition/competmodal/PersonModal.js +++ b/public/react/src/modules/competition/competmodal/PersonModal.js @@ -8,8 +8,9 @@ import InfiniteScroll from 'react-infinite-scroller'; // import PersonModaltion from "./PersonModaltion"; const {Search} = Input; -//立即申请试用 +//创建战队 class PersonModal extends Component { + //导师是搜索 和学生搜索都会添加到下面框中 constructor(props) { super(props); @@ -26,18 +27,130 @@ class PersonModal extends Component { person2: false, Numberofteammentors: "0-3", Thecurrentnumber: "3", + keywordteachers: "", + team_idstudents: undefined, + team_idteachers: undefined, + teacher_ids: undefined, + keywordstudents: "", + Aggregatedata: [], + name: "", + teacher_idss: [], + member_ids: [], } } - modalCancel = () => { - window.location.href = "/" + componentDidMount() { + + } - setDownload = () => { - //立即联系 + 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) + }); + } + + Getteacherdata = (keywordteachers, team_idteachers, teacher_ids) => { + //老师姓名 keyword + //当前战队ID team_id + //当前老师ID数组 teacher_ids + console.log("搜索的老师"); + const datas = { + keyword: keywordteachers, + team_id: team_idteachers, + teacher_ids: teacher_ids, + }; + let url = `/competitions/${"gcc-course-2019"}/teachers.json`; + axios.get((url), {params: datas}).then((result) => { + if (result) { + if (result.data) { + console.log(result); + this.setState({ + teacher_ids: result.data.teachers + }) + } + } + }).catch((error) => { + console.log(error); + }) + }; + Getstudentsdata = (keywordstudents, team_idstudents, student_ids) => { + //学生姓名 keyword + //当前战队ID team_id + //当前队员ID数组 student_ids + console.log("搜索的学生"); + const datas = { + keyword: keywordstudents, + team_id: team_idstudents, + student_ids: student_ids, + }; + let url = `/competitions/${"gcc-course-2019"}/students.json`; + axios.get((url), {params: datas}).then((result) => { + if (result) { + if (result.data) { + console.log(result); + this.setState({ + member_ids: result.data.teachers + }) + + } + } + }).catch((error) => { + console.log(error); + }) + }; + + //老师输入框事件 + teacheronChange = (e) => { + console.log(e.target.value); + console.log("老师输入框事件|||||||||||123123123"); + this.setState({ + person1: true, + keywordteachers: e.target.value + }) }; + //学生输入框事件 + studentsonChange = (e) => { + console.log("学生输入框事件"); + console.log(e); + this.setState({ + person2: true, + keywordstudents: e.target.value + }) + + } + + //点击获取老师数据 + getdatacpersondiv1Items = (object) => { + console.log("点击获取老师数据"); + console.log(object); + this.setState({ + person1: false, + keywordteachers: object.name + }) + } + //点击获取学生数据2 + getdatacpersondiv1Items2 = (object) => { + console.log("点击获取学生数据2"); + console.log(object); + this.setState({ + person2: false, + }) + } //输入框事件 changeTopicName = (e) => { // console.log("调用了changeTopicName"); @@ -121,6 +234,8 @@ class PersonModal extends Component { startSearch = (e) => { console.log("startSearch"); console.log(e); + const {keywordteachers, team_idteachers, teacher_ids} = this.state; + this.Getteacherdata(keywordteachers, team_idteachers, teacher_ids); } inputOnFocus = (e) => { @@ -142,7 +257,9 @@ class PersonModal extends Component { render() { const { - addonAfter, test, test3, Numberofteammentors, Thecurrentnumber, person1, person2 + addonAfter, test, test3, Numberofteammentors, Thecurrentnumber, person1, person2, + keywordteachers, team_idteachers, teacher_ids, + keywordstudents, team_idstudents, student_ids } = this.state; //Modal //keyboard是否支持键盘 esc 关闭 @@ -186,42 +303,53 @@ class PersonModal extends Component { >

); - const cpersondiv1Items = test3.map((item, index) => -
-

李小猫{index}

-

职称:副教授

-

国防科技大学

-
- ); + var cpersondiv1Items = []; + if (teacher_ids) { + cpersondiv1Items = teacher_ids.map((item, index) => + this.getdatacpersondiv1Items(item)} + > +

{item.name === undefined || item.name === null || item.name === "" ? "--" : item.name}

+

{item.identity === undefined || item.identity === null || item.identity === "" ? "--" : item.identity}

+

{item.school_name === undefined || item.school_name === null || item.school_name === "" ? "--" : item.school_name}

+
+ ); + } + const cpersondiv1 = (
- { - person1 ? - +
this.handleInfiniteOnLoad1()} - hasMore={!this.state.loading1 && this.state.hasMore} + // hasMore={!this.state.loading1 && this.state.hasMore} + hasMore={false} useWindow={false} > { @@ -231,19 +359,18 @@ class PersonModal extends Component {
- : - "" - }
) const persondiv2Items = test3.map((item, index) => -
+ }} + onClick={() => this.getdatacpersondiv1Items2(item)} + >

已加入其他战队

-
+ ); const persondiv2 = (
- { - person2 === true ? - + {/*this.state.loading2*/} +
this.handleInfiniteOnLoad2()} - hasMore={!this.state.loading2 && this.state.hasMore} + // hasMore={!this.state.loading2 && this.state.hasMore} + hasMore={false} useWindow={false} > { @@ -287,11 +414,8 @@ class PersonModal extends Component {
- : "" - } -
- ) + ); return ( - +
{/*队名*/} ( - 竞赛时间: 2019-08-07 24: 00~2019-09-10 24: 00, - 报名截止时间:2019-08-07 08:10, - ]} - extra={ -
- - -
奖金
- - -
浏览数
- - -
报名数
- -
- - - -
¥4500
- - -
351
- - -
351
- -
- -
- } - > - {item.name}{item.sub_title===null?"":{ - item.sub_title - }} - } - /> - {item.description} -
- )} +
+ + {item.description===null||item.description===undefined||item.description===""?:""} + + 竞赛时间: 2019-08-07 24: 00~2019-09-10 24: 00, + 报名截止时间:2019-08-07 08:10, + ]} + extra={ +
+ + +
奖金
+ + +
浏览数
+ + +
报名数
+ +
+ + + +
¥4500
+ + +
351
+ + +
351
+ +
+ +
+ } + > + {item.name}{item.sub_title===null?"":{ + item.sub_title + }} + } + /> + {item.description} +
+
+ + ) + + } />
7MQ?$+9&^UWEMxX8scqHKkBr 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 Date: Tue, 22 Oct 2019 10:11:42 +0800 Subject: [PATCH 18/33] =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/modules/competition/competmodal/PersonModal.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/public/react/src/modules/competition/competmodal/PersonModal.js b/public/react/src/modules/competition/competmodal/PersonModal.js index cb130f5df..51809fb0e 100644 --- a/public/react/src/modules/competition/competmodal/PersonModal.js +++ b/public/react/src/modules/competition/competmodal/PersonModal.js @@ -1,6 +1,6 @@ import React, {Component} from 'react'; import {getImageUrl} from 'educoder'; -import {Modal, Input, Spin, Tooltip, Icon, Dropdown, Button} from 'antd'; +import {Modal, Input, Spin, Tooltip, Icon, Dropdown, Button, Empty} from 'antd'; import axios from 'axios'; import competition from '../comcss/competition.css'; import Registrationitem from "../Registrationitem"; @@ -452,7 +452,7 @@ class PersonModal extends Component {
{ cpersondiv1Items.length === 0 ? - + : { persondiv2Items.length === 0 ? - + : Date: Tue, 22 Oct 2019 11:38:59 +0800 Subject: [PATCH 19/33] tz --- .../modules/competition/competmodal/PersonModal.js | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/public/react/src/modules/competition/competmodal/PersonModal.js b/public/react/src/modules/competition/competmodal/PersonModal.js index 51809fb0e..9b2df2c34 100644 --- a/public/react/src/modules/competition/competmodal/PersonModal.js +++ b/public/react/src/modules/competition/competmodal/PersonModal.js @@ -181,7 +181,7 @@ class PersonModal extends Component { } try { - const {team_idstudents, student_ids} = this.statel + const {team_idstudents, student_ids} = this.state; this.Getstudentsdata(e.target.value, team_idstudents, student_ids); } catch (e) { @@ -488,24 +488,28 @@ class PersonModal extends Component {

李小猫{index}

+ >{item.name === undefined || item.name === null || item.name === "" ? "--" : item.name}

职称:副教授

+ >{item.identity === undefined || item.identity === null || item.identity === "" ? "--" : item.identity}

国防科技大学

+ >{item.school_name === undefined || item.school_name === null || item.school_name === "" ? "--" : item.school_name}

已加入其他战队

+ >{item.enrollable === false ? "" : "已加入其他战队"}

); } From e4537018052538d9a1fa141768a4536946191940 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=98=8E?= <775174143@qq.com> Date: Tue, 22 Oct 2019 14:21:30 +0800 Subject: [PATCH 20/33] =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/react/config/webpack.config.prod.js | 45 ++++++++++++---------- 1 file changed, 25 insertions(+), 20 deletions(-) diff --git a/public/react/config/webpack.config.prod.js b/public/react/config/webpack.config.prod.js index 22bf615ad..68ef24814 100644 --- a/public/react/config/webpack.config.prod.js +++ b/public/react/config/webpack.config.prod.js @@ -67,8 +67,8 @@ module.exports = { entry: { main:[require.resolve('./polyfills'), paths.appIndexJs], vendor: [ - 'moment', 'react', 'react-dom','react-router-dom','antd','@icedesign/base','@novnc/novnc','array-flatten','axios', - 'material-ui','monaco-editor','react-monaco-editor', 'echarts',"qs" + 'moment', 'react', 'react-dom','react-router-dom','react-router','antd','@icedesign/base','@novnc/novnc','axios', + 'material-ui','echarts','qs', ], }, output: { @@ -276,29 +276,35 @@ module.exports = { // in `package.json`, in which case it will be the pathname of that URL. new InterpolateHtmlPlugin(env.raw), new webpack.HashedModuleIdsPlugin(), + new webpack.optimize.DedupePlugin(), + new webpack.optimize.ModuleConcatenationPlugin(), - // new webpack.optimize.ModuleConcatenationPlugin(), + // new webpack.optimize.CommonsChunkPlugin({ + // async: 'async-vendor', + // deepChildren: true, + // minChunks: (module) => { + // return /node_modules/.test(module.context); + // }, + // }), + + // new webpack.optimize.CommonsChunkPlugin( + // {names: 'vendor'} + // ), + // new webpack.optimize.CommonsChunkPlugin({ - async: 'async-vendor', - deepChildren: true, - minChunks: (module) => { - return /node_modules/.test(module.context); - }, + name: ['vendor'], + filename: '[name].js', + minChunks: Infinity + }), + new webpack.optimize.CommonsChunkPlugin({ + children: true, + async: 'children-async' }), - - new webpack.optimize.CommonsChunkPlugin( - {names: ["vendors", "webpackAssets",'moment', 'react', 'react-dom','react-router-dom','antd','@icedesign/base','@novnc/novnc','array-flatten','axios', - 'material-ui','monaco-editor','react-monaco-editor', 'echarts',"qs"]} - ), - new webpack.optimize.CommonsChunkPlugin({ name: 'manifest', - minChunks: (module) => { - return /node_modules/.test(module.context); - }, + chunks: Infinity, }), - // Generates an `index.html` file with the