innovationAbility.jsx 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. import React from 'react';
  2. import './ablt.less';
  3. import ajax from 'jquery/src/ajax/xhr.js'
  4. import $ from 'jquery/src/ajax';
  5. import { Input, Button, Spin, message } from 'antd';
  6. const Base = React.createClass({
  7. getInitialState() {
  8. return {
  9. loading: false,
  10. tags: []
  11. };
  12. },
  13. componentWillMount() {
  14. this.setState({
  15. loading: true
  16. });
  17. $.ajax({
  18. method: "get",
  19. dataType: "json",
  20. url: globalConfig.context + "/api/user/ability",
  21. success: function (data) {
  22. if (data.data) {
  23. this.setState({
  24. intellectRight: data.data.intellectRight,
  25. scienceAchievement: data.data.scienceAchievement,
  26. researchInnovation: data.data.researchInnovation,
  27. personnel: data.data.personnel
  28. });
  29. };
  30. }.bind(this),
  31. }).always(function () {
  32. this.setState({
  33. loading: false
  34. });
  35. }.bind(this));
  36. },
  37. submit() {
  38. let theTags = this.state.tags.join(",");
  39. this.setState({
  40. loading: true
  41. })
  42. $.ajax({
  43. method: "POST",
  44. dataType: "json",
  45. crossDomain: false,
  46. url: globalConfig.context + "/api/user/userAbility",
  47. data: {
  48. "intellectRight": this.state.intellectRight,
  49. "scienceAchievement": this.state.scienceAchievement,
  50. "researchInnovation": this.state.researchInnovation,
  51. "personnel": this.state.personnel
  52. }
  53. }).done(function (data) {
  54. if (!data.error.length) {
  55. message.success('保存成功!');
  56. } else {
  57. message.warning(data.error[0].message);
  58. }
  59. }.bind(this)).always(function () {
  60. this.setState({
  61. loading: false
  62. })
  63. }.bind(this));
  64. },
  65. render() {
  66. return (
  67. <Spin spinning={this.state.loading} className='spin-box'>
  68. <div className="set-ablt">
  69. <div className="acc-detail clearfix">
  70. <p className="acc-title">能力标签</p>
  71. <div className="acc-area">
  72. <p>知识产权对企业竞争力的作用 (限400字) </p>
  73. <Input type="textarea" rows={6}
  74. value={this.state.intellectRight}
  75. onChange={(e) => {
  76. if (e.target.value.length > 400) {
  77. message.warning("长度超过400字!");
  78. return;
  79. };
  80. this.setState({ intellectRight: e.target.value });
  81. }} />
  82. </div>
  83. <div className="acc-area">
  84. <p>科技成果转化情况 (限400字) </p>
  85. <Input type="textarea" rows={6}
  86. value={this.state.scienceAchievement}
  87. onChange={(e) => {
  88. if (e.target.value.length > 400) {
  89. message.warning("长度超过400字!");
  90. return;
  91. };
  92. this.setState({ scienceAchievement: e.target.value })
  93. }} />
  94. </div>
  95. <div className="acc-area">
  96. <p>研究开发与技术创新组织管理情况 (限400字) </p>
  97. <Input type="textarea" rows={6}
  98. value={this.state.researchInnovation}
  99. onChange={(e) => {
  100. if (e.target.value.length > 400) {
  101. message.warning("长度超过400字!");
  102. return;
  103. };
  104. this.setState({ researchInnovation: e.target.value })
  105. }} />
  106. </div>
  107. <div className="acc-area">
  108. <p>管理与科技人员情况 (限400字) </p>
  109. <Input type="textarea" rows={6}
  110. value={this.state.personnel}
  111. onChange={(e) => {
  112. if (e.target.value.length > 400) {
  113. message.warning("长度超过400字!");
  114. return;
  115. };
  116. this.setState({ personnel: e.target.value })
  117. }} />
  118. </div>
  119. </div>
  120. <Button className="set-submit" type="primary" onClick={this.submit}>保存</Button>
  121. </div>
  122. </Spin>
  123. )
  124. }
  125. });
  126. export default Base;