import React from 'react';
import { Radio, Icon, Button, Input, Select, Spin,Popconfirm, Table, Switch, message, DatePicker, Modal, Upload,Form ,Row,Col,TimePicker} from 'antd';
import ajax from 'jquery/src/ajax/xhr.js';
import $ from 'jquery/src/ajax';
import moment from 'moment';
import './myClient.less';
const { Column, ColumnGroup } = Table;
import TechAchievementDesc from './myClientDesc.jsx';
import { achievementCategoryList, techAuditStatusList,cityArr,tag,customerStatus,intentionalService,newFollow ,newFollowOn,contact,sex,intentionalServiceOn,customerStatusOn} from '../../dataDic.js';
import { beforeUploadFile, companySearch, getAchievementCategory,getsex,getSearchUrl,getTechAuditStatus,getcustomerTyp,getcityArr,getCompanyIntentionOn,getcustomerStatue,getCompanyIntention,getfllowSituation,getcontact,getfllowSituationOn,getcustomerStatueOn} from '../../tools.js';
import BatchImport from './batchImport';
//图片组件
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 >= 5 ? null : uploadButton}
);
}
});
const AchievementList = Form.create()(React.createClass({
loadData(pageNo, apiUrl) {
this.state.data = [];
this.setState({
loading: true
});
$.ajax({
method: "post",
dataType: "json",
crossDomain: false,
url:globalConfig.context + '/api/admin/customer/listPrivateCustomer',
data: {
pageNo: pageNo || 1,
pageSize: this.state.pagination.pageSize,
// companyName: this.state.companyName, //名称1
// customerType: this.state.customerType, //客户类型1
// locationProvince:this.state.locationProvince,//地区
// customerStatus:this.state.customerStatus,//客户状态1
// contactName:this.state.contactName,//联系人姓名1
// contactTel:this.state.contactTel,//联系人手机
// companyIntention:this.state.companyIntention,//意向服务
// followSituation:this.state.followSituation,//最新跟进进度
},
success: function (data) {
let theArr = [];
let ad;
if (data.error.length || data.data.list=="") {
if (data.error && data.error.length) {
message.warning(data.error[0].message);
};
} else {
ad=data.data.list[0].aid;
for (let i = 0; i < data.data.list.length; i++) {
let thisdata = data.data.list[i];
theArr.push({
key: i,
id: thisdata.id,
companyName:thisdata.companyName,//公司名称
_shareType:thisdata._shareType,//客户类型
locationProvince:thisdata.locationProvince,//地区
contactName:thisdata.contactName, //联系人姓名
telNum:thisdata.telNum,//手机号
_customerStatus:thisdata._customerStatus,//客户状态
_companyIntention:thisdata._companyIntention,//意向服务
_followSituation:thisdata._followSituation,//最新跟进
customerStatus:thisdata.customerStatus,//客户状态
companyIntention:thisdata.companyIntention,//意向服务
followSituation:thisdata.followSituation,//最新跟进
adminName:thisdata.adminName, //跟进人
followDate:thisdata.followDate,
customerStatus:thisdata.customerStatus,//客户状态
companyIntention:thisdata.companyIntention,//意向服务
_customerType:thisdata._customerType,//客户类型
});
};
this.state.pagination.current = data.data.pageNo;
this.state.pagination.total = data.data.totalCount;
};
this.setState({
aid:ad,
dataSource: theArr,
pagination: this.state.pagination
});
}.bind(this),
}).always(function () {
this.setState({
loading: false
});
}.bind(this));
},
loadData1(pageNo, apiUrl) {
this.state.data = [];
this.setState({
loading: true
});
$.ajax({
method: "post",
dataType: "json",
crossDomain: false,
url:globalConfig.context + '/api/admin/customer/listPrivateCustomer',
data: {
pageNo: pageNo || 1,
pageSize: this.state.pagination.pageSize,
companyName: this.state.companyName, //名称1
customerType: this.state.customerType, //客户类型1
locationProvince:this.state.locationProvince,//地区
customerStatus:this.state.customerStatus,//客户状态1
contactName:this.state.contactName,//联系人姓名1
contactTel:this.state.contactTel,//联系人手机
companyIntention:this.state.companyIntention,//意向服务
followSituation:this.state.followSituation,//最新跟进进度
},
success: function (data) {
let theArr = [];
let ad;
if (data.error.length || data.data.list=="") {
if (data.error && data.error.length) {
message.warning(data.error[0].message);
};
} else {
ad=data.data.list[0].aid;
for (let i = 0; i < data.data.list.length; i++) {
let thisdata = data.data.list[i];
theArr.push({
key: i,
id: thisdata.id,
companyName:thisdata.companyName,//公司名称
_shareType:thisdata._shareType,//客户类型
locationProvince:thisdata.locationProvince,//地区
contactName:thisdata.contactName, //联系人姓名
telNum:thisdata.telNum,//手机号
_customerStatus:thisdata._customerStatus,//客户状态
_companyIntention:thisdata._companyIntention,//意向服务
_followSituation:thisdata._followSituation,//最新跟进
customerStatus:thisdata.customerStatus,//客户状态
companyIntention:thisdata.companyIntention,//意向服务
followSituation:thisdata.followSituation,//最新跟进
adminName:thisdata.adminName, //跟进人
followDate:thisdata.followDate,
customerStatus:thisdata.customerStatus,//客户状态
companyIntention:thisdata.companyIntention,//意向服务
_customerType:thisdata._customerType,//客户类型
});
};
this.state.pagination.current = data.data.pageNo;
this.state.pagination.total = data.data.totalCount;
};
this.setState({
aid:ad,
dataSource: theArr,
pagination: this.state.pagination
});
}.bind(this),
}).always(function () {
this.setState({
loading: false
});
}.bind(this));
},
//点击+号进行两次查询,这个是查询联系人的函数
getNewWoman(deletedIds) {
const contactsOptionWoman=[]
$.ajax({
method: "post",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/customer/findCustomerUserList",
data:{
cid:deletedIds
},
success: function (data) {
let theArr = [];
let thedata=data.data;
var email=[];
var telNum=[];
var contactIds=[];
thedata.map(function (item,index) {
email.push(thedata[index].email);
contactIds.push(thedata[index].id);
telNum.push(thedata[index].telNum);
theArr.push({item.name})
});
var lastName= thedata[thedata.length-1].name;
var nub=thedata[thedata.length-1].telNum;
var kid=thedata[thedata.length-1].id;
var contacts='电话';
this.setState({
kid:kid,
contactIds:contactIds,
contacts:contacts,
nub:nub,
telNum:telNum,
email:email,
lastName:lastName,
orderStatusOption: theArr,
});
}.bind(this),
}).always(function () {
this.setState({
loading: false
});
}.bind(this));
},
//在添加联系记录页面,选择联系方式查看号码
contacts(e){
let conts='';
if(e==0){
conts='电话'
this.state.nub=this.state.changNub
}
if(e==1){
conts='邮件'
this.state.nub=this.state.changEmail
}
if(e==2){
conts='面谈'
this.state.nub=''
}
if(e==3){
conts='短信'
this.state.nub=''
}
this.setState({
conts:conts,
contacts: e,
});
},
//通过ID查询这一条的信息
Detailload(deletedIds,record){
this.RowClick;
$.ajax({
method: "post",
dataType: "json",
crossDomain: false,
url: globalConfig.context + '/api/admin/customer/findCustomerDetails',
data: {
id: deletedIds
},
success: function (data) {
let thisData = data.data;
if (!thisData) {
if (data.error && data.error.length) {
message.warning(data.error[0].message);
};
thisData = {};
};
this.setState({
data: thisData,
followSituation:thisData.followSituation,
customerStatus:thisData.customerStatus,
companyIntention:thisData.companyIntention,
_followSituation:thisData._followSituation,
_customerStatus:thisData._customerStatus,
_companyIntention:thisData._companyIntention,
cid:thisData.cid,
customerType:thisData.customerType,
companyName:thisData.companyName,
adminName:thisData.adminName
});
if (thisData.ownerId) {
this.getContactsList(thisData.ownerId);
};
}.bind(this),
}).always(function () {
this.setState({
loading: false
});
}.bind(this));
},
//点击出现函数
//点击消失函数
setModal1Visiblecancel(e) {
this.setState({
modal1Visible:false
});
this.reset();
},
//点击添加跟进记录,点击最新跟进下的+号,将会查询出很多数据,展示在列表里面,
setModal1VisibleOk(e) {
this.setState({modal1Visible:true});
let deletedIds=this.state.rowId;
for (let idx = 0; idx < this.state.selectedRows.length; idx++) {
let rowItem = this.state.selectedRows[idx];
if (rowItem.id) {
deletedIds=rowItem.id;
};
};
this.Detailload(deletedIds);
this.getNewWoman(deletedIds);
},
//点击出现函数
setModal2VisibleOk(e) {
this.setState({
modal2Visible:true
});
},
//点击消失函数
setModal2Visiblecancel(e) {
this.setState({
modal2Visible:false
});
},
//点击消失函数
setModal3Visiblecancel(e) {
this.setState({
modal3Visible:false
});
},
//点击查看跟进记录,点击最新跟进的第一个按钮(跟进状态)执行的函数,将会出现很多跟进列表
setModal3VisibleOk(e) {
this.setState({ modal3Visible:true });
this.state.data = [];
this.setState({
loading: true
});
let deletedIds=this.state.rowId;
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/listFollowUpRecord',
data: {
customerId:deletedIds
},
success: function (data) {
let theArr = [];
let theWomanID=[];
let theFollowID=[];
if (!data.data) {
if (data.error && data.error.length) {
message.warning(data.error[0].message);
};
} else {
data.data.map(function (item,index) {
theWomanID.push(data.data[index].contactId);
});
data.data.map(function (item,index) {
theFollowID.push(data.data[index].followId);
});
for (let i = 0; i < data.data.length; i++) {
let thisdata = data.data[i];
theArr.push({
key:i,
_followDate:thisdata._followDate,//跟进时间
adminName:thisdata.adminName,//跟进人
contactName:thisdata.contactName, //联系人姓名
contactId:thisdata.contactId, //联系人ID
contactInfo:thisdata.contactInfo,//联系信息
_customerStatus:thisdata._customerStatus,//客户状态
_followSituation:thisdata._followSituation,//最新跟进
followResult:thisdata.followResult,//跟进结果
attachment:thisdata.attachment,//附件地址
});
};
};
this.setState({//导出数据
datahistory: theArr,
theWomanID:theWomanID,
theFollowID:theFollowID,
});
}.bind(this),
}).always(function () {
this.setState({
loading: false
});
}.bind(this));
},
//删除历史记录
onDelete(index){
let deleteID=this.state.theFollowID[index];
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/customer/deleteFollowUpRecord",
data: {
followId:deleteID,//删除的ID
}
}).done(function (data) {
if (!data.error.length) {
message.success('删除成功!');
this.setModal3Visiblecancel();
this.setModal3VisibleOk();
this.setState({
loading: false,
});
} else {
message.warning(data.error[0].message);
};
this.loadData();
}.bind(this));
},
//点击消失函数
setModal4Visiblecancel(e) {
this.setState({
modal4Visible:false
});
},
//点击客户的名字,进行详情的查询
setModal4Visible(e,index) {
this.setState({ modal4Visible:true });
let changeIds=this.state.datahistory[index].contactId;
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url:globalConfig.context + '/api/admin/customer/findContactDetail',
data: {
contactId:changeIds
},
success: function (data) {
let theArr = [];
let theDate=data.data;
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];
theArr.push({
key:i,
name:name,//联系人姓名
sex:sex,//联系人性别
mobile:mobile,//座机号
telNum:telNum,//手机号
email:email,//邮箱
qq:qq,//qq
wechat:wechat,//微信号
depatrment:depatrment,//部门
customerPosition:customerPosition,//职位
});
};
};
this.setState({//导出数据
theDate:theDate,
name:theDate.name,//联系人姓名
sex:theDate.sex,//联系人性别
mobile:theDate.mobile,//座机号
telNum:theDate.telNum,//手机号
email:theDate.email,//邮箱
qq:theDate.qq,//qq
wechat:theDate.wechat,//微信号
depatrment:theDate.depatrment,//部门
customerPosition:theDate.customerPosition,//职位
companyName:theDate.companyName,//公司
});
}.bind(this),
}).always(function () {
this.setState({
loading: false
});
}.bind(this));
},
//点击消失函数
setModal5Visiblecancel(e) {
this.setState({
modal5Visible:false
});
this.reset();
},
setModal6Visiblecancel(e) {
this.setState({
modal6Visible:false
});
},
setModal7Visiblecancel(e) {
this.setState({
modal7Visible:false
});
},
setModal8Visiblecancel(e) {
this.setState({
modal8Visible:false
});
},
//点击名称时获取列表
setModal5VisibleOk(e) {
this.setState({ modal5Visible:true }); //需要一个请求数据
this.Detailload(e.id);
},
//历史记录查看更多,还是历史记录接口
setModal6VisibleOk(e) {
this.setState({ modal6Visible:true }); //需要一个请求数据
},
getPictureUrl(e) {
this.setState({pictureUrl: e });
},
//查看所有的联系人
setModal7VisibleOk(e) {
this.setState({ modal7Visible:true }); //需要一个请求数据
$.ajax({
method: "post",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/customer/findCustomerUserList",
data:{
cid:this.state.cid
},
success: function (data) {
let theArr = [];
let thedata=data.data;
let cidArr=[];
for (let i = 0; i < data.data.length; i++) {
cidArr.push({
i:thedata[i].cid,
})
}
for (let i = 0; i < data.data.length; i++) {
let thisdata = data.data[i];
theArr.push({
cid:thisdata.cid,//客户的ID
id:thisdata.id,//联系人ID
contactName:thisdata.name,//联系人姓名
sex:thisdata.sex,//联系人性别
mobile:thisdata.mobile,//座机号
telNum:thisdata.telNum,//手机号
email:thisdata.email,//邮箱
qq:thisdata.qq,//qq
wechat:thisdata.wechat,//微信号
depatrment:thisdata.depatrment,//部门
customerPosition:thisdata.customerPosition,//职位
});
};
this.setState({
information: theArr,
cidArr:cidArr,
});
}.bind(this),
}).always(function () {
this.setState({
loading: false
});
}.bind(this));
},
//修改联系人列表数据
setModal8VisibleOk(e) {
this.setState({ modal8Visible:true }); //需要一个请求数据
let deletedIds=this.state.rowId;
for (let idx = 0; idx < this.state.selectedRows.length; idx++) {
let rowItem = this.state.selectedRows[idx];
if (rowItem.id) {
deletedIds=rowItem.id;
};
};
},
changefollow(e){
e.preventDefault();
$.ajax({
method: "post",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/customer/updateContacter",
data: {
id:this.state.id,//联系人ID
cid:this.state.cid,//客户的ID
name:this.state.name,//客户名
sex:this.state.sex,//性别
mobile:this.state.mobile,//座机号
telNum:this.state.telNum,//手机号
email:this.state.email,//邮箱
qq:this.state.qq,//qq
wechat:this.state.wechat,//微信号
depatrment:this.state.depatrment,//部门
customerPosition:this.state.customerPosition,//职位
primaryFlg:this.state.primaryFlg,//是否是主要联系人
}
}).done(function (data) {
if (!data.error.length) {
message.success('修改成功!');
this.setState({
loading: false,
});
this.setModal8Visiblecancel()
} else {
message.warning(data.error[0].message);
};
//this.getNewWoman(this.state.cid)
this.loadData();
}.bind(this));
},
informationRowClick(index){
this.setModal8VisibleOk()
console.log(index);
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url:globalConfig.context + '/api/admin/customer/findContactDetail',
data: {
contactId:index.id
},
success: function (data) {
let theArr = [];
let theDate=data.data;
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];
theArr.push({
key:i,
primaryFlg:primaryFlg,
name:name,//联系人姓名
sex:sex,//联系人性别
mobile:mobile,//座机号
telNum:telNum,//手机号
email:email,//邮箱
qq:qq,//qq
wechat:wechat,//微信号
depatrment:depatrment,//部门
customerPosition:customerPosition,//职位
});
};
};
this.setState({//导出数据
primaryFlg:theDate.primaryFlg,
thaDate:theDate,
cid:theDate.cid,//客户ID
id:theDate.id,//联系人ID
name:theDate.name,//联系人姓名
sex:theDate.sex,//联系人性别
mobile:theDate.mobile,//座机号
telNum:theDate.telNum,//手机号
email:theDate.email,//邮箱
qq:theDate.qq,//qq
wechat:theDate.wechat,//微信号
depatrment:theDate.depatrment,//部门
customerPosition:theDate.customerPosition,//职位
companyName:theDate.companyName,//公司
});
}.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.technicalPictureUrl = [];
};
},
//添加一条跟进记录,点击保存按钮进行添加
addFollowSubmit(e) {
e.preventDefault();
this.state.data = []
this.setState({
selectedRowKeys: [],
//loading: deletedIds.length > 0
});
let deletedIds;
this.state.data = [];
for (let idx = 0; idx < this.state.selectedRows.length; idx++) {
let rowItem = this.state.selectedRows[idx];
if (rowItem.id) {
deletedIds=rowItem.id
};
};
this.props.form.validateFields((err, values) => {
if (!err) {
this.setState({
loading: true
});
let custype=values._shareType;
let customerTypechange="";
switch(custype){
case "个人客户":customerTypechange=0;break;
case "公司客户":customerTypechange=1;break;
}
console.log(this.state.kid)
let customerStatus= getcustomerStatueOn(this.state.customerStatus);
let followSituation= getfllowSituationOn(this.state.followSituation);
$.ajax({
method: "POST",
dataType: "json",
crossDomain: false,
url:globalConfig.context + '/api/admin/customer/addFollowUpRecord',
data: {
id: deletedIds,//编号id
cuid:this.state.kid,//联系人ID
followDates:(values.createTime ? values.createTime.format('YYYY-MM-DD'):undefined)+" "+(values.createTim ? values.createTim.format('YYYY:MM:DD'):undefined),//跟进时间
followResult:values.remarks,//跟进结果
attachment:"",//附件地址
customerStatus:values.customerStatus,//跟进客户状态
followSituation:values.followSituation,//跟进进度
contactInfo:(this.state.conts?this.state.conts:"电话")+"-"+(this.state.nub?this.state.nub:""),
}
}).done(function (data) {
this.setState({
loading: false
});
if (!data.error.length) {
message.success('保存成功!');
this.setModal1Visiblecancel()
} else {
message.warning(data.error[0].message);
}
//this.loadData();
}.bind(this));
}
})
},
//当选择联系人的列表变化时,则执行
hundleName(e){
let changNub=this.state.telNum[e];
let changEmail=this.state.email[e];
let kid=this.state.contactIds[e];
console.log(kid)
this.setState({
kid:kid,
contacts:'电话',
nub:this.state.telNum[e],
lastName: e,
changNub:changNub,
changEmail:changEmail,
});
},
//所有资料修改保存提交,点击保存按钮进行更新
handleSubmit(e) {
e.preventDefault();
let deletedIds;
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) {
deletedIds=rowItem.id;
adminName=rowItem.adminName;
customerStatus=rowItem.customerStatus;
companyIntention=rowItem.companyIntention;
followSituation=rowItem.followSituation;
};
};
//this.state.data = []
this.setState({
//selectedRowKeys: [],
// loading: deletedIds.length > 0
});
this.props.form.validateFields((err, values) => {
if (!err) {
this.setState({
loading: true
});
let custype=values._customerType;
let customerTypechange="";
switch(custype){
case "个人客户":customerTypechange=0;break;
case "公司客户":customerTypechange=1;break;
}
let companyIntentions= getCompanyIntentionOn(values.companyIntention);
let followSituations= getfllowSituationOn(values.followSituation);
let becompanyIntentions=getCompanyIntentionOn();
let city=getcityArr(values.locationProvince);
$.ajax({
method: "POST",
dataType: "json",
crossDomain: false,
url:globalConfig.context + '/api/admin/customer/updateCustomer',
data: {
id: this.state.cid,//编号id
customerType:this.state.customerType,//客户信息 1
//createTime: values.createTime ? values.createTime.format('YYYY-MM-DD') : undefined,//时间 1\
companyName: values.companyName,//公司名称 1
companyIndustry: values.companyIndustry,//公司行业
tag: values.tag,
locationProvince:values.locationProvince ,//省份1
adress: values.adress,//详细地址1
remarks: values.remarks,//备注1
companyIntention:this.state.companyIntention,//公司意向
followSituation:this.state.followSituation,//最新跟进1
customerStatus:this.state.customerStatus,//客户状态1
//name: values.name,//客户姓名1
// beforeCustomerStatus:this.state.customerStatus,//客户状态
// beforeCompanyIntention:this.state.companyIntention,
// beforeFollowSituation:this.state.followSituation,//最新跟进
beforeAdminName:this.state.adminName,
name:this.state.companyName,
}
}).done(function (data) {
this.setState({
loading: false
});
if (!data.error.length) {
message.success('修改成功!');
this.setModal5Visiblecancel();
} else {
message.warning(data.error[0].message);
}
this.loadData();
}.bind(this));
}
})
},
submitcontactman(e){
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: [],
});
e.preventDefault();
this.props.form.validateFields((err, values) => {
if (!err) {
this.setState({
loading: true
});
$.ajax({
method: "POST",
dataType: "json",
crossDomain: false,
url: globalConfig.context + '/api/admin/customer/addContacter',
data: {
cid: deletedIds,//编号id
sex:this.state.hot,//性别
primaryFlg:this.state.hots,//是否是主要联系人
name:this.state.paymentId,//联系人姓名
mobile:this.state.paym,//座机
telNum:this.state.pay,//电话
qq:this.state.entId,//qq
wechat:this.state.payId,//微信
customerPosition:this.state.paentId,//职位
depatrment:this.state.paytId,//部门
email:this.state.emails,//邮箱
}
}).done(function (data) {
this.setState({
loading: false
});
if (!data.error.length) {
message.success('保存成功!');
this.setModal2Visiblecancel()
} else {
message.warning(data.error[0].message);
}
//this.loadData();
}.bind(this));
}
});
},
getTechnicalPictureUrl(e) {
this.setState({ technicalPictureUrl: e });
},
//新建联系人modal框显示
showModal(){
this.setState({
visible: true,
});
},
//指定转交人的点击函数
showModa(){
this.setState({
visible: true,
});
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({
key: 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,
});
}
}.bind(this));
},
//选择了指定人之后的保存点击函数,需要修改函数
changeAssigner() {
this.setState({
visible: false,
});
let changeId;
let changeIds;
let adminName;
let beforeAdminName;
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) {
changeId=rowItem.id;
beforeAdminName=rowItem.adminName;
adminName=rowItem.key;
customerStatus=rowItem.customerStatus;
companyIntention=rowItem.companyIntention;
followSituation=rowItem.followSituation;
changeIds=rowItem.ids;
};
};
$.ajax({
method: "post",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/customer/transferCustomer",
data: {
id: changeIds,//这一行数据的ID
aid:changeId,//指定转交人的ID
beforeCompanyIntention:companyIntention,//意向服务
beforeCustomerStatus:customerStatus,//客户状态
beforeFollowSituation:followSituation,//最新跟进状态
beforeAdminName:beforeAdminName,//之前的跟进人
adminName:adminName,//转交的跟进人
}
}).done(function (data) {
if (!data.error.length) {
message.success('转交成功!');
this.setState({
loading: false,
});
} else {
message.warning(data.error[0].message);
};
this.loadData();
}.bind(this));
},
handleOk(e){
this.setState({
visible: false,
});
},
handleCancel(e){
this.setState({
visible: false,
});
},
//点击公司名称,进行弹出框动作,同时进行资料详情查询
getInitialState() {
return {
technicalPictureUrl: [],
modal1Visible: false,
modal2Visible: false,
visible: false ,
searchMore: true,
searchType: 0,
validityPeriodDate: [],
releaseDate: [],
selectedRowKeys: [],
selectedRows: [],
loading: false,
pagination: {
defaultCurrent: 1,
defaultPageSize: 10,
showQuickJumper: true,
pageSize: 10,
onChange: function (page) {
this.loadData(page);
}.bind(this),
showTotal: function (total) {
return '共' + total + '条数据';
}
},
contactInformation:[
{
title: '姓名',
dataIndex: 'contactName',
key: 'contactName'
},{
title: '性别',
dataIndex: 'sex',
key: 'sex',
render: text => { return getsex(text); }
},
{
title: '手机号码',
dataIndex: 'telNum',
key: 'telNum'
},{
title: '座机号',
dataIndex: 'mobile',
key: 'mobile'
},{
title: 'QQ号码',
dataIndex: 'qq',
key: 'qq'
},{
title: '邮箱号',
dataIndex: 'email',
key: 'email'
},{
title: '微信',
dataIndex: 'wechat',
key: 'wechat'
},{
title: '部门',
dataIndex: 'depatrment',
key: 'depatrment'
},{
title: '职位',
dataIndex: 'customerPosition',
key: 'customerPosition'
}
],
columnsman:[{
title: '姓名',
dataIndex: 'key',
key: 'key'
},{
title: '手机号码',
dataIndex: 'mobile',
key: 'mobile'
}
],
columns: [
{
title: '公司名称',
dataIndex: 'companyName',
key: 'companyName',
render: text => {
const theData = this.state.data || {};
const contactsOption="";
const { getFieldDecorator } = this.props.form;
const FormItem = Form.Item;
const rowSelection = {
selectedRowKeys: this.state.selectedRowKeys,
onChange: (selectedRowKeys, selectedRows) => {
this.setState({
selectedRows: selectedRows.slice(-1),
selectedRowKeys: selectedRowKeys.slice(-1)
});
}
};
const hasSelected = this.state.selectedRowKeys.length > 0;
const formItemLayout = {
labelCol: { span: 8 },
wrapperCol: { span: 14 },
};
return (
{text}
{getFieldDecorator('name', {
initialValue: this.state.name
})(
{ this.setState({ name: e.target.value }) }}/>
)}
{getFieldDecorator('sex', {
initialValue: this.state.sex
})(
{ this.setState({ sex: e.target.value }); }}>
男
女
)}
{getFieldDecorator('primaryFlg', {
initialValue: this.state.primaryFlg
})(
{this.setState({primaryFlg: e.target.value });}}>
是
否
)}
{getFieldDecorator('telNum', {
initialValue: this.state.telNum
})(
{ this.setState({ telNum: e.target.value }) }}/>
)}
{getFieldDecorator('mobile', {
initialValue: this.state.mobile
})(
{ this.setState({ mobile: e.target.value }) }}/>
)}
{getFieldDecorator('qq', {
initialValue: this.state.qq
})(
{ this.setState({ qq: e.target.value }) }}/>
)}
{getFieldDecorator('email', {
initialValue: this.state.email
})(
{ this.setState({ email: e.target.value }) }}/>
)}
{getFieldDecorator('wechat', {
initialValue: this.state.wechat
})(
{ this.setState({ wechat: e.target.value }) }}/>
)}
{getFieldDecorator('depatrment', {
initialValue: this.state.depatrment
})(
{ this.setState({ depatrment: e.target.value }) }}/>
)}
{getFieldDecorator('customerPosition', {
initialValue: this.state.customerPosition
})(
{ this.setState({ customerPosition: e.target.value }); }}/>
)}
)
}
}, {
title: '客户类型',
dataIndex: '_customerType',
key: '_customerType'
// render: text => { return getcustomerTyp(text); }
}, {
title: '地区',
dataIndex: 'locationProvince',
key: 'locationProvince',
render: text => { return getcityArr(text); }
}, {
title: '联系人姓名',
dataIndex: 'contactName',
key: 'contactName',
},
{
title: '手机号',
dataIndex: 'telNum',
key:'telNum',
},
{
title: '客户状态',
dataIndex: '_customerStatus',
key: '_customerStatus'
//render: text => { return getcustomerStatue(text) }
},
{
title: '意向服务',
dataIndex: '_companyIntention',
key: '_companyIntention',
//render: text => { return getCompanyIntention(text) }
},
{
title: '最新跟进',
dataIndex: '_followSituation',
key: '_followSituation',
render:text => {
const theData = this.state.data || {};
const contactsOption="";
const rowSelection = {
selectedRowKeys: this.state.selectedRowKeys,
onChange: (selectedRowKeys, selectedRows) => {
this.setState({
selectedRows: selectedRows.slice(-1),
selectedRowKeys: selectedRowKeys.slice(-1)
});
}
};
//const lastwomen=this.state.wemon || {};
const FormItem = Form.Item;
const { getFieldDecorator } = this.props.form;
const formItemLayout = {
labelCol: { span: 8 },
wrapperCol: { span: 14 },
};
const formItemLayput = {
labelCol: { span: 10 },
wrapperCol: { span: 14 },
};
return (
)
}
},
{
title: '跟单人',
dataIndex: 'adminName',
key: 'adminName',
},
{
title: '时间',
dataIndex: 'followDate',
key: 'followDate',
}
],
dataSource: [],
searchTime: [,]
};
},
componentWillMount() {
let theArr = [];
customerStatus.map(function (item) {
theArr.push(
{item.key}
)
});
let auditArr = [];
cityArr.map(function (item) {
auditArr.push(
{item.key}
)
});
let intentionalArr = [];
intentionalService.map(function (item) {
intentionalArr.push(
{item.key}
)
});
let newArr = [];
newFollow.map(function (item) {
newArr.push(
{item.key}
)
});
this.state.customerStatuarr = theArr;
this.state.auditStatusOption = auditArr;
this.state.intentionalOption = intentionalArr;
this.state.newOption = newArr;
this.loadData();
},
tableRowClick(record, index) {
this.state.RowData = record;
this.setModal5VisibleOk(record);
this.setState({
rowId:record.id ,
before_customerStatus:record._customerStatus,
before_companyIntention:record._companyIntention,
before_followSituation:record._followSituation
})
console.log(record);
},
//删除功能,已经完成
delectRow() {
let deletedIds;
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) {
deletedIds=rowItem.id;
adminName=rowItem.adminName;
customerStatus=rowItem.customerStatus;
companyIntention=rowItem.companyIntention;
followSituation=rowItem.followSituation;
};
};
this.state.data = []
this.setState({
selectedRowKeys: [],
});
$.ajax({
method: "post",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/customer/deleteCustomer",
data: {
id: deletedIds,//删除的ID
beforeCustomerStatus:customerStatus,
beforeCompanyIntention:companyIntention,
beforeFollowSituation:followSituation,
beforeAdminName:adminName
}
}).done(function (data) {
if (!data.error.length) {
message.success('删除成功!');
this.setState({
loading: false,
});
} else {
message.warning(data.error[0].message);
};
this.loadData();
}.bind(this));
},
//删除功能
delectRowFollow() {
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.state.data = []
this.setState({
selectedRowKeys: [],
});
$.ajax({
method: "post",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/customer/deleteContacter",
data: {
contactId: deletedIds,//删除的ID
}
}).done(function (data) {
if (!data.error.length) {
message.success('删除成功!');
this.setState({
loading: false,
});
} else {
message.warning(data.error[0].message);
};
this.loadData();
}.bind(this));
},
//转为公共客户功能
changeRow() {
let deletedIds;
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) {
deletedIds=rowItem.id;
customerStatus=rowItem.customerStatus;
companyIntention=rowItem.companyIntention;
followSituation=rowItem.followSituation;
};
};
this.setState({
selectedRowKeys: [],
});
$.ajax({
method: "post",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/customer/transferToPublic",
data: {
aid:this.state.aid,
id: deletedIds,
beforeCompanyIntention:companyIntention,//意向服务
beforeCustomerStatus:customerStatus,//客户状态
beforeFollowSituation:followSituation,//最新跟进状态
}
}).done(function (data) {
if (!data.error.length) {
message.success('已转为公共客户!');
this.setState({
loading: false,
});
} else {
message.warning(data.error[0].message);
};
this.loadData();
}.bind(this));
},
addClick() {
this.state.RowData = {};
this.setState({
showDesc: true
});
},
closeDesc(e, s) {
this.state.showDesc = e;
if (s) {
this.loadData();
};
},
search() {
this.loadData1();
},
reset() {
this.state.companyName='';
this.state.customerType = undefined;
this.state.id = undefined;
this.state.shareType = undefined;
this.state.companyIntention = undefined;
this.state.followSituation = undefined;
this.state.locationProvince = undefined;
this.state.customerStatus = undefined;
this.state.contactName = undefined;
this.state.contactTel = undefined;
this.state.contactName = undefined;
this.state.releaseDate = [];
this.loadData();
},
searchSwitch() {
this.setState({
searchMore: !this.state.searchMore
});
},
render() {
const FormItem = Form.Item
const rowSelection = {
selectedRowKeys: this.state.selectedRowKeys,
onChange: (selectedRowKeys, selectedRows) => {
this.setState({
selectedRows: selectedRows.slice(-1),
selectedRowKeys: selectedRowKeys.slice(-1)
});
}
};
const hasSelected = this.state.selectedRowKeys.length > 0;
const { RangePicker } = DatePicker;
const theData = this.props.data || {};
const { getFieldDecorator } = this.props.form;
const formItemLayout = {
labelCol: { span: 8 },
wrapperCol: { span: 14 },
};
return (
);
}
}));
export default AchievementList;