import React from 'react'; import { Radio, Icon, Button, AutoComplete,Cascader,Input, Select, Spin, Popconfirm, Table, Switch, message, DatePicker, Upload, Form } from 'antd'; import ajax from 'jquery/src/ajax/xhr.js'; import $ from 'jquery/src/ajax'; import moment from 'moment'; import { citySelect, provinceList } from '@/NewDicProvinceList'; import AddIntention from './addIntention.jsx'; import { socialAttribute, industry, auditStatusL, lvl, currentMember } from '@/dataDic.js'; import { getSocialAttribute, beforeUploadFile ,getLevel} from '@/tools.js'; import FollowDetail from './followDetail.jsx' import IntentionDetail from './intentionDetail/intentionDetail.jsx' import './customer.less'; const IntentionCustomer = Form.create()(React.createClass({ loadData(pageNo, apiUrl) { this.setState({ visitModul:false, loading: true, ispage:pageNo, modalVisible:false }); let api=apiUrl?apiUrl:this.props.ApiUrl; $.ajax({ method: "post", dataType: "json", crossDomain: false, url: globalConfig.context + api, data: { pageNo: pageNo || 1, pageSize: this.state.pagination.pageSize, level:this.state.level?this.state.level:undefined, name: this.state.nameSearch, province: !(this.state.addressSearch).length ? this.state.provinceSearch : this.state.addressSearch[0], city: !(this.state.addressSearch).length ? '' : this.state.addressSearch[1], 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]; let diqu=(thisdata.province==null?"":thisdata.province)+(thisdata.city==null?"":"-"+thisdata.city)+(thisdata.area==null?"":"-"+thisdata.area); theArr.push({ key: i, id: thisdata.uid, aid:thisdata.aid, name: thisdata.name, contacts: thisdata.contacts, contactMobile: thisdata.contactMobile, industry: thisdata.industry, societyTag: thisdata.societyTag, lastFollowTime:thisdata.lastFollowTime&&thisdata.lastFollowTime.split(' ')[0], transferTime:thisdata.transferTime&&thisdata.transferTime.split(' ')[0], surplusFollowTime:thisdata.surplusFollowTime&&thisdata.surplusFollowTime.split(' ')[0], surplusSignTime:thisdata.surplusSignTime&&thisdata.surplusSignTime.split(' ')[0], locationProvince: diqu, level:thisdata.level, }); }; 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)); }, //品类数据获取 category(){ $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/Varieties/getSuperList", data: { }, success: function(data) { let thedata = data.data; let theArr=[]; if(!thedata) { if(data.error && data.error.length) { message.warning(data.error[0].message); }; thedata = {}; }else{ thedata.map(function(item,index){ theArr.push({ value:item.id, key:item.cname, }) }) } this.setState({ categoryArr:theArr, }) }.bind(this), }); }, getInitialState() { return { addressSearch: [], orgCodeUrl: [], companyLogoUrl: [], visible: false, searchMore: true, releaseDate: [], categoryArr:[], visitModul:false, keys:false, detailApi:'', followData:{}, selectedRowKeys: [], selectedRowKey: [], selectedRows: [], loading: false, modalVisible:false, pagination: { defaultCurrent: 1, defaultPageSize: 10, showQuickJumper: true, pageSize: 10, onChange: function(page) { this.loadData(page); }.bind(this), showTotal: function(total) { return '共' + total + '条数据'; } }, columns: [{ title: '客户名称', dataIndex: 'name', key: 'name', }, { title: '地区', dataIndex: 'locationProvince', key: 'locationProvince', }, { title: '联系人', dataIndex: 'contacts', key: 'contacts', }, { title: '联系电话', dataIndex: 'contactMobile', key: 'contactMobile', }, { title: '社会性质', dataIndex: 'societyTag', key: 'societyTag', render: text => { return getSocialAttribute(text) } }, { title: '客户初始时间', dataIndex: 'transferTime', key: 'transferTime', }, { title: '剩余私有天数', dataIndex: 'surplusFollowTime', key: 'surplusFollowTime' }, { title: '最新跟进时间', dataIndex: 'lastFollowTime', key: 'lastFollowTime', },{ title: '客户等级', dataIndex: 'level', key: 'level', render:text => { return getLevel(text) } }, { title: '跟进操作', dataIndex: 'abc', key: 'abc', render: (text, record, index) => { return
} } ], data: [], dataman: [], dataSource: [], visitArrList: [], searchTime: [, ] }; }, rankO(rank){ let deletedIds; for(let idx = 0; idx < this.state.selectedRows.length; idx++) { let rowItem = this.state.selectedRows[idx]; if(rowItem.id) { deletedIds = rowItem.id; }; }; $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/customer/updateUserLevel", data: { id: deletedIds, //客户的ID level:rank } }).done(function(data) { if(!data.error.length) { message.success('操作成功!'); this.setState({ loading: false, }); } else { message.warning(data.error[0].message); }; this.loadData(this.state.ispage); }.bind(this)); }, //进入新增拜访记录 visit(e) { this.setState({ followData:e, visitModul:true, modalVisible:false }) }, //列表删除功能 delectRow() { let deletedIds; for(let idx = 0; idx < this.state.selectedRows.length; idx++) { let rowItem = this.state.selectedRows[idx]; if(rowItem.id) { deletedIds = rowItem.id; }; }; this.setState({ loading: true, selectedRowKeys: [], }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/customer/deleteCustomer", data: { uid: deletedIds, //删除的ID } }).done(function(data) { if(!data.error.length) { message.success('删除成功!'); this.setState({ loading: false, }); } else { message.warning(data.error[0].message); }; this.loadData(this.state.ispage); }.bind(this)); }, componentWillMount() { //城市 let Province = []; provinceList.map(function(item) { var id = String(item.id) Province.push( {item.name} ) }); //行业 let intentionalArr = []; industry.map(function(item) { intentionalArr.push( {item.key} ) }); //会员等级 let lvlArr = []; lvl.map(function(item) { lvlArr.push( {item.key} ) }); //会员状态customerStatus let currentMemberArr = []; currentMember.map(function(item) { currentMemberArr.push( {item.key} ) }); this.state.Provinces = Province; this.state.intentionalOption = intentionalArr; this.state.lvlArrOption = lvlArr; this.state.currentMemberArrOption = currentMemberArr; this.loadData(); this.category() }, addClick() { this.state.RowData = {}; this.setState({ detailApi:this.props.detailApi, showDesc: true, modalVisible:false, visitModul:false }); }, closeDesc(e, s) { this.state.basicState=e this.state.visitModul=e; this.state.modalVisible=e; this.state.showDesc = e; if(s) { this.loadData(this.state.ispage); }; }, search() { this.loadData(); }, reset() { this.state.nameSearch = ''; this.state.level = undefined; this.state.addressSearch = []; this.state.provinceSearch = undefined; this.state.citySearch = undefined; this.state.releaseDate[0] = undefined; this.state.releaseDate[1] = undefined; this.loadData(); }, searchSwitch() { this.setState({ visitModul:false, searchMore: !this.state.searchMore }); }, //整行点击 tableRowClick(record, index) { this.state.visitModul=false; this.state.RowData = record; this.setState({ selectedRowKeys: [], modalVisible:true, basicState:true, contactState:true, }) }, //指定转交人自动补全 supervisor(e){ $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/customer/listAdminByName", data:{ adminName:e }, success: function (data) { let thedata=data.data; if (!thedata) { if (data.error && data.error.length) { message.warning(data.error[0].message); }; thedata = {}; }; this.setState({ customerArr:thedata, }); }.bind(this), }).always(function () { this.setState({ loading: false }); }.bind(this)); }, //上级主管输入框失去焦点是判断客户是否存在 selectAuto(value,options){ this.setState({ auto:value }) }, blurChange(e){ let theType=''; let contactLists=this.state.customerArr||[]; if (e) { contactLists.map(function (item) { if (item.name == e.toString()) { theType = item.id; } }); } this.setState({ theTypes:theType }) }, //值改变时请求客户名称 httpChange(e){ if(e.length>=1){ this.supervisor(e); } this.setState({ auto:e }) }, //转交 changeAssigner() { if(this.state.theTypes){ this.setState({ selectedRowKeys: [], }); let changeIds,oldAid; for(let idx = 0; idx < this.state.selectedRows.length; idx++) { let rowItem = this.state.selectedRows[idx]; if(rowItem.id) { oldAid=rowItem.aid; changeIds = rowItem.id; }; }; $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/customer/transferToOther", data: { uid: changeIds, //这一行数据的ID aid: this.state.theTypes, //指定转交人的ID oldAid:oldAid } }).done(function(data) { if(!data.error.length) { message.success('转交成功!'); this.setState({ auto:'', loading: false, }); } else { message.warning(data.error[0].message); }; this.loadData(Math.min(this.state.ispage==undefined?1:this.state.ispage,Math.ceil((this.state.pagination.total-1)/10))); }.bind(this)); }else{ message.warning('请输入转交人姓名') } }, componentWillReceiveProps(nextProps) { if(nextProps.ApiUrl!=this.props.ApiUrl) { if(!this.state.searchMore){ this.state.searchMore=true } this.state.nameSearch = ''; this.state.addressSearch = []; this.state.provinceSearch = undefined; this.state.citySearch = undefined; this.state.releaseDate[0] = undefined; this.state.releaseDate[1] = undefined; this.loadData(null,nextProps.ApiUrl); }; }, render() { const FormItem = Form.Item; const rowSelection = { selectedRowKeys: this.state.selectedRowKeys, onChange: (selectedRowKeys, selectedRows) => { this.setState({ modalVisible:false, selectedRows: selectedRows.slice(-1), selectedRowKeys: selectedRowKeys.slice(-1) }); }, onSelect: (recordt, selected, selectedRows) => { this.setState({ modalVisible:false, recordt: recordt.id }) }, }; const hasSelected = this.state.selectedRowKeys.length > 0; const { RangePicker } = DatePicker; const dataSources=this.state.customerArr || []; const options = dataSources.map((group) => {group.name} ) const intentionState = this.props.intentionState ||''; return(
{!intentionState?'私有单位客户':'私有专家客户'}
{ this.setState({ nameSearch: e.target.value }); }} /> { this.setState({ addressSearch: e }) }} /> { this.setState({ releaseDate: dataString }); }} /> {/* { if (info.file.status !== 'uploading') { console.log(info.file, info.fileList); } if (info.file.status === 'done') { if (!info.file.response.error.length) { message.success(`${info.file.name} 文件上传成功!`); this.loadData(); } else { message.warning(info.file.response.error[0].message); return; }; } else if (info.file.status === 'error') { message.error(`${info.file.name} 文件上传失败。`); }; }} > {adminData.isSuperAdmin? :'' }*/}
); } })); export default IntentionCustomer;