import React from 'react';
import { Input, Button, Form, Radio, Upload, Icon, DatePicker, Spin, message } from 'antd';
import moment from 'moment';
import './base.less';
import ajax from 'jquery/src/ajax/xhr.js'
import $ from 'jquery/src/ajax';
import ChangePw from './changePassword.jsx';
import ChangeMobile from './changeMobile.jsx';
const FormItem = Form.Item;
const RadioGroup = Radio.Group;
const { MonthPicker, RangePicker } = DatePicker
import weixin from '../../../../image/weixin-w.png';
import qq from '../../../../image/qq-w.png';
import weibo from '../../../../image/weibo-w.png';
import card1 from '../../../../image/idcard1.jpg';
import card2 from '../../../../image/idcard2.jpg';
function getBase64(img, callback) {
const reader = new FileReader();
reader.addEventListener('load', () => callback(reader.result));
reader.readAsDataURL(img);
};
function beforeUpload(file) {
const isJPG = file.type === 'image/jpeg';
if (!isJPG) {
message.error('You can only upload JPG file!');
}
const isLt2M = file.size / 1024 / 1024 < 2;
if (!isLt2M) {
message.error('Image must smaller than 2MB!');
}
return isJPG && isLt2M;
};
class Avatar extends React.Component {
constructor(props) {
super(props);
this.state = {
imageUrl: ''
}
}
handleChange(info) {
if (info.file.status === 'done') {
// Get this url from response in real world.
getBase64(info.file.originFileObj, imageUrl => this.setState({ imageUrl }));
this.props.urlData(info.file.response.data);
}
}
render() {
const imageUrl = this.state.imageUrl;
return (
{
imageUrl ?
:
}
);
}
};
const BaseFrom = Form.create()(React.createClass({
getData() {
this.props.spinState(true);
$.ajax({
method: "get",
dataType: "json",
url: globalConfig.context + "/api/user/base",
success: function (data) {
if (data.data) {
let d = new Date();
d.setMonth(data.data.dateOfBirthMonth - 1);
d.setYear(parseInt(data.data.dateOfBirthYear));
this.setState({
username : data.data.username,
sex : data.data.sex === '女' ? 'female' : 'male',
birth : d,
idnumber : data.data.idNumber,
idcard1 : data.data.oppositeIdUrl,
idcard2 : data.data.positiveIdUrl,
})
};
}.bind(this),
}).done(function (data) {
if (data.error.length) {
message.warning(data.error[0].message);
}
}.bind(this)).always(function () {
this.props.spinState(false);
}.bind(this));
},
getInitialState() {
return {
};
},
componentDidMount() {
this.getData();
},
handleSubmit(e) {
e.preventDefault();
this.props.form.validateFields((err, values) => {
if (!err) {
this.props.spinState(true);
$.ajax({
method: "POST",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/user/userIndentity",
data: {
"username": values.username,
"sex": values.sex === 'female' ? '女' : '男',
"dateOfBirthYear": values.birth ? values.birth._d.getFullYear() : undefined,
"dateOfBirthMonth": values.birth ? values.birth._d.getMonth() + 1 : undefined,
"idNumber": values.idcardnum,
"positiveIdUrl": this.state.idcard1,
"oppositeIdUrl": this.state.idcard2
}
}).done(function (data) {
if (!data.error.length) {
message.success('保存成功!');
} else {
message.warning(data.error[0].message);
}
}.bind(this)).always(function () {
this.props.spinState(false);
}.bind(this));
}
});
},
checkIdcardnum(rule, value, callback) {
if (!/(^\d{15}$)|(^\d{17}(\d|X)$)/.test(value)) {
callback('请输入正确的身份证号!');
} else {
callback();
}
},
urlData1(e) {
this.state.idcard1 = e;
},
urlData2(e) {
this.state.idcard2 = e;
},
render() {
const { getFieldDecorator } = this.props.form;
const formItemLayout = {
labelCol: { span: 4 },
wrapperCol: { span: 12 },
};
return (
);
},
}));
const Base = React.createClass({
getInitialState() {
return {
loading: false
};
},
spinChange(e) {
this.setState({
loading: e
});
},
render() {
return (
您登录的账号
阿凡提号: {userData.number || undefined}
登录手机号: {userData.mobile || undefined}
绑定账号 绑定后,可使用第三方账号直接登录阿凡提网
身份信息 提供正确的身份信息,有助于进行身份验证,提升信用形象
)
}
});
export default Base;