list.jsx 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270
  1. import React,{Component} from "react";
  2. import {Button, message, Spin, Table, Tabs} from "antd";
  3. import {ChooseList} from "../../order/orderNew/chooseList";
  4. import $ from "jquery/src/ajax";
  5. import PatentDetails from './patentDetails';
  6. const { TabPane } = Tabs;
  7. class List extends Component{
  8. constructor(props) {
  9. super(props);
  10. this.state={
  11. loading:false,
  12. columns:[
  13. {
  14. title: "序号",
  15. dataIndex: "companyName",
  16. key: "companyName",
  17. },
  18. {
  19. title: "专利名称",
  20. dataIndex: "companyName",
  21. key: "companyName",
  22. },
  23. {
  24. title: "专利类型",
  25. dataIndex: "companyName",
  26. key: "companyName",
  27. },
  28. {
  29. title: "申请日",
  30. dataIndex: "companyName",
  31. key: "companyName",
  32. },
  33. {
  34. title: "权利人",
  35. dataIndex: "companyName",
  36. key: "companyName",
  37. },
  38. {
  39. title: "发明人",
  40. dataIndex: "companyName",
  41. key: "companyName",
  42. },
  43. {
  44. title: "收费截止日",
  45. dataIndex: "companyName",
  46. key: "companyName",
  47. },
  48. {
  49. title: "年费状态",
  50. dataIndex: "companyName",
  51. key: "companyName",
  52. },
  53. {
  54. title: "营销员是否提醒",
  55. dataIndex: "companyName",
  56. key: "companyName",
  57. },
  58. {
  59. title: "年费/滞纳金/恢复",
  60. dataIndex: "companyName",
  61. key: "companyName",
  62. },
  63. {
  64. title: "操作",
  65. dataIndex: "companyName",
  66. key: "companyName",
  67. },
  68. {
  69. title: "客户名称",
  70. dataIndex: "companyName",
  71. key: "companyName",
  72. },
  73. {
  74. title: "项目名称",
  75. dataIndex: "companyName",
  76. key: "companyName",
  77. },
  78. {
  79. title: "项目编号",
  80. dataIndex: "companyName",
  81. key: "companyName",
  82. },
  83. ],
  84. dataSource:[],
  85. pagination: {
  86. defaultCurrent: 1,
  87. defaultPageSize: 10,
  88. showQuickJumper: true,
  89. pageSize: 10,
  90. onChange: function (page) {
  91. this.loadData(page,this.state.searchInfor);
  92. }.bind(this),
  93. showTotal: function (total) {
  94. return "共" + total + "条数据";
  95. },
  96. },
  97. detailsVisible:true,
  98. detailsInfor:{}
  99. }
  100. this.changeList = this.changeList.bind(this);
  101. this.loadData = this.loadData.bind(this);
  102. this.download = this.download.bind(this);
  103. }
  104. componentDidMount() {
  105. this.loadData();
  106. }
  107. changeList(arr) {
  108. const newArr = [];
  109. this.state.columns.forEach(item => {
  110. arr.forEach(val => {
  111. if (val === item.title) {
  112. newArr.push(item);
  113. }
  114. });
  115. });
  116. this.setState({
  117. changeList: newArr
  118. });
  119. }
  120. loadData(pageNo) {
  121. this.setState({
  122. loading: true,
  123. });
  124. $.ajax({
  125. method: "get",
  126. dataType: "json",
  127. crossDomain: false,
  128. url: globalConfig.context + "/api/admin/company/selectPaymentList",
  129. data: {
  130. pageNo:pageNo || 1,
  131. pageSize:10,
  132. },
  133. success: function (data) {
  134. if(data.error.length === 0){
  135. this.state.pagination.current = data.data.pageNo;
  136. this.state.pagination.total = data.data.totalCount;
  137. if (data.data && data.data.list && !data.data.list.length) {
  138. this.state.pagination.current = 0;
  139. this.state.pagination.total = 0;
  140. }
  141. this.setState({
  142. page: data.data.pageNo,
  143. dataSource: data.data.list,
  144. pagination: this.state.pagination,
  145. });
  146. }else{
  147. message.warning(data.error[0].message);
  148. }
  149. }.bind(this),
  150. }).always(
  151. function () {
  152. this.setState({
  153. loading: false,
  154. });
  155. }.bind(this)
  156. );
  157. }
  158. download() {
  159. window.location.href =
  160. globalConfig.context +
  161. "/api/user/channel/downloadTemplate?" +
  162. "sign=user_channel";
  163. }
  164. render() {
  165. return (
  166. <div className="user-content">
  167. <div className="content-title">
  168. <span>专利列表</span>
  169. </div>
  170. <Tabs defaultActiveKey="1" className="test">
  171. <TabPane tab="搜索" key="1">
  172. <div style={{paddingTop:'10px'}}>
  173. </div>
  174. </TabPane>
  175. <TabPane tab="操作" key="2">
  176. <Button
  177. type="primary"
  178. onClick={this.exportExec}
  179. style={{ margin: "11px 0px 10px 10px" }}
  180. >
  181. 标识为已通知
  182. </Button>
  183. <Button
  184. type="primary"
  185. onClick={this.exportExec}
  186. style={{ margin: "11px 0px 10px 10px" }}
  187. >
  188. 批量导入
  189. </Button>
  190. <Button
  191. type="primary"
  192. onClick={(e) => {
  193. e.stopPropagation();
  194. this.download();
  195. }}
  196. style={{ margin: "11px 0px 10px 10px" }}
  197. >
  198. 下载专利模板
  199. </Button>
  200. </TabPane>
  201. <TabPane tab="更改表格显示数据" key="3">
  202. <div style={{ marginLeft: 10 }}>
  203. <ChooseList
  204. columns={this.state.columns}
  205. changeFn={this.changeList}
  206. changeList={this.state.changeList}
  207. top={55}
  208. margin={11}
  209. />
  210. </div>
  211. </TabPane>
  212. </Tabs>
  213. <div className="patent-table">
  214. <Spin spinning={this.state.loading}>
  215. <Table
  216. columns={
  217. this.state.changeList
  218. ? this.state.changeList
  219. : this.state.columns
  220. }
  221. dataSource={this.state.dataSource}
  222. pagination={this.state.pagination}
  223. style={{
  224. cursor: 'pointer',
  225. }}
  226. onRowClick={(record)=>{
  227. this.setState({
  228. detailsVisible:true,
  229. detailsInfor:record
  230. })
  231. }}
  232. rowSelection={{
  233. selectedRowKeys:this.state.selectedRowKeys,
  234. onChange: (selectedRowKeys)=>{
  235. this.setState({ selectedRowKeys });
  236. },
  237. }}
  238. scroll={{ x: "max-content", y: 0 }}
  239. bordered
  240. size="small"
  241. />
  242. </Spin>
  243. </div>
  244. {this.state.detailsVisible ? <PatentDetails
  245. visible={this.state.detailsVisible}
  246. detailsInfor={this.state.detailsInfor}
  247. onCancel={()=>{
  248. this.setState({
  249. detailsVisible:false,
  250. detailsInfor:{}
  251. })
  252. }}
  253. /> : null}
  254. </div>
  255. )
  256. }
  257. }
  258. export default List;