import React from 'react' import $ from 'jquery/src/ajax'; import {Modal, Form, Button, Spin, Table, message, Tag, Tooltip} from 'antd'; import {getfllowSituation,getcustomerStatue,getClockState,splitUrl,getContactType} from '@/tools.js'; import ImgList from "../../../../../../common/imgList"; const FormItem =Form.Item; const VisitDetail = React.createClass({ getInitialState(){ return{ visitModul:false, loading:false, data:[], publicReleaseLog:[], followDtails:{}, enclosure:[], intentionPublicReleaseLog:[ { title: '状态', dataIndex: 'status', key: 'status', render: (text) => ( {getClockState(text,true).title} ) }, { title: '操作人', dataIndex: 'aname', key: 'aname', }, { title: '操作时间', dataIndex: 'createTimes', key: 'createTimes', }, { title: '备注', width:120, dataIndex: 'remarks', key: 'remarks', render: (text) => { return (
{text}
) } }, { title: '操作', width:120, dataIndex: 'photoUrl', key: 'photoUrl', render: (text) => { let arr = splitUrl( text, ",", globalConfig.avatarHost + "/upload" ) return ( arr.length !== 0 ? : null ) } }, ], //业务意向列表 intentionList:[ { title: '业务名称', dataIndex: 'businessVarietiesName', width:120, key: 'businessVarietiesName' }, { title: '项目名称', dataIndex: 'businessProjectName', key:'businessProjectName', width:120 }, { title: '最新进度', width:120, dataIndex: 'followSituation', key: 'followSituation', render: (text, record, index) => { return
{getfllowSituation(text)}
} }, { title: '最新状态', width:120, dataIndex: 'customerStatus', key: 'customerStatus', render: (text, record, index) => { return
{getcustomerStatue(text)}
} }, { title: '跟进说明', width:120, dataIndex: 'remarks', key: 'remarks', render: (text, record, index) => { return
{text&&text.length>8?text.substr(0,8)+'…':text}
} } ], } }, //进入修改拜访记录 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({ key:i, readOnly:this.props.followData.readOnly, id: thisdata.ufbId, businessName:thisdata.businessProjectId, businessVarietiesName:thisdata.businessVarietiesName, businessProjectName:thisdata.businessProjectName, followSituation: thisdata.followSituation==null?undefined : String(thisdata.followSituation), customerStatus: thisdata.customerStatus==null?undefined : String(thisdata.customerStatus), remarks: thisdata.remarks, }); }; this.setState({ followIds: thedata.followId, contacts: thedata.contacts, uid: thedata.uid, data: theArr, result: thedata.result, contactMobile:thedata.contactMobile, contactType:getContactType(thedata.contactType), followTime: thedata.followTime, followSituation: thedata.followSituation, customerStatus: thedata.customerStatus, }); }.bind(this), }).always(function() { this.setState({ loading: false }); }.bind(this)); }, //拜访意向服务列表单个删除 intentionDelet(e, index) { 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); } }, //拜访modul函数 visitOk(e) { this.setState({ addcontactModul:false, visitModul: false }); }, visitCancel(e) { this.setState({ addcontactModul:false, visitModul: false }); }, //详情保存 visitSubmit(e){ e.preventDefault(); this.setState({ loading: true }); let contactsId = ''; if(this.state.keys) { let conts = this.state.lastName; contactsId = this.state.contactsIdArr[conts].id; } let GlossoryId=false; this.state.data.map(function(item) { if(!item.followSituation||!item.customerStatus||!item.businessName) { GlossoryId = true } }) if(this.state.data.length&&GlossoryId) { message.warning("项目名称/最新进度/最新状态不能为空!") return false; }; let dataList=this.state.data, idsList=[]; dataList.map((item,index) => { idsList.push({ ufbId:item.id||'', businessProjectId:item.businessName, customerStatus:item.customerStatus, followSituation:item.followSituation, remarks:item.remarks||'' }) }); //新增 $.ajax({ method: "post", dataType: "json", url: globalConfig.context + '/api/admin/customer/updateFollow', data: { followId: this.state.followIds, userBusinessList: JSON.stringify(idsList), 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.props.closeDesc(false,true); this.visitCancel(); } else { message.warning(data.error[0].message); } }.bind(this)); }, getFollowDtails(e) { this.setState({ loading: true }); $.ajax({ method: "get", dataType: "json", url: globalConfig.context + '/api/admin/release/followDtails', data: { id: e, }, success: function(data) { if(data.error.length === 0){ this.setState({ followDtails:data.data || {} }) }else{ message.warning(data.error[0].message) } }.bind(this), }).always(function() { this.setState({ loading: false }); }.bind(this)); }, getListPublicReleaseLog(e) { this.setState({ loading: true }); $.ajax({ method: "get", dataType: "json", url: globalConfig.context + '/api/admin/release/listPublicReleaseLog', data: { ufid: e, }, success: function(data) { if(data.error.length === 0){ this.setState({ publicReleaseLog:data.data || [] }) }else{ message.warning(data.error[0].message) } }.bind(this), }).always(function() { this.setState({ loading: false }); }.bind(this)); }, componentWillReceiveProps(nextProps) { if (nextProps.visitModul && nextProps.followData.followId) { this.setState({ visitModul: true, loading: true, }) if(nextProps.followData.contactType === "5"){ this.getListPublicReleaseLog(nextProps.followData.followId); this.getFollowDtails(nextProps.followData.followId); } this.visitModify(nextProps.followData.followId) }; }, render() { const formItemLayout = { labelCol: { span: 8 }, wrapperCol: { span: 14 }, }; const followData= this.props.followData || [] return(
{!(this.state.contactType === '公出打卡' && Object.keys(this.state.followDtails).length > 0) ?
{this.state.contactType}
{!followData.readOnly&& {this.state.contacts} } {this.state.followTime} {!followData.readOnly&& {this.state.contactMobile} }
{ {this.state.result} }
: null} {this.state.contactType === '公出打卡' && Object.keys(this.state.followDtails).length > 0 ?
{this.state.followDtails.nickname} {this.state.followDtails.releaseStarts + '~' + this.state.followDtails.releaseEnds} {this.state.followDtails.districtName} {getClockState(this.state.followDtails.status).title}
公出日志
: null} {!(this.state.contactType === '公出打卡' && Object.keys(this.state.followDtails).length > 0) ?
业务意向
record.id} pagination={false} columns={this.state.intentionList} dataSource={this.state.data} /> : null} {!followData.readOnly&& {/* */} } {this.state.visitImgModul ? { this.setState({ visitImgModul:false, enclosure:[], }) }} onCancel={()=>{ this.setState({ visitImgModul:false, enclosure:[] }) }} > : null} ) } }) export default VisitDetail;