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 QueryCustomer from './publicManagesOne.jsx';
import { socialAttribute, industry, auditStatusL, newFollow, lvl, currentMember, statuslist, customerStatus, intentionalService } from '../../../dataDic.js';
import { getSocialAttribute, splitUrl,getAuditStatus, getCompanyIntention, getStatuslist, getContactType, getfllowSituation, getWhether, getcustomerStatue, getCertification, getcustomerTyp, getLvl, getCurrentMember, getprovince } from '../../../tools.js';
import AddContact from "../NEW/signCustomer/followDetail/addContact";
//图片组件
const PicturesWalls = 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 PublicCustomer = Form.create()(React.createClass({
//获取分配人员
selectSuperId() {
this.state.data = []
$.ajax({
method: "post",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/customer/findAdminName",
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 = {};
};
var contactIds=[];
//for (let item in data.data) {
for(var i=0;i{theData.adminName}
);
};
this.setState({
SuperArr:thedata,
contactsOption: theArr,
orderStatusOptions:data.data,
});
}.bind(this),
}).always(function () {
this.setState({
loading: false
});
}.bind(this));
},
loadData(pageNo) {
this.state.data = [];
this.setState({
loading: true,
ispage:pageNo,
});
$.ajax({
method: "post",
dataType: "json",
crossDomain: false,
url: globalConfig.context + '/api/admin/customer/listPublicOrganizationCustomer',
data: {
pageNo: pageNo || 1,
pageSize: this.state.pagination.pageSize,
type: this.state.typeSearch, //名称1
name: this.state.nameSearch,
shareType: this.state.shareTypeSearch,
province: (this.state.addressSearch).length ? this.state.addressSearch[0] : this.state.provinceSearch,
city: (this.state.addressSearch).length ? this.state.addressSearch[1] : '',
//area: this.state.addressSearch?this.state.addressSearch[2].value:'',
status: this.state.statusSearch,
industry: this.state.industrySearch,
businessAudit: this.state.serviceCertificationSearch,
auditStatus: this.state.userCertificationSearch,
currentMemberStatus: this.state.currentMemberStatusSearch,
international: this.state.internationalSearch,
lvl: this.state.lvlSearch,
societyTag: this.state.societyTagSearch,
listed: this.state.listedSearch, //是否上市
highTechZone: this.state.highTechZoneSearch, //是否高新
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.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,
societyTag: thisdata.societyTag,
currentMemberStatus: thisdata.currentMemberStatus,
international: thisdata.international,
listed: thisdata.listed,
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: [],
orgCodeUrl: [],
companyLogoUrl: [],
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'
}, {
title: '操作',
dataIndex: 'ttt',
key: 'ttt',
render: (text, record, index) => {
return adminData.isSuperAdmin ?
{this.visitDelet(record)}} okText="删除" cancelText="不删除">
:
}
}],
ContactsLists: [{
title: '姓名',
dataIndex: 'name',
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',
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',
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: 'mobile',
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',
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',
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',
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="不删除">
: 无权限
}
}
],
columnsman: [{
title: '姓名',
dataIndex: 'name',
key: 'name'
}, {
title: '手机号码',
dataIndex: 'mobile',
key: 'mobile'
}],
columns: [{
title: '客户名称',
dataIndex: 'name',
key: 'name',
}, {
title: '地区',
dataIndex: 'locationProvince',
key: 'locationProvince',
},
{
title: '行业',
dataIndex: 'industry',
key: 'industry',
},
{
title: '社会性质',
dataIndex: 'societyTag',
key: 'societyTag',
render: text => { return getSocialAttribute(text) }
},
{
title: '公共客户',
dataIndex: 'shareType',
key: 'shareType',
render: (text, record) => { return record.shareType == '1' ? 公共客户 : 个人客户 }
},
{
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: 'highTechZone',
key: 'highTechZone',
render: text => { return getWhether(text) }
},
{
title: '是否上市',
dataIndex: 'listed',
key: 'listed',
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) }
}
],
data: [],
dataman: [],
dataSource: [],
visitArrList: [],
searchTime: [, ]
};
},
//更多操作
ModalOperation() {
this.setState({
visible: true,
});
},
//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,
});
};
};
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));
},
//进入新增拜访记录
visit(e) {
this.state.keys = true;
this.getNewWoman(e.id);
this.deletelist(e.id)
this.setState({
result: '',
contactType: undefined,
visitModul: true,
loading: true
});
},
//拜访记录删除
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({
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));
},
//指定转交人的点击函数
showModa() {
this.setState({
visible: true,
});
this.setState({
selectedRowKey: [],
});
this.setState({
selectedRowKeys: this.state.selectedRowKeys,
});
let changeIds;
let adminName;
let customerStatus;
let companyIntention;
let followSituation;
for(let idx = 0; idx < this.state.selectedRows.length; idx++) {
let rowItem = this.state.selectedRows[idx];
if(rowItem.id) {
changeIds = rowItem.id;
adminName = rowItem.adminName;
customerStatus = rowItem.customerStatus;
companyIntention = rowItem.companyIntention;
followSituation = rowItem.followSituation;
};
};
$.ajax({
method: "post",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/customer/findAdmin",
data: {
id: changeIds, //这一行数据的ID
beforeCompanyIntention: companyIntention, //意向服务
beforeCustomerStatus: customerStatus, //客户状态
beforeFollowSituation: followSituation, //最新跟进状态
beforeAdminName: adminName, //跟进人
}
}).done(function(data) {
if(data.error && data.error.length) {
message.warning(data.error[0].message);
} else {
let theAssigne = [];
if(!data.data) {
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];
//处理数据 进行循环
theAssigne.push({
name: thisdata.name,
id: thisdata.id,
ids: thisdata.cid,
mobile: thisdata.mobile,
adminName: thisdata.beforeAdminName,
customerStatus: thisdata.beforeCustomerStatus,
companyIntention: thisdata.beforeCompanyIntention,
followSituation: thisdata.beforeFollowSituation,
});
};
};
this.setState({
dataman: theAssigne,
paginations: false
});
}
}.bind(this));
},
//选择了指定人之后的保存点击函数,需要修改函数
changeAssigner(e) {
e.preventDefault();
this.setState({
visible: false,
});
this.setState({
selectedRowKeys: [],
});
let datt = this.state.selectedRow;
$.ajax({
method: "post",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/customer/transferCustomer",
data: {
id: datt[0].ids, //这一行数据的ID
aid: datt[0].id, //指定转交人的ID
beforeAdminName: datt[0].adminName, //之前的跟进人
adminName: datt[0].name, //转交的跟进人
}
}).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));
},
getOrgCodeUrl(e) {
this.setState({ orgCodeUrl: e });
},
getCompanyLogoUrl(e) {
this.setState({ companyLogoUrl: e });
},
componentWillMount() {
this.selectSuperId();
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}
)
});
this.state.Provinces = Province;
this.state.intentionalOption = intentionalArr;
this.state.lvlArrOption = lvlArr;
this.state.currentMemberArrOption = currentMemberArr;
this.loadData();
},
search() {
this.loadData();
},
reset() {
this.state.internationalSearch = 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.societyTagSearch = 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.selectSuperId();
this.state.RowData = record;
this.detailsModalOk(record);
this.setState({
callnub:'1',
selectedRowKeys: [],
rowId: record.id,
editSuperId:undefined,
})
},
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;
};
this.state.data = [];
this.setState({
selectedRowKeys: [],
});
this.props.form.validateFields((err, values) => {
let theorgCodeUrl = [];
if(this.state.orgCodeUrl.length) {
let picArr = [];
this.state.orgCodeUrl.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.companyLogoUrl.length) {
let picArr = [];
this.state.companyLogoUrl.map(function(item) {
if ( item.response && item.response.data && item.response.data.length ){
picArr.push(item.response.data);
}
});
thecompanyLogoUrl = picArr.join(",");
};
if(this.state.editSuperId){
let nameText=this.state.SuperArr;
let superText=nameText[parseInt(this.state.editSuperId)].aid;
$.ajax({
method: "post",
dataType: "json",
url: globalConfig.context + '/api/admin/customer/updatePersonalCustomerz',
data: {
id: this.state.InformationId,
uid: this.state.InformationUid,
aid:superText,
}
});
}
if(!err) {
this.setState({
loading: true
});
$.ajax({
method: "post",
dataType: "json",
url: globalConfig.context + '/api/admin/customer/updateOrganizationCustomer',
data: {
id: this.state.InformationId,
uid: this.state.InformationUid,
societyTag: this.state.societyTag,
introduction: this.state.introduction,
unitName: this.state.unitName,
industry: this.state.industry,
locationProvince: (this.state.ProvinceCity)[0], //省-
locationCity: (this.state.ProvinceCity)[1], //市
locationArea: (this.state.ProvinceCity)[2], //区
postalAddress: this.state.postalAddress,
contactsFixedTel: this.state.contactsFixedTel,
contactsFax: this.state.contactsFax,
registeredCapital: this.state.registeredCapital,
enterpriseScale: this.state.enterpriseScale,
legalPerson: this.state.legalPerson,
international: this.state.international,
legalPersonIdCard: this.state.legalPersonIdCard,
legalPersonTel: this.state.legalPersonTel,
legalPersonEmail: this.state.legalPersonEmail,
highTechZone: this.state.highTechZone,
listed: this.state.listed,
orgCode: this.state.orgCode,
businessScope: this.state.businessScope,
companyLogoUrl: thecompanyLogoUrl,
orgCodeUrl: theorgCodeUrl,
investment: this.state.investment,
auditStatus: this.state.auditStatus,
businessAudit: this.state.businessAudit
}
}).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/findOrganizationCustomerDetail',
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.locationProvince; //getprovince
let citys = thisData.locationCity;
let Areas = thisData.locationArea;
ProvinceCityArr.push(ProvinceS, citys, Areas);
let cityArea = getprovince(ProvinceS) + '/' + getprovince(citys) + '/' + getprovince(Areas)
this.setState({
InformationId: thisData.id,
InformationUid: thisData.uid,
identifyName: thisData.identifyName,
listed: thisData.listed,
highTechZone: thisData.highTechZone,
orgCodeUrl: thisData.orgCodeUrl ? splitUrl(thisData.orgCodeUrl, ',', globalConfig.avatarHost + '/upload') : [],
companyLogoUrl: thisData.companyLogoUrl ? splitUrl(thisData.companyLogoUrl, ',', globalConfig.avatarHost + '/upload') : [],
dataInformation: thisData,
ProvinceCity: ProvinceCityArr,
proviceCityArea: ProvinceS ? cityArea : '',
industry: String(thisData.industry) == 'null' ? undefined : String(thisData.industry),
international: thisData.international,
societyTag: thisData.societyTag,
introduction: thisData.introduction,
postalAddress: thisData.postalAddress,
contactsFixedTel: thisData.contactsFixedTel,
contactsFax: thisData.contactsFax,
registeredCapital: thisData.registeredCapital,
enterpriseScale: thisData.enterpriseScale,
legalPerson: thisData.legalPerson,
legalPersonIdCard: thisData.legalPersonIdCard,
legalPersonTel: thisData.legalPersonTel,
legalPersonEmail: thisData.legalPersonEmail,
businessScope: thisData.businessScope,
orgCode: thisData.orgCode,
investment: thisData.investment,
auditStatus: thisData.auditStatus?String(thisData.auditStatus):undefined,
businessAudit: thisData.businessAudit
});
}.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 }); //需要一个请求数据
this.loadInformation(e.id);
this.contactLists(e.id);
this.httpAccount(e.id);
this.loadBfVisit(1, e.id);
this.BusinessList(1, e.id);
},
//点击消失函数
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();
let GlossoryId=false;
this.state.data.map(function(item) {
if(!item.businessGlossoryId||!item.followSituation||!item.customerStatus) {
GlossoryId = true
}
})
if(this.state.contactType == undefined) {
message.warning('请选择拜访方式')
return false;
};
if(this.state.keys) {
if(this.state.lastName == undefined) {
message.warning('请选择联系人')
return false;
}
};
if(GlossoryId) {
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, uids) {
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: uids ? uids : 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(e) {
e.preventDefault();
this.setState({
loading: true
});
$.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();
if(!this.state.mobile) {
message.warning('手机号码不能为空!')
return false;
}
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 = [];
//this.loadData(null);
};
},
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 theDatak = this.state.datak || {};
const theInformation = this.state.dataInformation || {}
const contactsOption = "";
const formItemLayput = {
labelCol: { span: 10 },
wrapperCol: { span: 14 },
};
const contacts = this.state.contacts || '';
return(