detail.jsx 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  1. import React from "react";
  2. import { Spin, Form, Modal, Button } from "antd";
  3. import ajax from "jquery/src/ajax/xhr.js";
  4. import $ from "jquery/src/ajax";
  5. import ReactToPrint from "react-to-print";
  6. const detail = React.createClass({
  7. getInitialState() {
  8. return {
  9. loading: false,
  10. data: {}
  11. };
  12. },
  13. // 获取详情
  14. getInfo() {
  15. this.setState({
  16. loading: true,
  17. })
  18. $.ajax({
  19. method: 'get',
  20. dataType: 'json',
  21. crossDomain: false,
  22. url: globalConfig.context + '/api/admin/RD/details',
  23. data: {
  24. id: this.props.rowdata.id,
  25. },
  26. success: function (data) {
  27. this.setState({
  28. data: data.data,
  29. })
  30. this.addBrowse()
  31. }.bind(this),
  32. }).always(
  33. function () {
  34. this.setState({
  35. loading: false,
  36. })
  37. }.bind(this)
  38. )
  39. },
  40. // 浏览+1
  41. addBrowse() {
  42. let i = 20
  43. this.timer = setInterval(() => {
  44. i--;
  45. if (i == 0) {
  46. clearInterval(this.timer);
  47. $.ajax({
  48. method: 'post',
  49. dataType: 'json',
  50. crossDomain: false,
  51. url: globalConfig.context + '/api/admin/RD/addBrowse',
  52. data: {
  53. id: this.props.rowdata.id,
  54. },
  55. success: function (data) {
  56. }.bind(this),
  57. }).always(
  58. function () {
  59. }.bind(this)
  60. )
  61. }
  62. }, 1000)
  63. },
  64. // 下载+1
  65. addDownload() {
  66. $.ajax({
  67. method: 'post',
  68. dataType: 'json',
  69. crossDomain: false,
  70. url: globalConfig.context + '/api/admin/RD/addDownload',
  71. data: {
  72. id: this.props.rowdata.id,
  73. },
  74. success: function (data) {
  75. }.bind(this),
  76. }).always(
  77. function () {
  78. }.bind(this)
  79. )
  80. },
  81. componentWillMount() {
  82. this.getInfo();
  83. },
  84. componentWillUnmount() {
  85. clearInterval(this.timer)
  86. },
  87. render() {
  88. const { data } = this.state
  89. return (
  90. <Modal
  91. title={null}
  92. visible={this.props.visible}
  93. onCancel={this.props.onCancel}
  94. footer={null}
  95. width={800}
  96. maskClosable={false}
  97. >
  98. <Form
  99. layout="horizontal"
  100. onSubmit={this.handleSubmit}
  101. id="demand-form"
  102. style={{ paddingBottom: '0px' }}
  103. >
  104. <ReactToPrint
  105. trigger={() => (
  106. <Button
  107. type="primary"
  108. style={{
  109. float: "right",
  110. marginTop: 10,
  111. position: "absolute",
  112. top: 0,
  113. right: 60,
  114. zIndex: 9,
  115. }}
  116. >
  117. 打印
  118. </Button>
  119. )}
  120. content={() => this.refs.all}
  121. />
  122. <Spin spinning={this.state.loading}>
  123. <div className="clearfix"
  124. style={{ padding: "30px 80px" }}
  125. ref={(e) => {
  126. this.refs.all = e;
  127. }}
  128. >
  129. <h1 style={{ textAlign: "center", marginBottom: 30 }}>{data.rdName}</h1>
  130. <div className="formitems">项目起止时间:{data.rdStartS + " - " + data.rdEndS}</div>
  131. <div className="formitems">公司名称:{data.userName}</div>
  132. <div className="formitems">项目负责人:{data.consultantName}</div>
  133. <div className="formitems">技术领域:{data.technicalField}</div>
  134. <div className="formitems">技术来源:{data.technologySource}</div>
  135. <div className="formitems">研发费用总预计:{data.totalAmount}{" 万元"}</div>
  136. <div className="formitems">研发目的/立项目的/实施方式
  137. <p>
  138. 为维持良好的锅炉运行和性能,需要正确的对火焰侧操作和控制。
  139. 我公司锅炉炉瞠出口设有两套传统式的烟温探针,测温元件为热电偶,
  140. 测量范围0~570%C,在实际运行过程中由于执行机构等部件在高温环
  141. 境中容易出现故障,测温元件磨损、高温变形,当炉内温度超过580C时
  142. 为保护烟温探针要将其退出检测,导致炉瞠出口烟温不能连续在线检测
  143. 目前,锅炉烟温探针只能在锅炉启动初期对炉瞠出口烟温进行检测,以
  144. 防止再热器干烧超温。锅炉正常运行过程中烟温探针不能连续有效的提
  145. 供炉瞠出口烟气温度数据,对锅炉运行人员的操作参考性大大降低,在
  146. 火电机组发展的当今不利于锅炉和机组的安全性和经济性。为解决烟温
  147. 探针在运行中遇到的以上问题,加强对炉瞠出口烟温的连续测量,提高
  148. 锅炉的运行和性能,提高机组运行安全性,提出锅炉炉瞠红外测温设备
  149. 的研究与应用。
  150. </p>
  151. </div>
  152. <div className="formitems">核心技术/创新点
  153. <p>
  154. 提高测量精度及测量范围是解决该问题的前提条件,本项目的核心技术为
  155. 利用远红外探测器对锅炉燃烧过程中的产物-热CO2气体的温度进行探测。
  156. 该远红外探测器采用特殊设计的红外滤色镜的薄膜热电堆,使其光谱响应
  157. 只接受CO2特殊红外光谱段的能量,其他波长的红外能量都被滤除,它能
  158. 直接用来测量“视场”CO2气体的温度,真实反映锅炉炉瞠出口温度,利用
  159. 这一先进的测量方法来测量锅炉炉瞠出口温度,使其温度测量可以保持连
  160. 续性及准确性。
  161. </p>
  162. </div>
  163. <div className="formitems">成果
  164. <p>
  165. 本项目应用目前市场先进科技技术,实现了改动量小,改造费用低,工期
  166. 短的特性达到理想效果,该工程配置充足的研发资金,由伤害成套院进行
  167. 可行性研究报告,通过集团招标平台进行脱硝、脱硫除尘一体化 EPC工
  168. 程招标,小组成员参与的方式,推动研发活动顺利进
  169. </p>
  170. </div>
  171. </div>
  172. </Spin>
  173. </Form>
  174. </Modal>
  175. );
  176. },
  177. });
  178. export default detail;