import React from 'react';
import {Form,Button,Spin,message,Table,Popconfirm} from 'antd';
import ajax from 'jquery/src/ajax/xhr.js';
import $ from 'jquery/src/ajax';
import FollowDetail from '../../followDetail.jsx'
import {getContactType} from '@/tools.js';
import VisitDetail from './visitDetail.jsx';

const Visit = React.createClass({
	getInitialState(){
		return {
      visitArrList: [],
      loading: false,
      visitModul: false,
      visitModuls: false,
      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: "identifyName",
          key: "identifyName",
        },
        {
          title: "跟进方式",
          dataIndex: "contactType",
          key: "contactType",
          render: (text) => {
            return getContactType(text);
          },
        },
        {
          title: "联系人",
          dataIndex: "contacts",
          key: "contacts",
          render: (text, record) => {
            return (
              <div>
                {record.readOnly ? <span>***</span> : <span>{text}</span>}
              </div>
            );
          },
        },
        {
          title: "联系电话",
          dataIndex: "contactMobile",
          key: "contactMobile",
          render: (text, record) => {
            return (
              <div>
                {record.readOnly ? <span>***</span> : <span>{text}</span>}
              </div>
            );
          },
        },
        {
          title: "跟进人",
          dataIndex: "adminName",
          key: "adminName",
        },
        {
          title: "跟进说明",
          dataIndex: "result",
          key: "result",
          // }, {
          // 	title: '操作',
          // 	dataIndex: 'ttt',
          // 	key: 'ttt',
          // 	render: (text, record, index) => {
          // 		return <div>
          //                 {!record.readOnly&&<Popconfirm title="是否删除?" onConfirm={(e)=>{this.visitDelet(record)}} okText="删除" cancelText="不删除">
          // 				    <Button style={{marginRight:'10px',color:'#ffffff',background:'#f00',border:'none'}} onClick={(e)=>{e.stopPropagation()}}>删除</Button>
          // 				</Popconfirm>}
          //             </div>
          // 	}
        },{
          title: "跟进时间",
          dataIndex: "followTime",
          key: "followTime",
        }
      ],
    };
	},
	//拜访记录删除
	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({
							readOnly:thisdata.readOnly,
							followId: thisdata.followId,
							followTime: thisdata.followTime,
							identifyName: thisdata.identifyName,
							contacts: thisdata.contacts,
							contactMobile: thisdata.contactMobile,
							result: thisdata.result,
							adminName: thisdata.adminName,
							followSituation: thisdata.followSituation,
							customerStatus: thisdata.customerStatus,
							contactType: thisdata.contactType
						});
					};
					this.state.paginations.current = data.data.pageNo;
					this.state.paginations.total = data.data.totalCount;
				};
				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()
		}
	},
	componentWillReceiveProps(nextProps) {
		if(nextProps.data.id&&nextProps.visitState){
			this.loadVisit()
		}
		this.setState({
			visitModul:false
		})
	},
	render(){
		return(
			<div className="clearfix">
				<Button
                    onClick={(e) => {
                      e.stopPropagation(), this.visit();
                    }}
					type="primary"
					style={{marginTop:'10px',float: 'right'}}
                  >
                    客户跟进
                  </Button>
			    <Spin spinning={this.state.loading}>
				  <Table 
				     style={{marginTop:'60px'}}
	            	 pagination={this.state.paginations}
	            	 columns={this.state.visitsList} 
	            	 dataSource={this.state.visitArrList}
	            	 onRowClick={this.VisitRowClick}
	            	 />
			    </Spin> 
			    <VisitDetail 
			    	categoryArr={this.props.categoryArr}
			    	followData={this.state.followData}
			    	visitModul={this.state.visitModul}
			    	closeDesc={this.closeDesc}
			    	mid={this.props.data.id}
			    />
				<FollowDetail
				    categoryArr={this.props.categoryArr}
					followData={this.state.followData}
					isFlag={true}
					visitModul={this.state.visitModuls}
					closeDesc={this.closeDesc}
					loadData={this.props.loadData}
				/>
			</div>	
		)
	}
})
export default Visit;
