import React from 'react'; import {Button ,Input,Select,Spin,Table, Switch, message, DatePicker, Modal,Form ,Row,Col,TimePicker} from 'antd'; import ajax from 'jquery/src/ajax/xhr.js'; import $ from 'jquery/src/ajax'; import moment from 'moment'; import './myClient.less'; const { Column, ColumnGroup } = Table; import {socialAttribute,newFollow,lvl, customerStatus,intentionalService} from '../../../dataDic.js'; import {getcustomerStatue,getprovince,getStatusFollow,getCompanyIntention,getfllowSituation,getContactType } from '../../../tools.js'; const ServiceQuery= Form.create()(React.createClass({ loadData(pageNo, apiUrl) { this.state.data = []; this.setState({ loading: true }); $.ajax({ method: "post", dataType: "json", crossDomain: false, url:globalConfig.context + '/api/admin/customer/listAllBusiness', data: { pageNo: pageNo || 1, pageSize: this.state.pagination.pageSize, businessGlossoryId: this.state.businessIdS, //业务意向 identifyName:this.state.identifyNameS, followSituation:this.state.followSituationS, customerStatus:this.state.customerStatusS, adminName: this.state.adminNameS, startDate: this.state.releaseDate[0], endDate: this.state.releaseDate[1], }, success: function (data) { let theArr = []; if (data.error.length || 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, businessId:thisdata.businessId, businessName:thisdata.businessName, identifyName:thisdata.identifyName, followSituation:thisdata.followSituation, customerStatus:thisdata.customerStatus, adminName:thisdata.adminName, createTime:thisdata.createTime, updateTime:thisdata.updateTime, }); }; this.state.pagination.current = data.data.pageNo; this.state.pagination.total = data.data.totalCount; }; if(data.data&&data.data.list&&!data.data.list.length){ this.state.pagination.current=0; this.state.pagination.total=0; } this.setState({ dataSource: theArr, pagination: this.state.pagination, selectedRowKeys:[] }); }.bind(this), }).always(function () { this.setState({ loading: false }); }.bind(this)); }, getInitialState() { return { dataSources:[], customerName:[], orgCodeUrl:[], companyLogoUrl:[], visible: false , searchMore: true, releaseDate: [], releaseDate: [], selectedRowKeys: [], selectedRowKey: [], 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 + '条数据'; } }, paginations: { defaultCurrent: 1, defaultPageSize: 10, showQuickJumper: true, pageSize: 10, onChange: function (page) { this.loadVisit(page); }.bind(this), showTotal: function (total) { return '共' + total + '条数据'; } }, businessFollowList: [ { title: '跟进时间', dataIndex: 'followTime', key: 'followTime', }, { title: '营销员', dataIndex: 'adminName', key: 'adminName', }, { title: '意向进度', dataIndex: 'followSituation', key: 'followSituation', render:text=>{return getfllowSituation(text)} }, { title: '客户状态', dataIndex: 'customerStatus', key: 'customerStatus', render:text=>{return getcustomerStatue(text)} }, { title: '拜访方式', dataIndex: 'contactType', key:'contactType', render:text=>{return getContactType(text)} }, { title: '联系人', dataIndex: 'contacts', key: 'contacts', }, { title: '联系电话', dataIndex: 'contactMobile', key:'contactMobile', }, ], columns: [ { title: '业务名称', dataIndex: 'businessName', key: 'businessName', }, { title: '意向时间', dataIndex: 'createTime', key: 'createTime', }, { title: '更新时间', dataIndex: 'updateTime', key: 'updateTime', }, { title: '客户名称', dataIndex: 'identifyName', key: 'identifyName', }, { title: '营销员', dataIndex: 'adminName', key: 'adminName', }, { title: '意向进度', dataIndex: 'followSituation', key:'followSituation', render: text => { return getfllowSituation(text) } }, { title: '客户状态', dataIndex: 'customerStatus', key: 'customerStatus', render: text => { return getcustomerStatue(text) } }, ], dataSource: [], searchTime: [,] }; }, componentWillMount() { //意向服务 let intentionalArr = []; newFollow.map(function (item) { intentionalArr.push( {item.key} ) }); //客户状态 let customerStatusArr = []; customerStatus.map(function (item) { customerStatusArr.push( {item.key} ) }); this.state.intentionalOption = intentionalArr; this.state.customerStatusArrOption = customerStatusArr; this.loadData(); }, search() { this.loadData(); }, reset() { this.state.businessIdS=undefined; //名称1 this.state.identifyNameS=''; this.state.followSituationS=undefined; this.state.customerStatusS=undefined; this.state.adminNameS=''; this.state.releaseDate[0]=undefined; this.state.releaseDate[1]=undefined; this.loadData(); }, searchSwitch() { this.setState({ searchMore: !this.state.searchMore }); }, //查看基本详情基本信息 loadInformation(record){ $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + '/api/admin/customer/toUpdateBusiness', data: { businessId: record }, success: function (data) { let thisData = data.data; if (!thisData) { if (data.error && data.error.length) { message.warning(data.error[0].message); }; thisData = {}; }; this.setState({ uids:thisData.uid, dataInformation:thisData, followSituation:thisData.followSituation, businessGlossoryId:thisData.businessGlossoryId, customerStatus:thisData.customerStatus, remarks:thisData.remarks, }); }.bind(this), }).always(function () { this.loadVisit(); this.setState({ loading: false }); }.bind(this)); }, detailsModalOk(e) { this.setState({ modal5Visible:adminData.isSuperAdmin?true:false });//需要一个请求数据 this.loadInformation(e.businessId) }, //点击消失函数 detailsModal(e) { this.setState({ modal5Visible:false }); }, businessFollowOk(){ this.setState({ businessFollowModul:false }); }, businessFollowCancel(){ this.setState({ businessFollowModul:false }); }, //进入修改时 listFollowUp(e){ $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/customer/toUpdateFollowOneBusiness", data:{ ufbId:e.ufbId }, success: function (data) { let thedata=data.data; if (!thedata) { if (data.error && data.error.length) { message.warning(data.error[0].message); }; thedata = {}; }; this.setState({ businessGlossoryId:thedata.businessGlossoryId, followSituation:thedata.followSituation, customerStatus:thedata.customerStatus, followTime:thedata.followTime, createTime:thedata.createTime, identifyName:thedata.identifyName, contactType:parseInt(thedata.contactType), result:thedata.result, remarks:thedata.remarks, adminName:thedata.adminName, contacts:thedata.contacts, contactMobile:thedata.contactMobile, ufbId:thedata.ufbId, followId:thedata.followId, }); }.bind(this), }).always(function () { this.setState({ ufbIds:e.ufbId, loading: false }); }.bind(this)); }, //新建HTTP获取数据 addTime(){ $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/customer/toAddBusinessAndFollow", data:{ }, success: function (data) { let theArr = []; let thedata=data.data; if (!thedata) { if (data.error && data.error.length) { message.warning(data.error[0].message); }; thedata = {}; }; let creatMent=thedata.createTime.substr(10,9); let createYear=thedata.createTime.substr(0,10); this.setState({ createTime:thedata.createTime, creatMent:creatMent, createYear:createYear, followTime:thedata.followTime, adminName: thedata.adminName, }); }.bind(this), }).always(function () { this.setState({ loading: false }); }.bind(this)); }, //获取拜访详情ajax loadVisit(pageNo) { this.setState({ loading: true }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url:globalConfig.context + '/api/admin/customer/listFollowHistory', data: { pageNo: pageNo || 1, pageSize: this.state.paginations.pageSize, uid: this.state.uids, //名称1 businessGlossoryId:this.state.businessGlossoryId, }, success: function (data) { let theArr = []; if (data.error.length || 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({ followId:thisdata.followId, followTime:thisdata.followTime, identifyName:thisdata.identifyName, contacts:thisdata.contacts, contactMobile:thisdata.contactMobile, result:thisdata.result, ufbId:thisdata.ufbId, adminName:thisdata.adminName, followSituation:thisdata.followSituation, customerStatus:thisdata.customerStatus, contactType:thisdata.contactType }); }; this.state.paginations.current = data.data.pageNo; this.state.paginations.total = data.data.totalCount; }; this.setState({ visitArrList: theArr, paginations: this.state.paginations }); }.bind(this), }).always(function () { this.setState({ loading: false }); }.bind(this)); }, componentWillReceiveProps(nextProps) { if (!this.props.visible && nextProps.visible) { if (nextProps.data && nextProps.data.id) { this.loadData(nextProps.data.id, nextProps.detailApiUrl); }; this.state.data = {}; this.state.companyLogoUrl = []; this.state.orgCodeUrl = []; }; }, tableRowClick(record, index) { this.state.RowData = record; this.detailsModalOk(record); this.setState({ selectedRowKeys:[], rowId:record.businessId, }) }, followRowClick(record, index) { this.state.RowData = record; this.listFollowUp(record); this.setState({ businessFollowModul: true, selectedRowKeys:[], }); }, render() { const FormItem = Form.Item const rowSelection = { selectedRowKeys: this.state.selectedRowKeys, onChange: (selectedRowKeys, selectedRows) => { this.setState({ selectedRows: selectedRows.slice(-1), selectedRowKeys: selectedRowKeys.slice(-1) }); }, onSelect: (recordt, selected, selectedRows) => { this.setState({ recordt:recordt.id }) }, }; const rowSelections = { selectedRowKeys: this.state.selectedRowKey, onChange: (selectedRowKey, selectedRow) => { this.setState({ selectedRow: selectedRow.slice(-1), selectedRowKey: selectedRowKey.slice(-1) }); }, onSelect: (records, selected, selectedRow) => { this.setState({ selectedRow: selectedRow.slice(-1), records:records.id, }) }, }; const hasSelected = this.state.selectedRowKeys.length > 0; const { RangePicker } = DatePicker; const { getFieldDecorator } = this.props.form; const formItemLayout = { labelCol: { span: 8 }, wrapperCol: { span: 14 }, }; const theInformation=this.state.dataInformation || {} const contactsOption=""; const formItemLayput = { labelCol: { span: 10 }, wrapperCol: { span: 14 }, }; const businessIds=this.state.businessId||''; const dataSources=this.state.customerArr || []; const options = dataSources.map((group) => ) return (
业务查询
{ this.setState({ identifyNameS: e.target.value }); }} /> 更多搜索
{ this.setState({ releaseDate: dataString }); }} /> { this.setState({ adminNameS: e.target.value }); }} />
{getCompanyIntention(theInformation.businessGlossoryId)} {theInformation.createTime} {theInformation.identifyName} {theInformation.adminName} {getfllowSituation(theInformation.followSituation)} {getcustomerStatue(theInformation.customerStatus)}
{this.state.remarks}
业务跟进
{getCompanyIntention(this.state.businessGlossoryId)} {this.state.createTime} {this.state.identifyName} {this.state.adminName} {getfllowSituation(this.state.followSituation)} {getcustomerStatue(this.state.customerStatus)}
{this.state.remarks}
拜访情况
{getContactType(parseInt(this.state.contactType))} {this.state.contacts} {this.state.adminName} {this.state.followTime} {this.state.result}
); } })); export default ServiceQuery;