import React from 'react'
import ajax from 'jquery/src/ajax/xhr.js';
import $ from 'jquery/src/ajax';
import {Modal,Form,layout,Radio,Button,Input,Spin,Table,Select,Popconfirm,message} from 'antd';
import {intentionalService,newFollow,customerStatus} from '@/dataDic.js';
import {getCompanyIntention} from '@/tools.js';
const FormItem =Form.Item;
import AddContact from "../signCustomer/followDetail/addContact";
import BusName from './followDetail/businessName.jsx';
const FollowDetail = React.createClass({
getInitialState(){
return{
visitModul:false,
loading:false,
data:[],
businessName:'',
projectName:'',
busModul:false,
intentionList:[{
title: '业务名称',
dataIndex: 'businessGlossoryId',
width:120,
key: 'businessGlossoryId',
render: (text, record, index) => {
return (
{!record.id?:
{record.businessVarietiesName}}
)
}
},
{
title: '项目名称',
dataIndex: 'businessName',
key:'businessName',
width:120,
render:(text,record,index)=>{
return(
{!record.id?
:
{record.businessProjectName}
}
)
}
},
{
title: '最新进度',
width:120,
dataIndex: 'followSituation',
key: 'followSituation',
render: (text, record, index) => {
if(text == 5 && !record.isEdit) {
return (
newFollow.map(function (item) {
if(item.value == text) {
return item.key
}
})
)
}else {
return
}
}
}, {
title: '最新状态',
width:120,
dataIndex: 'customerStatus',
key: 'customerStatus',
render: (text, record, index) => {
if(record.followSituation == 5 && !record.isEdit) {
return (
customerStatus.map(function (item) {
if(item.value == text) {
return item.key
}
})
)
}else {
return
}
}
}, {
title: '跟进说明',
width:120,
dataIndex: 'remarks',
key: 'remarks',
render: (text, record, index) => {
if(record.followSituation == 5 && !record.isEdit) {
return (
text
)
}else {
return { record.remarks = e.target.value; this.setState({ data: this.state.data }); }}
/>
}
}
}, {
title: '操作',
width:120,
dataIndex: 'rrr',
key: 'rrr',
render: (text, record, index) => {
return
{!record.id&&
{this.intentionDelet(record,index)}} okText="删除" cancelText="不删除">
}
}
}
],
}
},
//选择子项目
businessFn(record,index){
if(!record.businessGlossoryId){
message.warn('请先选择业务名称!');
return;
}
this.setState({
businessId:record.businessGlossoryId,
busModul:true,
index:index,
addcontactModul:false
})
},
closeBus(datas,e,s){
this.state.addcontactModul=e;
this.state.busModul=false;
if(s){
this.state.data[this.state.index].businessName=datas.id;
this.state.data[this.state.index].projectName=datas.name;
this.setState({
busModul:false,
data:this.state.data
})
}
},
//拜访意向服务列表单个删除
intentionDelet(e, index) {
let deteluserBusinessList = (this.state.data).splice(index, 1)
this.setState({
selectedRowKeys: [],
});
},
//拜访modul函数
visitOk(e) {
this.setState({
addcontactModul:false,
visitModul: false
});
},
visitCancel(e) {
this.setState({
addcontactModul:false,
visitModul: false
});
this.props.closeDesc(false,false)
},
//获取联系人下拉框
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));
},
//刷新新增拜访记录刷新
deletelist(e) {
this.setState({
loading:true
});
$.ajax({
method: "get",
dataType: "json",
url: globalConfig.context + '/api/admin/customer/toAddFollowOnHistory',
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.businessId,
businessName:thisdata.businessProjectId,
businessGlossoryId:i,
businessVarietiesName:thisdata.businessVarietiesName,
businessProjectName:thisdata.businessProjectName,
followSituation: String(thisdata.followSituation),
customerStatus: String(thisdata.customerStatus),
remarks: thisdata.remarks,
});
};
this.setState({
contacts: thedata.contacts,
uid: thedata.uid,
data: listArr,
followTime: thedata.followTime,
remarks: thedata.remarks,
});
}.bind(this),
}).always(function() {
this.setState({
loading: false
});
}.bind(this));
},
//当选择联系人的列表变化时,则执行
hundleName(e) {
let changNub = this.state.telNum[e];
this.setState({
nub: this.state.telNum[e],
lastName: e,
});
},
//点击添加联系人
newContacts() {
this.setState({
busModul:false,
uids: this.state.uid,
addcontactModul: true
});
},
//页面刷新
closeFollow(e, s) {
this.state.addcontactModul=false;
this.state.visitModul = true;
if(s) {
this.getNewWoman(this.props.followData.id);
this.deletelist(this.props.followData.id)
};
},
//详情保存
visitSubmit(e){
e.preventDefault();
let GlossoryId=false;
this.state.data.map(function(item) {
if(!item.followSituation||!item.customerStatus||!item.businessName) {
GlossoryId = true
}
})
if(this.state.contactType == undefined) {
message.warning('请选择拜访方式')
return false;
};
if(this.state.lastName == undefined) {
message.warning('请选择联系人')
return false;
}
if (this.state.result.length<10) {
message.warning("备注不少于10个字符!");
return false;
}
if(this.state.data.length&&GlossoryId) {
message.warning("项目名称/最新进度/最新状态不能为空!")
return false;
};
let dataList=this.state.data,
idsList=[];
dataList.map((item,index) => {
idsList.push({
businessId:item.id||'',
businessProjectId:item.businessName,
customerStatus:item.customerStatus,
followSituation:item.followSituation,
remarks:item.remarks||''
})
})
this.setState({
loading: true
});
let contactsId = '';
let conts = this.state.lastName;
contactsId = this.state.contactsIdArr[conts].id;
//新增
$.ajax({
method: "post",
dataType: "json",
url: globalConfig.context + '/api/admin/customer/addFollow',
data: {
userBusinessList: JSON.stringify(idsList),
uid: this.state.uid,
ocbId: contactsId,
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.props.closeDesc(false,true)
this.visitCancel();
} else {
message.warning(data.error[0].message);
}
}.bind(this));
},
//添加新业务
addNew(){
this.state.data.push({
isEdit: true,
projectName:'选择',
businessName:'',
customerStatus: undefined,
businessGlossoryId: undefined,
followSituation: undefined,
remarks: '',
});
this.setState({
addcontactModul:false,
data: this.state.data
})
},
componentWillReceiveProps(nextProps) {
if (nextProps.visitModul && nextProps.followData.id) {
this.setState({
result: '',
contactType: undefined,
visitModul: true,
loading: true,
lastName:undefined,
nub:'',
busModul:false,
addcontactModul:false,
})
this.getNewWoman(nextProps.followData.id);
this.deletelist(nextProps.followData.id)
};
},
render() {
const formItemLayout = {
labelCol: { span: 8 },
wrapperCol: { span: 14 },
};
return (