import React,{Component} from "react"; import {DatePicker, Input, Radio, Select, Table, Checkbox, Button, message, Spin, Tooltip, Modal} from "antd"; import $ from "jquery"; import moment from "moment"; const RadioGroup = Radio.Group; const confirm = Modal.confirm; class CustomerServiceRecord extends Component{ constructor(props) { super(props); this.state={ columns:[ { title: "跟进时间", dataIndex: "createTimes", key: "createTimes", width: 100, }, { title: "跟进人", dataIndex: "adminName", key: "adminName", width: 130, }, { title: "是否已添微信", dataIndex: "addWechat", key: "addWechat", width: 100, render: (text,record) => { let str = text === 1 ? '是('+record.wechat+')' : text === 0 ? '否' : ''; return (
{str}
) } }, { title: "续签情况", dataIndex: "renewal", key: "renewal", width: 150, render: (text,record) => { let str = text === 0 ? '未联系上当前联系人' : text === 1 ? '企业已签其他机构' : text === 2 ? '企业自己申报' : text === 3 ? '企业不打算申报/注销' : text === 4 ? '待续签,未报价(客服维护中)' : text === 5 ? '待续签,已报价(客服维护中)' : text === 6 ? ('已续签/复审、续签时间、续签项目' + (record.renewalTimes ? '('+record.renewalTimes+')' : '')): '' return (
{str}
) } }, { title: "已签项目", dataIndex: "signProject", key: "signProject", width: 150, render: (text) => { return (
{text}
) } }, { title: "技术端满意度", dataIndex: "techSatisfaction", key: "techSatisfaction", render: (text) => { //0 已投诉 1不满意 2一般满意 3非常满意 return ( { text === 0 ? '已投诉' : text === 1 ? '不满意' : text === 2 ? '一般满意' : text === 3 ? '非常满意' : '' } ) } }, { title: "业务端满意度", dataIndex: "businessSatisfaction", key: "businessSatisfaction", render: (text) => { return ( { text === 0 ? '已投诉' : text === 1 ? '不满意' : text === 2 ? '一般满意' : text === 3 ? '非常满意' : '' } ) } }, { title: "备注", dataIndex: "remarks", key: "remarks", width: 150, render: (text) => { return (
{text}
) } }, ], dataSource:[], releaseDate:'', techSatisfaction:'', businessSatisfaction:'', addWechat:'', wx:'', situation:'', comment:'', selectUidByprojectList:[], signProjectId:[], signProject:[], removeSelectList:[], } this.preservation = this.preservation.bind(this); this.loadData = this.loadData.bind(this); this.selectUidByprojectList = this.selectUidByprojectList.bind(this); this.inquiry = this.inquiry.bind(this); } componentDidMount() { this.loadData(); } inquiry(){ let _this = this; confirm({ title: '确定要保存提交吗?', content: '请再次确定您填写的客服信息,客服信息提交后,不能修改或删除!', okText: '确定', okType: 'primary', cancelText: '取消', onOk() { _this.preservation(); }, }); } preservation(){ if(isNaN(parseInt(this.state.addWechat))){ message.warning('请选择是否添加客服微信'); return; } if(this.state.addWechat === 1 && !this.state.wx){ message.warning('请填写微信号'); return; } if(isNaN(parseInt(this.state.situation))){ message.warning('请选择续签情况'); return; } // if(this.state.situation === 6 && !this.state.releaseDate){ // message.warning('请选择续签时间'); // return; // } if(!this.state.comment){ message.warning('请填写备注'); return; } let hide = message.loading('提交中...',0); this.setState({ preservationLoading: true }); $.ajax({ url: globalConfig.context + '/api/admin/addUseService', method: 'post', data: { uid:this.props.uid, addWechat:this.state.addWechat, wechat:this.state.wx, renewal:this.state.situation, renewalTimes:this.state.releaseDate || undefined, techSatisfaction:this.state.techSatisfaction, businessSatisfaction:this.state.businessSatisfaction, remarks:this.state.comment, signProjectId:this.state.signProjectId.join(','), signProject:this.state.signProject.join(','), } }).done((res) => { if (!res.error.length) { message.success("提交成功"); this.loadData(); } else { message.error(res.error[0].message); } }).always(() => { hide(); this.setState({ preservationLoading: false }); }) } loadData() { let _this = this; this.setState({ listLoading: true, }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/listUseServiceFollow", data: { uid:this.props.uid }, success: function (data) { if (data.error && data.error.length) { message.warning(data.error[0].message); }else { if(data.data.length !== 0){ let info = data.data[0]; let signProjectId = info.signProjectId ? info.signProjectId.split(',') : []; let signProject = info.signProject ? info.signProject.split(',') : []; this.setState({ releaseDate:info.renewalTimes, techSatisfaction:info.techSatisfaction, businessSatisfaction:info.businessSatisfaction, addWechat:info.addWechat, wx:info.wechat, situation:info.renewal, comment:info.remarks, signProjectId:signProjectId, signProject:signProject, },()=>{ _this.selectUidByprojectList(signProjectId,signProject); }) }else{ _this.selectUidByprojectList(); } this.setState({ dataSource: data.data, }); } }.bind(this), }).always( function () { this.setState({ listLoading: false, }); }.bind(this) ); } selectUidByprojectList(signProjectId = [],signProject=[]) { this.setState({ selectLoading: true, }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/orderProject/selectUidByproject", data: { uid:this.props.uid }, success: function (data) { if (data.error && data.error.length) { message.warning(data.error[0].message); }else{ let removeArr = []; if(signProjectId.length > 0){ let info = data.data; let arr = []; for(let i of info){ for(let v of i.list){ arr.push(v); } } for(let i of signProjectId){ let arr1 = arr.filter(v=>{ return i==v.id; }); if(arr1.length < 1){ let index = signProjectId.findIndex(d=>d == i); removeArr.push({ name:signProject[index], id:signProjectId[index], }) } } } this.setState({ selectUidByprojectList:data.data, removeSelectList:removeArr }) } }.bind(this), }).always( function () { this.setState({ selectLoading: false, }); }.bind(this) ); } render() { return (
*添加客服微信:
{ this.setState({ addWechat: e.target.value }); if(e.target.value === 0){ this.setState({ wx:'' }) } }} > 否,暂未添加
{this.state.addWechat === 1 ?
*微信号
{ this.setState({wx:e.target.value}) }}/>
: null}
*续签情况:
{this.state.situation === 6 ?
{/***/} 续签时间:
{ this.setState({ releaseDate: dataString }); }} />
: null} {this.state.situation === 6 ?
已签项目:
{ this.state.selectUidByprojectList.map((value,key)=>(
{value.orderNo+':'}
{ value.list.map((v,k)=>{ let arr = this.state.signProjectId; let index = arr.findIndex(d=>d == v.id); let lv = index >= 0; return ( { if(e.target.checked){ this.state.signProjectId.push(v.id); this.state.signProject.push(v.commodityName); this.setState({ signProjectId:this.state.signProjectId, signProject:this.state.signProject, }) }else{ let index = this.state.signProjectId.findIndex(d=>d == v.id); this.state.signProjectId.splice(index,1); this.state.signProject.splice(index,1); this.setState({ signProjectId:this.state.signProjectId, signProject:this.state.signProject, }) } v.checked=e.target.checked }}>{v.commodityName} ) }) }
)) } { this.state.removeSelectList.length !== 0 ?
已删项目(已签)
{ this.state.removeSelectList.map((v,k)=>( {v.name} )) }
: '' }
: null}
技术端满意度:
{ this.setState({ techSatisfaction:e.target.value }) }} value={this.state.techSatisfaction}> 非常满意 一般满意 不满意 已投诉
业务端满意度:
{ this.setState({ businessSatisfaction:e.target.value }) }} value={this.state.businessSatisfaction}> 非常满意 一般满意 不满意 已投诉
*备注:
{ this.setState({ comment: e.target.value }); }} />
{this.state.comment.length+'/'+200}
) } } export default CustomerServiceRecord;