/*
@author:李霆
@update:2018/05/29
@descript:复制粘贴,拿起来就是干!!
*/
import React from 'react';
import {
Radio,
Icon,
Button,
Cascader,
Input,
Select,
Spin,
message,
DatePicker,
Modal,
Upload,
Form,
Row,
Col
} from 'antd';
import $ from 'jquery/src/ajax';
import moment from 'moment';
import './unit.less';
import { areaSelect } from '@/NewDicProvinceList';
import { socialAttribute, industry,adviserType } from '@/dataDic.js';
import { splitUrl,getAuthState,getAdviserType } from '@/tools.js';
const FormItem = Form.Item;
const monthFormat = 'YYYY/MM';
//图片组件
const PicturesWall = React.createClass({
getInitialState() {
return {
previewVisible: false,
previewImage: '',
fileList: []
};
},
handleCancel() {
this.setState({
previewVisible: false
});
},
handlePreview(file) {
this.setState({
previewImage: file.url || file.thumbUrl,
previewVisible: true
});
},
handleChange(info) {
let fileList = info.fileList;
this.setState({
fileList
});
this.props.fileList(fileList);
},
componentWillReceiveProps(nextProps) {
this.state.fileList = nextProps.pictureUrl;
},
render() {
const { previewVisible, previewImage, fileList } = this.state;
const uploadButton = (
);
return (
{fileList.length >= 1 ? null : uploadButton}
);
}
});
const Expert = React.createClass({
getInitialState() {
return {
loading: false,
orgCodeUrl: [],
companyLogoUrl: [],
headPortraitUrl: [],
adviserUrl:[],
positiveIdUrl: [],
oppositeIdUrl: [],
authenticationState:undefined
};
},
loadInformation(record) {
this.setState({
loading: true
});
$.ajax({
method: 'get',
dataType: 'json',
crossDomain: false,
url: globalConfig.context + '/api/user/getUserDetail',
success: function(data) {
let thisData = data.data;
if (!thisData) {
if (data.error && data.error.length) {
message.warning(data.error[0].message);
}
thisData = {};
}
let ProvinceCityArr = [];
let ProvinceS = thisData.province; //getprovince
let citys = thisData.city;
let Areas = thisData.area;
ProvinceCityArr.push(ProvinceS, citys, Areas);
let month = thisData.dateOfBirthYear
? thisData.dateOfBirthYear + '/' + thisData.dateOfBirthMonth
: undefined;
this.setState({
InformationId: thisData.id,
InformationUid: thisData.uid,
expertAudit:thisData.expertAudit,
type:thisData.type, //0-个人认证 1-企业认证
authType:thisData.authType||'1', //认证类型 0-专家认证 1-顾问认证
authMessage:thisData.authMessage||'消息不真实',
authState:thisData.authState||'0', //认证状态 0-未认证 1-认证审核中 2-认证失败 3-已认证
headPortraitUrl: thisData.headPortraitUrl //专家照片
? splitUrl(thisData.headPortraitUrl, ',', globalConfig.avatarHost + '/upload')
: [],
adviserUrl: thisData.adviserUrl //顾问照片
? splitUrl(thisData.adviserUrl, ',', globalConfig.avatarHost + '/upload')
: [],
positiveIdUrl: thisData.positiveIdUrl
? splitUrl(thisData.positiveIdUrl, ',', globalConfig.avatarHost + '/upload')
: [],
oppositeIdUrl: thisData.oppositeIdUrl
? splitUrl(thisData.oppositeIdUrl, ',', globalConfig.avatarHost + '/upload')
: [],
data: thisData,
ProvinceCity: ProvinceCityArr[0] != null ? ProvinceCityArr : undefined,
yearMonth: month,
workUnit:thisData.workUnit||'',
graduateSchool: thisData.graduateSchool||'',
professionalTitle: thisData.professionalTitle||'',
qualification: thisData.qualification||'',
majorCategory: thisData.majorCategory||'',
adviserType: thisData.adviserType||'',
headPortraitUrlCopy: thisData.headPortraitUrl,
adviserUrlCopy: thisData.adviserUrl,
positiveIdUrlCopy: thisData.positiveIdUrl,
oppositeIdUrlCopy:thisData.oppositeIdUrl
});
}.bind(this)
}).always(
function() {
this.setState({
loading: false
});
}.bind(this)
);
},
//图片
getOrgCodeUrl(e) {
this.setState({
orgCodeUrl: e
});
},
getCompanyLogoUrl(e) {
this.setState({
companyLogoUrl: e
});
},
//基本信息提交
newSubmit(values={}){
this.state.data = [];
let theorgCodeUrl = [];
if (this.state.headPortraitUrl.length) {
let picArr = [];
this.state.headPortraitUrl.map(function(item) {
if (item.response && item.response.data && item.response.data.length) {
picArr.push(item.response.data);
}
});
theorgCodeUrl = picArr.join(',');
}
let thecompanyLogoUrl = [];
if (this.state.positiveIdUrl.length) {
let picArr = [];
this.state.positiveIdUrl.map(function(item) {
if (item.response && item.response.data && item.response.data.length) {
picArr.push(item.response.data);
}
});
thecompanyLogoUrl = picArr.join(',');
}
let thecompanyLogoUrls = [];
if (this.state.oppositeIdUrl.length) {
let picArr = [];
this.state.oppositeIdUrl.map(function(item) {
if (item.response && item.response.data && item.response.data.length) {
picArr.push(item.response.data);
}
});
thecompanyLogoUrls = picArr.join(',');
}
//顾问照片
let adviserPic = [];
if (this.state.adviserUrl.length) {
let picArr = [];
this.state.adviserUrl.map(function(item) {
if (item.response && item.response.data && item.response.data.length) {
picArr.push(item.response.data);
}
});
adviserPic = picArr.join(',');
}
let years = [];
let yearMonth =
this.state.yearMonth != undefined ? new Date(this.state.yearMonth).toLocaleDateString() : '';
years = yearMonth.split('/');
this.setState({
loading: true
});
let dataList={};
dataList={
id: this.state.InformationId,
uid: this.state.InformationUid,
type:this.state.type,
authType:'',
societyTag: values.societyTag,
identifyName: values.identifyName,
industry: values.industry,
dateOfBirthYear: years[0], //出生年
dateOfBirthMonth: years[1], //出生月
province: (values.ProvinceCity)[0], //省-
city:(values.ProvinceCity)[1], //市
area:(values.ProvinceCity)[2], //区
sex: values.sex,
mobile: values.mobile,
fixedTel: values.fixedTel,
qq: values.qq,
idNumber: values.idNumber,
email: values.email,
postalAddress: values.postalAddress,
introduction: values.introduction,
headPortraitUrl:this.state.headPortraitUrlCopy||'',
positiveIdUrl:this.state.positiveIdUrlCopy||'',
adviserUrl:this.state.adviserUrlCopy||'',
oppositeIdUrl:this.state.oppositeIdUrlCopy||'',
workUnit:this.state.workUnit||'',
graduateSchool:this.state.graduateSchool||'',
professionalTitle:this.state.professionalTitle||'',
qualification:this.state.qualification||'',
majorCategory:this.state.majorCategory||'',
adviserType:this.state.adviserType||''
}
if(this.state.authenticationState=='0'){
dataList.authType='0',
dataList.workUnit=values.workUnit;
dataList.professionalTitle=values.professionalTitle;
dataList.qualification=values.qualification;
dataList.majorCategory=values.majorCategory;
dataList.graduateSchool=values.graduateSchool;
dataList.headPortraitUrl=theorgCodeUrl.length != 0 ? theorgCodeUrl : '';
dataList.positiveIdUrl=thecompanyLogoUrl.length != 0 ? thecompanyLogoUrl : '';
dataList.oppositeIdUrl=thecompanyLogoUrls.length != 0 ? thecompanyLogoUrls : '';
}else if(this.state.authenticationState=='1'){
dataList.authType='1';
dataList.adviserType=values.adviserType;//顾问类型
dataList.adviserUrl=adviserPic; //顾问照片
dataList.positiveIdUrl=thecompanyLogoUrl.length != 0 ? thecompanyLogoUrl : '';
dataList.oppositeIdUrl=thecompanyLogoUrls.length != 0 ? thecompanyLogoUrls : '';
}
$.ajax({
method: 'post',
dataType: 'json',
url: globalConfig.context + '/api/user/updateUserDetail',
data:dataList,
}).done(
function(data) {
this.setState({
loading: false
});
if (!data.error.length) {
message.success(this.state.expertAudit<1?'认证审核提交成功,请等待审核结果!':'保存成功');
this.loadInformation();
} else {
message.warning(data.error[0].message);
}
}.bind(this)
);
},
subFun(e) {
e.preventDefault();
this.props.form.validateFields((err, values) => {
if(!err){
if(this.state.expertAudit!='0'&&this.state.authenticationState==undefined){
this.newSubmit(values)
}else{
if(this.state.authenticationState=='1'){
if(!(this.state.adviserUrl.length)){
message.warning('请上传顾问照片!')
return;
}
if(!(this.state.oppositeIdUrl.length)||!(this.state.positiveIdUrl.length)){
message.warning('请上传您的身份证正反照片!')
return;
}
}
if(this.state.authenticationState=='0'){
if(!(this.state.headPortraitUrl.length)){
message.warning('请上传专家照片!');
return;
}
if(!(this.state.oppositeIdUrl.length)||!(this.state.positiveIdUrl.length)){
message.warning('请上传您的身份证正反照片!');
return;
}
}
this.setState({
visible: true,
values :values
});
}
}
})
},
handleOk() {
this.newSubmit(this.state.values);
this.setState({
visible: false
});
},
handleCancel() {
this.setState({
visible: false
});
},
getHeadPortraitUrl(e) {
this.setState({ headPortraitUrl: e });
},
getPositiveIdUrl(e) {
this.setState({ positiveIdUrl: e });
},
getOppositeIdUrl(e) {
this.setState({ oppositeIdUrl: e });
},
componentWillMount() {
this.loadInformation();
},
componentWillReceiveProps(nextProps) {},
render() {
const { getFieldDecorator } = this.props.form;
const { MonthPicker } = DatePicker;
const formItemLayout = {
labelCol: {
span: 6
},
wrapperCol: {
span: 14
}
};
const theData = this.state.data || [];
return (
:''}
{this.state.authenticationState=='1'||this.state.authenticationState=='0'?
*身份证正面 :
}
>
建议:图片要清晰。
*身份证反面 : }
>
建议:图片要清晰。
:''}
:this.state.authState=='3'||this.state.authState=='1'&&this.state.authType=='0'?
:this.state.authState=='3'||this.state.authState=='1'&&this.state.authType=='1'?
:''}
{this.state.authenticationState=='0'&&是否申请专家认证?注意:认证成功后,您的信息将在本平台展示。
}
{this.state.authenticationState=='1'&&是否申请顾问认证?注意:认证成功后,您的信息将在本平台展示。
}
{this.state.type!='1'&&this.state.type!='0'?是否申请个人认证?
:''}
);
}
});
export default Form.create()(Expert);