import React from 'react';
import { Icon, Modal, Button, Form, Upload, message, Input, Spin, Checkbox } from 'antd';
import './patent.less';
import ajax from 'jquery/src/ajax/xhr.js'
import $ from 'jquery/src/ajax';
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 PatentAddFrom = Form.create()(React.createClass({
getInitialState() {
return {
loading: false,
firstCheck:0,
secondCheck:0,
thirdCheck:0
};
},
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 + "/techservice/patent/clientApplyPatent",
data: {
'firstInventorIdNumber':values.firstInventorID,
'firstInventorName':values.firstInventorName,
'patentDes':values.intro,
'secondInventorName':values.secondInventorName,
'thirdInventorName':values.thirdInventorName,
'firstInventorIsPublish':this.state.firstCheck,
'secondInventorIsPublish':this.state.secondCheck,
'thirdInventorIsPublish':this.state.thirdCheck,
'patentProryStatementUrl':this.state.avatarUrl
}
}).done(function (data) {
if (!data.error.length) {
message.success('保存成功!');
} else {
message.warning(data.error[0].message);
}
}.bind(this)).always(function () {
this.props.spinState(false);
this.props.closeModal();
this.props.form.resetFields();
}.bind(this));
}
});
},
firstInventorCheck(e) {
if ( e.target.checked == true ) {
this.state.firstCheck = 1;
} else if ( e.target.checked == false ) {
this.state.firstCheck = 0;
}
},
secondInventorCheck(e) {
if ( e.target.checked == true ) {
this.state.secondCheck = 1;
} else if ( e.target.checked == false ) {
this.state.secondCheck = 0;
};
},
thirdInventorCheck(e) {
if ( e.target.checked == true ) {
this.state.thirdCheck = 1;
} else if ( e.target.checked == false ) {
this.state.thirdCheck = 0;
};
},
avatarUrl(e){
this.state.avatarUrl = e;
},
render() {
const FormItem = Form.Item;
const { getFieldDecorator } = this.props.form;
const formItemLayout = {
labelCol: { span: 3 },
wrapperCol: { span: 16 },
};
const _me = this;
return (
);
},
}));
const PatentAdd = React.createClass({
getInitialState() {
return {
visible: false,
loading: false
};
},
showModal() {
this.setState({
visible: true,
});
},
handleOk() {
this.setState({
visible: false,
});
},
handleCancel(e) {
this.setState({
visible: false,
});
},
spinChange(e) {
this.setState({
loading: e
});
},
render() {
return (
);
},
});
export default PatentAdd;