import React from 'react';
import {Button, Spin, message, Table, Tooltip, Input, Modal, Alert} from 'antd';
import $ from 'jquery/src/ajax';
import FollowDetail from '../../followDetail.jsx'
import {getContactType} from '@/tools.js';
import VisitDetail from './visitDetail.jsx';
import PublicSupplement from '../../../../../../publicSupplement';
const confirm = Modal.confirm;
const Visit = React.createClass({
getInitialState(){
return {
visitArrList: [],
loading: false,
visitModul: false,
visitModuls: false,
followId:0,
ispage:1,
paginations: {
defaultCurrent: 1,
defaultPageSize: 10,
showQuickJumper: true,
pageSize: 10,
onChange: function (page) {
this.loadVisit(page);
}.bind(this),
showTotal: function (total) {
return "共" + total + "条数据";
},
},
visitsList: [
{
title: "客户名称",
dataIndex: "nickname",
key: "nickname",
width: 150,
render: (text) => {
return (
{text}
)
},
},
{
title: "跟进方式",
dataIndex: "contactType",
key: "contactType",
width: 100,
render: (text) => {
return getContactType(text);
},
},
{
title: "联系人",
dataIndex: "contacts",
key: "contacts",
width: 150,
render: (text, record) => {
return (
{record.readOnly ? *** : {text}}
);
},
},
{
title: "联系电话",
dataIndex: "contactMobile",
key: "contactMobile",
width: 120,
render: (text, record) => {
return (
{record.readOnly ? *** : {text}}
);
},
},
{
title: "跟进人",
dataIndex: "adminName",
key: "adminName",
width: 120
},
{
title: "跟进说明",
dataIndex: "result",
key: "result",
width: 300,
render: (text, record) => {
return (
{text}
{
getContactType(record.contactType) === '公出打卡' &&
补充说明:
{record.supplement}
{
this.loadVisit(this.state.ispage);
}}/>
}
)
}
},
{
title: "跟进时间",
dataIndex: "followTime",
key: "followTime",
width: 125
},
{
title: "指导意见",
dataIndex: "abc",
key: "abc",
width: 150,
render: (text, record) => {
return (
{record.guidance ?
{(record.guidanceName ? '('+record.guidanceName+')' : '') + record.guidance}
}>
{record.guidanceName ? '('+record.guidanceName+')' : null}
{record.guidance}
: (this.props.isEditGuidanceLv ? : 暂未指导)}
);
},
},
{
title: "指导时间",
dataIndex: "guidanceTime",
key: "guidanceTime",
width: 125,
render: (text, record) => {
return (
{text ? text : ''}
)
}
}
],
guidanceVisible: false,
guidance: ''
};
},
//拜访记录删除
visitDelet(e) {
this.setState({
visitModul:false,
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));
},
//查看跟进记录列表
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.props.data.id, //名称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(thisdata);
};
this.state.paginations.current = data.data.pageNo;
this.state.paginations.total = data.data.totalCount;
this.setState({
ispage: data.data.pageNo
})
};
if(data.data.list&&!data.data.list.length){
this.state.paginations.current =0;
this.state.paginations.total =0;
};
this.setState({
visitArrList: theArr,
paginations: this.state.paginations
});
}.bind(this),
}).always(function() {
this.setState({
loading: false
});
}.bind(this));
},
componentWillMount(){
this.loadVisit();
},
detailsModal(){
this.props.closeDetail(false, false)
},
//点击整行
VisitRowClick(record){
this.setState({
followData: record,
visitModul:true,
})
},
//进入新增拜访记录
visit() {
let obj = {
id: this.props.data.id
}
this.setState({
followData:obj,
visitModuls:true,
})
},
closeDesc(e,s){
this.state.visitModul=e
this.state.visitModuls=e
if(s){
this.loadVisit()
}
},
//发布指导意见
releaseGuidance(e){
e.stopPropagation();
if(!this.state.guidance){
message.info('指导意见不能为空')
return;
}
this.setState({
loading: true,
});
$.ajax({
method: "post",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/customer/addGuidance",
data: {
guidance: this.state.guidance,
followId: this.state.followId,
},
}).done(function(data) {
if(!data.error.length) {
message.success("发布成功");
this.loadVisit(this.state.ispage);
this.setState({
loading: false,
guidanceVisible: false,
});
} else {
message.warning(data.error[0].message);
}
}.bind(this));
},
componentWillReceiveProps(nextProps) {
if(nextProps.data.id&&nextProps.visitState){
this.loadVisit()
}
this.setState({
visitModul:false
})
},
render(){
return(
{!this.props.isGuidanceLv ?
:
}
{/*指导意见*/}
{this.state.guidanceVisible ?
{
this.setState({
guidanceVisible: false,
guidance: '',
},()=>{
this.loadVisit();
})
}}
onCancel={()=>{
this.setState({
guidanceVisible: false,
guidance: '',
},()=>{
this.loadVisit();
})
}}
footer=''
>
{
this.setState({
guidance: e.target.value,
})
}}
/>
:
}
)
}
})
export default Visit;