content.jsx 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. import React from 'react';
  2. import { Spin, Button, Tabs } from 'antd';
  3. import ajax from 'jquery/src/ajax/xhr.js'
  4. import $ from 'jquery/src/ajax';
  5. import '../content.less';
  6. import './content.less';
  7. import LeftTab from './leftTab.jsx';
  8. import weixin from '../../../../image/weixin-w.png';
  9. import qq from '../../../../image/qq-w.png';
  10. import weibo from '../../../../image/weibo-w.png';
  11. const TabPane = Tabs.TabPane;
  12. const Content = React.createClass({
  13. getInitialState() {
  14. return {
  15. per: '24',
  16. loading: false,
  17. userlvl: '0',
  18. userid: '1234567',
  19. follow: '0',
  20. chengguo: '0',
  21. kaifa: '0',
  22. fuwu: '0',
  23. xuqiu: '0',
  24. activityArr: [{ type: '成果对接会', title: '龙岗区在线科技成果对接会——智能制造业专场', time: '2017-01-10', link: '' },
  25. { type: '成果对接会', title: '钛白粉行业技术在线对接会', time: '2017-01-11', link: '' }]
  26. };
  27. },
  28. getData() {
  29. this.setState({
  30. loading: false
  31. });
  32. $.ajax({
  33. method: "get",
  34. dataType: "json",
  35. url: globalConfig.context + "/api/user/homePage",
  36. success: function (data) {
  37. if (data.data && data.data.personPortraitUrl && data.data.nickname) {
  38. this.setState({
  39. personPortraitUrl: data.data.personPortraitUrl,
  40. logoUrl:data.data.logoUrl,
  41. type:data.data.type,
  42. nickname: data.data.nickname,
  43. lvl: data.data.lvl,
  44. number: data.data.number
  45. })
  46. };
  47. }.bind(this),
  48. }).done(function (data) {
  49. if (data.error && data.error.length) {
  50. message.warning(data.error[0].message);
  51. }
  52. }.bind(this)).always(function () {
  53. this.setState({
  54. loading: false
  55. });
  56. }.bind(this));
  57. },
  58. componentDidMount() {
  59. this.getData();
  60. },
  61. handlekey(key) {
  62. this.setState({
  63. leftKey: key,
  64. });
  65. },
  66. tabChange(key) {
  67. },
  68. render() {
  69. return (
  70. <div className="acc-content">
  71. <LeftTab handlekey={this.handlekey} />
  72. <div className="content-right">
  73. <Spin spinning={this.state.loading} className='spin-box'>
  74. <div className="index-content">
  75. <div className="index-userdata clearfix">
  76. <p className="acc-title">{this.state.number}</p>
  77. <div className="userdata-img">
  78. {this.state.type == 0 ?
  79. <img src={globalConfig.avatarHost + "/upload" + this.state.personPortraitUrl} alt="" /> :
  80. <img src={globalConfig.avatarHost + "/upload" + this.state.logoUrl} alt="" />}
  81. </div>
  82. <div className="userdata-content">
  83. {(() => {
  84. switch (userData.lvl || this.state.userlvl) {
  85. case '0':
  86. return <p className="userdata-lvl">等级:<span>LV1</span> 普通用户</p>;
  87. case '1':
  88. return <p className="userdata-lvl">等级:<span>LV2</span> 已认证用户</p>;
  89. };
  90. })()}
  91. <p>完善资料 {this.state.per}% ,<a href="./set.html">继续完善</a>,有助于提高您的资信</p>
  92. <p className="userdata-relate" style={{ 'display': 'none' }}>
  93. <Button className="relateqq"><img src={qq} alt="" /> QQ账号登录</Button>
  94. <Button className="relateweibo"><img src={weibo} alt="" />微博账号登录</Button>
  95. <Button className="relateweixin"><img src={weixin} alt="" />微信账号登录</Button>
  96. </p>
  97. <div className="userdata-follow">已有<a href="">{this.state.follow}</a>人关注你</div>
  98. </div>
  99. </div>
  100. <div className="index-record">
  101. <p className="acc-title">我的轨迹</p>
  102. <ul className="record-list clearfix">
  103. <li>技术成果:<a href="">{this.state.chengguo}</a>项</li>
  104. <li>技术开发:<a href="">{this.state.kaifa}</a>项</li>
  105. <li>科技服务:<a href="">{this.state.fuwu}</a>项</li>
  106. <li>发布需求:<a href="">{this.state.xuqiu}</a>项</li>
  107. </ul>
  108. </div>
  109. <div className="index-activity">
  110. <Tabs defaultActiveKey="1" onChange={this.tabChange}>
  111. <TabPane tab="活动" key="1">
  112. <p className="acc-title">即将举办的活动</p>
  113. <ul className="activity-list">
  114. {
  115. this.state.activityArr.map(function (item, i) {
  116. return <li key={i}>
  117. <span className="list-type">[{item.type}]</span>
  118. <span className="list-title">{item.title}</span>
  119. <a href={item.link}>报名</a>
  120. <span className="list-time">{item.time}</span>
  121. </li>;
  122. })
  123. }
  124. </ul>
  125. </TabPane>
  126. <TabPane tab="其他" key="2">Content of Tab Pane 2</TabPane>
  127. </Tabs>
  128. </div>
  129. </div>
  130. </Spin>
  131. </div>
  132. </div>
  133. )
  134. }
  135. });
  136. export default Content;