|
@@ -0,0 +1,207 @@
|
|
|
+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;
|