content.jsx 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. import React from 'react';
  2. import { Icon, message, Row, Col, Spin } from 'antd';
  3. import './detail.less';
  4. import { getSearchUrl } from '../tools';
  5. import ajax from 'jquery/src/ajax/xhr.js'
  6. import $ from 'jquery/src/ajax';
  7. import avatarImg from '../../../image/avatarImg.png';
  8. const Content = React.createClass({
  9. loadData() {
  10. this.setState({
  11. loading: true
  12. });
  13. $.ajax({
  14. method: "get",
  15. dataType: "json",
  16. url: globalConfig.context + "/api/user/partner/detail",
  17. data: {
  18. uid: this.state.uid,
  19. type: this.state.type
  20. }
  21. }).done(function (data) {
  22. if (data.error && data.error.length) {
  23. message.warning(data.error[0].message);
  24. } else {
  25. this.state.data = data.data || {};
  26. }
  27. this.setState({
  28. data: this.state.data,
  29. loading: false
  30. });
  31. }.bind(this));
  32. },
  33. getInitialState() {
  34. return {
  35. loading: false,
  36. pagination: {
  37. defaultCurrent: 1,
  38. defaultPageSize: 10,
  39. showQuickJumper: true,
  40. pageSize: 10,
  41. onChange: function (page) {
  42. this.loadData(page);
  43. }.bind(this),
  44. showTotal: function (total) {
  45. return '共' + total + '条数据';
  46. }
  47. },
  48. columns: [
  49. {
  50. title: '编号',
  51. dataIndex: 'serialNumber',
  52. key: 'serialNumber',
  53. }, {
  54. title: '名称',
  55. dataIndex: 'name',
  56. key: 'name',
  57. }, {
  58. title: '关键字',
  59. dataIndex: 'keyword',
  60. key: 'keyword',
  61. }, {
  62. title: '成果类型',
  63. dataIndex: 'dataCategory',
  64. key: 'dataCategory',
  65. render: text => {
  66. switch (text) {
  67. case "0":
  68. return <span>成果</span>;
  69. case "1":
  70. return <span>技术</span>;
  71. case "2":
  72. return <span>项目</span>;
  73. }
  74. }
  75. }, {
  76. title: '类型',
  77. dataIndex: 'category',
  78. key: 'category',
  79. render: text => { return getAchievementCategory(text); }
  80. }, {
  81. title: '行业分类',
  82. dataIndex: 'field',
  83. key: 'field',
  84. render: text => { return getIndustryCategory(text[0], text[1]) }
  85. }, {
  86. title: '所有人名称',
  87. dataIndex: 'ownerName',
  88. key: 'ownerName',
  89. }, {
  90. title: '所有人类型',
  91. dataIndex: 'ownerType',
  92. key: 'ownerType',
  93. render: text => {
  94. switch (text) {
  95. case "0":
  96. return <span>个人</span>;
  97. case "1":
  98. return <span>组织</span>
  99. }
  100. }
  101. }, {
  102. title: '发布时间',
  103. dataIndex: 'releaseDateFormattedDate',
  104. key: 'releaseDateFormattedDate',
  105. }
  106. ],
  107. dataSource: []
  108. };
  109. },
  110. componentWillMount() {
  111. if (window.location.search) {
  112. let theObj = getSearchUrl(window.location.search);
  113. if (theObj.rid && theObj.rid != 'null') {
  114. this.state.uid = theObj.rid;
  115. this.state.type = theObj.type;
  116. this.loadData();
  117. };
  118. };
  119. },
  120. render() {
  121. const theData = this.state.data;
  122. return (
  123. <Spin spinning={this.state.loading}>
  124. <div className="detail-content">
  125. <Row>
  126. <Col span={6}>
  127. <div className="avatar-box">
  128. <img src={(theData.personPortraitUrl || theData.logoUrl) ?
  129. (globalConfig.avatarHost + "/upload" + (this.state.type == 0 ? theData.personPortraitUrl : theData.logoUrl))
  130. : avatarImg} alt="头像" />
  131. </div>
  132. </Col>
  133. <Col span={18}>
  134. <div className="column-title">
  135. </div>
  136. </Col>
  137. </Row>
  138. </div >
  139. </Spin>
  140. )
  141. }
  142. });
  143. export default Content;