import React from 'react';
import { Select, Spin, Input, Table, Button } from 'antd';
import ajax from 'jquery/src/ajax/xhr.js';
import $ from 'jquery/src/ajax';
import './report.less';
import { post } from '../../../dataDic.js';

const PersonalReport = React.createClass({
	loadData(totalArr) {
		let total=totalArr.data[0] ;
		this.setState({
			loading: true
		});
		$.ajax({
			method: "post",
			dataType: "json",
			crossDomain: false,
			url: globalConfig.context + "/api/admin/organization/selectSuperId",
			data: {
				
			},
			success: function(data) {
				let thedata = data.data;
				let theArr = [];
				if(!thedata) {
					if(data.error && data.error.length) {
						message.warning(data.error[0].message);
					};
					thedata = {};
				} else {
					thedata.map(function(item, index) {
						let nub=index+1;
						theArr.push({
							key: index,
							theNumber:false,
							nub:nub,
							name: item.name,
							id: item.id,
//							departmentName:item.departmentName,//部门
//							position:item.position, //职务
//							enrollTime:item.enrollTime,// 入职时间
//							dailyOrderCount:values.daily.orderCount,//日签单业绩
//							dailyOrderAmount:values.daily.orderAmount,//日签单业绩
//							weeklyOrderCount:values.weekly.orderCount,//周签单业绩
//							weeklyOrderAmount:values.weekly.orderAmount,//周签单业绩
//							monthlyOrderCount:values.monthly.orderCount,//月签单业绩
//							monthlyOrderAmount:values.monthly.orderAmount,//月签单业绩
//							quarterlyOrderCount:values.quarterly.orderCount,//季签单业绩
//							quarterlyOrderAmount:values.quarterly.orderAmount,//季签单业绩
//							annuallyOrderCount:values. annually.orderCount,//年签单业绩
//							annuallyOrderAmount:values. annually.orderAmount,//年签单业绩
							departmentName:item.name,//部门
							position:item.name, //职务
							enrollTime:item.name,// 入职时间
							dailyOrderCount:nub,//日签单业绩
							dailyOrderAmount:nub,//日签单业绩
							weeklyOrderCount:nub,//周签单业绩
							weeklyOrderAmount:nub,//周签单业绩
							monthlyOrderCount:nub,//月签单业绩
							monthlyOrderAmount:nub,//月签单业绩
							quarterlyOrderCount:nub,//季签单业绩
							quarterlyOrderAmount:nub,//季签单业绩
							annuallyOrderCount:nub,//年签单业绩
							annuallyOrderAmount:nub,//年签单业绩
						})
					})
				}
				theArr.push(
						{
							key:9999999,
							theNumber:true,
							name:'合计',
							dailyOrderCount:total.dailyTotalCount,//日签单业绩
							dailyOrderAmount:total.dailyTotalAmount,//日签单业绩
							weeklyOrderCount:total.weeklyTotalCount,//周签单业绩
							weeklyOrderAmount:total.weeklyTotalAmount,//周签单业绩
							monthlyOrderCount:total.monthlyTotalCount,//月签单业绩
							monthlyOrderAmount:total.monthlyTotalAmount,//月签单业绩
							quarterlyOrderCount:total.quarterlyTotalCount,//季签单业绩
							quarterlyOrderAmount:total.quarterlyTotalAmount,//季签单业绩
							annuallyOrderCount:total.annuallyTotalCount,//年签单业绩
							annuallyOrderAmount:total.annuallyTotalAmount,//年签单业绩
						}
					)
				this.setState({
					dataSource: theArr,
				})
			}.bind(this),
		}).always(function() {
			this.setState({
				loading: false
			});
		}.bind(this));
	},
	totalData() {
		this.setState({
			loading: true
		});
		$.ajax({
			method: "post",
			dataType: "json",
			crossDomain: false,
			url: globalConfig.context + "/api/admin/organization/selectSuperId",
			data: {

			},
			success: function(data) {
				//let thedata = data.data;
				let thedata = {data:[
					{dailyTotalCount:1227,dailyTotalAmount:1233,weeklyTotalCount:1025,weeklyTotalAmount:127,monthlyTotalCount:122,
					monthlyTotalAmount:922,quarterlyTotalCount:772,quarterlyTotalAmount:122,annuallyTotalCount:522,annuallyTotalAmount:2222,}
				]}
				let theArr = [];
				if(!thedata) {
					if(data.error && data.error.length) {
						message.warning(data.error[0].message);
					};
					thedata = {};
				} 
				this.loadData(thedata)
			}.bind(this),
		}).always(function() {
			this.setState({
				loading: false
			});
		}.bind(this));
	},
	departmentList() {
		this.setState({
			loading: true
		});
		$.ajax({
			method: "post",
			dataType: "json",
			crossDomain: false,
			url: globalConfig.context + "/api/admin/organization/selectSuperId",
			data: {

			},
			success: function(data) {
				let thedata = data.data;
				let theArr = [];
				if(!thedata) {
					if(data.error && data.error.length) {
						message.warning(data.error[0].message);
					};
					thedata = {};
				} else {
					thedata.map(function(item, index) {
						theArr.push({
							key: index,
							name: item.name,
							id: item.id,
							depNo: item.depNo
						})
					})
				}
				this.setState({
					departmentArr: theArr,
				})
			}.bind(this),
		}).always(function() {
			this.setState({
				loading: false
			});
		}.bind(this));
	},
	getInitialState() {
		return {
			selectedRowKeys: [],
			selectedRows: [],
			loading: false,
			visible: false,
			showDesc: false,
			columns: [
			{
				title: '序号',
				dataIndex: 'nub',
				key: 'nub',
				render:(text,record)=>{
				     if(!record.theNumber){
				     	return text
				     }else{
				     	return {
				     		children: text,
      						props: {
      							colSpan:0
      						},
				     	}
				     	
				     }
				     
				}
			},
			{
				title: '姓名',
				dataIndex: 'name',
				key: 'name',
				render:(text,record)=>{
				     if(!record.theNumber){
				     	return text
				     }else{
				     	return {
				     		children: text,
      						props: {
      							colSpan:5
      						},
				     	}
				     	
				     }
				     
				}
			},{
				title: '部门',
				dataIndex: 'departmentName',
				key: 'departmentName',
				render:(text,record)=>{
				     if(!record.theNumber){
				     	return text
				     }else{
				     	return {
				     		children: text,
      						props: {
      							colSpan:0
      						},
				     	}
				     	
				     }
				     
				}
			}, 
			{
				title: '职务',
				dataIndex: 'position',
				key: 'position',
				render:(text,record)=>{
				     if(!record.theNumber){
				     	return text
				     }else{
				     	return {
				     		children: text,
      						props: {
      							colSpan:0
      						},
				     	}
				     	
				     }
				     
				}
			},{
				title: '入职时间',
				dataIndex: 'enrollTime',
				key: 'enrollTime',
				render:(text,record)=>{
				     if(!record.theNumber){
				     	return text
				     }else{
				     	return {
				     		children: text,
      						props: {
      							colSpan:0
      						},
				     	}
				     	
				     }
				     
				}
			},{
				title: '当日营销客户数',
				children: [
					{
						title: '总数',
						dataIndex: 'num',
						key: 'num',
						sorter: (a, b) => a.num - b.num,
					},{
						title: '新增',
						dataIndex: 'age2',
						key: 'age2',
						sorter: (a, b) => a.age - b.age,
					},{
						title: '回访',
						dataIndex: 'age3',
						key: 'age3',
						sorter: (a, b) => a.age - b.age,
					},{
						title: '有效',
						dataIndex: 'age4',
						key: 'age4',
						sorter: (a, b) => a.age - b.age,
					},
				],
			}, {
				title: '当日营销方式',
				children: [
					{
						title: '总数',
						dataIndex: 'age11',
						key: 'age11',
						sorter: (a, b) => a.age - b.age,
					},{
						title: '电话',
						dataIndex: 'age22',
						key: 'age22',
						sorter: (a, b) => a.age - b.age,
					},{
						title: '外拜',
						dataIndex: 'age33',
						key: 'age33',
						sorter: (a, b) => a.age - b.age,
					},{
						title: '邮件',
						dataIndex: 'age44',
						key: 'age44',
						sorter: (a, b) => a.age - b.age,
					},{
						title: '微信',
						dataIndex: 'age55',
						key: 'age55',
						sorter: (a, b) => a.age - b.age,
					}
				],
			},
			{
				title: '本日签单业绩',
				children: [
					{
						title: '数量',
						dataIndex: 'dailyOrderCount',
						key: 'dailyOrderCount',
						sorter: (a, b) => a.dailyOrderCount - b.dailyOrderCount,
					},{
						title: '金额',
						dataIndex: 'dailyOrderAmount',
						key: 'dailyOrderAmount',
						sorter: (a, b) => a.dailyOrderAmount - b.dailyOrderAmount,
					}
				],
			},{
				title: '本周签单业绩',
				children: [
					{
						title: '数量',
						dataIndex: 'weeklyOrderCount',
						key: 'weeklyOrderCount',
						sorter: (a, b) => a.weeklyOrderCount - b.weeklyOrderCount,
					},{
						title: '金额',
						dataIndex: 'weeklyOrderAmount',
						key: 'weeklyOrderAmount',
						sorter: (a, b) => a.weeklyOrderAmount - b.weeklyOrderAmount,
					}
				],
			},{
				title: '本月签单业绩',
				children: [
					{
						title: '数量',
						dataIndex: 'monthlyOrderCount',
						key: 'monthlyOrderCount',
						sorter: (a, b) => a.monthlyOrderCount - b.monthlyOrderCount,
					},{
						title: '金额',
						dataIndex: 'monthlyOrderAmount',
						key: 'monthlyOrderAmount',
						sorter: (a, b) => a.monthlyOrderAmount - b.monthlyOrderAmount,
					}
				],
			},{
				title: '本季签单业绩',
				children: [
					{
						title: '数量',
						dataIndex: 'quarterlyOrderCount',
						key: 'quarterlyOrderCount',
						sorter: (a, b) => a.quarterlyOrderCount - b.quarterlyOrderCount,
					},{
						title: '金额',
						dataIndex: 'quarterlyOrderAmount',
						key: 'quarterlyOrderAmount',
						sorter: (a, b) => a.quarterlyOrderAmount - b.quarterlyOrderAmount,
					}
				],
			},{
				title: '本年签单业绩',
				children: [
					{
						title: '数量',
						dataIndex: 'annuallyOrderCount',
						key: 'annuallyOrderCount',
						sorter: (a, b) => a.annuallyOrderCount - b.annuallyOrderCount,
					},{
						title: '金额',
						dataIndex: 'annuallyOrderAmount',
						key: 'annuallyOrderAmount',
						sorter: (a, b) => a.annuallyOrderAmount - b.annuallyOrderAmount,
					}
				],
			}
			],
			dataSource: [],
		};
	},
	search() {
		this.totalData()
	},
	reset() {
		this.state.departmentSearch = undefined;
		this.state.postSearch = undefined;
		this.state.uesrNameSearch = '';
		this.totalData()
	},
	componentWillMount() {
		this.departmentList();
		this.totalData();
		let times=new Date();
		let nowTime=times.getFullYear()+'年'+(times.getMonth()+1)+'月'+times.getDate()+'日';
		this.setState({
			Nowtime:nowTime
		})
	},
	render() {
		let departmentArr = this.state.departmentArr || [];
		return(
			<div className='set-content'>
				<span style={{fontSize:'16px'}}>个人业绩统计报表</span>
				<div className="clearfix">
					<Select placeholder="部门机构"
                        style={{ width: 150 ,marginRight:'10px',marginTop:'10px',marginBottom:'10px'}}
                        value={this.state.departmentSearch}
                        onChange={(e) => { this.setState({ departmentSearch: e }) }}>
                        {
                            departmentArr.map(function (item) {
                                    return <Select.Option key={item.id} >{item.name}</Select.Option>
                            })
                        }
                  	</Select>
                  	<Input  value={this.state.uesrNameSearch} placeholder="用户姓名" style={{width:'150px'}}
                  			onChange={(e)=>{this.setState({uesrNameSearch:e.target.value})}} />
                  	<Select placeholder="职务"
                        style={{ width: 150 ,marginRight:'10px',marginLeft:'10px'}}
                        value={this.state.postSearch}
                        onChange={(e) => { this.setState({ postSearch: e }) }}>
                        {
                            post.map(function (item) {
                                    return <Select.Option key={item.value} >{item.key}</Select.Option>
                            })
                        }
                  	</Select>
                  	<Button type="primary" onClick={this.search} style={{marginLeft:'10px',marginRight:'10px'}}>搜索</Button>
	                <Button onClick={this.reset}>重置</Button>
				</div>
				<div className="surfaceTitle">
					<span>湖南科德公司</span>
					<span className="nowtime">{this.state.Nowtime}</span>
					<span>个人营销业绩统计表</span>
				</div>
				<div className="patent-table">
					<div className="scroll">
	                    <Spin spinning={this.state.loading}>
	                        <Table columns={this.state.columns}
	                            dataSource={this.state.dataSource}
	                            bordered
	                            pagination={false}
	                            />
	                    </Spin>
	                </div>
	            </div>
			</div>
		)
	}
});

export default PersonalReport;