|
|
|
@ -1,119 +1,820 @@
|
|
|
|
|
import React, { Component } from 'react';
|
|
|
|
|
import {Button,Layout,Input} from 'antd';
|
|
|
|
|
import {Button, Layout, Input, Form} from 'antd';
|
|
|
|
|
import axios from 'axios';
|
|
|
|
|
import {getImageUrl} from 'educoder';
|
|
|
|
|
import mycompetotionchild from './mycompetotionchild.css';
|
|
|
|
|
import {getHiddenName} from "../../../../user/account/AccountBasicEdit";
|
|
|
|
|
import '../../../../courses/css/Courses.css'
|
|
|
|
|
import RealNameCertificationModal from "../../../../user/modal/RealNameCertificationModal";
|
|
|
|
|
|
|
|
|
|
export const identityMap = {"teacher": "教师", "student": "学生", "professional": "专业人士"}
|
|
|
|
|
class CompetitionContentspdfpeopledata extends Component{
|
|
|
|
|
constructor(props) {
|
|
|
|
|
super(props)
|
|
|
|
|
this.state={
|
|
|
|
|
|
|
|
|
|
this.state = {
|
|
|
|
|
basicInfo: {},
|
|
|
|
|
updating: '',
|
|
|
|
|
secondsFlag: false,
|
|
|
|
|
seconds: 60,
|
|
|
|
|
phonebool: false,
|
|
|
|
|
emailbool: false,
|
|
|
|
|
formationdata: [],
|
|
|
|
|
bank_account_editable: false,
|
|
|
|
|
leader: false,
|
|
|
|
|
bank_account: undefined,
|
|
|
|
|
certification: 1
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
componentDidMount(){
|
|
|
|
|
window.document.title = '竞赛';
|
|
|
|
|
console.log("获取用户信息");
|
|
|
|
|
console.log(this.props);
|
|
|
|
|
this.getdata();
|
|
|
|
|
this.GetawardinformationAPI();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
render() {
|
|
|
|
|
GetawardinformationAPI = () => {
|
|
|
|
|
let url = `/competitions/${this.props.match.params.identifier}/prize.json`;
|
|
|
|
|
axios.get(url).then((result) => {
|
|
|
|
|
if (result.data) {
|
|
|
|
|
this.setState({
|
|
|
|
|
formationdata: result.data.formationdata,
|
|
|
|
|
bank_account_editable: result.data.bank_account_editable, //队长是否可以编辑
|
|
|
|
|
leader: result.data.leader, //是否是队长
|
|
|
|
|
bank_account: result.data.bank_account, //队长银行卡号信息
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
}).catch((error) => {
|
|
|
|
|
console.log(error);
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
getdata = () => {
|
|
|
|
|
let url = `/users/accounts/${this.props.current_user.login}.json`;
|
|
|
|
|
axios.get(url).then((result) => {
|
|
|
|
|
if (result.data) {
|
|
|
|
|
// if(result.data && result.data.base_info_completed == false){
|
|
|
|
|
// this.props.history.push(`/account/profile/edit`);
|
|
|
|
|
// }
|
|
|
|
|
// "authentication": "uncertified", // "uncertified" | "applying" | "certified"
|
|
|
|
|
this.setState({
|
|
|
|
|
basicInfo: Object.assign({}, {...result.data}, {
|
|
|
|
|
avatar_url: `${result.data.avatar_url}`,
|
|
|
|
|
gender: result.data.gender == null || result.data.gender == undefined ? 0 : result.data.gender
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
}).catch((error) => {
|
|
|
|
|
console.log(error);
|
|
|
|
|
})
|
|
|
|
|
};
|
|
|
|
|
// 绑定手机
|
|
|
|
|
onPhoneSubmit = () => {
|
|
|
|
|
this.props.form.validateFieldsAndScroll((err, values) => {
|
|
|
|
|
if (!err) {
|
|
|
|
|
let {login} = this.props.current_user;
|
|
|
|
|
let reg = /^1\d{10}$/;
|
|
|
|
|
if (reg.test(values.phone)) {
|
|
|
|
|
let url = `/users/accounts/${login}/phone_bind.json`
|
|
|
|
|
axios.post((url), {
|
|
|
|
|
phone: values.phone,
|
|
|
|
|
code: values.phoneValidateCode
|
|
|
|
|
}).then((result) => {
|
|
|
|
|
if (result) {
|
|
|
|
|
this.props.showNotification("手机号码绑定成功!");
|
|
|
|
|
this.setState({
|
|
|
|
|
phonebool: false
|
|
|
|
|
})
|
|
|
|
|
this.getdata();
|
|
|
|
|
}
|
|
|
|
|
}).catch((error) => {
|
|
|
|
|
console.log(error);
|
|
|
|
|
})
|
|
|
|
|
} else {
|
|
|
|
|
this.props.showNotification("请输入有效的11位手机号码");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
// 绑定邮箱
|
|
|
|
|
onEmailSubmit = () => {
|
|
|
|
|
this.props.form.validateFieldsAndScroll((err, values) => {
|
|
|
|
|
if (!err) {
|
|
|
|
|
let {login} = this.props.current_user;
|
|
|
|
|
let reg = /^[a-zA-Z0-9]+([.\-_\\]*[a-zA-Z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$/;
|
|
|
|
|
if (reg.test(values.email)) {
|
|
|
|
|
let url = `/users/accounts/${login}/email_bind.json`
|
|
|
|
|
axios.post((url), {
|
|
|
|
|
email: values.email,
|
|
|
|
|
code: values.emailValidateCode
|
|
|
|
|
}).then((result) => {
|
|
|
|
|
if (result) {
|
|
|
|
|
this.props.showNotification("邮箱地址绑定成功!");
|
|
|
|
|
this.setState({
|
|
|
|
|
updating: ''
|
|
|
|
|
})
|
|
|
|
|
this.getdata();
|
|
|
|
|
}
|
|
|
|
|
}).catch((error) => {
|
|
|
|
|
console.log(error);
|
|
|
|
|
})
|
|
|
|
|
} else {
|
|
|
|
|
this.props.showNotification("请输入正确的邮箱地址");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
//取消编辑
|
|
|
|
|
hideUpdating = (i) => {
|
|
|
|
|
if (i === 1) {
|
|
|
|
|
this.setState({
|
|
|
|
|
phonebool: false
|
|
|
|
|
})
|
|
|
|
|
} else if (i === 2) {
|
|
|
|
|
this.setState({
|
|
|
|
|
emailbool: false
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
} else if (i === 3) {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 获取验证码
|
|
|
|
|
getCode = (index) => {
|
|
|
|
|
let url = `/accounts/get_verification_code.json`
|
|
|
|
|
let login = '';
|
|
|
|
|
let values = this.props.form.getFieldsValue();
|
|
|
|
|
if (index == 3) {
|
|
|
|
|
//绑定手机号码
|
|
|
|
|
login = values.phone;
|
|
|
|
|
let reg = /^1\d{10}$/;
|
|
|
|
|
if (reg.test(login) == false) {
|
|
|
|
|
this.props.showNotification(`请先输入正确的手机号码`);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
} else if (index == 4) {
|
|
|
|
|
// 绑定邮箱
|
|
|
|
|
login = values.email;
|
|
|
|
|
let reg = /^[a-zA-Z0-9]+([.\-_\\]*[a-zA-Z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$/;
|
|
|
|
|
if (reg.test(login) == false) {
|
|
|
|
|
this.props.showNotification(`请先输入正确的邮箱地址`);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
let type = index;
|
|
|
|
|
if (!login) {
|
|
|
|
|
this.props.showNotification(`请先输入${index == 3 ? "手机号码" : "邮箱地址"}`);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
axios.get((url), {
|
|
|
|
|
params: {
|
|
|
|
|
login, type
|
|
|
|
|
}
|
|
|
|
|
}).then((result) => {
|
|
|
|
|
if (result) {
|
|
|
|
|
// 倒计时
|
|
|
|
|
this.setState({
|
|
|
|
|
secondsFlag: true
|
|
|
|
|
})
|
|
|
|
|
this.remainTime();
|
|
|
|
|
}
|
|
|
|
|
}).catch((error) => {
|
|
|
|
|
console.log(error);
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 获取验证码倒计时
|
|
|
|
|
remainTime = () => {
|
|
|
|
|
this.setState({
|
|
|
|
|
seconds: 60
|
|
|
|
|
})
|
|
|
|
|
this.timer = setInterval(() => {
|
|
|
|
|
let {seconds} = this.state;
|
|
|
|
|
let s = parseInt(seconds) - 1;
|
|
|
|
|
if (s > -1) {
|
|
|
|
|
this.setState({
|
|
|
|
|
seconds: s
|
|
|
|
|
})
|
|
|
|
|
} else {
|
|
|
|
|
this.setState({
|
|
|
|
|
secondsFlag: false
|
|
|
|
|
})
|
|
|
|
|
clearInterval(this.timer);
|
|
|
|
|
}
|
|
|
|
|
}, 1000)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
phonebools = () => {
|
|
|
|
|
this.setState({
|
|
|
|
|
phonebool: true
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
emailbools = () => {
|
|
|
|
|
console.log("点击了邮箱");
|
|
|
|
|
this.setState({
|
|
|
|
|
emailbool: true
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//立即认证
|
|
|
|
|
checkBasicInfo = (index) => {
|
|
|
|
|
if (this.state.basicInfo.base_info_completed == true) {
|
|
|
|
|
this.showRealNameCertificationModal(index)
|
|
|
|
|
} else {
|
|
|
|
|
this.props.confirm({
|
|
|
|
|
okText: `立即完善`,
|
|
|
|
|
content: `请先完善基本信息`,
|
|
|
|
|
onOk: () => {
|
|
|
|
|
this.props.history.push('/account/profile/edit')
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
showRealNameCertificationModal = (index) => {
|
|
|
|
|
this.setState({
|
|
|
|
|
certification: index,
|
|
|
|
|
}, () => {
|
|
|
|
|
if (index == 1) {
|
|
|
|
|
this.realNameCertificationModal1.setVisible(true)
|
|
|
|
|
} else if (index == 2) {
|
|
|
|
|
this.realNameCertificationModal2.setVisible(true)
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
//绑定银行确认
|
|
|
|
|
yhBankstrue = () => {
|
|
|
|
|
this.props.form.validateFieldsAndScroll((err, values) => {
|
|
|
|
|
if (!err) {
|
|
|
|
|
let url = `/competitions/${this.props.match.params.identifier}/prize_leader_account.json`;
|
|
|
|
|
axios.patch(url, {
|
|
|
|
|
bank: values.openingbank,
|
|
|
|
|
second_bank: values.subbranchs,
|
|
|
|
|
card_no: values.subbranch
|
|
|
|
|
})
|
|
|
|
|
.then((result) => {
|
|
|
|
|
try {
|
|
|
|
|
if (result.data.status == 0) {
|
|
|
|
|
// console.log(JSON.stringify(result));
|
|
|
|
|
this.props.showNotification(`提交成功成功`);
|
|
|
|
|
this.getdata();
|
|
|
|
|
this.GetawardinformationAPI();
|
|
|
|
|
}
|
|
|
|
|
} catch (e) {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}).catch((error) => {
|
|
|
|
|
console.log(error);
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
//撤销认证
|
|
|
|
|
Cancellationofapplication = (index) => {
|
|
|
|
|
let url = ""
|
|
|
|
|
if (index === 1) {
|
|
|
|
|
url = `/users/accounts/${this.props.user.user_id}/authentication_apply.json`;
|
|
|
|
|
} else if (index === 2) {
|
|
|
|
|
url = `/users/accounts/${this.props.user.user_id}/professional_auth_apply.json`;
|
|
|
|
|
}
|
|
|
|
|
axios.delete(url)
|
|
|
|
|
.then((response) => {
|
|
|
|
|
try {
|
|
|
|
|
if (response.data.status == 0) {
|
|
|
|
|
if (index === 1) {
|
|
|
|
|
this.props.showNotification('撤销实名认证成功')
|
|
|
|
|
} else if (index === 2) {
|
|
|
|
|
this.props.showNotification('撤销职业认证成功')
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
} catch (e) {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
})
|
|
|
|
|
.catch(function (error) {
|
|
|
|
|
console.log(error);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
render() {
|
|
|
|
|
const {getFieldDecorator} = this.props.form;
|
|
|
|
|
const {updating, seconds, secondsFlag, basicInfo, phonebool, emailbool, certification, formationdata, bank_account_editable, leader, bank_account} = this.state
|
|
|
|
|
console.log(emailbool);
|
|
|
|
|
return (
|
|
|
|
|
<div className="flexdidirectionss mt17">
|
|
|
|
|
{this.state.certification === 1 ? <RealNameCertificationModal {...this.props}
|
|
|
|
|
wrappedComponentRef={(form) => this.realNameCertificationModal1 = form}
|
|
|
|
|
certification={certification}
|
|
|
|
|
></RealNameCertificationModal> : ""}
|
|
|
|
|
|
|
|
|
|
{this.state.certification === 2 ? <RealNameCertificationModal {...this.props}
|
|
|
|
|
wrappedComponentRef={(form) => this.realNameCertificationModal2 = form}
|
|
|
|
|
certification={certification}
|
|
|
|
|
></RealNameCertificationModal> : ""}
|
|
|
|
|
<div className="flexdirections ">
|
|
|
|
|
<p className="fontcolorsyslhei font-16 w98"><span className="fontcolorsysl font-16">*</span><span>实名信息</span></p>
|
|
|
|
|
<p className="fontcolorsyslhui font-14 w200">通过实名认证后才能获得证书</p>
|
|
|
|
|
<p className="fontcolorsysllan font-14 ml3">立即认证</p>
|
|
|
|
|
{basicInfo && basicInfo.authentication == "uncertified" ?
|
|
|
|
|
<p className="fontcolorsyslhui font-14 w200">通过实名认证后才能获得证书</p> : ""
|
|
|
|
|
}
|
|
|
|
|
{basicInfo && basicInfo.authentication == "uncertified" ?
|
|
|
|
|
<p className="fontcolorsysllan font-14 ml3 mycompitcursor"
|
|
|
|
|
onClick={() => this.checkBasicInfo(1)}>立即认证</p> : ""
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
<div className="flexdirections ml38 mt23">
|
|
|
|
|
<p className="fontcolorsyslhui1">姓名:</p>
|
|
|
|
|
<p className="fontcolorsyslhei flexdirections">胡志勇 <p className="iconfont icon-wancheng colorgreenlight font-14 ml20"></p><p className="colorgreenlight font-14 ml6">已认证</p> <p className="iconfont icon-tishi colorgreenorg font-14 ml20"></p><p className="colorgreenorg font-14 ml6">待审核!</p><p className="fontcolorsysllan borcolors font-12 w64">撤销认证</p></p>
|
|
|
|
|
<p className="fontcolorsyslhei flexdirections">{basicInfo && basicInfo.name}
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
basicInfo && basicInfo.authentication == "uncertified" ? "" :
|
|
|
|
|
basicInfo && basicInfo.authentication == "applying" ?
|
|
|
|
|
<p className="flexdirections"><p className="iconfont icon-tishi colorgreenorg font-14 ml20"></p><p
|
|
|
|
|
className="colorgreenorg font-14 ml6">待审核!</p><p
|
|
|
|
|
className="fontcolorsysllan borcolors font-12 w64 mycompitcursor"
|
|
|
|
|
onClick={() => this.Cancellationofapplication(1)}>撤销认证</p></p>
|
|
|
|
|
:
|
|
|
|
|
<p className="flexdirections">
|
|
|
|
|
<p className="iconfont icon-wancheng colorgreenlight font-14 ml20"></p><p
|
|
|
|
|
className="colorgreenlight font-14 ml6">已认证</p>
|
|
|
|
|
</p>
|
|
|
|
|
}
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div className="flexdirections ml38 mt19">
|
|
|
|
|
<p className="fontcolorsyslhui1">性别:</p>
|
|
|
|
|
<p className="fontcolorsyslhei">男</p>
|
|
|
|
|
<p className="fontcolorsyslhei"> {basicInfo && basicInfo.gender == 0 ? "男" : "女"}</p>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div className="flexdirections mt36 ">
|
|
|
|
|
<p className="fontcolorsyslhei font-16 w98"><span className="fontcolorsysl font-16">*</span><span>职业信息</span></p>
|
|
|
|
|
<p className="fontcolorsyslhui font-14 w200">通过职业认证后才能获得证书</p>
|
|
|
|
|
<p className="fontcolorsysllan font-14 ml3">立即认证</p>
|
|
|
|
|
{
|
|
|
|
|
basicInfo && basicInfo.professional_certification == "uncertified" ?
|
|
|
|
|
<p className="fontcolorsyslhui font-14 w200">通过职业认证后才能获得证书</p>
|
|
|
|
|
|
|
|
|
|
: ""}
|
|
|
|
|
{
|
|
|
|
|
basicInfo && basicInfo.professional_certification == "uncertified" ?
|
|
|
|
|
<p className="fontcolorsysllan font-14 ml3 mycompitcursor" onClick={() => this.checkBasicInfo(2)}>立即认证</p>
|
|
|
|
|
|
|
|
|
|
: ""}
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div className="flexdirections ml38 mt23">
|
|
|
|
|
<p className="fontcolorsyslhui1">职业:</p>
|
|
|
|
|
<p className="fontcolorsyslhei flexdirections">教师 <p className="iconfont icon-wancheng colorgreenlight font-14 ml20"></p><p className="colorgreenlight font-14 ml6">已认证</p><p className="iconfont icon-tishi colorgreenorg font-14 ml20"></p><p className="colorgreenorg font-14 ml6">待审核!</p><p className="fontcolorsysllan borcolors font-12 w64">撤销认证</p></p>
|
|
|
|
|
<p
|
|
|
|
|
className="fontcolorsyslhei flexdirections">{basicInfo && basicInfo.identity && identityMap[basicInfo.identity]}
|
|
|
|
|
{
|
|
|
|
|
basicInfo && basicInfo.professional_certification == "uncertified" ?
|
|
|
|
|
"" :
|
|
|
|
|
basicInfo && basicInfo.professional_certification == "applying" ?
|
|
|
|
|
<p className="flexdirections">
|
|
|
|
|
<p className="iconfont icon-tishi colorgreenorg font-14 ml20"></p><p
|
|
|
|
|
className="colorgreenorg font-14 ml6">待审核!</p><p
|
|
|
|
|
className="fontcolorsysllan borcolors font-12 w64 mycompitcursor ml6"
|
|
|
|
|
onClick={() => this.Cancellationofapplication(2)}>撤销认证</p>
|
|
|
|
|
</p>
|
|
|
|
|
:
|
|
|
|
|
<p className="flexdirections">
|
|
|
|
|
<p className="iconfont icon-wancheng colorgreenlight font-14 ml20"></p><p
|
|
|
|
|
className="colorgreenlight font-14 ml6">已认证</p>
|
|
|
|
|
<p className="fontcolorsysllan borcolors font-12 w64 mycompitcursor ml6"
|
|
|
|
|
onClick={() => this.checkBasicInfo(2)}>重新认证</p>
|
|
|
|
|
|
|
|
|
|
</p>
|
|
|
|
|
}
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
<div className="flexdirections ml38 mt19">
|
|
|
|
|
<p className="fontcolorsyslhui1">职称:</p>
|
|
|
|
|
<p className="fontcolorsyslhei">副教授</p>
|
|
|
|
|
<p className="fontcolorsyslhei">{basicInfo && basicInfo.technical_title}</p>
|
|
|
|
|
</div>
|
|
|
|
|
<div className="flexdirections ml38 mt19" >
|
|
|
|
|
<p className="fontcolorsyslhui1">学校:</p>
|
|
|
|
|
<p className="fontcolorsyslhei">国防科技大学</p>
|
|
|
|
|
<p className="fontcolorsyslhei">{basicInfo && basicInfo.school_name}</p>
|
|
|
|
|
</div>
|
|
|
|
|
<div className="flexdirections ml38 mt19">
|
|
|
|
|
<p className="fontcolorsyslhui1">院系:</p>
|
|
|
|
|
<p className="fontcolorsyslhei">计算机学院</p>
|
|
|
|
|
<p className="fontcolorsyslhei"> {basicInfo && basicInfo.department_name}</p>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div className="flexdirections mt36 ">
|
|
|
|
|
<p className="fontcolorsyslhei font-16 w98"><span className="fontcolorsysl font-16">*</span><span>联系方式</span></p>
|
|
|
|
|
</div>
|
|
|
|
|
<div className="flexdirections ml38 mt23">
|
|
|
|
|
<p className="fontcolorsyslhui1 w60 ">手机号:</p>
|
|
|
|
|
<p className="fontcolorsysljin w200 ">未绑定</p>
|
|
|
|
|
<p className="fontcolorsysllan">立即绑定</p>
|
|
|
|
|
{
|
|
|
|
|
basicInfo && basicInfo.phone ?
|
|
|
|
|
<p className="fontcolorsyslhei w200 ">{basicInfo && basicInfo.phone}</p>
|
|
|
|
|
:
|
|
|
|
|
<p className="fontcolorsysljin w200 ">未绑定</p>
|
|
|
|
|
}
|
|
|
|
|
<p className="fontcolorsysllan mycompitcursor"
|
|
|
|
|
onClick={() => this.phonebools()}>{basicInfo && basicInfo.phone ? (phonebool === false ? "更换" : "") : (phonebool === false ? "立即绑定" : "")}</p>
|
|
|
|
|
</div>
|
|
|
|
|
{/*手机号绑定*/}
|
|
|
|
|
{
|
|
|
|
|
phonebool === true ?
|
|
|
|
|
<div>
|
|
|
|
|
<style>{`
|
|
|
|
|
|
|
|
|
|
.flexRow {
|
|
|
|
|
padding: 20px 0;
|
|
|
|
|
}
|
|
|
|
|
.flexRow .name {
|
|
|
|
|
margin-left: 12px;
|
|
|
|
|
color: #666666;
|
|
|
|
|
|
|
|
|
|
text-align: center;
|
|
|
|
|
flex: 0 0 100px;
|
|
|
|
|
}
|
|
|
|
|
.flexRow .description {
|
|
|
|
|
margin-left: 10px;
|
|
|
|
|
flex: 1;
|
|
|
|
|
color: #CDCDCD;
|
|
|
|
|
}
|
|
|
|
|
.description span {
|
|
|
|
|
margin-right: 20px;
|
|
|
|
|
color: #05101A;
|
|
|
|
|
}
|
|
|
|
|
.flexRow .status {
|
|
|
|
|
width: 100px;
|
|
|
|
|
color: #28AC7F;
|
|
|
|
|
text-align: right;
|
|
|
|
|
}
|
|
|
|
|
.flexTable .flexTable {
|
|
|
|
|
border-bottom: 1px solid #EBEBEB;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.settingForm label{
|
|
|
|
|
color: #666666;
|
|
|
|
|
font-size: 14px !important ;
|
|
|
|
|
}
|
|
|
|
|
.settingForm input {
|
|
|
|
|
width: 340px;
|
|
|
|
|
height: 40px;
|
|
|
|
|
}
|
|
|
|
|
.settingForm input.validateInput {
|
|
|
|
|
width: 220px;
|
|
|
|
|
}
|
|
|
|
|
.settingForm .formItemInline button {
|
|
|
|
|
width: 110px;
|
|
|
|
|
margin-left: 10px;
|
|
|
|
|
}
|
|
|
|
|
.settingForm .ant-form-item-label {
|
|
|
|
|
text-align: left;
|
|
|
|
|
width: 84px;
|
|
|
|
|
}
|
|
|
|
|
.formItemInline .ant-form-explain{
|
|
|
|
|
position:absolute;
|
|
|
|
|
bottom:-22px;
|
|
|
|
|
left:0px;
|
|
|
|
|
width:100%;
|
|
|
|
|
}
|
|
|
|
|
`}</style>
|
|
|
|
|
<div className="settingForm ml38">
|
|
|
|
|
<React.Fragment>
|
|
|
|
|
<Form.Item
|
|
|
|
|
label="你的手机号"
|
|
|
|
|
className="formItemInline hideRequireTag mb20 mt20"
|
|
|
|
|
>
|
|
|
|
|
{getFieldDecorator('phone', {
|
|
|
|
|
rules: [{
|
|
|
|
|
// initialValue: this.state.cityDefaultValue,
|
|
|
|
|
required: true,
|
|
|
|
|
message: `请输入要${basicInfo.phone ? '更换' : '绑定'}的手机号码`,
|
|
|
|
|
}],
|
|
|
|
|
})(
|
|
|
|
|
<Input placeholder={`请输入要${basicInfo.phone ? '更换' : '绑定'}的手机号码`}></Input>
|
|
|
|
|
)}
|
|
|
|
|
</Form.Item>
|
|
|
|
|
|
|
|
|
|
<Form.Item
|
|
|
|
|
label="手机验证码"
|
|
|
|
|
className="mb20 formItemInline hideRequireTag"
|
|
|
|
|
>
|
|
|
|
|
{getFieldDecorator('phoneValidateCode', {
|
|
|
|
|
rules: [{
|
|
|
|
|
// initialValue: this.state.cityDefaultValue,
|
|
|
|
|
required: true,
|
|
|
|
|
message: '请输入手机获取的验证码',
|
|
|
|
|
}],
|
|
|
|
|
})(
|
|
|
|
|
<Input placeholder="请输入手机获取的验证码" className="validateInput"></Input>
|
|
|
|
|
)}
|
|
|
|
|
<Button type="primary" disabled={secondsFlag} onClick={() => this.getCode(3)}>
|
|
|
|
|
{!secondsFlag ? "获取验证码" : `重新发送${seconds}s`}
|
|
|
|
|
</Button>
|
|
|
|
|
</Form.Item>
|
|
|
|
|
|
|
|
|
|
<div className="mb20" style={{marginLeft: '204px'}}>
|
|
|
|
|
<Button type="primary" onClick={() => this.onPhoneSubmit()}>确定</Button>
|
|
|
|
|
<Button type="primary grayBtn" style={{marginLeft: '20px'}}
|
|
|
|
|
onClick={() => this.hideUpdating(1)}>取消</Button>
|
|
|
|
|
</div>
|
|
|
|
|
</React.Fragment>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
: ""
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div className="flexdirections ml38 mt19">
|
|
|
|
|
<p className="fontcolorsyslhui1 w60">Email:</p>
|
|
|
|
|
<p className="fontcolorsyslhei w200">163@163.com</p>
|
|
|
|
|
<p className="fontcolorsysllan">更换</p>
|
|
|
|
|
<p className="fontcolorsyslhei w200">{basicInfo && basicInfo.mail}</p>
|
|
|
|
|
<p className="fontcolorsysllan mycompitcursor"
|
|
|
|
|
onClick={() => this.emailbools()}>{basicInfo && basicInfo.mail ? (emailbool === false ? "更换" : "") : (emailbool === false ? "立即绑定" : "")}</p>
|
|
|
|
|
</div>
|
|
|
|
|
{
|
|
|
|
|
emailbool === false ? "" :
|
|
|
|
|
<div>
|
|
|
|
|
<style>{`
|
|
|
|
|
|
|
|
|
|
.flexRow {
|
|
|
|
|
padding: 20px 0;
|
|
|
|
|
}
|
|
|
|
|
.flexRow .name {
|
|
|
|
|
margin-left: 12px;
|
|
|
|
|
color: #666666;
|
|
|
|
|
|
|
|
|
|
text-align: center;
|
|
|
|
|
flex: 0 0 100px;
|
|
|
|
|
}
|
|
|
|
|
.flexRow .description {
|
|
|
|
|
margin-left: 10px;
|
|
|
|
|
flex: 1;
|
|
|
|
|
color: #CDCDCD;
|
|
|
|
|
}
|
|
|
|
|
.description span {
|
|
|
|
|
margin-right: 20px;
|
|
|
|
|
color: #05101A;
|
|
|
|
|
}
|
|
|
|
|
.flexRow .status {
|
|
|
|
|
width: 100px;
|
|
|
|
|
color: #28AC7F;
|
|
|
|
|
text-align: right;
|
|
|
|
|
}
|
|
|
|
|
.flexTable .flexTable {
|
|
|
|
|
border-bottom: 1px solid #EBEBEB;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.settingForm label{
|
|
|
|
|
color: #666666;
|
|
|
|
|
font-size: 14px !important ;
|
|
|
|
|
}
|
|
|
|
|
.settingForm input {
|
|
|
|
|
width: 340px;
|
|
|
|
|
height: 40px;
|
|
|
|
|
}
|
|
|
|
|
.settingForm input.validateInput {
|
|
|
|
|
width: 220px;
|
|
|
|
|
}
|
|
|
|
|
.settingForm .formItemInline button {
|
|
|
|
|
width: 110px;
|
|
|
|
|
margin-left: 10px;
|
|
|
|
|
}
|
|
|
|
|
.settingForm .ant-form-item-label {
|
|
|
|
|
text-align: left;
|
|
|
|
|
width: 84px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.formItemInline .ant-form-explain{
|
|
|
|
|
position:absolute;
|
|
|
|
|
bottom:-22px;
|
|
|
|
|
left:0px;
|
|
|
|
|
width:100%;
|
|
|
|
|
}
|
|
|
|
|
`}</style>
|
|
|
|
|
<div className="settingForm ml38">
|
|
|
|
|
<React.Fragment>
|
|
|
|
|
<Form.Item
|
|
|
|
|
label="邮箱地址"
|
|
|
|
|
className="formItemInline hideRequireTag mb20 mt20"
|
|
|
|
|
>
|
|
|
|
|
{getFieldDecorator('email', {
|
|
|
|
|
rules: [{
|
|
|
|
|
// initialValue: this.state.cityDefaultValue,
|
|
|
|
|
required: true,
|
|
|
|
|
message: basicInfo && basicInfo.mail ? '请输入要更换的新邮箱地址' : '请输入邮箱地址',
|
|
|
|
|
}],
|
|
|
|
|
})(
|
|
|
|
|
<Input placeholder={`${basicInfo && basicInfo.mail ? '请输入要更换的新邮箱地址' : '请输入邮箱地址'}`}></Input>
|
|
|
|
|
)}
|
|
|
|
|
</Form.Item>
|
|
|
|
|
|
|
|
|
|
<Form.Item
|
|
|
|
|
label="邮箱验证码"
|
|
|
|
|
className="mb20 formItemInline hideRequireTag"
|
|
|
|
|
>
|
|
|
|
|
{getFieldDecorator('emailValidateCode', {
|
|
|
|
|
rules: [{
|
|
|
|
|
// initialValue: this.state.cityDefaultValue,
|
|
|
|
|
required: true,
|
|
|
|
|
message: '请输入邮箱收到的验证码',
|
|
|
|
|
}],
|
|
|
|
|
})(
|
|
|
|
|
<Input placeholder="请输入邮箱收到的验证码" className="validateInput"></Input>
|
|
|
|
|
)}
|
|
|
|
|
<Button type="primary" disabled={secondsFlag} onClick={() => this.getCode(4)}>
|
|
|
|
|
{!secondsFlag ? "获取验证码" : `重新发送${seconds}s`}</Button>
|
|
|
|
|
</Form.Item>
|
|
|
|
|
|
|
|
|
|
<div className="flexdirections mt36">
|
|
|
|
|
<p className="fontcolorsyslhei font-16">签/领/开户行及银行卡号</p>
|
|
|
|
|
<p className="fontcolorsyslhui font-14 ml11">为保障奖金的及时发放,请队长如实填写你名下的银行卡信息</p>
|
|
|
|
|
<div className="mb20" style={{marginLeft: '204px'}}>
|
|
|
|
|
<Button type="primary" onClick={() => this.onEmailSubmit()}>确定</Button>
|
|
|
|
|
<Button type="primary grayBtn" style={{marginLeft: '20px'}}
|
|
|
|
|
onClick={() => this.hideUpdating(2)}>取消</Button>
|
|
|
|
|
</div>
|
|
|
|
|
</React.Fragment>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
leader === true ?
|
|
|
|
|
<div>
|
|
|
|
|
{
|
|
|
|
|
bank_account_editable === true ?
|
|
|
|
|
<div>
|
|
|
|
|
<div className="flexdirections mt36">
|
|
|
|
|
<p className="fontcolorsyslhei font-16">签/领/开户行及银行卡号</p>
|
|
|
|
|
<p className="fontcolorsyslhui font-14 ml11">为保障奖金的及时发放,请队长如实填写你名下的银行卡信息</p>
|
|
|
|
|
</div>
|
|
|
|
|
<div className="ml38">
|
|
|
|
|
<style>{`
|
|
|
|
|
|
|
|
|
|
<style>
|
|
|
|
|
{
|
|
|
|
|
`
|
|
|
|
|
.yslzxueshi .ant-input{
|
|
|
|
|
.flexRow {
|
|
|
|
|
padding: 20px 0;
|
|
|
|
|
}
|
|
|
|
|
.flexRow .name {
|
|
|
|
|
margin-left: 12px;
|
|
|
|
|
color: #666666;
|
|
|
|
|
|
|
|
|
|
text-align: center;
|
|
|
|
|
flex: 0 0 100px;
|
|
|
|
|
}
|
|
|
|
|
.flexRow .description {
|
|
|
|
|
margin-left: 10px;
|
|
|
|
|
flex: 1;
|
|
|
|
|
color: #CDCDCD;
|
|
|
|
|
}
|
|
|
|
|
.description span {
|
|
|
|
|
margin-right: 20px;
|
|
|
|
|
color: #05101A;
|
|
|
|
|
}
|
|
|
|
|
.flexRow .status {
|
|
|
|
|
width: 100px;
|
|
|
|
|
color: #28AC7F;
|
|
|
|
|
text-align: right;
|
|
|
|
|
}
|
|
|
|
|
.flexTable .flexTable {
|
|
|
|
|
border-bottom: 1px solid #EBEBEB;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.settingFormsy label{
|
|
|
|
|
color: #666666;
|
|
|
|
|
font-size: 14px !important ;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
.settingFormsy input {
|
|
|
|
|
width: 340px;
|
|
|
|
|
height: 40px;
|
|
|
|
|
}
|
|
|
|
|
.settingFormsy input.validateInput {
|
|
|
|
|
width: 220px;
|
|
|
|
|
}
|
|
|
|
|
.settingFormsy .formItemInline button {
|
|
|
|
|
width: 110px;
|
|
|
|
|
margin-left: 10px;
|
|
|
|
|
}
|
|
|
|
|
.settingFormsy .ant-form-item-label {
|
|
|
|
|
width: 60px;
|
|
|
|
|
text-align: left;
|
|
|
|
|
}
|
|
|
|
|
.formItemInline .ant-form-explain{
|
|
|
|
|
position:absolute;
|
|
|
|
|
bottom:-22px;
|
|
|
|
|
left:0px;
|
|
|
|
|
width:100%;
|
|
|
|
|
}
|
|
|
|
|
.yslzxueshi .ant-input{
|
|
|
|
|
height: 40px !important;
|
|
|
|
|
width: 276px !important
|
|
|
|
|
}
|
|
|
|
|
`
|
|
|
|
|
}
|
|
|
|
|
</style>
|
|
|
|
|
|
|
|
|
|
// class="ant-col ant-form-item-label"
|
|
|
|
|
`}</style>
|
|
|
|
|
<div className="settingFormsy">
|
|
|
|
|
<React.Fragment>
|
|
|
|
|
<Form.Item
|
|
|
|
|
label="开户行:"
|
|
|
|
|
className="formItemInline hideRequireTag mb20 mt20"
|
|
|
|
|
>
|
|
|
|
|
{getFieldDecorator('openingbank', {
|
|
|
|
|
rules: [{
|
|
|
|
|
// initialValue: this.state.cityDefaultValue,
|
|
|
|
|
required: true,
|
|
|
|
|
message: '请输入开户行',
|
|
|
|
|
}],
|
|
|
|
|
})(
|
|
|
|
|
<Input placeholder={`例如:中国工商银行`}></Input>
|
|
|
|
|
)}
|
|
|
|
|
</Form.Item>
|
|
|
|
|
|
|
|
|
|
<div className="flexdirections yslzxueshi ml38 mt23">
|
|
|
|
|
<p className="fontcolorsyslhui1 font-14 w60 myysllineheight">开户行:</p>
|
|
|
|
|
<Input placeholder="例如:中国工商银行" />
|
|
|
|
|
</div>
|
|
|
|
|
<Form.Item
|
|
|
|
|
label="支行:"
|
|
|
|
|
className="formItemInline hideRequireTag mb20 mt20"
|
|
|
|
|
>
|
|
|
|
|
{getFieldDecorator('subbranch', {
|
|
|
|
|
rules: [{
|
|
|
|
|
// initialValue: this.state.cityDefaultValue,
|
|
|
|
|
required: true,
|
|
|
|
|
message: '请输入支行',
|
|
|
|
|
}],
|
|
|
|
|
})(
|
|
|
|
|
<Input placeholder={`例如:长沙天河支行`}></Input>
|
|
|
|
|
)}
|
|
|
|
|
</Form.Item>
|
|
|
|
|
|
|
|
|
|
<div className="flexdirections yslzxueshi ml38 mt19">
|
|
|
|
|
<p className="fontcolorsyslhui1 font-14 w60 myysllineheight">支行:</p>
|
|
|
|
|
<Input placeholder="例如:长沙天河支行" />
|
|
|
|
|
</div>
|
|
|
|
|
<Form.Item
|
|
|
|
|
label="账号:"
|
|
|
|
|
className="formItemInline hideRequireTag mb20 mt20"
|
|
|
|
|
>
|
|
|
|
|
{getFieldDecorator('subbranchs', {
|
|
|
|
|
rules: [{
|
|
|
|
|
// initialValue: this.state.cityDefaultValue,
|
|
|
|
|
required: true,
|
|
|
|
|
message: '请输入账号',
|
|
|
|
|
}],
|
|
|
|
|
})(
|
|
|
|
|
<Input placeholder={`请填写银行卡账号`}></Input>
|
|
|
|
|
)}
|
|
|
|
|
</Form.Item>
|
|
|
|
|
|
|
|
|
|
<div className="flexdirections yslzxueshi ml38 mt19">
|
|
|
|
|
<p className="fontcolorsyslhui1 font-14 w60 myysllineheight">账号:</p>
|
|
|
|
|
<Input placeholder="请填写银行卡账号" />
|
|
|
|
|
</div>
|
|
|
|
|
<div className="flexdirections yslzxueshi ml38 mt34">
|
|
|
|
|
<p className="fontcolorsyslhui1 font-14 w300 myysllineheight myyslminwidth"></p>
|
|
|
|
|
<div className="myyslminwidth276 flexdirections">
|
|
|
|
|
{/*<div className="buttongo mycompitcursor" onClick={()=>this.yhBanksfalse()}><p className="fontwenzi mycompitcursor" >取消</p></div>*/}
|
|
|
|
|
<Button type="primary" onClick={() => this.yhBankstrue()}>确定</Button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</React.Fragment>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div className="flexdirections yslzxueshi ml38 mt34">
|
|
|
|
|
<p className="fontcolorsyslhui1 font-14 w60 myysllineheight myyslminwidth"></p>
|
|
|
|
|
<div className="myyslminwidth276 flexdirections">
|
|
|
|
|
<div className="buttongo"><p className="fontwenzi">取消</p></div>
|
|
|
|
|
<div className="buttongo2 ml20"><p className="fontwenzi">确认</p></div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
:
|
|
|
|
|
<div>
|
|
|
|
|
<div className="flexdirections mt36">
|
|
|
|
|
<p className="fontcolorsyslhei font-16">签/领/开户行及银行卡号</p>
|
|
|
|
|
<p className="fontcolorsyslhui font-14 ml11">为保障奖金的及时发放,请队长如实填写你名下的银行卡信息</p>
|
|
|
|
|
</div>
|
|
|
|
|
{
|
|
|
|
|
bank_account && bank_account ?
|
|
|
|
|
<div>
|
|
|
|
|
<div className="flexdirections ml38 mt19">
|
|
|
|
|
<p className="fontcolorsyslhui1 w56">开户行:</p>
|
|
|
|
|
<p className="fontcolorsyslhei">{bank_account && bank_account.bank}</p>
|
|
|
|
|
</div>
|
|
|
|
|
<div className="flexdirections ml38 mt19">
|
|
|
|
|
<p className="fontcolorsyslhui1 w56" style={{textAlign: "right"}}>支行:</p>
|
|
|
|
|
<p className="fontcolorsyslhei">{bank_account && bank_account.second_bank}</p>
|
|
|
|
|
</div>
|
|
|
|
|
<div className="flexdirections ml38 mt19">
|
|
|
|
|
<p className="fontcolorsyslhui1 w56" style={{textAlign: "right"}}>账号:</p>
|
|
|
|
|
<p className="fontcolorsyslhei"> {bank_account && bank_account.card_no}</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
:
|
|
|
|
|
""
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
: ""
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
export default CompetitionContentspdfpeopledata;
|
|
|
|
|
|
|
|
|
|
const CompetitionContentspdfpeopledatas = Form.create({name: 'CompetitionContentspdfpeopledata'})(CompetitionContentspdfpeopledata);
|
|
|
|
|
|
|
|
|
|
export default CompetitionContentspdfpeopledatas;
|
|
|
|
|
|
|
|
|
|