expressDesc.jsx 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. import React from 'react';
  2. import { Row, Col, DatePicker, Input, Select, Modal, message, Spin, Button } from 'antd';
  3. import moment from 'moment';
  4. import { expressArr } from '../../../dataDic.js';
  5. import './comprehensive.less';
  6. import ajax from 'jquery/src/ajax/xhr.js';
  7. import $ from 'jquery/src/ajax';
  8. const ExpressDesc = React.createClass({
  9. getInitialState() {
  10. return {
  11. visible: false,
  12. loading: false,
  13. theBool: true
  14. };
  15. },
  16. showModal() {
  17. this.setState({
  18. visible: true,
  19. });
  20. },
  21. handleOk() {
  22. this.setState({
  23. loading: true
  24. });
  25. $.ajax({
  26. method: "post",
  27. dataType: "json",
  28. crossDomain: false,
  29. url: globalConfig.context + "/techservice/patent/saveRecieveSend",
  30. data: {
  31. "rid": this.props.data.rid,
  32. "acceptanceReceiveTime": this.state.acceptanceReceiveTime,
  33. "acceptanceIssueTime": this.state.acceptanceIssueTime,
  34. "acceptanceTrackingNumber": this.state.acceptanceTrackingNumber,
  35. "acceptanceExpressCompany": "顺丰",
  36. "authorizationReceiveTime": this.state.authorizationReceiveTime,
  37. "authorizationIssueTime": this.state.authorizationIssueTime,
  38. "authorizationTrackingNumber": this.state.authorizationTrackingNumber,
  39. "authorizationExpressCompany": "顺丰",
  40. "certificateRecieveTime": this.state.certificateRecieveTime,
  41. "certificateIssueTime": this.state.certificateIssueTime,
  42. "certificateTrackingNumber": this.state.certificateTrackingNumber,
  43. "certificateExpressCompany": "顺丰"
  44. },
  45. success: function (data) {
  46. if (data.error.length) {
  47. message.warning(data.error[0].message);
  48. return;
  49. } else {
  50. message.success('保存成功!');
  51. };
  52. }.bind(this),
  53. }).always(function () {
  54. this.setState({
  55. loading: false,
  56. visible: false,
  57. });
  58. }.bind(this));
  59. this.props.closeDesc(false);
  60. },
  61. handleCancel(e) {
  62. this.setState({
  63. visible: false,
  64. });
  65. this.props.closeDesc(false);
  66. },
  67. componentWillReceiveProps(nextProps) {
  68. this.state.visible = nextProps.showDesc;
  69. if (this.state.theBool && nextProps.data) {
  70. this.state.acceptanceReceiveTime = nextProps.data.acceptanceReceiveTime;
  71. this.state.acceptanceIssueTime = nextProps.data.acceptanceIssueTime;
  72. this.state.acceptanceTrackingNumber = nextProps.data.acceptanceTrackingNumber;
  73. this.state.authorizationReceiveTime = nextProps.data.authorizationReceiveTime;
  74. this.state.authorizationIssueTime = nextProps.data.authorizationIssueTime;
  75. this.state.authorizationTrackingNumber = nextProps.data.authorizationTrackingNumber;
  76. this.state.certificateRecieveTime = nextProps.data.certificateRecieveTime;
  77. this.state.certificateIssueTime = nextProps.data.certificateIssueTime;
  78. this.state.certificateTrackingNumber = nextProps.data.certificateTrackingNumber;
  79. this.state.theBool = false;
  80. }
  81. },
  82. render() {
  83. let theData = this.props.data;
  84. if (this.props.data) {
  85. return (
  86. <div className="payment-desc">
  87. <Spin spinning={this.state.loading} className='spin-box'>
  88. <Modal title="收发登记详情" visible={this.state.visible}
  89. onOk={this.handleOk} onCancel={this.handleCancel}
  90. width='800px'
  91. footer={[
  92. <Button key="submit" type="primary" size="large" onClick={this.handleOk}>确认</Button>,
  93. <Button key="back" type="ghost" size="large" onClick={this.handleCancel}>取消</Button>,
  94. ]}
  95. className="patent-desc-content">
  96. <div>
  97. <p className="widthHalf"><span>专利号:</span>{theData.patentNumber}</p>
  98. <p className="widthHalf"><span>专利名:</span>{theData.patentName}</p>
  99. </div>
  100. <Row>
  101. <Col span={4}>收发内容</Col>
  102. <Col span={4}>收到时间</Col>
  103. <Col span={4}>发出时间</Col>
  104. <Col span={6}>发出快递单号</Col>
  105. <Col span={6}>发出快递公司</Col>
  106. </Row>
  107. <Row>
  108. <Col span={4}>受理通知书</Col>
  109. <Col span={4}>
  110. <DatePicker
  111. value={moment(this.state.acceptanceReceiveTime)}
  112. onChange={(data, dataString) => { this.setState({ acceptanceReceiveTime: dataString }); }} />
  113. </Col>
  114. <Col span={4}>
  115. <DatePicker
  116. value={moment(this.state.acceptanceIssueTime)}
  117. onChange={(data, dataString) => { this.setState({ acceptanceIssueTime: dataString }); }} />
  118. </Col>
  119. <Col span={6}>
  120. <Input value={this.state.acceptanceTrackingNumber}
  121. onChange={(e) => { this.setState({ acceptanceTrackingNumber: e.target.value }); }} />
  122. </Col>
  123. <Col span={6}>
  124. <Select defaultValue="顺丰">
  125. <Select.Option value="顺丰">顺丰</Select.Option>
  126. </Select>
  127. </Col>
  128. </Row>
  129. <Row>
  130. <Col span={4}>授权通知书</Col>
  131. <Col span={4}>
  132. <DatePicker
  133. value={moment(this.state.authorizationReceiveTime)}
  134. onChange={(data, dataString) => { this.setState({ authorizationReceiveTime: dataString }); }} />
  135. </Col>
  136. <Col span={4}>
  137. <DatePicker
  138. value={moment(this.state.authorizationIssueTime)}
  139. onChange={(data, dataString) => { this.setState({ authorizationIssueTime: dataString }); }} />
  140. </Col>
  141. <Col span={6}>
  142. <Input value={this.state.authorizationTrackingNumber}
  143. onChange={(e) => { this.setState({ authorizationTrackingNumber: e.target.value }); }} />
  144. </Col>
  145. <Col span={6}>
  146. <Select defaultValue="顺丰">
  147. <Select.Option value="顺丰">顺丰</Select.Option>
  148. </Select>
  149. </Col>
  150. </Row>
  151. <Row>
  152. <Col span={4}>专利证书</Col>
  153. <Col span={4}>
  154. <DatePicker
  155. value={moment(this.state.certificateRecieveTime)}
  156. onChange={(data, dataString) => { this.setState({ certificateRecieveTime: dataString }); }} />
  157. </Col>
  158. <Col span={4}>
  159. <DatePicker value={moment(this.state.certificateIssueTime)}
  160. onChange={(data, dataString) => { this.setState({ certificateIssueTime: dataString }); }} />
  161. </Col>
  162. <Col span={6}>
  163. <Input value={this.state.certificateTrackingNumber}
  164. onChange={(e) => { this.setState({ certificateTrackingNumber: e.target.value }); }} />
  165. </Col>
  166. <Col span={6}>
  167. <Select defaultValue="顺丰">
  168. <Select.Option value="顺丰">顺丰</Select.Option>
  169. </Select>
  170. </Col>
  171. </Row>
  172. </Modal>
  173. </Spin>
  174. </div>
  175. );
  176. } else {
  177. return <div></div>
  178. }
  179. },
  180. });
  181. export default ExpressDesc;