import React from 'react';
import { Radio, Icon, Button, Cascader, Input, Select, Tabs, Spin, Popconfirm, Table, Switch, message, DatePicker, Modal, Upload, Form, Row, Col } from 'antd';
import ajax from 'jquery/src/ajax/xhr.js';
import $ from 'jquery/src/ajax';
import moment from 'moment';
import './myClient.less';
import { citySelect, provinceList, areaSelect } from '../../../areaList';
import {getProvinceList} from '../../../addressList';
const { Column, ColumnGroup } = Table;
const TabPane = Tabs.TabPane;
const monthFormat = 'YYYY/MM';
import CustomerDetail from './myClientDesc.jsx';
import { socialAttribute, industry, auditStatusL, newFollow, lvl, currentMember, statuslist, customerStatus, intentionalService } from '../../../dataDic.js';
import { getSocialAttribute, splitUrl,getAuditStatus, getCompanyIntention, getStatuslist, getContactType, getIndustryType, getfllowSituation, beforeUploadFile, getWhether, getcustomerStatue, getfllowSituationOn, getCertification, getcustomerTyp, getLvl, getCurrentMember, getprovince } from '../../../tools.js';
import AddContact from "../NEW/signCustomer/followDetail/addContact";
//图片组件
const PicturesWall = React.createClass({
getInitialState() {
return {
previewVisible: false,
previewImage: '',
fileList: [],
}
},
handleCancel() {
this.setState({ previewVisible: false })
},
handlePreview(file) {
this.setState({
previewImage: file.url || file.thumbUrl,
previewVisible: true,
});
},
handleChange(info) {
let fileList = info.fileList;
this.setState({ fileList });
this.props.fileList(fileList);
},
componentWillReceiveProps(nextProps) {
this.state.fileList = nextProps.pictureUrl;
},
render() {
const { previewVisible, previewImage, fileList } = this.state;
const uploadButton = (
);
return(
{fileList.length >= 1 ? null : uploadButton}
);
}
});
const QueryCustomer = Form.create()(React.createClass({
loadData(pageNo, apiUrl) {
this.state.data = [];
this.setState({
loading: true,
ispage:pageNo,
});
$.ajax({
method: "post",
dataType: "json",
crossDomain: false,
url: globalConfig.context + '/api/admin/customer/listAllManagePersonalCustomer',
data: {
pageNo: pageNo || 1,
pageSize: this.state.pagination.pageSize,
type: this.state.typeSearch, //名称1
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],
status: this.state.statusSearch,
industry: this.state.industrySearch,
businessAudit: this.state.serviceCertificationSearch,
auditStatus: this.state.userCertificationSearch,
currentMemberStatus: this.state.currentMemberStatusSearch,
lvl: this.state.lvlSearch,
listed: this.state.listedSearch, //是否上市
highTechZone: this.state.highTechZoneSearch, //是否高新
startDate: this.state.releaseDate[0],
endDate: this.state.releaseDate[1],
isMember: this.state.isMemberSearch,
international: this.state.internationalSearch,
celebrity: this.state.celebritySearch,
expert: this.state.expertSearch,
shareType: this.state.shareTypeSearch,
},
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.uid,
type: thisdata.type,
name: thisdata.name,
status: thisdata.status,
contacts: thisdata.contacts,
contactMobile: thisdata.contactMobile,
industry: thisdata.industry,
createTime: thisdata.createTime,
businessAudit: thisdata.businessAudit,
auditStatus: thisdata.auditStatus,
lvl: thisdata.lvl,
shareType: thisdata.shareType,
isMember: thisdata.isMember,
consultant: thisdata.consultant,
societyTag: thisdata.societyTag,
currentMemberStatus: thisdata.currentMemberStatus,
international: thisdata.international,
listed: thisdata.listed,
expert: thisdata.expert,
celebrity: thisdata.celebrity,
adminName: thisdata.adminName,
highTechZone: thisdata.highTechZone,
locationProvince: thisdata.province ? thisdata.province + '-' + thisdata.city || '' + '-' + thisdata.area : '--'
});
};
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));
},
//点击出现函数
setModal2VisibleOk(e) {
this.setState({
modal2Visible: true
});
},
//点击消失函数
setModal2Visiblecancel(e) {
this.setState({
modal2Visible: false
});
},
getPictureUrl(e) {
this.setState({ pictureUrl: e });
},
handleOk(e) {
this.setState({
visible: false,
});
},
handleCancel(e) {
this.setState({
visible: false,
});
},
getInitialState() {
return {
addressSearch: [],
positiveIdUrl: [],
oppositeIdUrl: [],
headPortraitUrl: [],
visible: false,
searchMore: true,
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 + '条数据';
}
},
paginationsy: {
defaultCurrent: 1,
defaultPageSize: 10,
showQuickJumper: true,
pageSize: 10,
onChange: function(page) {
this.loadBfVisit(page, false);
}.bind(this),
showTotal: function(total) {
return '共' + total + '条数据';
}
},
paginationt: {
defaultCurrent: 1,
defaultPageSize: 10,
showQuickJumper: true,
pageSize: 10,
onChange: function(page) {
this.BusinessList(page, false);
}.bind(this),
showTotal: function(total) {
return '共' + total + '条数据';
}
},
//业务意向列表
intentionList: [{
title: '业务名称',
dataIndex: 'businessGlossoryId',
key: 'businessGlossoryId',
render: (text, record, index) => {
return adminData.isSuperAdmin ? : {getCompanyIntention(text)}
}
},
{
title: '最新进度',
dataIndex: 'followSituation',
key: 'followSituation',
render: (text, record, index) => {
return adminData.isSuperAdmin ? : {getfllowSituation(text)}
}
}, {
title: '最新状态',
dataIndex: 'customerStatus',
key: 'customerStatus',
render: (text, record, index) => {
return adminData.isSuperAdmin ? : {getcustomerStatue(text)}
}
}, {
title: '跟进说明',
dataIndex: 'remarks',
key: 'remarks',
render: (text, record, index) => {
return adminData.isSuperAdmin ? { record.remarks = e.target.value; this.setState({ data: this.state.data }); }}
style={{width:'120px'}}/> : {text}
}
}, {
title: '操作',
dataIndex: 'rrr',
key: 'rrr',
render: (text, record, index) => {
return
{this.intentionDelet(record,index)}} okText="删除" cancelText="不删除">
}
}
],
businessIntentionList: [{
title: '意向时间',
dataIndex: 'createTime',
key: 'createTime'
}, {
title: '客户姓名',
dataIndex: 'identifyName',
key: 'identifyName'
}, {
title: '业务名',
dataIndex: 'businessName',
key: 'businessName'
}, {
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: 'ooo',
key: 'ooo',
render: (text, record) => { return() }
}],
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',
}, {
title: '操作',
dataIndex: 'ooo',
key: 'ooo',
render: (text, record) => { return() }
}
],
visitsList: [{
title: '拜访时间',
dataIndex: 'followTime',
key: 'followTime'
}, {
title: '客户姓名',
dataIndex: 'identifyName',
key: 'identifyName'
}, {
title: '拜访方式',
dataIndex: 'contactType',
key: 'contactType',
render: text => { return getContactType(text) }
}, {
title: '联系人',
dataIndex: 'contacts',
key: 'contacts'
}, {
title: '联系电话',
dataIndex: 'contactMobile',
key: 'contactMobile'
}, {
title: '拜访人',
dataIndex: 'adminName',
key: 'adminName'
}, {
title: '拜访说明',
dataIndex: 'result',
key: 'result',
render: text => {
return {text}
}
}, {
title: '操作',
dataIndex: 'ttt',
key: 'ttt',
render: (text, record, index) => {
return adminData.isSuperAdmin ?
{this.visitDelet(record)}} okText="删除" cancelText="不删除">
:
}
}],
ContactsLists: [{
title: '姓名',
dataIndex: 'name',
width:100,
key: 'name',
render: (text, record, index) => {
return adminData.isSuperAdmin ? { record.name = e.target.value;
this.setState({ contactList: this.state.contactList }); }} style={{width:'120px'}}/> : {text}
}
}, {
title: '联系人部门',
dataIndex: 'depatrment',
width:100,
key: 'depatrment',
render: (text, record, index) => {
return adminData.isSuperAdmin ? { record.depatrment = e.target.value; this.setState({ contactList: this.state.contactList }); }} style={{width:'120px'}}/> : {text}
}
}, {
title: '联系人职务',
dataIndex: 'position',
width:100,
key: 'position',
render: (text, record, index) => {
return adminData.isSuperAdmin ? { record.position = e.target.value; this.setState({ contactList: this.state.contactList }); }} style={{width:'120px'}}/> : {text}
}
}, {
title: '主要联系人',
dataIndex: 'major',
width:100,
key: 'major',
render:(text) => {
return text?'是':"否"
}
},{
title: '手机号码',
dataIndex: 'mobile',
width:100,
key: 'mobile',
render: (text, record, index) => {
return adminData.isSuperAdmin ? { record.mobile = e.target.value; this.setState({ contactList: this.state.contactList }); }} style={{width:'120px'}}/> : {text}
}
}, {
title: '微信',
dataIndex: 'wechat',
width:100,
key: 'wechat',
render: (text, record, index) => {
return adminData.isSuperAdmin ? { record.wechat = e.target.value; this.setState({ contactList: this.state.contactList }); }} style={{width:'120px'}}/> : {text}
}
}, {
title: '联系人QQ',
dataIndex: 'qq',
width:100,
key: 'qq',
render: (text, record, index) => {
return adminData.isSuperAdmin ? { record.qq = e.target.value; this.setState({ contactList: this.state.contactList }); }} style={{width:'120px'}}/> : {text}
}
}, {
title: '电子邮箱',
dataIndex: 'email',
width:"100",
key: 'email',
render: (text, record, index) => {
return adminData.isSuperAdmin ? { record.email = e.target.value; this.setState({ contactList: this.state.contactList }); }} style={{width:'120px'}}/> : {text}
}
},
{
title: '操作',
dataIndex: 'dels',
key: 'dels',
render: (text, record, index) => {
return {adminData.isSuperAdmin ?
{this.confirmDelet(record)}} okText="删除" cancelText="不删除">
:''}
{record.name?
:''}
}
}
],
columnsman: [{
title: '姓名',
dataIndex: 'name',
key: 'name'
}, {
title: '手机号码',
dataIndex: 'mobile',
key: 'mobile'
}],
columns: [{
title: '客户姓名',
dataIndex: 'name',
key: 'name',
}, {
title: '地区',
dataIndex: 'locationProvince',
key: 'locationProvince',
},
{
title: '公共客户',
dataIndex: 'shareType',
key: 'shareType',
render: (text, record) => { return record.shareType == '1' ? 公共客户 : 个人客户 }
},
{
title: '行业',
dataIndex: 'industry',
key: 'industry',
},
{
title: '社会性质',
dataIndex: 'societyTag',
key: 'societyTag',
render: text => { return getSocialAttribute(text) }
},
{
title: '创建时间',
dataIndex: 'createTime',
key: 'createTime',
},{
title: '所属人',
dataIndex: 'adminName',
key: 'adminName',
},
{
title: '业务认证',
dataIndex: 'businessAudit',
key: 'businessAudit',
render: text => { return getCertification(text) }
},
{
title: '实名认证',
dataIndex: 'auditStatus',
key: 'auditStatus',
render: text => { return getAuditStatus(text) }
},
{
title: '是否专家',
dataIndex: 'expert',
key: 'expert',
render: text => { return getWhether(text) }
},
{
title: '是否会员',
dataIndex: 'isMember',
key: 'isMember',
render: text => { return getWhether(text) }
},
{
title: '是否国际',
dataIndex: 'international',
key: 'international',
render: text => { return getWhether(text) }
},
{
title: '会员等级',
dataIndex: 'lvl',
key: 'lvl',
render: text => { return getLvl(text) }
},
{
title: '会员状态',
dataIndex: 'currentMemberStatus',
key: 'currentMemberStatus',
render: text => { return getCurrentMember(text) }
},
{
title: '状态',
dataIndex: 'status',
key: 'status',
render: text => { return getStatuslist(text) }
}
],
data: [],
dataman: [],
dataSource: [],
visitArrList: [],
searchTime: [, ]
};
},
//更多操作
ModalOperation() {
this.setState({
visible: true,
});
},
//选择主要联系人
mainContact(record){
this.setState({
loading: true
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/customer/updateMainContact",
data: {
uid:this.state.rowId,
ocbId: record.id
}
}).done(function(data) {
if(!data.error.length) {
message.success('设为主要联系人成功!');
this.setState({
loading: false,
});
} else {
message.warning(data.error[0].message);
};
this.contactLists(this.state.rowId);
}.bind(this));
},
//tab2获取联系人详情
contactLists(ids) {
this.setState({
loading: true
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + '/api/admin/customer/findCustomerContacts',
data: {
uid: ids, //名称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.length; i++) {
let thisdata = data.data[i];
theArr.push({
id: thisdata.id,
name: thisdata.name,
mobile: thisdata.mobile,
email: thisdata.email,
qq: thisdata.qq,
wechat: thisdata.wechat,
depatrment: thisdata.depatrment,
position: thisdata.position,
major:thisdata.major
});
};
};
this.setState({
contactList: theArr,
});
}.bind(this),
}).always(function() {
this.setState({
loading: false
});
}.bind(this));
},
//刷新新增拜访记录刷新
deletelist(e) {
$.ajax({
method: "get",
dataType: "json",
url: globalConfig.context + '/api/admin/customer/toAddFollow',
data: {
uid: e,
},
success: function(data) {
let listArr = [];
let thedata = data.data;
if(!thedata) {
if(data.error && data.error.length) {
message.warning(data.error[0].message);
};
thedata = {};
};
for(let i = 0; i < data.data.userBusinessList.length; i++) {
let thisdata = data.data.userBusinessList[i];
listArr.push({
id: thisdata.id,
businessGlossoryId: String(thisdata.businessGlossoryId),
followSituation: String(thisdata.followSituation),
customerStatus: String(thisdata.customerStatus),
remarks: thisdata.remarks,
});
};
this.setState({
contacts: thedata.contacts,
uid: thedata.uid,
data: listArr,
identifyName: thedata.identifyName,
followTime: thedata.followTime,
businessGlossoryId: thedata.businessGlossoryId,
followSituation: thedata.followSituation,
customerStatus: thedata.customerStatus,
remarks: thedata.remarks,
});
}.bind(this),
}).always(function() {
this.setState({
loading: false
});
}.bind(this));
},
//拜访记录删除
visitDelet(e) {
this.setState({
loading: true
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/customer/deleteFollow",
data: {
followId: e.followId, //删除的ID
}
}).done(function(data) {
if(!data.error.length) {
message.success('删除成功!');
this.setState({
loading: false,
});
} else {
message.warning(data.error[0].message);
};
this.loadVisit();
}.bind(this));
},
//进入修改拜访记录
visitModify(e) {
this.setState({
visitModul: true,
loading: true
});
$.ajax({
method: "get",
dataType: "json",
url: globalConfig.context + '/api/admin/customer/toUpdateFollow',
data: {
followId: e,
},
success: function(data) {
let theArr = [];
let thedata = data.data;
if(!thedata) {
if(data.error && data.error.length) {
message.warning(data.error[0].message);
};
thedata = {};
};
for(let i = 0; i < data.data.userBusinessList.length; i++) {
let thisdata = data.data.userBusinessList[i];
theArr.push({
id: thisdata.id,
businessGlossoryId: String(thisdata.businessGlossoryId),
followSituation: String(thisdata.followSituation),
customerStatus: String(thisdata.customerStatus),
remarks: thisdata.remarks,
});
};
this.setState({
followIds: thedata.followId,
contacts: thedata.contacts,
uid: thedata.uid,
data: theArr,
nub: thedata.contactMobile,
result: thedata.result,
contactType: parseInt(thedata.contactType),
identifyName: thedata.identifyName,
followTime: thedata.followTime,
businessGlossoryId: thedata.businessGlossoryId,
followSituation: thedata.followSituation,
customerStatus: thedata.customerStatus,
adminName: thedata.adminName,
});
}.bind(this),
}).always(function() {
this.setState({
loading: false
});
}.bind(this));
},
//列表删除功能
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({
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));
},
//领取
changeRow(e) {
this.setState({
loading: true,
selectedRowKeys: [],
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/customer/receiveCustomer",
data: {
uid: e.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));
},
getHeadPortraitUrl(e) {
this.setState({ headPortraitUrl: e });
},
getPositiveIdUrl(e) {
this.setState({ positiveIdUrl: e });
},
getOppositeIdUrl(e) {
this.setState({ oppositeIdUrl: e });
},
componentWillMount() {
let areaArr= getProvinceList();
let Citys=citySelect(areaArr);
let Areas=areaSelect(areaArr);
this.setState({
City: Citys,
Area: Areas
});
//城市
let Province = [];
areaArr.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}
)
});
//客户状态
let customerStatusArr = [];
customerStatus.map(function(item) {
customerStatusArr.push(
{item.key}
)
});
this.state.Provinces = Province;
this.state.intentionalOption = intentionalArr;
this.state.lvlArrOption = lvlArr;
this.state.currentMemberArrOption = currentMemberArr;
this.state.customerStatusArrOption = customerStatusArr;
this.loadData(this.state.ispage);
},
search() {
this.loadData();
},
reset() {
this.state.expertSearch = undefined;
this.state.celebritySearch = undefined;
this.state.shareTypeSearch = undefined;
this.state.typeSearch = undefined; //名称1
this.state.nameSearch = '';
this.state.addressSearch = [];
this.state.provinceSearch = undefined;
this.state.citySearch = undefined;
this.state.statusSearch = undefined;
this.state.contactsSearch = undefined;
this.state.contactMobileSearch = undefined;
this.state.industrySearch = undefined;
this.state.serviceCertificationSearch = undefined;
this.state.userCertificationSearch = undefined;
this.state.currentMemberStatusSearch = undefined;
this.state.lvlSearch = undefined;
this.state.listedSearch = undefined;
this.state.highTechZoneSearch = undefined;
this.state.releaseDate[0] = undefined;
this.state.releaseDate[1] = undefined;
this.loadData();
},
searchSwitch() {
this.setState({
searchMore: !this.state.searchMore
});
},
//详情保存函数
detailsSubmint() {
this.setState({
modal5Visible: false,
})
},
//整行点击
tableRowClick(record, index) {
this.state.RowData = record;
this.detailsModalOk(record);
this.loadInformation(record.id)
this.httpAccount(record.id);
this.loadBfVisit(1, record.id);
this.BusinessList(1, record.id);
this.contactLists(record.id);
this.setState({
callnub:'1',
selectedRowKeys: [],
rowId: record.id,
})
},
VisitRowClick(record, index) {
this.state.keys = false;
this.state.RowData = record;
this.visitModify(record.followId);
this.setState({
selectedRowKeys: [],
delectId: record.followId,
})
},
//基本信息提交
newSubmit(e) {
e.preventDefault();
if(!this.state.industry) {
message.warning('请选择行业');
return false;
};
if(!this.state.societyTag) {
message.warning('请选择社会性质');
return false;
};
if(!this.state.ProvinceCity[1]) {
message.warning('请选择地区');
return false;
};
var reg=/^[1-9]\d*$|^0$/;
if(this.state.consultationPrice){
if(this.state.consultationPrice.length>6) {
message.warning('咨询费用不超过6位数');
this.refs.consul.focus();
return false;
};
if(!reg.test(this.state.consultationPrice)){
message.warning('咨询费用只能输入数字 ');
this.refs.consul.focus();
return false;
}
}
this.setState({
selectedRowKeys: [],
});
this.props.form.validateFields((err, values) => {
let theorgCodeUrl = [];
if(this.state.headPortraitUrl.length) {
let picArr = [];
this.state.headPortraitUrl.map(function(item) {
if ( item.response && item.response.data && item.response.data.length ){
picArr.push(item.response.data);
}
});
theorgCodeUrl = picArr.join(",");
};
let thecompanyLogoUrl = [];
if(this.state.positiveIdUrl.length) {
let picArr = [];
this.state.positiveIdUrl.map(function(item) {
if ( item.response && item.response.data && item.response.data.length ){
picArr.push(item.response.data);
}
});
thecompanyLogoUrl = picArr.join(",");
};
let thecompanyLogoUrls = [];
if(this.state.oppositeIdUrl.length) {
let picArr = [];
this.state.oppositeIdUrl.map(function(item) {
if ( item.response && item.response.data && item.response.data.length ){
picArr.push(item.response.data);
}
});
thecompanyLogoUrls = picArr.join(",");
};
if(!err) {
let years = [];
let yearMonth = new Date(this.state.yearMonth).toLocaleDateString();
years = yearMonth.split('/');
this.setState({
loading: true
});
$.ajax({
method: "post",
dataType: "json",
url: globalConfig.context + '/api/admin/customer/updatePersonalCustomer',
data: {
id: this.state.InformationId,
uid: this.state.InformationUid,
societyTag: this.state.societyTag,
identifyName: this.state.identifyName,
industry: this.state.industry,
dateOfBirthYear: years[0], //出生年
dateOfBirthMonth: years[1], //出生月
province: (this.state.ProvinceCity)[0], //省-
city: (this.state.ProvinceCity)[1], //市
area: (this.state.ProvinceCity)[2], //区
sex: this.state.sex,
expert: this.state.expert,
celebrity: this.state.celebrity,
international: this.state.international,
fixedTel: this.state.fixedTel,
consultationPrice: this.state.consultationPrice,
qq: this.state.qq,
contacts: this.state.contacts,
contactMobile: this.state.contactMobile,
idNumber: this.state.idNumber,
email: this.state.email,
isMember: this.state.isMember,
consultant: this.state.consultant,
postalAddress: this.state.postalAddress,
introduction: this.state.introduction,
positiveIdUrl: thecompanyLogoUrl,
oppositeIdUrl: thecompanyLogoUrls,
headPortraitUrl: theorgCodeUrl,
investment: this.state.investment,
professionalTitle: this.state.professionalTitle,
workUnit: this.state.workUnit,
education: this.state.education,
graduateSchool: this.state.graduateSchool,
majorCategory: this.state.majorCategory,
qualification: this.state.qualification,
businessAudit:this.state.businessAudit,
auditStatus:this.state.auditStatus
}
}).done(function(data) {
this.setState({
loading: false
});
if(!data.error.length) {
message.success('保存成功!');
this.detailsModal()
this.loadData(this.state.ispage);
} else {
message.warning(data.error[0].message);
}
}.bind(this));
}
})
},
//点击整行查看详情
//查看基本详情基本信息
loadInformation(record) {
this.RowClick;
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + '/api/admin/customer/findPersonalCustomerDetail',
data: {
uid: record
},
success: function(data) {
let thisData = data.data;
if(!thisData) {
if(data.error && data.error.length) {
message.warning(data.error[0].message);
};
thisData = {};
};
let ProvinceCityArr = [];
let ProvinceS = thisData.province; //getprovince
let citys = thisData.city;
let Areas = thisData.area;
ProvinceCityArr.push(ProvinceS, citys, Areas);
let cityArea = getprovince(ProvinceS) + '/' + getprovince(citys) + '/' + getprovince(Areas)
let month = thisData.dateOfBirthYear ? thisData.dateOfBirthYear + '/' + thisData.dateOfBirthMonth : false;
this.setState({
proviceCityArea: ProvinceS ? cityArea : '',
InformationId: thisData.id,
InformationUid: thisData.uid,
identifyName: thisData.identifyName,
listed: thisData.listed,
highTechZone: thisData.highTechZone,
consultant: thisData.consultant,
headPortraitUrl: thisData.headPortraitUrl ? splitUrl(thisData.headPortraitUrl, ',', globalConfig.avatarHost + '/upload') : [],
positiveIdUrl: thisData.positiveIdUrl ? splitUrl(thisData.positiveIdUrl, ',', globalConfig.avatarHost + '/upload') : [],
oppositeIdUrl: thisData.oppositeIdUrl ? splitUrl(thisData.oppositeIdUrl, ',', globalConfig.avatarHost + '/upload') : [],
dataInformation: thisData,
idNumber: thisData.idNumber,
ProvinceCity: ProvinceCityArr,
industry: String(thisData.industry),
societyTag: thisData.societyTag,
sex: thisData.sex,
contacts: thisData.contacts,
contactMobile: thisData.contactMobile,
yearMonth: month,
postalAddress: thisData.postalAddress,
fixedTel: thisData.fixedTel,
consultationPrice: thisData.consultationPrice,
email: thisData.email,
qq: thisData.qq,
introduction: thisData.introduction,
expert: thisData.expert,
celebrity: thisData.celebrity,
international: thisData.international,
investment: thisData.investment,
professionalTitle: thisData.professionalTitle,
workUnit: thisData.workUnit,
education: thisData.education,
graduateSchool: thisData.graduateSchool,
majorCategory: thisData.majorCategory,
qualification: thisData.qualification,
businessAudit:thisData.businessAudit,
auditStatus:thisData.auditStatus?String(thisData.auditStatus):undefined,
});
}.bind(this),
}).always(function() {
this.setState({
loading: false
});
}.bind(this));
},
//tab3账户信息请求数据
httpAccount(record) {
this.RowClick;
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + '/api/admin/customer/findUserAccountDetail',
data: {
uid: record
},
success: function(data) {
let thisData = data.data;
if(!thisData) {
if(data.error && data.error.length) {
message.warning(data.error[0].message);
};
thisData = {};
};
let sourcecustomer = ''
switch(String(thisData.source)) {
case '0':
sourcecustomer = '注册客户'
break;
case '1':
sourcecustomer = '录入客户'
break;
}
this.setState({
Accountuid: thisData.id,
mobile: thisData.mobile,
nickname: thisData.nickname,
email: thisData.email,
type: getcustomerTyp(String(thisData.type)),
source: sourcecustomer,
isMember: thisData.isMember,
currentMemberStatus: String(thisData.currentMemberStatus),
lvl: String(thisData.lvl),
status: String(thisData.status),
createTimes: thisData.createTimes,
});
}.bind(this),
}).always(function() {
this.setState({
loading: false
});
}.bind(this));
},
detailsModalOk(e) {
this.setState({ modal5Visible: true }); //需要一个请求数据
},
//点击消失函数
detailsModal(e) {
this.setState({
modal5Visible: false
});
},
//拜访modul函数
visitOk(e) {
this.setState({
visitModul: false
});
this.loadVisit()
},
visitCancel(e) {
this.setState({
visitModul: false
});
},
//拜访保存函数
visitSubmit(e) {
e.preventDefault();
if(this.state.contactType == undefined) {
message.warning('请选择拜访方式')
return false;
};
if(this.state.keys) {
if(this.state.lastName == undefined) {
message.warning('请选择联系人')
return false;
}
};
this.setState({
selectedRowKeys: [],
});
this.setState({
loading: true
});
let contactsId = '';
if(this.state.keys) {
let conts = this.state.lastName;
contactsId = this.state.contactsIdArr[conts].id;
}
//新增
$.ajax({
method: "post",
dataType: "json",
url: this.state.keys ? globalConfig.context + '/api/admin/customer/addFollow' : globalConfig.context + '/api/admin/customer/updateFollow',
data: this.state.keys ? {
userBusinessList: JSON.stringify(this.state.data),
uid: this.state.uid,
ocbId: contactsId,
contactType: this.state.contactType,
result: this.state.result,
followTime: this.state.followTime,
} : {
followId: this.state.followIds,
userBusinessList: JSON.stringify(this.state.data),
uid: this.state.uid,
contactType: this.state.contactType,
result: this.state.result,
followTime: this.state.followTime,
}
}).done(function(data) {
this.setState({
loading: false
});
if(!data.error.length) {
message.success('保存成功!');
this.loadVisit(); //
this.loadData(this.state.ispage);
this.visitCancel();
} else {
message.warning(data.error[0].message);
}
}.bind(this));
},
//当选择联系人的列表变化时,则执行
hundleName(e) {
let changNub = this.state.telNum[e];
this.setState({
nub: this.state.telNum[e],
lastName: e,
});
},
//添加新业务及单位客户详情新增
addNew() {
this.state.data.push({
customerStatus: undefined,
businessGlossoryId: undefined,
followSituation: undefined,
remarks: '',
});
this.setState({
data: this.state.data
})
},
//tab2新增联系人
addcontact() {
this.state.contactList.push({
id: null,
name: '',
mobile: '',
email: '',
qq: '',
wechat: '',
depatrment: '',
position: '',
});
this.setState({
contactList: this.state.contactList
})
},
//tab5进入修改时
//进入修改时
listFollowUp(e) {
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/customer/toUpdateFollowOneBusiness",
data: {
ufbId: 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({
businessGlossoryIds: thedata.businessGlossoryId,
followSituations: thedata.followSituation,
customerStatuss: thedata.customerStatus,
followTimes: thedata.followTime,
createTimes: thedata.createTime,
identifyNames: thedata.identifyName,
contactTypes: parseInt(thedata.contactType),
results: thedata.result,
remarkss: thedata.remarks,
adminNames: thedata.adminName,
contactss: thedata.contacts,
contactMobiles: thedata.contactMobile,
ufbId: thedata.ufbId,
followIds: thedata.followId,
});
}.bind(this),
}).always(function() {
this.setState({
loading: false
});
}.bind(this));
},
//修改密码Modul
modifyPassworld() {
this.setState({
passworldModul: true
});
},
passworldOk(e) {
this.setState({
passworldModul: false
});
},
passworldCancel(e) {
this.setState({
passworldModul: false
});
},
//修改密码保存
passworldSubmit(e) {
e.preventDefault();
this.passworldCancel()
},
//点击新增详情
newContacts() {
this.state.newsex =undefined;
this.state.newname ='';
this.state.newmobile='';
this.state.newwechat='';
this.state.newqq='';
this.state.newdepatrment='';
this.state.newposition='';
this.state.newemail='';
this.setState({
uids: this.state.uid,
addcontactModul: true
});
},
//获取联系人下拉框
getNewWoman(ids) {
this.state.data = []
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/customer/findCustomerContacts",
data: {
uid: ids,
},
success: function(data) {
let theArr = [];
let thedata = data.data;
if(!thedata) {
if(data.error && data.error.length) {
message.warning(data.error[0].message);
};
thedata = {};
};
var telNum = [];
var contactIds = [];
thedata.map(function(item, index) {
contactIds.push(thedata[index].id);
telNum.push(thedata[index].mobile);
});
for(let item in data.data) {
let theData = data.data[item];
theArr.push(
{theData.name}
);
};
this.setState({
contactsIdArr: thedata,
telNum: telNum,
orderStatusOption: theArr,
});
}.bind(this),
}).always(function() {
this.setState({
deletId: ids,
loading: false
});
}.bind(this));
},
//拜访意向服务列表单个删除
intentionDelet(e, index) {
if(!this.state.keys) {
let detId = this.state.followIds;
if(e.id) {
this.setState({
selectedRowKeys: [],
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/customer/deleteFollowOneBusiness",
data: {
ufbId: e.id
}
}).done(function(data) {
if(!data.error.length) {
message.success('删除成功');
this.setState({
loading: false,
});
} else {
message.warning(data.error[0].message);
};
this.visitModify(detId);
}.bind(this));
} else {
this.visitModify(detId);
}
} else {
let deteluserBusinessList = (this.state.data).splice(index, 1)
this.setState({
selectedRowKeys: [],
});
}
},
//tab5意向业务
//意向业务查看列表单个详情
businessIntentionDetails(e) {
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + '/api/admin/customer/toUpdateBusiness',
data: {
businessId: e.businessId
},
success: function(data) {
let thisData = data.data;
if(!thisData) {
if(data.error && data.error.length) {
message.warning(data.error[0].message);
};
thisData = {};
};
this.setState({
businessGlossoryId: thisData.businessGlossoryId,
identifyName: thisData.identifyName,
uid: thisData.uid,
businessId: thisData.businessId,
followSituation: thisData.followSituation,
customerStatus: thisData.customerStatus,
createTime: thisData.createTime,
followTime: thisData.followTime,
adminName: thisData.adminName,
remarks: thisData.remarks,
result: thisData.result,
});
}.bind(this),
}).always(function() {
this.loadVisit();
this.setState({
loading: false
});
}.bind(this));
this.setState({
businessModul: true
})
},
//查看跟进记录列表
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.rowId, //名称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));
},
//tab3拜访记录
loadBfVisit(pageNo, ids) {
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.paginationsy.pageSize,
uid: ids ? ids : this.state.rowId, //名称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({
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.paginationsy.current = data.data.pageNo;
this.state.paginationsy.total = data.data.totalCount;
};
this.setState({
visitArrList: theArr,
paginationsy: this.state.paginationsy
});
}.bind(this),
}).always(function() {
this.setState({
loading: false
});
}.bind(this));
},
businessIntentionOk() {
this.setState({
businessGlossoryId: '',
businessModul: false
})
},
businessIntentionCancel() {
this.setState({
businessGlossoryId: '',
businessModul: false
})
},
//业务跟进查看跟多
businessFollowDetails(e) {
this.listFollowUp(e.ufbId)
this.setState({
businessFollowModul: true
})
},
businessFollowOk(e) {
this.setState({
businessFollowModul: false
})
},
businessFollowCancel(e) {
this.setState({
businessFollowModul: false
})
},
//tab2联系人保存
contactSave() {
let err = '';
let contactArr = this.state.contactList;
contactArr.map(function(item) {
if(!item.name) {
err = '客户姓名不能为空!';
}
if(!item.mobile) {
err = '手机号码不能为空!';
}
return err;
})
if(err) {
message.warning(err)
return false;
};
$.ajax({
url: globalConfig.context + '/api/admin/customer/updateCustomerContacts',
method: 'post',
data: {
uid: this.state.rowId,
contactList: JSON.stringify(this.state.contactList)
}
}).done(function(data) {
this.setState({
loading: false
});
if(!data.error.length) {
message.success('保存成功!');
this.detailsModal()
this.loadData(this.state.ispage);
} else {
message.warning(data.error[0].message);
}
}.bind(this));
},
//详情tab切换数据处理
callback(e) {
if(e == '1') {
this.loadInformation(this.state.rowId)
}
if(e == '2') {
this.contactLists(this.state.rowId)
}
if(e == '3') {
this.httpAccount(this.state.rowId)
}
if(e == '4') {
this.loadBfVisit(1, this.state.rowId);
}
if(e == '5') {
this.BusinessList(1, this.state.rowId);
}
if(e == '6') {
}
if(e == '7') {
}
if(e == '8') {
}
if(e == '9') {
}
this.setState({
callnub: e,
})
},
//账户信息保存
accountSave(e) {
e.preventDefault();
this.state.data = [];
this.setState({
selectedRowKeys: [],
});
this.setState({
loading: true
});
$.ajax({
method: "post",
dataType: "json",
url: globalConfig.context + '/api/admin/customer/updateUserAccount',
data: {
id: this.state.Accountuid,
mobile: this.state.mobile,
nickname: this.state.nickname,
email: this.state.email,
isMember: this.state.isMember,
currentMemberStatus: this.state.currentMemberStatus,
lvl: this.state.lvl,
status: this.state.status,
}
}).done(function(data) {
this.setState({
loading: false
});
if(!data.error.length) {
message.success('保存成功!');
this.detailsModal();
this.loadData(this.state.ispage);
} else {
message.warning(data.error[0].message);
}
}.bind(this));
},
//tab2删除
confirmDelet(e) {
this.setState({
loading: true
});
if(e.id) {
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/customer/deleteOneContact",
data: {
ocbId: e.id, //删除的ID
}
}).done(function(data) {
if(!data.error.length) {
message.success('删除成功!');
this.setState({
loading: false,
});
} else {
message.warning(data.error[0].message);
};
this.contactLists(this.state.rowId);
}.bind(this));
} else {
this.contactLists(this.state.rowId);
}
},
//tab5业务意向
BusinessList(pageNo, uids) {
this.setState({
loading: true
});
$.ajax({
method: "post",
dataType: "json",
crossDomain: false,
url: globalConfig.context + '/api/admin/customer/listBusiness',
data: {
pageNo: pageNo || 1,
pageSize: this.state.paginationt.pageSize,
uid: uids ? uids : this.state.rowId
},
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,
businessId: thisdata.businessId,
businessName: thisdata.businessName,
identifyName: thisdata.identifyName,
followSituation: thisdata.followSituation,
customerStatus: thisdata.customerStatus,
adminName: thisdata.adminName,
createTime: thisdata.createTime
});
};
this.state.paginationt.current = data.data.pageNo;
this.state.paginationt.total = data.data.totalCount;
};
this.setState({
dataBusiness: theArr,
paginationt: this.state.paginationt
});
}.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 = [];
};
},
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, MonthPicker } = 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 contacts = this.state.contacts || '';
return(
个人客户管理
{ this.setState({ nameSearch: e.target.value }); }} />
{ this.setState({ addressSearch: e }) }} />
{adminData.isSuperAdmin?
:''}
更多搜索
{ this.setState({ releaseDate: dataString }); }} />
认证:
专家:
明星:
国际:
会员:
{adminData.isSuperAdmin?
:
}