import React from 'react';
import { Icon, Modal, message, Spin, Steps, Input, Select, Upload, DatePicker, Button, Table } from 'antd';
import './comprehensive.less';
import ajax from 'jquery/src/ajax/xhr.js';
import moment from 'moment';
import $ from 'jquery/src/ajax';
import { patentTypeList, patentStateList, industryList } from '../../../dataDic.js';
import { getBase64, beforeUpload, getPatentState, getTime, newDownloadFile, getPreview, companySearch } from '../../../tools.js';
class Avatar extends React.Component {
constructor(props) {
super(props);
this.state = {
imageUrl: ''
}
}
handleChange(info) {
if (info.file.status !== 'uploading') {
// console.log(info.file, info.fileList);
}
if (info.file.status === 'done') {
if (!info.file.response.error.length) {
message.success(`${info.file.name} 文件上传成功!`);
} else {
message.warning(info.file.response.error[0].message);
return;
};
this.props.urlData(info.file.response.data);
} else if (info.file.status === 'error') {
message.error(`${info.file.name} 文件上传失败。`);
};
this.setState({ fileList: info.fileList.slice(-1) });
}
componentWillReceiveProps(nextProps) {
if (!this.props.visible && nextProps.visible) {
this.state.fileList = [];
};
}
render() {
return (
);
}
};
const PatentDesc = React.createClass({
getInitialState() {
return {
visible: false,
loading: false,
patentTypeOption: [],
patentFieldOption: [],
industryOption: [],
stateTable: [],
stateColumns: [{
title: '申请状态',
dataIndex: 'state',
key: 'state',
render: (text) => { return getPatentState(text) }
}, {
title: '处理时间',
dataIndex: 'recordTimeFormattedDate',
key: 'recordTimeFormattedDate',
}, {
title: '负责人',
dataIndex: 'principal',
key: 'principal',
}, {
title: '操作人',
dataIndex: 'operator',
key: 'operator',
}, {
title: '备注',
dataIndex: 'comment',
key: 'comment',
}]
};
},
loadData(uid) {
this.setState({
loading: true
});
$.when($.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/patent/detail",
data: { "pid": this.state.xid },
}), $.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/patent/logs",
data: { "pid": this.state.xid }
}), $.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/patent/lastYearTax",
data: { "uid": uid || this.props.data.uid, "sign": "last_year_ratepay" }
}), $.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/patent/getAuthor"
})).done((data1, data2, data3, data4) => {
let _me = this;
if (!data1[0].data) {
if (data1[0].error.length) {
message.warning(data1[0].error[0].message);
};
} else {
this.state.data = data1[0].data;
this.state.firstInventorName = data1[0].data.firstInventorName;
this.state.firstInventorIdNumber = data1[0].data.firstInventorIdNumber;
this.state.secondInventorName = data1[0].data.secondInventorName;
this.state.thirdInventorName = data1[0].data.thirdInventorName;
this.state.patentDes = data1[0].data.patentDes;
this.state.patentName = data1[0].data.patentName;
this.state.patentNumber = data1[0].data.patentNumber;
this.state.office = data1[0].data.office;
this.state.patentCatagory = data1[0].data.patentCatagory;
this.state.patentState = data1[0].data.patentState;
this.state.patentField = data1[0].data.patentField;
this.state.contacts = data1[0].data.contacts;
this.state.author = data1[0].data.author;
this.state.uid = data1[0].data.uid;
this.state.id = data1[0].data.id;
};
if (!data2[0].data) {
if (data2[0].error.length) {
message.warning(data2[0].error[0].message);
};
} else {
_me.state.stateTable = [];
data2[0].data.map(function (item) {
_me.state.stateTable.push({
comment: item.comment,
id: item.id,
operator: item.operator,
pid: item.pid,
principal: item.principal,
recordTime: item.recordTime,
recordTimeFormattedDate: item.recordTimeFormattedDate,
state: item.state,
});
});
};
if (!data3[0].data) {
if (data3[0].error.length) {
message.warning(data3[0].error[0].message);
};
} else {
this.state.lastYearTaxReportId = data3[0].data.id
};
let theArr = [];
if (!data4[0].data) {
if (data4[0].error.length) {
message.warning(data4[0].error[0].message);
};
} else {
for (var item in data4[0].data) {
theArr.push(
{data4[0].data[item]}
)
};
this.setState({
authorOption: theArr
});
};
}).always(function () {
this.setState({
loading: false
});
}.bind(this));
},
getContactsList(theUid) {
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/customer/findAllContacts",
data: {
uid: theUid || this.state.uid
},
success: function (data) {
let theOption = [];
if (data.error.length || !data.data) {
return;
};
for (let item in data.data) {
let theData = data.data[item];
theOption.push(
{theData.name}
);
};
this.setState({
contactsOption: theOption
});
}.bind(this),
});
},
getOption() {
let _me = this;
_me.state.patentTypeOption = [];
_me.state.industryOption = [];
patentTypeList.map(function (item) {
_me.state.patentTypeOption.push(
{item.key}
)
});
industryList.map(function (item) {
_me.state.industryOption.push(
{item.key}
)
});
},
showModal() {
this.setState({
visible: true,
});
},
handleOk() {
this.setState({
visible: true,
loading: true
});
$.ajax({
method: "POST",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/patent/update",
data: {
"id": this.state.xid,
"uid": this.state.uid,
"patentNumber": this.state.patentNumber,
"patentName": this.state.patentName,
"patentCatagory": this.state.patentCatagory,
"patentField": this.state.patentField,
"patentDes": this.state.patentDes,
"contacts": this.state.contacts,
"office": this.state.office,
"patentWritingUrl": this.state.patentWritingUrl,
"authorizationNoticeUrl": this.state.authorizationNoticeUrl,
"patentCertificateUrl": this.state.patentCertificateUrl,
"patentProryStatementUrl": this.state.patentProryStatementUrl,
"pState": this.props.data.patentState,
"firstInventorName": this.state.firstInventorName,
"firstInventorIdNumber": this.state.firstInventorIdNumber,
"secondInventorName": this.state.secondInventorName,
"thirdInventorName": this.state.thirdInventorName,
"state": this.state.patentStateAdd,
"recordTimeFormattedDate": this.state.recordTime,
"principal": this.state.adminName,
"comment": this.state.comment,
"author": this.state.author
}
}).done(function (data) {
if (data.error && !data.error.length) {
message.success('保存成功!');
this.props.closeDesc(false, true);
} else {
message.warning(data.error[0].message);
}
}.bind(this)).always(function () {
this.setState({
loading: false,
});
}.bind(this));
},
checkPatentProcess() {
if (this.state.patentStateAdd || this.state.adminName || this.state.recordTime) {
if (this.state.patentStateAdd && this.state.adminName && this.state.recordTime)
{ this.handleOk() } else {
message.warning("请填写完整的状态流转信息!");
return;
}
} else {
this.handleOk()
};
},
componentWillMount() {
this.getOption();
},
componentWillReceiveProps(nextProps) {
this.state.patentStateAdd = undefined;
this.state.adminName = undefined;
this.state.recordTime = undefined;
this.state.comment = undefined;
if (nextProps.data && !this.state.visible && nextProps.showDesc) {
this.state.xid = nextProps.data.id;
this.loadData(nextProps.data.uid);
this.getContactsList(nextProps.data.uid);
};
this.state.visible = nextProps.showDesc;
},
handleCancel(e) {
this.setState({
visible: false,
});
this.props.closeDesc(false);
},
getPatentWritingUrl(e) {
this.state.patentWritingUrl = e;
},
getAuthorizationNoticeUrl(e) {
this.state.authorizationNoticeUrl = e;
},
getPatentCertificateUrl(e) {
this.state.patentCertificateUrl = e;
},
getPatentProryStatementUrl(e) {
this.state.patentProryStatementUrl = e;
},
render() {
const Step = Steps.Step;
const theData = this.state.data;
if (this.state.data) {
return (
保存,
,
]}
className="patent-desc-content">
公司名称:{theData.unitName}
联系人:
专利状态流转记录:
状态流转:
处理时间:
{ this.setState({ recordTime: dataString }); }} />
负责人:
备注:
{ this.setState({ comment: e.target.value }); }} />
专利状态:{getPatentState(theData.patentState)}
所属行业:
专利简介:
{ this.setState({ patentDes: e.target.value }); }}
rows={6} />
第二发明人:
姓名:
{ this.setState({ secondInventorName: e.target.value }); }} />
国籍:中国
第三发明人:
姓名:
{ this.setState({ thirdInventorName: e.target.value }); }} />
国籍:中国
材料管理:
{theData.patentWritingUrl ?
专利稿件
{theData.confirmState == '0' ?
:
}
{
var newTab = window.open('about:blank'); getPreview(this.state.data.id, 'patent', 'patent_writing', function (data) { newTab.location.href = data; });
}}>
:
专利稿件未上传
}
{theData.authorizationNoticeUrl ?
授权通知书
{
var newTab = window.open('about:blank'); getPreview(this.state.data.id, 'patent', 'authorization_notice', function (data) { newTab.location.href = data; });
}}>
:
授权通知书未上传
}
{theData.patentCertificateUrl ?
专利证书
{
var newTab = window.open('about:blank'); getPreview(this.state.data.id, 'patent', 'patent_certificate', function (data) { newTab.location.href = data; });
}}>
:
专利证书未上传
}
{theData.patentProryStatementUrl ?
专利代理委托书
{
var newTab = window.open('about:blank'); getPreview(this.state.data.id, 'patent', 'patent_prory_statement', function (data) { newTab.location.href = data; });
}}>
:
专利代理委托书未上传
}
{this.state.lastYearTaxReportId ?
上年度纳税报表
{
var newTab = window.open('about:blank'); getPreview(this.state.lastYearTaxReportId, 'patent', 'last_year_ratepay', function (data) { newTab.location.href = data; });
}}>
:
上年度纳税报表未上传
}
专利稿件上传授权通知书上传专利证书上传专利代理委托书上传
撰写人:
);
} else {
return
}
},
});
export default PatentDesc;