detail.jsx 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. import React from 'react';
  2. import { Table, Spin, message, Modal } from 'antd';
  3. import ajax from 'jquery/src/ajax/xhr.js';
  4. import $ from 'jquery/src/ajax';
  5. const Detail = React.createClass({
  6. loadData(data, apiUrl) {
  7. this.setState({
  8. loading: true,
  9. });
  10. $.ajax({
  11. method: "get",
  12. dataType: "json",
  13. crossDomain: false,
  14. url: globalConfig.context + apiUrl,
  15. data: {
  16. uid: data.id,
  17. },
  18. success: function(data) {
  19. let listArr = [];
  20. let thedata = data.data;
  21. if(!thedata) {
  22. if(data.error && data.error.length) {
  23. message.warning(data.error[0].message);
  24. };
  25. thedata = {};
  26. return;
  27. };
  28. for(let i = 0; i < data.data.length; i++) {
  29. let thisdata = data.data[i];
  30. listArr.push({
  31. id: thisdata.id,
  32. businessProjectName: thisdata.businessProjectName,
  33. salesmanName: thisdata.salesmanName,
  34. lockTime: thisdata.lockTime && thisdata.lockTime.split(' ')[0],
  35. });
  36. };
  37. this.setState({
  38. dataSource: listArr,
  39. });
  40. }.bind(this),
  41. }).always(function() {
  42. this.setState({
  43. loading: false
  44. });
  45. }.bind(this));
  46. },
  47. getInitialState() {
  48. return {
  49. loading: false,
  50. dataSource: [],
  51. columns: [{
  52. title: '业务名称',
  53. dataIndex: 'businessProjectName',
  54. key: 'businessProjectName',
  55. }, {
  56. title: '签单时间',
  57. dataIndex: 'lockTime',
  58. key: 'lockTime',
  59. },
  60. {
  61. title: '营销员',
  62. dataIndex: 'salesmanName',
  63. key: 'salesmanName',
  64. }
  65. ],
  66. }
  67. },
  68. visitCancel() {
  69. this.setState({
  70. visitModul: false
  71. })
  72. this.props.closeDesc(false);
  73. },
  74. componentWillReceiveProps(nextProps) {
  75. if(nextProps.visitModul) {
  76. this.setState({
  77. visitModul: true
  78. })
  79. this.loadData(nextProps.data, nextProps.detailApi);
  80. }
  81. },
  82. render() {
  83. return(
  84. <Modal
  85. className="customeDetails"
  86. footer=''
  87. title="已签业务"
  88. width='800px'
  89. visible={this.state.visitModul}
  90. onOk={this.visitCancel}
  91. onCancel={this.visitCancel}
  92. >
  93. <Spin spinning={this.state.loading}>
  94. <Table size="middle" columns={this.state.columns}
  95. dataSource={this.state.dataSource}
  96. pagination={false}
  97. />
  98. </Spin>
  99. </Modal>
  100. )
  101. }
  102. })
  103. export default Detail;