import React, { Component } from "react"; import { Modal, Button, Input, Form, message } from "antd"; import $ from "jquery/src/ajax"; class ReasonInput extends Component { constructor(props) { super(props); this.state = { visible: false, reason: "" }; this.reset = this.reset.bind(this); this.judge = this.judge.bind(this); this.onOk = this.onOk.bind(this); this.sendRequest = this.sendRequest.bind(this); this.inputAjax = this.inputAjax.bind(this); } // 理由请求 sendRequest(data, backData) { $.ajax({ method: "post", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/orderChange/orderChangeAudit", data: { orderNo: backData.orderNo, remarks: this.state.reason, status: data.status, processState: this.props.processState, changeType: 0 }, success: function(data) { if (data.error.length || data.data.list == "") { if (data.error && data.error.length) { message.warning(data.error[0].message); } } else { message.success("操作成功!"); this.props.visible(); this.changeModal(); } }.bind(this) }).done( function() { if (this.props.loadData) { this.props.loadData("2"); } }.bind(this) ); } // 输入框请求 inputAjax(_data, backData) { $.ajax({ method: "post", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/orderChange/updateOrderChange", data: backData, success: function(data) { if (data.error.length || data.data.list == "") { if (data.error && data.error.length) { message.warning(data.error[0].message); } } else { } }.bind(this) }).done( function() { this.sendRequest(this.props.data, backData); }.bind(this) ); } reset() { this.setState({ reason: "" }); } changeModal() { this.setState( { visible: !this.state.visible }, () => { this.reset(); } ); } judge() { if (!this.state.reason) { message.error("理由不能为空!"); return false; } } onOk(data, backData) { if (!this.state.reason) { message.error("理由不能为空!"); return false; } // 判断权限是否大于营销管理员 if ( this.props.processState <= 1 || this.props.processState == 4 || this.props.processState >= 6 ) { this.sendRequest(data, backData); } else { this.inputAjax(data, backData); } data.onChange(this.state.reason); } render() { const { visible } = this.state; const data = this.props.data; const backData = this.props.backData; const ajaxData = this.props.ajaxData; Object.assign(backData, ajaxData); return (