| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366 | import React from 'react';import { AutoComplete, Icon, Button, Input, InputNumber, Select, Spin, Table, message, Modal, Row, Col, DatePicker,Switch,Upload} from 'antd';import ajax from 'jquery/src/ajax/xhr.js';import $ from 'jquery/src/ajax';import moment from 'moment';import './myClient.less';import { orderStatusList,cityArr,customerStatus,intentionalService,newFollow} from '../../dataDic.js';import { beforeUploadFile,getOrderStatus, getSearchUrl,getcustomerTyp,getcityArr,getcustomerStatue,getCompanyIntention,getfllowSituation,getsex} from '../../tools.js';//查询功能和初始列表const PublicCustomer = React.createClass({	    loadData(pageNo, detailApiUrl) {    	        this.state.data = [];        this.setState({            loading: true        });        $.ajax({            method: "post",            dataType: "json",            crossDomain: false,                      url:globalConfig.context +'/api/admin/customer/listPublicCustomer',            data: {                pageNo: pageNo || 1,                pageSize: this.state.pagination.pageSize,                               companyName: this.state.companyName, //名称1                				customerType: this.state.customerType, //客户类型1              	locationProvince:this.state.locationProvince,//地区				customerStatus:this.state.customerStatus,//客户状态1				contactName:this.state.contactName,//联系人姓名1											contactTel:this.state.contactTel,//联系人手机				companyIntention:this.state.companyIntention,//意向服务                followSituation:this.state.followSituation,//最新跟进进度				//releaseDateStartDate: this.state.releaseDate[0],                //releaseDateEndDate: this.state.releaseDate[1],			            },            success: function (data) {            	                let theArr = [];                if (!data.data || !data.data.list) {                    if (data.error && data.error.length) {                        message.warning(data.error[0].message);                    };                                   } else {                	                    for (let i = 0; i < data.data.list.length; i++) {                        let thisdata = data.data.list[i];                                               theArr.push({                            key: i,                            id: thisdata.id,                                                                              companyName:thisdata.companyName,//公司名称                            customerType:thisdata.customerType,                            _customerType:thisdata._customerType,//客户类型                            locationProvince:thisdata.locationProvince,//地区                                                    contactName:thisdata.contactName, //联系人姓名                            telNum:thisdata.telNum,//手机号                            _customerStatus:thisdata._customerStatus,//客户状态                            _companyIntention:thisdata._companyIntention,//意向服务                            _followSituation:thisdata._followSituation,//最新跟进                            customerStatus:thisdata.customerStatus,//客户状态                            companyIntention:thisdata.companyIntention,//意向服务                            followSituation:thisdata.followSituation,//最新跟进                            adminName:thisdata.adminName,     //跟进人                                      followDate:thisdata.followDate,                            customerStatus:thisdata.customerStatus,//客户状态                            companyIntention:thisdata.companyIntention,//意向服务                                                                              });                    };                    this.state.pagination.current = data.data.pageNo;                    this.state.pagination.total = data.data.totalCount;                };                               this.setState({                    dataSource: theArr,                    pagination: this.state.pagination                });                         }.bind(this),        }).always(function () {            this.setState({                loading: false            });        }.bind(this));    },     //领取    handleSubmit (e) {     	  let uids;   	      	  let beforeCustomerStatus;    	  let beforeFollowSituation;    	  let beforeCustomerIntention;        for (let idx = 0; idx < this.state.selectedRows.length; idx++) {            let rowItem = this.state.selectedRows[idx];                                      if (rowItem.id) {                uids=rowItem.id;                               beforeCustomerStatus=rowItem.customerStatus;                beforeFollowSituation=rowItem.followSituation;                 beforeCustomerIntention=rowItem.companyIntention;            };                    };          this.setState({            loading: true        });              $.ajax({            method: "get",            dataType: "json",            crossDomain: false,            url: globalConfig.context + '/api/admin/customer/receivePublicCustomer',            data: {                id: uids,                                beforeCustomerIntention:beforeCustomerIntention,                beforeCustomerStatus:beforeCustomerStatus,                beforeFollowSituation:beforeFollowSituation,            }        }).done(function (data) {            this.setState({                loading: false            });            if (!data.error.length) {                message.success('领取成功!');                this.loadData()            } else {                message.warning(data.error[0].message);            };        }.bind(this));    },       getInitialState() {        return {            searchMore: true,            searchType: 0,            validityPeriodDate: [],            releaseDate: [],            selectedRowKeys: [],            selectedRows: [],            loading: false,            pagination: {                defaultCurrent: 1,                defaultPageSize: 10,                showQuickJumper: true,                pageSize: 10,                onChange: function (page) {                    this.loadData(page);                }.bind(this),                showTotal: function (total) {                    return '共' + total + '条数据';                }            },                contactInformation:[           			 {				  title: '姓名',				  dataIndex: 'contactName',				  key: 'contactName'						  					},{						  title: '性别',						  dataIndex: 'sex',						  key: 'sex',						  render: text => { return getsex(text); }					},					{						  title: '手机号码',						  dataIndex: 'telNum',						  key: 'telNum'	 					},{						  title: '座机号',						  dataIndex: 'mobile',						  key: 'mobile'	 					},{						  title: 'QQ号码',						  dataIndex: 'qq',						  key: 'qq'	 					},{						  title: '邮箱号',						  dataIndex: 'email',						  key: 'email'	 					},{						  title: '微信',						  dataIndex: 'wechat',						  key: 'wechat'	 					},{						  title: '部门',						  dataIndex: 'depatrment',						  key: 'depatrment'	 					},{						  title: '职位',						  dataIndex: 'customerPosition',						  key: 'customerPosition'	 					},                  ],            columns: [                               {                    title: '公司名称',                    dataIndex: 'companyName',                    key: 'companyName',                }, {                    title: '客户类型',                    dataIndex: '_customerType',                    key: '_customerType',                    //render: text => { return getcustomerTyp(text); }                }, {                    title: '地区',                    dataIndex: 'locationProvince',                    key: 'locationProvince',                    render: text => { return getcityArr(text); }                }, {                    title: '联系人姓名',                    dataIndex: 'contactName',                    key: 'contactName',                                    },                 {                    title: '手机号',                    dataIndex: 'telNum',                    key:'telNum',                                   },                 {                    title: '客户状态',                    dataIndex: '_customerStatus',                    key: '_customerStatus',                  //render: text => { return getcustomerStatue(text) }                },                {                    title: '意向服务',                    dataIndex: '_companyIntention',                    key: '_companyIntention',                    //render: text => { return getCompanyIntention(text) }                },                 {                    title: '最新跟进',                    dataIndex: '_followSituation',                    key: '_followSituation',                    //render: text => { return getfllowSituation(text) }                },                 {                    title: '跟单人',                    dataIndex: 'adminName',                    key: 'adminName',                },                {                    title: '时间',                    dataIndex: 'followDate',                    key: 'followDate',                }            ],            dataSource: [],            searchTime: [],        };    },    componentWillMount() {        let theArr = [];        customerStatus.map(function (item) {            theArr.push(                <Select.Option value={item.value} key={item.key}>{item.key}</Select.Option>            )        });                                   let intentionalArr = [];        intentionalService.map(function (item) {            intentionalArr.push(                <Select.Option value={item.value} key={item.key}>{item.key}</Select.Option>            )        });           let newArr = [];        newFollow.map(function (item) {            newArr.push(                <Select.Option value={item.value} key={item.key}>{item.key}</Select.Option>            )        });   				let auditArr = [];        cityArr.map(function (item) {            auditArr.push(                <Select.Option value={item.value} key={item.key}>{item.key}</Select.Option>            )        });         this.state.customerStatuarr = theArr;                       this.state.intentionalOption = intentionalArr;        this.state.newOption = newArr;        this.state.auditStatusOption = auditArr;                if (window.location.search) {            let theObj = getSearchUrl(window.location.search);            if (theObj.rid) {                theObj.id = theObj.rid;                if (theObj.rid != 'null') {                    this.tableRowClick(theObj);                };            };        };               this.loadData();            },        closeDesc(e, s) {        this.state.showDesc = e;        if (s) {            this.loadData();        };    },    search() {        this.loadData();    },    reset() {    	this.state.companyName='';           this.state.id = undefined;        this.state.shareType = undefined;        this.state.companyIntention  = undefined;        this.state.followSituation  = undefined;        this.state.locationProvince  = undefined;        this.state.customerStatus  = undefined;        this.state.contactName   = undefined;        this.state.contactTel = undefined;        this.state.contactName = undefined;          this.state.releaseDate = [];        this.loadData();     },    searchSwitch() {        this.setState({            searchMore: !this.state.searchMore        });    },    render() {    	  const theData = this.state.data || {};         const rowSelection = {            selectedRowKeys: this.state.selectedRowKeys,            onChange: (selectedRowKeys, selectedRows) => {                this.setState({                    selectedRows: selectedRows.slice(-1),                    selectedRowKeys: selectedRowKeys.slice(-1)                });            }        };        const hasSelected = this.state.selectedRowKeys.length > 0;        const { RangePicker } = DatePicker;        return (            <div className="user-content" >                <div className="content-title">                                      <span>公共客户管理</span>                                  </div>                <div className="user-search">                                        <Input placeholder="公司名称"                        value={this.state.companyName}                        onChange={(e) => { this.setState({ companyName: e.target.value }); }} />                     <Select placeholder="客户类型" style={{ width: 120 }}                            value={this.state.customerType }                            onChange={(e) => { this.setState({ customerType : e }) }}>                            <Select.Option value="0" >个人客户</Select.Option>                            <Select.Option value="1" >公司客户</Select.Option>                    </Select>                                            <Select placeholder="地区"                            style={{ width: 160 }}                            value={this.state.locationProvince}                            onChange={(e) => { this.setState({ locationProvince: e }) }}>                            {this.state.auditStatusOption}                    </Select>                                        <Button type="primary" onClick={this.search}>搜索</Button>                    <Button onClick={this.reset}>重置</Button>                     <Button type="primary" onClick={this.handleSubmit} disabled={!hasSelected}>领取</Button>                                                                                                             </div>                <div className="patent-table">                    <Spin spinning={this.state.loading}>                        <Table columns={this.state.columns}                            dataSource={this.state.dataSource}                            rowSelection={rowSelection}                            pagination={this.state.pagination}                            />                    </Spin>                </div>                            </div >        );    }});export default PublicCustomer;
 |