bonusDetail.jsx 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. import React from 'react';
  2. import ajax from 'jquery/src/ajax/xhr.js';
  3. import $ from 'jquery/src/ajax';
  4. import { Form, Spin, message, Modal } from 'antd';
  5. import {getProjectName,getNewOrderStatus,getJsyPaymentType} from '@/tools.js';
  6. import OrderItemStatus from "../../../common/orderItemStatus";
  7. const BonusDetail=React.createClass({
  8. getInitialState() {
  9. return {
  10. loading: false,
  11. visible:false,
  12. showDesc:false,
  13. };
  14. },
  15. onCancel(){
  16. this.setState({
  17. visible:false
  18. })
  19. this.props.closeDesc(false,false);
  20. },
  21. onShow() {
  22. this.setState({
  23. visible: false,
  24. });
  25. this.props.closeDesc(false, true);
  26. },
  27. componentWillMount() {
  28. },
  29. xiangqings(orderNo) {
  30. $.ajax({
  31. method: "get",
  32. dataType: "json",
  33. crossDomain: false,
  34. url: globalConfig.context + "/api/admin/newOrder/getOrderNewDetail",
  35. data: {
  36. orderNo,
  37. },
  38. success: function (data) {
  39. let thisdata = data.data;
  40. if (data.error.length || data.data.list == "") {
  41. if (data.error && data.error.length) {
  42. message.warning(data.error[0].message);
  43. }
  44. } else {
  45. this.setState({
  46. deleteSign:thisdata.deleteSign,
  47. });
  48. }
  49. }.bind(this),
  50. }).always(
  51. function () {
  52. this.setState({
  53. loading: false,
  54. });
  55. }.bind(this)
  56. );
  57. },
  58. componentWillReceiveProps(nextProps) {
  59. if(nextProps.data.orderNo){
  60. this.setState({data:nextProps.data});
  61. this.xiangqings(nextProps.data.orderNo);
  62. }
  63. this.state.visible=nextProps.showDesc;
  64. },
  65. render() {
  66. const theData = this.props.data || {};
  67. const FormItem = Form.Item;
  68. const formItemLayout = {
  69. labelCol: { span: 10 },
  70. wrapperCol: { span: 12 },
  71. };
  72. return (
  73. <div className="user-content" >
  74. <Modal maskClosable={false} visible={this.state.visible}
  75. onOk={this.onShow} onCancel={this.onCancel}
  76. width='800px'
  77. title='订单详情'
  78. footer=''
  79. className="admin-desc-content">
  80. <Form layout="horizontal" onSubmit={(e)=>{this.handleSubmit(e,0)}} >
  81. <Spin spinning={this.state.loading}>
  82. <div className="clearfix">
  83. <div style={{position:"absolute",top:'-52px',left:'81px',zIndex:10000}}>
  84. <OrderItemStatus deleteSign={this.state.deleteSign}/>
  85. </div>
  86. <FormItem className="half-item" {...formItemLayout} label="订单编号">
  87. <span>{theData.orderNo}</span>
  88. </FormItem>
  89. <FormItem className="half-item" {...formItemLayout} label="签单时间">
  90. <span>{theData.signTime}</span>
  91. </FormItem>
  92. <FormItem className="half-item" {...formItemLayout} label="订单负责人">
  93. <span>{theData.salesName}</span>
  94. </FormItem>
  95. <FormItem className="half-item" {...formItemLayout} label="客户名称">
  96. <span>{theData.buyName}</span>
  97. </FormItem>
  98. <FormItem className="half-item" {...formItemLayout} label="签单金额(万元)">
  99. <span>{theData.totalAmount}</span>
  100. </FormItem>
  101. <FormItem className="half-item" {...formItemLayout} label="首付款(万元)">
  102. <span>{theData.firstAmount}</span>
  103. </FormItem>
  104. <FormItem className="half-item" {...formItemLayout} label="已收(万元)">
  105. <span>{theData.settlementAmount}</span>
  106. </FormItem>
  107. <FormItem className="half-item" {...formItemLayout} label="已退(万元)">
  108. <span>{theData.refundAmount}</span>
  109. </FormItem>
  110. <FormItem className="half-item" {...formItemLayout} label="订单状态">
  111. <span>{getNewOrderStatus(theData.orderStatus)}</span>
  112. </FormItem>
  113. <FormItem className="half-item" {...formItemLayout} label="项目状态">
  114. <span>{getProjectName(theData.projectStatus)}</span>
  115. </FormItem>
  116. <FormItem className="half-item" {...formItemLayout} label="发放类型">
  117. <span>{getJsyPaymentType(theData.bonusSubject)}</span>
  118. </FormItem>
  119. <FormItem className="half-item" {...formItemLayout} label="校对后单量">
  120. <span>{theData.proofCount}</span>
  121. </FormItem>
  122. <FormItem className="half-item" {...formItemLayout} label="当月认证项目数量">
  123. <span>{theData.renzm}</span>
  124. </FormItem>
  125. <FormItem className="half-item" {...formItemLayout} label="当月科技项目数量">
  126. <span>{theData.kejim}</span>
  127. </FormItem>
  128. <FormItem className="half-item" {...formItemLayout} label="年度认证项目数量">
  129. <span>{theData.renzy}</span>
  130. </FormItem>
  131. <FormItem className="half-item" {...formItemLayout} label="年度科技项目数量">
  132. <span>{theData.kejiy}</span>
  133. </FormItem>
  134. </div>
  135. </Spin>
  136. </Form>
  137. </Modal>
  138. </div>
  139. );
  140. }
  141. });
  142. export default Form.create()(BonusDetail);