import React from 'react'; import { Icon, Button, Input, Select, Spin, Table, Switch, DatePicker, message, Upload, Modal, Cascader } from 'antd'; import { patentTypeList, patentStateList } from '../../../dataDic.js'; import { provinceSelect, getProvince } from '../../../NewDicProvinceList'; import { getTime, getPatentState, beforeUploadFile, companySearch, getSearchUrl, getPatentType } from '../../../tools.js'; import ajax from 'jquery/src/ajax/xhr.js'; import $ from 'jquery/src/ajax'; import moment from 'moment'; import './comprehensive.less'; import PatentAdd from './comPatentAdd.jsx'; import PatentDesc from './comPatentDesc.jsx'; const Patent = React.createClass({ loadData(pageNo) { this.state.data = []; this.setState({ loading: true }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/patent/patentList", data: { pageNo: pageNo || 1, pageSize: this.state.pagination.pageSize || null, serialNumber: this.state.number || null, patentNumber: this.state.patentNumber || null, patentName: this.state.patentName || null, locationProvince: this.state.province ? this.state.province[0] : null, uid: this.state.unitId || null, contractId: this.state.contractId, patentCatagory: this.state.patentType || null, patentState: this.state.patentState || null, createTime: this.state.createTime || null, patentApplicationDate: this.state.acceptTime || null, authorizedDate: this.state.authTime || null, }, success: function (data) { if (data.error.length || !data.data || !data.data.list) { message.warning(data.error[0].message); return; } for (let i = 0; i < data.data.list.length; i++) { let thisdata = data.data.list[i]; this.state.data.push({ key: i, id: thisdata.id, oid: thisdata.oid, uid: thisdata.uid, contractNumber: thisdata.contractNumber, number: thisdata.serialNumber || '', patentNumber: thisdata.patentNumber || '', unitName: thisdata.unitName || '', patentName: thisdata.patentName || '', patentCatagory: thisdata.patentCatagory ? getPatentType(thisdata.patentCatagory) : '', patentState: thisdata.patentState || '0', patentField: thisdata.patentField || '0', patentDes: thisdata.patentDes || '', patentProryStatementUrl: thisdata.patentProryStatementUrl, //专利代理委托书 patentWritingUrl: thisdata.patentWritingUrl, //专利稿件 authorizationNoticeUrl: thisdata.authorizationNoticeUrl, //授权通知书 patentCertificateUrl: thisdata.patentCertificateUrl, //专利证书 lastYearTaxReportUrl: thisdata.lastYearTaxReportUrl, //上年度纳税表 patentProryStatementDownloadFileName: thisdata.patentProryStatementDownloadFileName, //专利代理委托书 patentWritingDownloadFileName: thisdata.patentWritingDownloadFileName, //专利稿件 authorizationNoticeDownloadFileName: thisdata.authorizationNoticeDownloadFileName, //授权通知书 patentCertificateDownloadFileName: thisdata.patentCertificateDownloadFileName, //专利证书 lastYearTaxReportDownloadFileName: thisdata.lastYearTaxReportDownloadFileName, //上年度纳税表 startTime: thisdata.patentApplicationDate, endTime: thisdata.authorizedDate, orgCode: thisdata.orgCode, province: thisdata.locationProvince, companyAddress: getProvince(thisdata.locationProvince, thisdata.locationCity, thisdata.locationArea), companyContacts: thisdata.contacts, //联系人 firstInventorName: thisdata.firstInventorName, firstInventorNationality: thisdata.firstInventorNationality, //国籍 firstInventorIdNumber: thisdata.firstInventorIdNumber, //id firstInventorIsPublish: thisdata.firstInventorIsPublish, //是否公布 secondInventorName: thisdata.secondInventorName, secondInventorNationality: thisdata.secondInventorNationality, secondInventorIsPublish: thisdata.secondInventorIsPublish, thirdInventorName: thisdata.thirdInventorName, thirdInventorNationality: thisdata.thirdInventorNationality, thirdInventorIsPublish: thisdata.thirdInventorIsPublish, createTime: thisdata.createTime, //派单日 author: thisdata.author, //撰写人 office: thisdata.office, //事务所 principal: thisdata.principal, //负责人 founder: thisdata.founder, //创建人 techPrincipal: thisdata.techPrincipal //技术员 }); }; this.state.pagination.current = data.data.pageNo; this.state.pagination.total = data.data.totalCount; this.setState({ dataSource: this.state.data, pagination: this.state.pagination }); }.bind(this), }).always(function () { this.setState({ loading: false }); }.bind(this)); }, getOptionList() { this.setState({ loading: true }); $.when($.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/getUnitNames", data: { "pid": this.state.data.id }, }), $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/patent/getPrincipal" }), $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/patent/patentStatus" })).done((data1, data2, data3) => { let _me = this; if (!data1[0].data) { if (data1[0].error.length) { message.warning(data1[0].error[0].message); }; } else { for (var item in data1[0].data) { _me.state.companyOption.push( {data1[0].data[item]} ) }; }; if (!data2[0].data) { if (data2[0].error.length) { message.warning(data2[0].error[0].message); }; } else { _me.state.adminOption = []; for (var item in data2[0].data) { _me.state.adminOption.push( {data2[0].data[item]} ) }; }; if (!data3[0].data) { if (data3[0].error && data3[0].error.length) { message.warning(data3[0].error[0].message); }; } else { _me.state.patentStateOption = []; for (var item in data3[0].data) { _me.state.patentStateOption.push( {data3[0].data[item]} ) }; }; }).always(function () { this.setState({ loading: false }); }.bind(this)); }, getContractList() { this.setState({ loading: true }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/contract/serialNumber", success: function (data) { if (!data.data) { if (data.error && data.error.length) { message.warning(data.error[0].message); }; return; }; let theArr = []; for (let i = 0; i < data.data.length; i++) { let item = data.data[i]; theArr.push( {item.serialNumber} ); }; this.setState({ contractListOption: theArr }); }.bind(this), }).always(function () { this.setState({ loading: false }); }.bind(this)); }, getInitialState() { return { createTime: [], acceptTime: [], authTime: [], patentTypeOption: [], patentStateOption: [], companyOption: [], searchMore: true, data: [], loading: false, visible: false, selectedRowKeys: [], selectedRows: [], pagination: { defaultCurrent: 1, defaultPageSize: 10, showQuickJumper: true, pageSize: 10, onChange: function (page) { this.loadData(page); }.bind(this), showTotal: function (total) { return '共' + total + '条数据'; } }, columns: [ { title: '编号', dataIndex: 'number', key: 'number', }, { title: '申请号/专利号', dataIndex: 'patentNumber', key: 'patentNumber', }, { title: '合同编号', dataIndex: 'contractNumber', key: 'contractNumber', }, { title: '事务所', dataIndex: 'office', key: 'office', }, { title: '省份', dataIndex: 'province', key: 'province', render: text => { return getProvince(text) } }, { title: '公司名称', dataIndex: 'unitName', key: 'unitName', }, { title: '专利名称', dataIndex: 'patentName', key: 'patentName', }, { title: '专利类型', dataIndex: 'patentCatagory', key: 'patentCatagory' }, { title: '专利状态', dataIndex: 'patentState', key: 'patentState', render: text => { return getPatentState(text) }, }, { title: '派单日', dataIndex: 'createTime', key: 'createTime', render: text => { return getTime(text) }, }, { title: '申请日', dataIndex: 'startTime', key: 'startTime', render: text => { return getTime(text) }, }, { title: '授权日', dataIndex: 'endTime', key: 'endTime', render: text => { return getTime(text) }, }, { title: '创建人', dataIndex: 'founder', key: 'founder' }, { title: '技术员', dataIndex: 'techPrincipal', key: 'techPrincipal', } ], dataSource: [] }; }, componentWillMount() { let _me = this; patentTypeList.map(function (item) { _me.state.patentTypeOption.push( {item.key} ) }); patentStateList.map(function (item) { _me.state.patentStateOption.push( {item.key} ) }); if (window.location.search) { let theObj = getSearchUrl(window.location.search); if (theObj.rid) { theObj.id = theObj.rid; if (theObj.rid != 'null' && theObj.uid != 'null') { this.tableRowClick(theObj); }; } else { if (theObj.uid) { this.state.unitId = theObj.uid; } else if (theObj.contractId) { this.state.contractId = theObj.contractId; }; }; }; this.loadData(); this.getOptionList(); this.getContractList(); }, tableRowClick(record, index) { this.state.RowData = record; this.setState({ showDesc: true }); }, closeDesc(e, s) { this.state.showDesc = e; if (s) { this.loadData(); }; }, search() { this.loadData(); }, reset() { this.state.number = undefined; this.state.patentNumber = undefined; this.state.province = undefined; this.state.unitId = undefined; this.state.contractId = undefined; this.state.patentType = undefined; this.state.patentName = undefined; this.state.patentState = undefined; this.state.createTime = []; this.state.acceptTime = []; this.state.authTime = []; this.state.searchKey = undefined; this.state.searchValue = undefined; this.loadData(); }, exportComposite() { window.open(globalConfig.context + "/api/admin/patent/exportComposite" + "?" + "serialNumber" + "=" + (this.state.number || '') + "&" + "patentNumber" + "=" + (this.state.patentNumber || '') + "&" + "patentName" + "=" + (this.state.patentName || '') + "&" + "locationProvince" + "=" + (this.state.province || '') + "&" + "uid" + "=" + (this.state.unitId || '') + "&" + "contractId" + "=" + (this.state.contractId || '') + "&" + "patentCatagory" + "=" + (this.state.patentCatagory || '') + "&" + "patentState" + "=" + (this.state.patentState || '') + "&" + "createTime" + "=" + (this.state.createTime || '') + "&" + "patentApplicationDate" + "=" + (this.state.acceptTime || '') + "&" + "author" + "=" + (this.state.author || '')); }, searchSwitch() { this.setState({ searchMore: !this.state.searchMore }); }, searchSelect(e) { let _me = this; this.setState({ searchValue: e.target.value }); switch (_me.state.searchKey) { case "patentNumber": _me.state.patentNumber = e.target.value; _me.state.number = ''; _me.state.patentName = ''; break; case "serialNumber": _me.state.number = e.target.value; _me.state.patentNumber = ''; _me.state.patentName = ''; break; case "patentName": _me.state.patentNumber = ''; _me.state.number = ''; _me.state.patentName = e.target.value; break; } }, delectRow() { let deletedIds = []; for (let idx = 0; idx < this.state.selectedRows.length; idx++) { let rowItem = this.state.selectedRows[idx]; if (rowItem.id) { deletedIds.push(rowItem.id) } } this.setState({ selectedRowKeys: [], loading: deletedIds.length > 0 }); $.ajax({ method: "POST", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/patent/delete", data: { ids: deletedIds } }).done(function (data) { if (!data.error.length) { message.success('删除成功!'); this.setState({ loading: false, }); } else { message.warning(data.error[0].message); }; this.loadData(); }.bind(this)); }, circulation() { let deletedIds = []; for (let idx = 0; idx < this.state.selectedRows.length; idx++) { let rowItem = this.state.selectedRows[idx]; if (rowItem.id) { deletedIds.push(rowItem.id) } } this.setState({ selectedRowKeys: [], loading: deletedIds.length > 0 }); $.ajax({ method: "POST", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/patent/circulation", data: { ids: deletedIds, principal: this.state.principal, state: this.state.status, comment: this.state.comment, recordTimeFormattedDate: this.state.recordTime } }).done(function (data) { if (!data.error.length) { message.success('保存成功!'); this.setState({ loading: false, visible: false }); } else { message.warning(data.error[0].message); }; this.loadData(); }.bind(this)); }, showModal() { this.setState({ visible: true, principal: undefined, status: undefined, comment: undefined, recordTime: undefined }); }, handleCancel() { this.setState({ visible: false }); }, render() { const rowSelection = { selectedRowKeys: this.state.selectedRowKeys, onChange: (selectedRowKeys, selectedRows) => { this.setState({ selectedRows: selectedRows, selectedRowKeys: selectedRowKeys }); } }; const hasSelected = this.state.selectedRowKeys.length > 0; const { MonthPicker, RangePicker } = DatePicker; return (
专利综合管理
{ if (info.file.status === 'done') { if (!info.file.response.error.length) { if (!info.file.response.error.length) { message.success(`${info.file.name} 文件上传成功!`); } else { message.warning(info.file.response.error[0].message); return; }; } else { message.warning(info.file.response.error[0].message); }; } else if (info.file.status === 'error') { message.error(`${info.file.name} 文件上传失败。`); }; this.setState({ fileList: info.fileList.slice(-1) }); }} >
更多搜索
派单日: { this.setState({ createTime: dateString }) }} /> 申请日: { this.setState({ acceptTime: dateString }) }} /> { this.setState({ province: e }) }} />
保存, , ]} className="patent-desc-content">
状态流转:

处理时间: { this.setState({ recordTime: dataString }); }} />

负责人:
备注: { this.setState({ comment: e.target.value }); }} />
); } }); export default Patent; //