express.jsx 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. import React from 'react';
  2. import { Icon, Spin, Table, message } from 'antd';
  3. import { getPatentType } from '../../../tools.js';
  4. import ajax from 'jquery/src/ajax/xhr.js';
  5. import $ from 'jquery/src/ajax';
  6. import './comprehensive.less';
  7. import ExpressDesc from './expressDesc.jsx';
  8. const Express = React.createClass({
  9. loadData(pageNo) {
  10. this.state.data = [];
  11. this.setState({
  12. loading: true
  13. });
  14. $.ajax({
  15. method: "post",
  16. dataType: "json",
  17. crossDomain: false,
  18. url: globalConfig.context + "/techservice/patent/getRecieveSendList",
  19. data: {
  20. pageNo: pageNo || 1,
  21. pageSize: this.state.pagination.pageSize,
  22. },
  23. success: function (data) {
  24. if (data.error.length || !data.data || !data.data.list) {
  25. message.warning(data.error[0].message);
  26. return;
  27. }
  28. for (let i = 0; i < data.data.list.length; i++) {
  29. let thisdata = data.data.list[i];
  30. this.state.data.push({
  31. key: i,
  32. number: thisdata.serialNumber,
  33. patentNumber: thisdata.patentNumber,
  34. unitName: thisdata.unitName,
  35. patentName: thisdata.patentName,
  36. patentType: thisdata.patentCatagory,
  37. acceptance:[thisdata.acceptanceReceiveTime,thisdata.acceptanceIssueTime],
  38. acceptanceTrackingNumber:thisdata.acceptanceTrackingNumber,
  39. authorization:[thisdata.authorizationReceiveTime,thisdata.authorizationIssueTime],
  40. authorizationTrackingNumber:thisdata.authorizationTrackingNumber,
  41. certificate:[thisdata.certificateReceiveTime,thisdata.certificateIssueTime],
  42. certificateTrackingNumber:thisdata.certificateTrackingNumber,
  43. rid:thisdata.rid
  44. });
  45. };
  46. this.state.pagination.current = data.data.pageNo;
  47. this.state.pagination.total = data.data.totalCount;
  48. this.setState({
  49. dataSource: this.state.data,
  50. pagination: this.state.pagination
  51. });
  52. }.bind(this),
  53. }).always(function () {
  54. this.setState({
  55. loading: false
  56. });
  57. }.bind(this));
  58. },
  59. getInitialState() {
  60. return {
  61. number: '',
  62. patentNumber: '',
  63. province: '',
  64. unitName: '',
  65. patentType: '',
  66. patentName: '',
  67. data: [],
  68. loading: false,
  69. pagination: {
  70. defaultCurrent: 1,
  71. defaultPageSize: 10,
  72. showQuickJumper: true,
  73. pageSize: 10,
  74. onChange: function (page) {
  75. this.loadData(page);
  76. }.bind(this),
  77. showTotal: function (total) {
  78. return '共' + total + '条数据';
  79. }
  80. },
  81. columns: [
  82. {
  83. title: '编号',
  84. dataIndex: 'number',
  85. key: 'number',
  86. }, {
  87. title: '申请号/专利号',
  88. dataIndex: 'patentNumber',
  89. key: 'patentNumber',
  90. }, {
  91. title: '省份',
  92. dataIndex: 'province',
  93. key: 'province',
  94. }, {
  95. title: '公司名称',
  96. dataIndex: 'companyName',
  97. key: 'companyName',
  98. }, {
  99. title: '专利类型',
  100. dataIndex: 'patentType',
  101. key: 'patentType',
  102. render: text => { return getPatentType(text) },
  103. }, {
  104. title: '专利名称',
  105. dataIndex: 'patentName',
  106. key: 'patentName',
  107. }, {
  108. title: '受理书',
  109. dataIndex: 'acceptance',
  110. key: 'acceptance',
  111. render: text => { return },
  112. }, {
  113. title: '授权书',
  114. dataIndex: 'authorization',
  115. key: 'authorization',
  116. render: text => { return },
  117. }, {
  118. title: '证书',
  119. dataIndex: 'certificate',
  120. key: 'certificate',
  121. render: text => { return },
  122. }
  123. ],
  124. dataSource: []
  125. };
  126. },
  127. componentWillMount() {
  128. this.loadData();
  129. },
  130. tableRowClick(record, index) {
  131. this.state.RowData = record;
  132. this.setState({
  133. showDesc: true
  134. });
  135. },
  136. closeDesc(e) {
  137. this.state.showDesc = e;
  138. },
  139. render() {
  140. return (
  141. <div className="patent-content" >
  142. <div className="content-title">
  143. <span>专利纸件收发登记</span>
  144. </div>
  145. <div className="patent-table">
  146. <Spin spinning={this.state.loading}>
  147. <Table columns={this.state.columns}
  148. dataSource={this.state.dataSource}
  149. pagination={this.state.pagination}
  150. onRowClick={this.tableRowClick} />
  151. </Spin>
  152. </div>
  153. <ExpressDesc data={this.state.RowData} showDesc={this.state.showDesc} closeDesc={this.closeDesc} />
  154. </div >
  155. );
  156. }
  157. });
  158. export default Express;