normal.jsx 5.2 KB

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