| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185 | 
							- import React from 'react';
 
- import { Icon, Modal, message, Spin, Timeline, Button, Popconfirm } from 'antd';
 
- import { getPatentType, getPatentState, getTime, getPatentField, newDownloadFile, getStepList } from '../../tools.js';
 
- import './patent.less';
 
- import ajax from 'jquery/src/ajax/xhr.js';
 
- import $ from 'jquery/src/ajax';
 
- const PatentDesc = React.createClass({
 
-     getInitialState() {
 
-         return {
 
-             visible: false,
 
-             loading: false,
 
-             stepList: []
 
-         };
 
-     },
 
-     showModal() {
 
-         this.setState({
 
-             visible: true,
 
-         });
 
-     },
 
-     handleOk() {
 
-         this.setState({
 
-             visible: false,
 
-         });
 
-         this.props.closeDesc(false, true);
 
-     },
 
-     getPatentInfo(thepid) {
 
-         $.ajax({
 
-             method: "get",
 
-             dataType: "json",
 
-             crossDomain: false,
 
-             url: globalConfig.context + "/api/user/patent/clientPatentInfo",
 
-             data: {
 
-                 pid: thepid
 
-             },
 
-             success: function (data) {
 
-                 let thisData = data.data;
 
-                 if (!thisData) {
 
-                     if (data.error && data.error.length) {
 
-                         message.warning(data.error[0].message);
 
-                     }
 
-                     thisData = {};
 
-                 };
 
-                 this.setState({
 
-                     patentInfoData: thisData,
 
-                     stepList: this.state.stepList
 
-                 });
 
-             }.bind(this),
 
-         });
 
-     },
 
-     componentWillReceiveProps(nextProps) {
 
-         if (nextProps.data && nextProps.data.pid !== null && !this.state.visible && nextProps.showDesc) {
 
-             this.state.stepList = getStepList(nextProps.data.pid, '/api/user/patent/patentProcess');
 
-             this.getPatentInfo(nextProps.data.pid);
 
-         };
 
-         this.state.visible = nextProps.showDesc;
 
-     },
 
-     handleCancel(e) {
 
-         this.setState({
 
-             visible: false,
 
-         });
 
-         this.props.closeDesc(false);
 
-     },
 
-     confirmButton() {
 
-         this.setState({
 
-             loading: true
 
-         });
 
-         $.ajax({
 
-             method: "post",
 
-             dataType: "json",
 
-             crossDomain: false,
 
-             url: globalConfig.context + "/api/user/patent/clientConfirm",
 
-             data: {
 
-                 pid: this.props.data.pid
 
-             }
 
-         }).done(function (data) {
 
-             if (data.error && data.error.length) {
 
-                 message.warning(data.error[0].message);
 
-             } else {
 
-                 message.success('已确认完成!');
 
-                 this.state.patentInfoData.confirmState = 1;
 
-             };
 
-         }.bind(this)).always(function () {
 
-             this.setState({
 
-                 loading: false
 
-             });
 
-         }.bind(this));
 
-     },
 
-     render() {
 
-         let theData = this.state.patentInfoData;
 
-         if (theData) {
 
-             return (
 
-                 <div className="patent-desc">
 
-                     <Spin spinning={this.state.loading} className='spin-box'>
 
-                         <Modal maskClosable={false} title="专利详情" visible={this.state.visible}
 
-                             onOk={this.handleOk} onCancel={this.handleCancel}
 
-                             width='800px'
 
-                             footer=''
 
-                             className="patent-desc-content">
 
-                             <div>
 
-                                 <p className="widthHalf"><span>编号:</span>{theData.serialNumber}</p>
 
-                                 <p className="widthHalf"><span>申请号/专利号:</span>{theData.patentNumber}</p>
 
-                             </div>
 
-                             <div>
 
-                                 <p className="widthHalf"><span>专利名称:</span>{theData.patentName}</p>
 
-                                 <p className="widthHalf"><span>专利类型:</span>{getPatentType(theData.patentCatagory)}</p>
 
-                             </div>
 
-                             <div>
 
-                                 <p className="widthHalf"><span>专利状态:</span>{getPatentState(theData.patentState)}</p>
 
-                                 <p className="widthHalf"><span>专利领域:</span>{getPatentField(theData.patentField)}</p>
 
-                             </div>
 
-                             <div>
 
-                                 <span>简介:</span>{theData.patentDes}
 
-                             </div>
 
-                             <div className="patent-download">
 
-                                 <span>专利相关材料:</span>
 
-                                 {theData.patentWritingUrl ?
 
-                                     <p className="download-file">
 
-                                         <a onClick={newDownloadFile.bind(this, theData.id, 'patent_writing', '/api/user/patent/download')}>专利稿件下载</a>
 
-                                         {theData.confirmState == 0 ?
 
-                                             <Popconfirm
 
-                                                 title={"您将确认专利名称为 [ " + theData.patentName + " ] 的稿件,确认操作?"}
 
-                                                 onConfirm={this.confirmButton}
 
-                                                 okText="确认"
 
-                                                 cancelText="取消"
 
-                                                 placement="topLeft">
 
-                                                 <Button>确认稿件</Button>
 
-                                             </Popconfirm> : <span></span>}
 
-                                     </p> :
 
-                                     <p><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />专利稿件未上传</p>
 
-                                 }
 
-                                 {theData.authorizationNoticeUrl ?
 
-                                     <p className="download-file">
 
-                                         <a onClick={newDownloadFile.bind(this, theData.id, 'authorization_notice', '/api/user/patent/download')}>授权通知书下载</a>
 
-                                     </p> :
 
-                                     <p><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />授权通知书未上传</p>
 
-                                 }
 
-                                 {theData.patentCertificateUrl ?
 
-                                     <p className="download-file">
 
-                                         <a onClick={newDownloadFile.bind(this, theData.id, 'patent_certificate', '/api/user/patent/download')}>专利证书下载</a>
 
-                                     </p> :
 
-                                     <p><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />专利证书未上传</p>
 
-                                 }
 
-                                 {theData.patentProryStatementUrl ?
 
-                                     <p className="download-file">
 
-                                         <a onClick={newDownloadFile.bind(this, theData.id, 'patent_prory_statement', '/api/user/patent/download')}>专利代理委托书下载</a>
 
-                                     </p> :
 
-                                     <p><Icon type="exclamation-circle" style={{ color: '#ffbf00', marginRight: '6px' }} />专利代理委托书未上传</p>
 
-                                 }
 
-                             </div>
 
-                             <div>
 
-                                 <span>专利申请日:</span>{theData.startTime}
 
-                             </div>
 
-                             <div>
 
-                                 <span>专利授权日:</span>{theData.authorizedTime}
 
-                             </div>
 
-                             <div>
 
-                                 <span>每年年费缴费截止日:</span>{theData.endTime}
 
-                             </div>
 
-                             <div>
 
-                                 <p>第一发明人:</p>
 
-                                 <p><span>姓名:</span>{theData.firstInventorName}</p>
 
-                                 <p><span>身份证:</span>{theData.firstInventorIdNumber}</p>
 
-                             </div>
 
-                             <div style={theData.secondInventorName === '' ? { display: 'none' } : {}}>
 
-                                 <p>第二发明人:</p>
 
-                                 <p><span>姓名:</span>{theData.secondInventorName}</p>
 
-                             </div>
 
-                             <div style={theData.thirdInventorName === '' ? { display: 'none' } : {}}>
 
-                                 <p>第三发明人:</p>
 
-                                 <p><span>姓名:</span>{theData.thirdInventorName}</p>
 
-                             </div>
 
-                             <Timeline className="time-line">
 
-                                 {this.state.stepList}
 
-                             </Timeline>
 
-                         </Modal>
 
-                     </Spin>
 
-                 </div>
 
-             );
 
-         } else {
 
-             return <div></div>
 
-         }
 
-     },
 
- });
 
- export default PatentDesc;
 
 
  |