import React from 'react'; import { Button, Input, Select, message, Modal, Radio, Spin } from 'antd'; import { companySearch } from '../../tools.js'; import ajax from 'jquery/src/ajax/xhr.js'; import $ from 'jquery/src/ajax'; const ApplyAdd = React.createClass({ getInitialState() { return { visible: false, loading: false }; }, componentWillReceiveProps(nextProps) { this.state.visible = nextProps.showAdd; }, showModal() { this.setState({ visible: true, }); }, handleOk() { this.setState({ loading: true }); if (!this.state.contacts) { message.warning('请选择一个联系人!'); this.setState({ loading: false }); return; }; $.ajax({ method: "POST", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/user/techproject/applyTechProject", data: { contacts: this.state.contacts, department: this.state.department, dispatchInfo: this.state.dispatchInfo, projectName: this.state.projectName, projectCatagory: this.state.projectCatagory, techField: this.state.techField, projectDes: this.state.projectDes, projectMode: this.state.projectMode, projectApproval: this.state.projectApproval, subsidy: this.state.subsidy, consultant: this.state.consultant, } }).done(function (data) { if (!data.error.length) { message.success('保存成功!'); this.setState({ visible: false }); this.props.closeAdd(false); } else { message.warning(data.error[0].message); this.setState({ loading: false }); } }.bind(this)); }, handleCancel(e) { this.setState({ visible: false, }); this.props.closeAdd(false); }, spinChange(e) { this.setState({ loading: e }); }, subsidyCheck(e) { if (e.target.value == 1) { this.state.subsidy = 1; } else if (e.target.value == 2) { this.state.projectMode = 1; }; this.setState({ moneyType: e.target.value }); }, render() { return ( <div className="cognizance-add"> <Modal maskClosable={false} title="新科技项目申请" visible={this.state.visible} onOk={this.handleOk} onCancel={this.handleCancel} width='800px' footer={[ <Button key="submit" type="primary" loading={this.state.loading} onClick={this.handleOk}> 确认 </Button>, <Button key="back" onClick={this.handleCancel}> 取消 </Button>, ]} > <Spin spinning={this.state.loading} className='spin-box'> <div className="clearfix" style={{ marginBottom: '10px' }}> <div className="half-item"> <span className="item-title">选择联系人: </span> <Select placeholder="请选择联系人" style={{ width: 200 }} onSelect={(e, n) => { this.state.contacts = e }}> {this.props.contactsOption} </Select> </div> </div> <div className="clearfix"> <div className="half-item"> <span className="item-title">申报科技部门: </span> <Select placeholder="请选择申报部门" style={{ width: 300 }} notFoundContent="未获取到申报部门列表" showSearch filterOption={companySearch} onSelect={(e, n) => { this.state.department = e }}> {this.props.departmentOption} </Select> </div> </div> <div className="clearfix"> <div> <span className="item-title">派单信息: </span> </div> <Input type="textarea" rows={6} onChange={(e) => { this.state.dispatchInfo = e.target.value; }} /> </div> <div className="clearfix"> <div className="half-item"> <span className="item-title">项目名称: </span> <Input style={{ width: 200 }} onChange={(e) => { this.state.projectName = e.target.value; }} /> </div> </div> <div className="clearfix"> <div className="half-item"> <span className="item-title">项目类型: </span> <Input style={{ width: 200 }} onChange={(e) => { this.state.projectCatagory = e.target.value; }} /> </div> </div> <div className="clearfix"> <div className="half-item"> <span className="item-title">技术领域: </span> <Input style={{ width: 200 }} onChange={(e) => { this.state.techField = e.target.value; }} /> </div> </div> <div className="clearfix"> <div> <span className="item-title">项目介绍: </span> </div> <Input type="textarea" rows={6} onChange={(e) => { this.state.projectDes = e.target.value; }} /> </div> <div className="clearfix"> <div className="half-item"> <span className="item-title">立项/后补助: </span> <Radio.Group onChange={this.subsidyCheck}> <Radio value={1}>立项</Radio> <Radio value={2}>后补助</Radio> </Radio.Group> </div> <div className="half-item"> <span className="item-title">金额: </span> <Input style={{ width: 200 }} onChange={(e) => { this.state.projectApproval = e.target.value; }} /> </div> </div> <div className="clearfix"> <div className="half-item"> <span className="item-title">选择负责人: </span> <Select placeholder="请选择负责人" style={{ width: 200 }} onSelect={(e, n) => { this.state.consultant = e }}> {this.props.authorOption} </Select> </div> </div> </Spin> </Modal> </div> ); } }); export default ApplyAdd;