import React from 'react';
import { Radio, Icon, Button, AutoComplete,Cascader,Input, Select, Spin, Popconfirm, Table, Switch, message,Calendar , DatePicker, Upload, Form ,Modal,Tabs,Card ,Col} from 'antd';
import ajax from 'jquery/src/ajax/xhr.js';
import $ from 'jquery/src/ajax';
import Jquery from 'jquery/dist/jquery.js';
import moment from 'moment';
import {boutique } from '@/dataDic.js';
import { getLiquidationStatus,getApprovedState,getProcessStatus,splitUrl,getjiedian,getboutique,getCuikuan} from '@/tools.js';
import './customer.less';
const TabPane = Tabs.TabPane;
const Dragger = Upload.Dragger;
//图片组件
const PicturesWall = React.createClass({
	getInitialState() {
		return {
			previewVisible: false,
			previewImage: '',
			fileList: [],
		}
	},
	handleCancel() {
		this.setState({
			previewVisible: false
		})
	},
	handlePreview(file) {
		this.setState({
			previewImage: file.url || file.thumbUrl,
			previewVisible: true,
		});
	},
	handleChange(info) {
		let fileList = info.fileList;
		this.setState({
			fileList
		});
		this.props.fileList(fileList);
	},
	componentWillReceiveProps(nextProps) {
		this.state.fileList = nextProps.pictureUrl;
		this.state.pojectApplicationUrl = undefined;
	},
	render() {
		const {
			previewVisible,
			previewImage,
			fileList
		} = this.state;
		const uploadButton = (
			
		);
		return(
			
                
                    {fileList.length >= 1 ? null : uploadButton}
                
                
                     
                
             
		);
	}
});
const IntentionCustomer = Form.create()(React.createClass({
	loadData(pageNo, apiUrl) {
		this.setState({
			visitModul:false,
			loading: true,
			ispage:pageNo,
			modalVisible:false
		});
		$.ajax({
			method: "get",
			dataType: "json",
			crossDomain: false,
			url: globalConfig.context +"/api/admin/newOrder/orderNewList",
			data: {
				pageNo: pageNo || 1,
				pageSize: this.state.pagination.pageSize,
				specially: 3,//审核列表
				name: this.state.customerName,//名称
				orderNo: this.state.orderNo,//订单编号
				depId: this.state.departmenttSearch,//订单部门
				starTime: this.state.releaseDate[0],//开始时间
				endTime: this.state.releaseDate[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];
						let diqu=(thisdata.province==null?"":thisdata.province)+(thisdata.city==null?"":"-"+thisdata.city)+(thisdata.area==null?"":"-"+thisdata.area);
						theArr.push({
							 key: i,
							 id: thisdata.id,//用户ID
							 orderNo: thisdata.orderNo,//订单编号
	                         totalAmount:thisdata.totalAmount,//签单金额
	                         processStatus:thisdata.processStatus,//流程状态
	                         liquidationStatus:thisdata.liquidationStatus,//结算状态
	                         approval:thisdata.approval,//特批状态
	                         signDate:thisdata.signDate,//签单时间
	                         userName:thisdata.userName,//客户名称
	                         salesmanName:thisdata.salesmanName,//营销员名称
	                         financeName:thisdata.financeName,//财务名称
	                         createDate:thisdata.createDate,//下单时间
	                         depName:thisdata.depName,//部门名称
						});
					};
				    this.state.pagination.total = data.data.totalCount;
				};
				if(data.data&&data.data.list&&!data.data.list.length){
					this.state.pagination.total=0
				}
				this.setState({
					dataSource: theArr,
					pageNo: pageNo,
					pagination: this.state.pagination,
					selectedRowKeys:[]
				});
			}.bind(this),
		}).always(function() {
			this.setState({
				loading: false
			});
		}.bind(this));
	},
	getInitialState() {
		return {
			page:1,
			releaseDate: [],
			selectedRowKeys: [],
			orgCodeUrl:[],
			departmentArr: [],
			paginations:false,
			pagination: {
				defaultCurrent: 1,
				defaultPageSize: 10,
				showQuickJumper: true,
				pageSize: 10,
				onChange: function(page) {
					this.loadData(page);
				}.bind(this),
				showTotal: function(total) {
					return '共' + total + '条数据';
				}
			},
			columns: [
				{
                    title: '订单编号',
                    dataIndex: 'orderNo',
                    key: 'orderNo'
                }, {
                    title: '下单时间',
                    dataIndex: 'createDate',
                    key: 'createTime'
                },{
                    title: '合同签订时间',
                    dataIndex: 'signDate',
                    key: 'signDate'
                },{
                    title: '客户名称',
                    dataIndex: 'userName',
                    key: 'userName',
                    render:(text)=>{
                    	return (text&&text.length>9?text.substr(0,9)+'...':text)
                    }
                }, {
                    title: '流程状态',
                    dataIndex: 'processStatus',
                    key: 'processStatus',
                    render:text=>{return getProcessStatus(text)}
                }, {
                    title: '签单金额(万元)',
                    dataIndex: 'totalAmount',
                    key: 'totalAmount'
                },{
                    title: '结算状态',
                    dataIndex: 'liquidationStatus',
                    key: 'liquidationStatus',
                    render:text=>{return getLiquidationStatus(text)}
                }, {
                    title: '是否特批',
                    dataIndex: 'approval',
                    key: 'approval',
                    render:text=>{return getApprovedState(text)}
                },{
                    title: '订单负责人',
                    dataIndex: 'salesmanName',
                    key: 'salesmanName'
                },{
                    title: '财务负责人',
                    dataIndex: 'financeName',
                    key: 'financeName'
                },{
                    title: '订单部门',
                    dataIndex: 'depName',
                    key: 'depName'
                }
			],
			data: [],
			dataSource: [],
			columnsX: [
				{
                    title: '业务项目名称',
                    dataIndex: 'commodityName',
                    key: 'commodityName'
                }, {
                    title: '项目类别',
                    dataIndex: 'cname',
                    key: 'cname',
                    
                },{
                    title: '项目数量',
                    dataIndex: 'commodityQuantity',
                    key: 'commodityQuantity'
                }, {
                    title: '金额(万元)',
                    dataIndex: 'commodityPrice',
                    key: 'commodityPrice'
                }, {
                    title: '负责人',
                    dataIndex: 'contacts',
                    key: 'contacts'
                }, {
                    title: '负责人电话',
                    dataIndex: 'contactsMobile',
                    key: 'contactsMobile'
                }, {
                    title: '主要项目',
                    dataIndex: 'main',
                    key: 'main',
                    render:(text)=>{
                    	return (text?'是':'否')
                    }
                }, {
                    title: '项目说明',
                    dataIndex: 'taskComment',
                    key: 'taskComment',
					render:(text)=>{
						return (text&&text.length>8?text.substr(0,8)+'…':text)
					}
                }
			],
			dataSourceX: [],
			ContactsLists: [{
					title: '催款科目',
					dataIndex: 'dunSubject',
					key: 'dunSubject',
					render: text=>{return getjiedian(text)}
				},{
					title: '金额(万)',
					dataIndex: 'money',
					key: 'money',
				}, {
					title: '催款状态',
					dataIndex: 'dunStatus',
					key: 'dunStatus',
					render:text=>{return getCuikuan(text)}
				},
			],
		}
	},
	//页面加载函数
	componentWillMount() {
		this.departmentList();
		this.loadData();
	},
	//整行点击
	tableRowClick(record, index) {
		this.setState({
			visible:true,
		});
		this.xiangqing(record.orderNo);
		this.xiangmu(record.orderNo);
		this.jiedian(record.orderNo);
	},	
	//点击打卡项目详情
	tableRowClickX(record, index) {
		console.log(record);
        this.setState({
        	jid:record.id,//项目ID
        	kid:record.commodityId,//商品ID
        	commodityName:record.commodityName,//金额
        	commodityPrice:record.commodityPrice,//金额
        	commodityQuantity:record.commodityQuantity,//数量
        	taskComment:record.taskComment,//备注
        	main:record.main.toString(),//是否为主要
        	addnextVisible:true,
        	addState:0,
        });
    },
    //项目详情关闭
    nextCancel() {
		this.setState({
			addnextVisible: false
		})
	},
    //订单详情
	xiangqing(orderNos) {
		$.ajax({
			method: "get",
			dataType: "json",
			crossDomain: false,
			url: globalConfig.context +"/api/admin/newOrder/getOrderNewDetail",
			data: {
				orderNo:orderNos
			},
			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 {
					let thisdata=data.data;
					this.setState({
						 orderNo: thisdata.orderNo,//订单编号
						 contractNo: thisdata.contractNo,//合同编号
						 userName:thisdata.userName,//客户名称
						 signDate:thisdata.signDate,//签单时间
						 processStatus:thisdata.processStatus,//流程状态
	                     liquidationStatus:thisdata.liquidationStatus,//结算状态
	                     contacts:thisdata.contacts,//企业联系人
	                     contactMobile:thisdata.contactMobile,//联系人电话
	                     legalPerson:thisdata.legalPerson,//法人
	                     legalPersonTel:thisdata.legalPersonTel,//法人电话
	                     firstAmount:thisdata.firstAmount,//签单金额
	                     totalAmount:thisdata.totalAmount,//首付金额
	                     approval:thisdata.approval,//特批状态
	                     settlementAmount:thisdata.settlementAmount,//已收款项
	                     orderRemarks:thisdata.orderRemarks,//订单留言
	                     orgCodeUrl: thisdata.contractPictureUrl ? splitUrl(thisdata.contractPictureUrl, ',', globalConfig.avatarHost + '/upload') : [],//图片地址
	                     salesmanName:thisdata.salesmanName,//营销员名称
	                     salesmanMobile:thisdata.salesmanMobile,//营销员电话
	                     financeName:thisdata.financeName,//财务名称
	                     financeMobile:thisdata.financeMobile,//财务电话
					})
				};
				
			}.bind(this),
		}).always(function() {
			this.setState({
				loading: false
			});
		}.bind(this));
	},
	//项目列表
	xiangmu(orderNos) {
		$.ajax({
			method: "get",
			dataType: "json",
			crossDomain: false,
			url: globalConfig.context +"/api/admin/newOrder/getOrderTask",
			data: {
				orderNo:orderNos
			},
			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.length; i++) {
                        let thisdata = data.data[i];
                        theArr.push({
                             key: i,
                             id:thisdata.id,
                             orderNo:thisdata.orderNo,//订单编号
                              commodityId:thisdata.commodityId,//项目ID
                             commodityName:thisdata.commodityName,//项目名称
                             cname:thisdata.cname,//项目类别
                             commodityPrice:thisdata.commodityPrice,//项目价格
                             commodityQuantity:thisdata.commodityQuantity,//项目数量
                             main:thisdata.main,//是否为主要任务
                             taskComment:thisdata.taskComment,//任务说明
                             contacts:thisdata.contacts,//联系人
                             contactsMobile:thisdata.contactsMobile,//联系人电话
                        });
                    };
				};
				this.setState({
                    dataSourceX: theArr,
                });
			}.bind(this),
		}).always(function() {
			this.setState({
				loading: false
			});
		}.bind(this));
	},
	//节点列表
	jiedian(orderNos) {
		$.ajax({
			method: "get",
			dataType: "json",
			crossDomain: false,
			url: globalConfig.context +"/api/admin/newOrder/selectOrderDun",
			data: {
				orderNo:orderNos
			},
			success: function(data) {
				let theArr = [];
				let thisData=[];
				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.length; i++) {
                		thisData= data.data[i];  
	                	theArr.push({
	                		key:i,
	                		dunSubject:thisData.dunSubject?thisData.dunSubject.toString():"",//催款科目
	                		id:thisData.id,//节点Id
	                		money:thisData.money,//催款金额
	                		dunStatus:thisData.dunStatus,//催款状态
	                	})
                	}
                	this.setState({
                		contactList:theArr
                	})
				};
				
			}.bind(this),
		}).always(function() {
			this.setState({
				loading: false
			});
		}.bind(this));
	},
	//审核通过
	examOk(){
		$.ajax({
			method: "post",
			dataType: "json",
			crossDomain: false,
			url: globalConfig.context +"/api/admin/newOrder/approvalOrder",
			data: {
				orderNo:this.state.orderNo,
				confirm:2,
			},
			success: function(data) {
				if(data.error.length || data.data.list == "") {
					if(data.error && data.error.length) {
						message.warning(data.error[0].message);
					};
				} else {
					message.success("该特批订单已通过审核~");
					this.setState({
						visible:false,
					});
					this.reset();
				};
				
			}.bind(this),
		}).always(function() {
			this.setState({
				loading: false
			});
		}.bind(this));
	},
	//审核不通过
	examOks(){
		$.ajax({
			method: "post",
			dataType: "json",
			crossDomain: false,
			url: globalConfig.context +"/api/admin/newOrder/approvalOrder",
			data: {
				orderNo:this.state.orderNo,
				confirm:3,
				reason:this.state.reason,
			},
			success: function(data) {
				if(data.error.length || data.data.list == "") {
					if(data.error && data.error.length) {
						message.warning(data.error[0].message);
					};
				} else {
					message.success("该特批订单已被驳回~");
					this.setState({
						visible:false,
						noVisible:false
					});
					this.loadData();
					this.resets();
				};
				
			}.bind(this),
		}).always(function() {
			this.setState({
				loading: false
			});
		}.bind(this));
	},
	//点击拒绝
	examNo(){
		this.setState({
			noVisible:true
		})
	},
	//关闭输入理由框
	noCancel(){
		this.setState({
			noVisible:false
		})
	},
	//搜索
	search() {
    	this.setState({
    		//signBillVisible:false
    	})
        this.loadData();
    },
    //重置
    reset() {
    	this.setState({
    		signBillVisible:false
    	})
    	this.state.orderNo='';
    	this.state.customerName='';
    	this.state.departmenttSearch=undefined;
    	this.state.releaseDate[0] = undefined;
		this.state.releaseDate[1] = undefined;
		this.state.approval= undefined;
        this.loadData();       
    },
    resets(){
    	this.state.orderNo='';
    	this.state.customerName='';
    	this.state.departmenttSearch=undefined;
    	this.state.releaseDate[0] = undefined;
		this.state.releaseDate[1] = undefined;
    },
	getOrgCodeUrl(e) {
        this.setState({ orgCodeUrl: e });
    },
	//关闭详情
	visitCancel(e){
		this.setState({
			visible:false
		})
		this.resets();
	},
	visitOk(e){
		this.setState({
			visible:false
		})
		this.resets();
	},
	 //部门
	departmentList() {
		this.setState({
			loading: true
		});
		$.ajax({
			method: "get",
			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,
						})
					})
				}
				this.setState({
					departmentArr: theArr,
				})
			}.bind(this),
		}).always(function() {
			this.setState({
				loading: false
			});
		}.bind(this));
	},
	render() {
		const formItemLayout = {
			labelCol: { span: 8 },
			wrapperCol: { span: 14 },
		};
		const FormItem = Form.Item;
		const { RangePicker } = DatePicker;
		const rowSelection = {
			selectedRowKeys: this.state.selectedRowKeys,
			onChange: (selectedRowKeys, selectedRows) => {
				this.setState({
					modalVisible:false,
					selectedRows: selectedRows.slice(-1),
					selectedRowKeys: selectedRowKeys.slice(-1)
				});
			},
			onSelect: (recordt, selected, selectedRows) => {
				this.setState({
					modalVisible:false,
					recordt: recordt.id
				})
			},
		};
		let departmentArr = this.state.departmentArr || [];
		const hasSelected = this.state.selectedRowKeys.length > 0;
		return(
			
			);
	}
}));
export default IntentionCustomer;