Educoder竞赛平台
+Educoder是一个面向计算机类的互联网IT教育和实战平台,
+提供企业级工程实训,以实现工程化专业教学的自动化和智能化。
+加入战队
+创建战队
+Educoder竞赛平台
+高校智能课堂与综合实训平台
+加入战队
+创建战队
+Educoder竞赛平台
+高校智能课堂与综合实训平台
+加入战队
+创建战队
+创建者
+战队名称
+战队成员
+学校
+时间
+暂无战队参与报名哦,赶紧来成为第一个挑战的吧~
+
+ 在线竞赛
+ >
+ 全国高校计算机大赛-项目挑战
+ >
+
战队总数:271个
+小猫头像
+重庆邮电大学
+邀请码:yngh5
+战队详情
+退出战队
+创建者
-战队名称
-战队成员
-学校
-时间
+创建者
+战队名称
+战队成员
+学校
+时间
创建者
-战队名称
-战队成员
-学校
-时间
+创建者
+战队名称
+战队成员
+学校
+时间
小猫头像
+小猫头像
邀请码:yngh5
战队名称
战队成员
-学校
+ style={{fontSize: "16px", color: "#05101A", width: "487px", textAlign: "center"}}>战队成员 +学校
时间
小猫头像
-小猫头像
+重庆邮电大学
+重庆邮电大学
+2019-09-07 08:33
+重庆邮电大学
邀请码:yngh5
战队详情
战队详情
-退出战队
-删除战队
+编辑战队
+战队详情
+退出战队
+退出战队
+Educoder竞赛平台
Educoder是一个面向计算机类的互联网IT教育和实战平台,
@@ -33,7 +29,7 @@ class CompetitionMaxImg extends React.Component {Educoder竞赛平台
高校智能课堂与综合实训平台
@@ -48,7 +44,7 @@ class CompetitionMaxImg extends React.Component {Educoder竞赛平台
高校智能课堂与综合实训平台
@@ -62,6 +58,29 @@ class CompetitionMaxImg extends React.Component {Educoder竞赛平台
+Educoder是一个面向计算机类的互联网IT教育和实战平台,
+提供企业级工程实训,以实现工程化专业教学的自动化和智能化。
+立即报名
+已报名
+报名已截止
+小猫头像
重庆邮电大学
-已报名
邀请码:yngh5
+ textAlign: "center", + }}>2019-09-07 08:33删除战队
-编辑战队
-战队详情
-退出战队
-退出战队
-
+ 在线竞赛
+ >
+ 全国高校计算机大赛-项目挑战
+ >
+
参赛总人数:132人
+重庆邮电大学
+邀请码:yngh5
+删除战队
+编辑战队
+战队详情
+退出战队
+退出战队
+在线竞赛 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) => +
陈明
+导师/创建者
+国防科技大学
+职称;教授
++
李小猫{index}
+职称:副教授
+国防科技大学
+李小猫{index}
+职称:副教授
+国防科技大学
+已加入其他战队
++ * + 队名: +
+ + + ++ * + 导师: +
+ + {/*+ * + 队员: +
+ + {/*姓名
+角色
+单位
+其他
+操作
+战队导师为{Numberofteammentors}人,现在为{Thecurrentnumber}人
+姓名
+角色
+单位
+其他
+操作
+在线竞赛 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/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)}>确定
取消
+this.props.Tmoconfirm(false)}>取消
确定
+this.props.Tmoconfirm(true)}>确定
提供企业级工程实训,以实现工程化专业教学的自动化和智能化。
加入战队
+this.props.Jointheteam()}>加入战队
创建战队
+this.props.Createateam()}>创建战队
高校智能课堂与综合实训平台
加入战队
+this.props.Jointheteam()}>加入战队
创建战队
+this.props.Createateam()}>创建战队
高校智能课堂与综合实训平台
加入战队
+this.props.Jointheteam()}>加入战队
创建战队
+this.props.Createateam()}>创建战队
this.Tmoconfirm1(false)}> 取消
+this.props.Tmoconfirm1(false)}> 取消
this.Tmoconfirm1(true)}>确定
+this.props.Tmoconfirm1(true)}>确定
暂无战队参与报名哦,赶紧来成为第一个挑战的吧~
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 { ` } -李小猫{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}
+ + ); + } + const cpersondiv1 = (已加入其他战队
-v$=m&HQc-Ym+)e6$7_$eDo zk1m9mQM|P1J${7HWhz_1^5xwC3b@d712DI-dON!Zxv49O?HLN_xm@l95q&9%3Tm0O z1z>@|pyzVAZxPY=v^li}l5BxMpi3z~$;^LF(gj6HHnx^6J`4B;T}ru$ng6H1CLLen z=_k9lfG^OCS67_O%8j}1&8c%H)dHSD$LCw5l(St>UgkgcIpy%`Xy-KNf(*CinFpQ|{NWKLsg5J~9vv6>55PQqlC0_+C zp|*gt1)c#NUw@WTzRAoVb1trPXbaSb1)c$22=N9pzfvFKYbmt_+*x1}=($|(01>sh zE2?v83)GJVCO~g*Z-3wT_&7eM72B20^ 9Qzd&_^Ulse?Th|Z}kP=6M1+yYR4Drt$cWPxMHj 8uTntkwRS^Kp!^@<3MX`>j@2d3L8I5D%pVk)G& RJW# z!N$hMPaipQ R#YEDeXNigw>RJlAVHkHB8yjCZ zeE4ujxvCoU6gGaAR4M`eT0=v_^DQkcXDjKiLC+EuDb%$H`UN8T_|c z%_NOucl!_w}p$?z{JvM@!}fpg(SL z5r|_1JX#t_r1LHs?c!KYSF{92z$5Z&Lny*=mZEWag5%+eAEyX-iS8x)04j2dRcKU+ zQ(0ZH5*UH=ME8=tFPCzTuhF<5fiZDKk3$495#3AnRBlA$Lp1Wnp}ek035q}#qI=1n zLN7EXCMYJZ*l~z}A<=zgAA`oQIF#8HDFG2MC%T4*6y63pB_J-Y$Z>{%Dbc;VdKv{u zX9*ft#hKi$I0=S8NTPem-jA}JWhELHCm1%axN(GlCDDCm$GV(jIT|J7NOo701VX?T z(S2lZ!C5{5@+S~JuBdT>fNi4tZ0z00U}~Jm?uwB>2!us+AKBB$U}OSe @_&UN}x;vVC9OKixG&5=)S{gGcs5N6wJjqI6w8$)gdVl9NiBm51aR2pcrJF zg)=9dpF?nuMM}d(P2u1#kiHGHbD3*+@?`y+le3cXOI!#CcEZUcPWEisSJXuJk^OEm zm<2e}pXID`LxnMWpm+s%yFV;>$$ZAW=0T&|VcSx8u~qbvmAVKH{SFytvi5bwJ r}cFQWn6Rf$;5u=;vY7L#Of3YM`3m@T%GSqY4_|F=A@TJPeG^9)v7< z9k>KaR<%F$%QwUR?W%r(qVVW9_S(KP6gJGWSJw{Ft6vR6m#hBf4S~ GN3~zLUwX*jFln&3rjSs=zt?)$M%+LCK2$!@~KZ183flvPx-CTlO=PLxGe}f_= z;p5S;V7RmWTlD4_(Y-r+3X{?35mO0duu(rj*)UvjMqL7XHmhkCya1jLp;`nAGxY&j z`G!65tcYH?6g<2d%GOZ*{kqXweOde>teb5 0Yqt)Ty&dhcDFM_%)Vf9Ry za&P8m`3gh#H=*$z>hH^^z>I%_mSIm`t6Epx5BE(`wMNwTZ!}iz9D437(bLFFIt$Tg z?a=(}b)ysg(`RABeB(AA4-8$Qo|zGS!DI0IrmXEBm;nWgf)UY6Rsqp%gGm*N=y?l5 zzlBh{g+2N7TB24gmh2=Z<&H6M(=gbx1xD4+T50S-wWH1*42#BReeOvDQ7>BhvY)J& z3e&qgL-t{-pxWPH`&TeN_Eu>}i7v=#!zj)XmZ8xgyj6^%wode!De%>6CPYtyfBOz! zW<(#~0=6$TAjknIQYtIaTMvN_|AMWH;iWd2+nEvlf(nrQE>yo#)nE8D?EcnVc&XQV zka|A;2H5V~v5i_hx)CZjg3rdm{2`fZ$l>^@9lm}{ s_#!h!HOdG&1Y5WE*BDk2j{gx(3vXS=iS8wPA1)%p>)Kl(>={MUAg72f zyZMOk)o%YvTiCqNKYJshH@F4vodhK-Lq-P7OonBzn@fB_MR;T_l&A!2-h%&jF|S*^ z5{&sxJ%6E<`tb#p%kG3;bCnK0sD!oEqw|Z<@ c&-_oIAlEbpf91;b&;%EWNn6& z{p%3jOZL88!C7Q`EF76cVYJFAqRSLp4T4VN;P=h&R3pD7A&}^6XG7P?(C{`T)T!ez zy$5Xj0-8ObcHm$uN!|h=yXD1K!^xvCvJM>CV-8BQ?(mQQsJeqoXYH^3({RghWmZh9 zV*^|dw0{zoybMRv&FfdW3<{Mne}2_{aP@ua`HWt$|3@2Rhp6)7*Txnli(a#3N7u*H z`fxiL%ts?BI_WH0>qHm*Pd{V^HxV8Ey58!qPN^=^m+0ri*F)uoY9aL3->E~i5Pni8IDSCQuY6r~Fs#}{z2>KNhgH);gV1vhH0cBfe}&a= zX00oS%nEg3|4*=PPGrmR>v~upM%&7b)ww8NLHP1DC3g;$Y$dwLq@^$bjpwsfKBufM z;p*tRP>ni3@_abF7e>~CQ^z1!btzgFYTp3sB@EYBsx(phdZ{X~e+Nux4`MmFb1dX9 z1SgNdf9`=zABKi6DK9*?9}0)qS)EvbmD6CVZ+EupPpny@c9pB8WP7S1oIdVvB^PDA zeWuzs?hF04vKq_A^K2)&kL<6Y(Z|MoBCDbk{oD6p=W63VWJhl|%K07L+oMPA&XpR# zhoj(wky(juCRwp^&~vWRb7l9I+f*t4+YPVY2EW;`@ykI|)F-ndN?6`uR8SMuxGp zk~dGN%dfzm|2Z2jze}A(o^Js^ewBG#F|UsEy}=%@0e|=o%8}15WXsqP{cZBFgav5a znk{nVq>io&)b#I4-S~MGJa-L@-fev|TA@BP?V|qa_VhES;Oj}s8WT!44hKk`bURk4 zgJpJ?=Bd!-RW*u{1xWrLk3{$G>Zue(<4ZIya~$Wt0?|cR7gOL4-%Y2H)ul)oWjn8P z1Jr4$bY{H>!Iw=|w}yv())OayDqK>%UGf!xIfGzv_G*z{Uz)*Rsqw^O^Gp*sdorse z@k(?r+51w7v#bItJF$l6`}ivmJy;+kqTl^8wCJ0;=C1W1DwmM_&~E=TvF0>Sf!!P7 z_0EyQC4F@Hw^Ccgza(&s$a^(zDL>xc??546>dqtSaCDz>T{%}&tf!udCFty_(6gCv zI~@2q;u*(8bqSoE){jP PIDKA}7le^ }FJcaCZDhoFIC|1~9_FrNIWI-YUobfQQOj z*KRWuI*d`|K5-c44pKIKDO2x<69z811&hJ`zD;RXs 28beCf0Jg^>1xa%-5>88*x{ zA4&Hwmm0r)r${bmfKt^Go9J2!m!t8u tOkRt$Rs%4;r?E!+YSF%az}I>1xI FI->r>&AF l;d zz%TI1EihoQ@r6 iFjib>eJ-~5z7E$)FomXk z(gSVk4ce+JdGSlx{4u E<^Jj#ML1OCYS}HxsU{d6$*=T7+blG(u zUISGxgJ8!bE22w?*|>x1rca!Y0=)>kOn~OT->-zHNq~axxD+bFs7wttABpynkToM) zbtFWuc^wS=0+N#8tBK0rJ-Eml?(Y-T&MrkfKE)MS-bSLAk82Kp9<%{^h$@M;qid;1 zDvTxBo`Khj=&~kFIzvyN=b$X6?qp;{bh%B`?cMcnhDPnxs;1S2^sW9CE?WzRuY);a z?Fl*{TE&dkzX|$$q(~{Y=HQF2aEUJGkjK7(QdQyj|CAS{?)GcM$-p0}JeM|d_;kYk zz$u~!29x|%&5Pda{&TF0NtBTp(F+z=KH67yRqn6)ZJk$ly+$p+5z!y~4C)1iy?U(> z0oD|qJmP(5bj@u=bZOslEVLP{0x`rVWZyPFCBq@Q9DK#fQvXJ!e^2QOYi1g6xq0%# z^?ji2 rfFs!85l*bRp;?>)_xnnD#(sZ$-OA7vf587~O9FRzFz!iZPCjJE|Dh zay8X+@pl(XRHaLlN%8zfuuKs?I2_OJ>O{Jui|RF4XcJT En z&CIS?HJhsx53)#NGcHzMsRMeEo5eM=ly1IjE$FXo@2%ezAXm|Px(l-lBfE16tY?Sl zQs3;2(D6BFGep^_&3s+N!XoOJei0@4ScJHNMe?ag;v#V-lZYj~$PZU6FS@ECc6;$@ zmm5*N?Ao9rrsVt)D%)5vK9Le#4$DvPRC#HnNJcS Y4bjzxSBGUYU!P_oKX>B!huo Y zID| n* z>qS(er+$Xw75#scpyJQRt8{agPGufwaI?~pC3AuPh7=V`g0zkN%frPiw-Vi(;^G`@ zW1d-8Ud{5V3uR#lwFp+`#c&r;uOAN4C6um7(5}7jM-}$=-s7Q(B^N#3G#f#ASH$H& z{LsabOOh4IMi5B}d^5-`@9G(m^pdqrZX~*vMq$#uNsGd8=5PkD=zH<_cRtbQ1Fy29 z>AYNR5FJ`BkF4y{@?#TEJ-tZmXtZH;VjdOqoKt}ovZ2V^CY0|>IC#n3hVJ_#+0m>5 zFT&~DpspjTi c6>yu!1c8W%?n_-ENkn6pF*hb~xP!zi0$~$f z)9{e$&8O(g7$2|DxN^l40^t)q+56RKU-ImDg2I(0o)HL(=-%wO=XfW(@~X!((5`Gb zi-2vSYpK*D!<%Kxxx_;`E4w>-0wG|F=-L2Ea1u#VTPuOEaYc J}G)T#G anlsB;1*^g+&Mh15j7XeEIJl>Sf8@%}u12WfGwsR}E2;?dRJX$iZ0ljn8 ztli1F2!x4%r3*lq{khd$1Y(Oo$67%NZGwjPkO7`#m*}xw7I!qK5eP|i&sjWLH|A}h z %I}N 9@}McM{^nhMf9H_Z!6|+`Ngbzm*`Fd@Aem41n#W0i9&hXFk{P} uPy@R}kL|L!qdAR0x4Na7_QL_IZvPKUC@D(MLc`Yp0000 %jsl zhXQizQ!W(*M9oYRkV_KeCP2c3oHJefswWdNlev1PCz*6t@g6VfsrswFufEh&{Z;ih z2YvQiAeau87y~k9fCI@>!BFuf2zgM(I2kmBGr$S>^}29?>;yp{h4aDS%aj3&&}lj_ zI|X$$dqL1nrdSy)1v79>=#&IQZg=pe9{@xtm=gwFh78yWodPV#83Hre1Q3l3@iIsX zWuU3hg^@jbGI%UfC?^cI3>k1NbP6 C7-X3- z;9Tew=<&QzTrqA3L4TRyW^fe7fNP;sGLF2EfXdoEAn2$tZWvq{G2mY4!s7IWt{`>0 zK}f8OurnwMV!$(@3vNf c;*2nkjYKMbl&81P)^6tF%g3xr=H6YLCzf*24dbV2O8 zJP kA$Kc;CkC^XGvJ-jDd?iS zIGBt-g5dgA&H-z_0vPaK=z=FECj(}F4}dlb;EF+P#SHi+bV2O7w}Urt1tFoWm h(E+Gl%6x;@zj0ZicVRquZcqQe}_{Mk`Lw^6SO_^K6(y^!WG~ro@ zAs4m8?2%3TObgQ FqzWR(ms%bWx(g`y^ zXBNQEZMK$+tf*^90(N9Pg9J@DW}VrL*DvgFYr)?_pA^>*AGRAUv}3}F6 0zwA)%(Nd2sKH@D+6X+;<_^L7`tl--EM9^-@D6M9m(W$ {uGe`6EWk~ zBMb0L)v1OyFriD|`O-~YtZh4%8x5mr7l3ZkH&+^qxd{U>FLjt;Y+ZRFMinm=#2y3{ zVl`n6mCR^!7hXsjh@BP3FuG)!P33*GZLzuIlftuh2VS=MW+*jX1)V}TORppk#q6Yk z!pF~@T#I)vQo63CIJFjO^$T6Gh)smY!J6}8i#5s5Ms!aoJdoWUb=)2hlI%(LmdG ~@dTLWW%ATZ&Y-r~P7x& >qJqUv*4QI_vf-sa3C{fKUDeZkDWF!MVBa&3rg zPGla`^+w7A!j$2&vR{SV{uDZ0BdlzniD6NeHNpluZ7NynwYSCtcule_OMeWRvHlI+ zv%1V6;0m -fd<@Bd+3Nu1!+yXgnRH(@?dPQIEoR+7uyu+8`ch6 zGo}d75(@urBUmF}V>59{(nMfmhe@DiX!^WNk8vfRHmnV(zkX0;XMA2}fXT^vK??q? zLO)k$gu#uwFj5tQ{^1rs`kt#LpqN~xn?jS35)=hx3Y{{e*UbPS^QGvh=C&c#Vst_3 z2t1c?r_lWWl >Pbb zyRpcM>#Ja)QwH<1-v#ijl%3Wbwq8segqKt9$Hwvlc(C|mn<~X@7(Eo#4WFhzF1RzT z( HfgSgzgVk8`~tS)X?u+2M~*^qXkkJ7v!*3I#qDC ztNE{#VaQ1wfKM;~g3J@2c`bB09ZC<1Y2poO>`SL}_Tj~gg>{0}o8t>jw7sj#3v5g< zq5Hz9r)3NCB49Rt2ZCOn7Lh6+J-1=({;ETBuI7{ k;f<8KwF8_%9v>$T7wRZM;9 z+cT!%?uZOrG+jlvL$BkUsR9EdI^o;;xxX*?#}qHas&YLOdOZXFU5wiI)NeCWQN!;A zA#Hu>M6qSP75W$Lv+!ul&6s;`D`ubFBB{_{O&%)v=xG{VycD088-$ 6(;l+5jw53Ft-QH=I=pBq}$$ 824vcvMyYXVN%Wv~=xTe%?F*bE^OOeDG^tuN@$a;ybiZVAV zaRBC~3~LbjgxJ1VoIX~R4Of}zZs|$8QI@*wR<$3G`=h!x6#eA#&lrDVx#)Tu3%%=a zui;S51-CYs(A`obafbYye*^sU5?d8z&R*#B?Dd4WTN-R6Ya%f`x*G@~`1sPkCN953 zO@!bQr0JuJdz*Yd>&zxxHdi&+OVvbSQ^!f@sZA4}nF$XyrvekYsBZH*bMwy8X)_CS znJ^REgCkxy-}{30Lbtc{&!qc=sSQ2na?i1aO)3)OUc50R314-53hjbp1Uqk>-+|Pi zC_En9TN0s*ow~3MBky(NSxG~79}w<`K)8+MO6YWlwB*JYg@aX3oLGs)mw)m}=p&-K zVQq(rxN5G!q?4<#vP=)_28$FUx>%um)>+==Qtr;El`p+65g_{m<<&8+g#JL(4cO3O z5-Ryx&;weIu91lu(W%#GZ|7+kTk?r;n~0{C6#BvHb68#P<#8rwv4^@Iin -3+{E!+J+2jVTGC*%6z-Lyv#qSBy-H(^Z4GOW8&gvVlf3cH;ni Y0OhLA`KiM(Bf%0fvdmnC7`0ZoPWQL7TQKkZ zcF-+)PcA=n3rWI9^`R>6Jo=tTWg54uCFba2`hrbeJYg$8n_kD6;7Qiz%rh>g7d~k} zPN;JBna!AYejA>Nza8(SJq(WHu>A6`m~-}P9I17GZp7Di`zmyLIeY*0GlXV%>PHvT zW+rrZZ0U8=K*-zfvNiYTorBxpm+PNLggON8m+r>YQ)?QUK>q;fIhP<#Ej&9~Q;H)s z7jV{O1dWqIM|gU>o^IRI+x_%@KmDJM{&X8(!>OQ#N+=(~si9Q`VO@C<)?O)e3e!`e z)5ru}LlaTO*P)WHLlvn5Ju{P+JOmTt`U&AOl8gRHe`#_?onF@1eB~hCys* $9Zg%J*DVJj(jDfO3LUe<7^r8!ccB|{ zW`gHmV~jEe0+|8dgr1*!A2{>o))Js7kUN64&A$wIFZ7~WonSKUV{eo8ZwE2!(lFqi z&}rxjlaao=C}1PzN<$B`A{Pe43!M-SdL7+uvBX+ni80U$7!WUXy>1Q&$!i7JSQ8lo z4Gf4Ax)2?gtPS*+a Rvem4Chgg>}2BcuXGoc^Pi$QtCK7e$V zqEcpqG0@x$xEDIfQ^8QN5rhnF?#8kD7z0u<;9ls4?784EOR5T)9mYUQFyLC~1-j8N zla(#eFjgmHKuQLj3!O&2HJNt@^2@fQB!bzJHv^7^e(;5O)YQ_mtc0?4p11}Fp9gkG3^ z3(VYife_M}bq!-cY6dJqFPNPKzIK0ezeG!FFw7ofz!?J^Xh>)Mk?jDvgVDqokShZm z@^$Y6 (WaZQQ`7F0$-;Wr1=ibPiY51j9{PTeex*U?aM+bRj#m zO@+>tX;kW=b(tGzl!}JLgf6?TR~8@}p>sH|fqF>Y_>Fpd7MReLr3=}iZ4f$#lfeiY zR5O0P!&u!+=(6j2WdW)e`mqo-H?Vr#<`QS 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