expressDesc.jsx 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  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. };
  14. },
  15. showModal() {
  16. this.setState({
  17. visible: true,
  18. });
  19. },
  20. handleOk() {
  21. this.setState({
  22. loading: true
  23. });
  24. $.ajax({
  25. method: "post",
  26. dataType: "json",
  27. crossDomain: false,
  28. url: globalConfig.context + "/api/admin/patent/saveRecieveSend",
  29. data: {
  30. "rid": this.props.data.rid,
  31. "pid": this.props.data.pid,
  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,true);
  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 (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. };
  80. },
  81. render() {
  82. let theData = this.props.data;
  83. if (this.props.data) {
  84. return (
  85. <div className="express-desc">
  86. <Spin spinning={this.state.loading} className='spin-box'>
  87. <Modal title="收发登记详情" visible={this.state.visible}
  88. onOk={this.handleOk} onCancel={this.handleCancel}
  89. width='800px'
  90. footer={[
  91. <Button key="submit" type="primary" size="large" onClick={this.handleOk}>确认</Button>,
  92. <Button key="back" type="ghost" size="large" onClick={this.handleCancel}>取消</Button>,
  93. ]}
  94. className="patent-desc-content">
  95. <div>
  96. <p className="widthHalf"><span>专利号:</span>{theData.patentNumber}</p>
  97. <p className="widthHalf"><span>专利名:</span>{theData.patentName}</p>
  98. </div>
  99. <Row className="express-desc-row">
  100. <Col span={3}>收发内容</Col>
  101. <Col span={4}>收到时间</Col>
  102. <Col span={4}>发出时间</Col>
  103. <Col span={5}>发出快递单号</Col>
  104. <Col span={5}>发出快递公司</Col>
  105. </Row>
  106. <Row className="express-desc-row">
  107. <Col span={3}>受理通知书</Col>
  108. <Col span={4}>
  109. <DatePicker
  110. value={this.state.acceptanceReceiveTime ? moment(this.state.acceptanceReceiveTime) : null}
  111. onChange={(data, dataString) => { this.setState({ acceptanceReceiveTime: dataString }); }} />
  112. </Col>
  113. <Col span={4}>
  114. <DatePicker
  115. value={this.state.acceptanceIssueTime ? moment(this.state.acceptanceIssueTime) : null}
  116. onChange={(data, dataString) => { this.setState({ acceptanceIssueTime: dataString }); }} />
  117. </Col>
  118. <Col span={5}>
  119. <Input value={this.state.acceptanceTrackingNumber}
  120. onChange={(e) => { this.setState({ acceptanceTrackingNumber: e.target.value }); }} />
  121. </Col>
  122. <Col span={5}>
  123. <Select defaultValue="顺丰">
  124. <Select.Option value="顺丰">顺丰</Select.Option>
  125. </Select>
  126. </Col>
  127. </Row>
  128. <Row className="express-desc-row">
  129. <Col span={3}>授权通知书</Col>
  130. <Col span={4}>
  131. <DatePicker
  132. value={this.state.authorizationReceiveTime ? moment(this.state.authorizationReceiveTime) : null}
  133. onChange={(data, dataString) => { this.setState({ authorizationReceiveTime: dataString }); }} />
  134. </Col>
  135. <Col span={4}>
  136. <DatePicker
  137. value={this.state.authorizationIssueTime ? moment(this.state.authorizationIssueTime) : null}
  138. onChange={(data, dataString) => { this.setState({ authorizationIssueTime: dataString }); }} />
  139. </Col>
  140. <Col span={5}>
  141. <Input value={this.state.authorizationTrackingNumber}
  142. onChange={(e) => { this.setState({ authorizationTrackingNumber: e.target.value }); }} />
  143. </Col>
  144. <Col span={5}>
  145. <Select defaultValue="顺丰">
  146. <Select.Option value="顺丰">顺丰</Select.Option>
  147. </Select>
  148. </Col>
  149. </Row>
  150. <Row className="express-desc-row">
  151. <Col span={3}>专利证书</Col>
  152. <Col span={4}>
  153. <DatePicker
  154. value={this.state.certificateRecieveTime ? moment(this.state.certificateRecieveTime) : null}
  155. onChange={(data, dataString) => { this.setState({ certificateRecieveTime: dataString }); }} />
  156. </Col>
  157. <Col span={4}>
  158. <DatePicker value={this.state.certificateIssueTime ? moment(this.state.certificateIssueTime) : null}
  159. onChange={(data, dataString) => { this.setState({ certificateIssueTime: dataString }); }} />
  160. </Col>
  161. <Col span={5}>
  162. <Input value={this.state.certificateTrackingNumber}
  163. onChange={(e) => { this.setState({ certificateTrackingNumber: e.target.value }); }} />
  164. </Col>
  165. <Col span={5}>
  166. <Select defaultValue="顺丰">
  167. <Select.Option value="顺丰">顺丰</Select.Option>
  168. </Select>
  169. </Col>
  170. </Row>
  171. </Modal>
  172. </Spin>
  173. </div>
  174. );
  175. } else {
  176. return <div></div>
  177. }
  178. },
  179. });
  180. export default ExpressDesc;