normal.jsx 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  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. tabChange(key) {
  62. },
  63. render() {
  64. return (
  65. <Spin spinning={this.state.loading} className='spin-box'>
  66. <div className="index-content">
  67. <div className="index-userdata clearfix">
  68. <p className="acc-title">{this.state.number}</p>
  69. <div className="userdata-img">
  70. {this.state.type == 0 ?
  71. <img src={globalConfig.avatarHost + "/upload" + this.state.personPortraitUrl} alt="" /> :
  72. <img src={globalConfig.avatarHost + "/upload" + this.state.logoUrl} alt="" />}
  73. </div>
  74. <div className="userdata-content">
  75. {(() => {
  76. switch (userData.lvl || this.state.userlvl) {
  77. case '0':
  78. return <p className="userdata-lvl">等级:<span>LV1</span> 普通用户</p>;
  79. case '1':
  80. return <p className="userdata-lvl">等级:<span>LV2</span> 已认证用户</p>;
  81. };
  82. })()}
  83. <p>完善资料 {this.state.per}% ,<a href={globalConfig.avatarHost + "/user/account/set.html"}>继续完善</a>,有助于提高您的资信</p>
  84. <a href={globalConfig.context + "/portal/search/achievement.html"}>成果搜索</a>
  85. <a href={globalConfig.context + "/portal/search/demand.html"}>需求搜索</a>
  86. <p className="userdata-relate" style={{ 'display': 'none' }}>
  87. <Button className="relateqq"><img src={qq} alt="" /> QQ账号登录</Button>
  88. <Button className="relateweibo"><img src={weibo} alt="" />微博账号登录</Button>
  89. <Button className="relateweixin"><img src={weixin} alt="" />微信账号登录</Button>
  90. </p>
  91. <div className="userdata-follow">已有<a href="">{this.state.follow}</a>人关注你</div>
  92. </div>
  93. </div>
  94. <div className="index-record">
  95. <p className="acc-title">我的轨迹</p>
  96. <ul className="record-list clearfix">
  97. <li>技术成果:<a href="">{this.state.chengguo}</a>项</li>
  98. <li>技术开发:<a href="">{this.state.kaifa}</a>项</li>
  99. <li>科技服务:<a href="">{this.state.fuwu}</a>项</li>
  100. <li>发布需求:<a href="">{this.state.xuqiu}</a>项</li>
  101. </ul>
  102. </div>
  103. <div className="index-activity">
  104. <Tabs defaultActiveKey="1" onChange={this.tabChange}>
  105. <TabPane tab="活动" key="1">
  106. <p className="acc-title">即将举办的活动</p>
  107. <ul className="activity-list">
  108. {
  109. this.state.activityArr.map(function (item, i) {
  110. return <li key={i}>
  111. <span className="list-type">[{item.type}]</span>
  112. <span className="list-title">{item.title}</span>
  113. <a href={item.link}>报名</a>
  114. <span className="list-time">{item.time}</span>
  115. </li>;
  116. })
  117. }
  118. </ul>
  119. </TabPane>
  120. <TabPane tab="其他" key="2">Content of Tab Pane 2</TabPane>
  121. </Tabs>
  122. </div>
  123. </div>
  124. </Spin>
  125. )
  126. }
  127. });
  128. export default Content;