import React from 'react'; import { Input, Button, Form, Select, Upload, Icon, Spin, message } from 'antd'; import './edu.less'; import { edulvlArr } from '../../dataDic.js'; import ajax from 'jquery/src/ajax/xhr.js' import $ from 'jquery/src/ajax'; import EduPfsSelect from './eduPfsSelect.jsx'; import YearSelect from '../../yearSelect.jsx'; const FormItem = Form.Item; const Option = Select.Option; 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: '', propsbool: true, } } 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); } } componentWillReceiveProps(nextProps) { if (nextProps.picUrl && this.state.propsbool) { this.state.imageUrl = globalConfig.avatarHost + "/upload" + nextProps.picUrl; this.state.propsbool = false; } } render() { const imageUrl = this.state.imageUrl; return ( { imageUrl ? : } ); } }; const EduFrom = Form.create()(React.createClass({ getData() { this.props.spinState(true); $.ajax({ method: "get", dataType: "json", url: globalConfig.context + "/api/user/educate", success: function (data) { if (data.data) { this.setState({ id:data.data.id, edulvl: data.data.education, eduPfs: [parseInt(data.data.majorCategory), parseInt(data.data.majorName)], schoolname: data.data.graduateSchool, graduationTimeYear: data.data.graduationTimeYear, edunum: data.data.diplomaCode, degreenum: data.data.degreeCode, xueliPicUrl: data.data.diplomaUrl, xueweiPicUrl: data.data.degreeDiplomaUrl }); }; }.bind(this), }).always(function () { this.props.spinState(false); }.bind(this)); }, getInitialState() { return { loading: false, xueweiPicUrl: '', xueliPicUrl: '' }; }, 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/userEdu", data: { "id":this.state.id, "education": values.edulvl, "majorCategory": this.state.eduPfsA, "majorName": this.state.eduPfsB, "graduateSchool": values.schoolname, "graduationTimeYear": this.state.graduationTimeYear, "diplomaUrl": this.state.xueliPicUrl, "diplomaCode": values.edunum, "degreeDiplomaUrl": this.state.xueweiPicUrl, "degreeCode": values.degreenum } }).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)); } }); }, downloadPic(type) { window.open(globalConfig.context + "/open/downLoadPicture?path=" + type) }, handleyear(e) { this.state.graduationTimeYear = e; }, xueliPicUrl(e) { this.state.xueliPicUrl = e; }, xueweiPicUrl(e) { this.state.xueweiPicUrl = e; }, professional(e1, e2) { this.state.eduPfsA = e1; this.state.eduPfsB = e2; }, render() { const { getFieldDecorator } = this.props.form; const formItemLayout = { labelCol: { span: 4 }, wrapperCol: { span: 12 }, }; const _me = this; return (
{getFieldDecorator('edulvl', { initialValue: this.state.edulvl || null })( )} {getFieldDecorator('edupfs')( )} {getFieldDecorator('schoolname', { initialValue: this.state.schoolname || null })( )} {getFieldDecorator('graduationTimeYear')( )} {getFieldDecorator('xueliPic')( )}

{this.state.xueliPicUrl !== "" ? : ""}

{getFieldDecorator('edunum', { initialValue: this.state.edunum || null })( )} {getFieldDecorator('xueweiPic')( )}

{this.state.xueweiPicUrl !== "" ? : ""}

{getFieldDecorator('degreenum', { initialValue: this.state.degreenum || null })( )}

要求2M 以下的jpg、jpeg格式的图片。该资料不会公开展示,仅作为审核材料使用。

); }, })); const Person = React.createClass({ getInitialState() { return { loading: false }; }, spinChange(e) { this.setState({ loading: e }); }, render() { return (

最高学历

) } }); export default Person;