import React from 'react'; import { Icon, Modal, message, Spin, Input, Select, Button, Form } from 'antd'; import './myClient.less'; import ajax from 'jquery/src/ajax/xhr.js'; import $ from 'jquery/src/ajax'; import {socialAttribute} from '../../../dataDic.js'; const AchievementDetailForm = Form.create()(React.createClass({ getInitialState() { return { loading: false, data: {}, }; }, handleSubmit(e) { e.preventDefault(); this.props.form.validateFields((err, values) => { if(values.companyNamet.length>64){ message.warning('联系人字数不超过64个') return false; }; if(values.telnums.length>13){ message.warning('电话号码字数不超过13个') return false; }; if (!err) { this.setState({ loading: true }); $.ajax({ method: "POST", dataType: "json", crossDomain: false, url: globalConfig.context + '/api/admin/customer/addCustomer', data: { contacts:values.companyNamet, societyTag:values.societyTagt, name: values.companyNamet, contactMobile: values.telnums, type:'0' } }).done(function (data) { this.setState({ loading: false }); if (!data.error.length) { message.success('保存成功!'); this.props.handleOk(); } else { message.warning(data.error[0].message); } }.bind(this)); } }); }, //去完善 addContent(){ let telnum=this.state.telnum; let companyName=this.state.companyNamet; let content=this.state.content; if(!telnum||!companyName||!content){ message.warning('此3项都要填'); }else{ this.props.newmodal(true); this.props.closeDesc(false); } }, componentWillMount() { this.state.companyNamet=''; this.state.telnum=''; this.state.depatrments=''; this.state.positions=''; this.state.wechats=''; this.state.qqs=''; this.state.emails=''; }, componentWillReceiveProps(nextProps) { if (!this.props.visible && nextProps.visible) { this.state.companyNamet=''; this.state.telnum=''; this.props.form.resetFields(); }; }, render() { const theData = this.state.data || {}; const { getFieldDecorator } = this.props.form; const FormItem = Form.Item const formItemLayout = { labelCol: { span: 8 }, wrapperCol: { span: 14 }, }; return ( <div> <Form horizontal onSubmit={this.handleSubmit} id="demand-form"> <Spin spinning={this.state.loading}> <div className="clearfix"> <FormItem className="half-item" {...formItemLayout} label="客户姓名" > {getFieldDecorator('companyNamet', { rules: [{ required: true, message: '此项为必填项!' }], initialValue: this.state.companyNamet })( <Input placeholder="客户姓名" /> )} </FormItem> </div> <div className="clearfix"> <FormItem className="half-item" {...formItemLayout} label="联系电话" > {getFieldDecorator('telnums', { rules: [{ required: true, message: '此项为必填项!' }], initialValue: this.state.telnums })( <Input placeholder="联系电话" /> )} </FormItem> </div> <div className="clearfix"> <FormItem className="half-item" {...formItemLayout} label="社会属性" > {getFieldDecorator('societyTagt', { rules: [{ required: true, message: '此项为必填项!' }], initialValue: this.state.societyTagt })( <Select placeholder="客户社会属性"> { socialAttribute.map(function (item) { return <Select.Option key={item.value} >{item.key}</Select.Option> }) } </Select> )} </FormItem> </div> <FormItem wrapperCol={{ span: 12, offset: 4 }}> <Button className="set-submit" type="primary" htmlType="submit">保存</Button> {/*<Button className="set-submit" type="primary" onClick={(e)=>{this.addContent();this.props.closeDesc}}>去完善</Button>*/} <Button className="set-submit" type="ghost" onClick={this.props.closeDesc}>取消</Button> </FormItem> </Spin> </Form > </div> ) } })); const CustomerDetail = React.createClass({ getInitialState() { return { visible: false, tabsKey: 1, loading: false, dataSource: [], }; }, handleCancel(e) { this.setState({ visible: false, }); this.props.closeDesc(false); }, handleOk(e) { this.setState({ visible: false, }); this.props.closeDesc(false, true); }, componentWillReceiveProps(nextProps) { if (!this.state.visible && nextProps.showDesc) { this.state.tabsKey = "1"; }; this.state.visible = nextProps.showDesc; }, render() { return ( <div className="patent-desc"> <Modal maskClosable={false} visible={this.state.visible} onOk={this.checkPatentProcess} onCancel={this.handleCancel} width='800px' title='新建客户' footer='' className="admin-desc-content"> <Spin spinning={this.state.loading}> <AchievementDetailForm data={this.props.data} newmodal={this.props.newmodal} closeDesc={this.handleCancel} visible={this.state.visible} handleOk={this.handleOk} /> </Spin> </Modal> </div> ); }, }); export default CustomerDetail;