import React from 'react';
import { Input, Button, Form, Select, Upload, Icon, Spin, message, InputNumber } from 'antd';
import './person.less';
import ajax from 'jquery/src/ajax/xhr.js'
import $ from 'jquery/src/ajax';
import { addressInit } from '../../tools.js';
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 }));
}
}
render() {
const imageUrl = this.state.imageUrl;
return (
{
imageUrl ?
:
}
);
}
};
const PersonFrom = Form.create()(React.createClass({
getData() {
this.props.spinState(true);
$.ajax({
method: "get",
dataType: "json",
url: globalConfig.context + "/api/user/member",
success: function (data) {
if (data.data) {
addressInit('cmbProvince', 'cmbCity', 'cmbArea',
data.data.residenceProvince, data.data.residenceCity, data.data.residenceArea);
this.setState({
nickname: data.data.nickname,
cmbP: data.data.residenceProvince,
cmbC: data.data.residenceCity,
cmbA: data.data.residenceArea,
intro: data.data.personalProfile,
email: data.data.email,
fixTelArea: data.data.fixedTelArea,
fixTel: data.data.fixedTel,
fixTelExtension: data.data.fixedTelExtension,
qq: data.data.qq,
address: data.data.postalAddress,
postcode: data.data.postcode,
});
}
//"personPortraitUrl": "/avadar/4303502988139.jpg",
//"lifePhotoUrl": "/avadar/4303502988131.jpg",
}.bind(this),
}).always(function () {
this.props.spinState(false);
}.bind(this));
},
getInitialState() {
return {
loading: false,
idttType: '企业',
companyDis: 'block',
schoolDis: 'none',
resDis: 'none',
aca: 0,
PhDTutor: 0,
MSTutor: 0,
otherExperts: 0,
StateKeyLab: 0,
EduKeyLab: 0,
ComCenter: 0,
otherCenter: 0
};
},
handleSubmit(e) {
e.preventDefault();
this.props.form.validateFields((err, values) => {
//地址值
let cmbP = document.getElementById('cmbProvince').value;
let cmbC = document.getElementById('cmbCity').value;
let cmbA = document.getElementById('cmbArea').value;
if (!err) {
this.props.spinState(true);
$.ajax({
method: "POST",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/user/userInfo",
data: {
"info.identityType": this.state.idttType,
"info.companyName": values.unitName,
"info.locationProvince": cmbP,
"info.locationCity": cmbC,
"info.locationArea": cmbA,
"info.unitSize": values.unitNumber,
"info.companyIntroduction": values.unitIntro,
"info.homeUnit": values.unitFrom,
//"info.logoUrl": "logo图",
//"info.publicityPictureUrl": "宣传图片",
"pro.qualification": values.qiyezizhi,
"pro.turnover": values.turnover,
"pro.collegeAttribute": values.schoolProp,
"pro.collegeEstablishTime": values.schoolTime,
"pro.academician": this.state.aca,
"pro.doctoralTutor": this.state.PhDTutor,
"pro.masterTutor": this.state.MSTutor,
"pro.otherExpert": this.state.otherExperts,
"pro.nationalLab": this.state.StateKeyLab,
"pro.educationLab": this.state.EduKeyLab,
"pro.enterpriseCenter": this.state.ComCenter,
"pro.otherCenter": this.state.otherCenter,
"pro.institutionEstablishTime": this.state.resTime
}
}).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));
}
});
},
idttTypeChange(e) {
if (e === '企业') {
this.props.form.setFieldsValue({ 'indentityType': e });
this.setState({
companyDis: 'block',
schoolDis: 'none',
resDis: 'none'
});
} else if (e === '院校') {
this.props.form.setFieldsValue({ 'indentityType': e });
this.setState({
companyDis: 'none',
schoolDis: 'block',
resDis: 'none'
});
} else if (e === '研究机构') {
this.props.form.setFieldsValue({ 'indentityType': e });
this.setState({
companyDis: 'none',
schoolDis: 'none',
resDis: 'block'
});
} else {
this.props.form.setFieldsValue({ 'indentityType': e });
this.setState({
companyDis: 'none',
schoolDis: 'none',
resDis: 'none'
});
}
},
componentDidMount() {
addressInit('cmbProvince', 'cmbCity', 'cmbArea');
this.getData();
},
render() {
const FormItem = Form.Item;
const Option = Select.Option;
const edulvlArr = ["企业", "院校", "研究机构", "政府部门", "非法人团体"];
const zizhiArr = ["高新技术型企业", "创新型企业", "双软企业", "小心微利企业", "科技部认定示范企业", "其他"];
const schoolArr = ["普通本科院校", "高职专科院校", "独立学院", "中央部署院校", "地方所属院校", "211工程院校", "985工程院校"];
const { getFieldDecorator } = this.props.form;
const formItemLayout = {
labelCol: { span: 3 },
wrapperCol: { span: 12 },
};
const _me = this;
return (
);
},
}));
const Person = React.createClass({
getInitialState() {
return {
loading: false
};
},
spinChange(e) {
this.setState({
loading: e
});
},
render() {
return (
)
}
});
export default Person;