import React from 'react';
import ReactDom from 'react-dom';
import ajax from 'jquery/src/ajax/xhr.js';
import $ from 'jquery/src/ajax';
import './content.less';
import { Form,Radio, Icon, Button, Input, Select, Spin, Table, Switch, message, DatePicker, Modal, Upload,Popconfirm,AutoComplete } from 'antd';
import {patternOrganization,conditionOrganization,client,stick,auditStatusL,industry } from '../../../dataDic.js';
import {getPattern,getAchievementCategory,getboutique,getClient,getSocialAttribute,getCertification,getAuditStatus,getWhether,getStick,getIndustry} from '../../../tools.js';
const Organization=Form.create()(React.createClass({
	loadData(pageNo) {
        this.state.data = [];
        this.setState({
            loading: true,
            ispage:pageNo,
        });
        let nameText=this.state.SuperArr;
        let superText=(this.state.superId)?nameText[parseInt(this.state.superId)].id:undefined;
        let nameTexts=this.state.SuperArrs;
        let superTexts=(this.state.publishPage)?nameTexts[parseInt(this.state.publishPage)].id:undefined;
       	$.ajax({
            method: "get",
            dataType: "json",
            crossDomain: false,
            url: globalConfig.context + '/api/admin/expert/listPublish',
            data: {
                pageNo: pageNo || 1,
                pageSize: this.state.pagination.pageSize,
                name: this.state.name, //成果名称
                publishPlatform:superText,//发布子平台
                publishClient:this.state.publishClient,//发布客户端
                publishPage:superTexts,//发布页面
                ifTop:this.state.ifTop,//是否置顶
            },
            success: function (data) {
                let theArr = [];
                if (!data.data || !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({
                            key: i,
                            id: thisdata.id,//发布成果ID
                            achievementId:thisdata.expertId,//成果ID
                            publishPlatform:thisdata.publishPlatform,//发布子平台ID
                            platformName:thisdata.platformName,//发布子平台
                            publishClient:thisdata.publishClient.toString(),//发布客户端
                            publishPage:thisdata.publishPage,//发布页面
                            publishPageName:thisdata.publishPageName,//发布页面
                            ifTop:thisdata.ifTop.toString(),//是否置顶
                            industry:thisdata.industry,//行业
                            topNumber:thisdata.topNumber,//置顶编号
                            showNumber:thisdata.showNumber,//显示编号
                            publisher:thisdata.publisher,//发布人ID
                            publishTime:thisdata.publishTime,//发布时间
                            name:thisdata.name,//成果名称
                            publisherName:thisdata.publisherName,//发布人名称
                            publishTimeFormattedDate:thisdata.publishTimeFormattedDate,//发布时间
                        });
                    };
                    this.state.pagination.current = data.data.pageNo;
                    this.state.pagination.total = data.data.totalCount;
                };
                if(data.data&&data.data.list&&!data.data.list.length){
					this.state.pagination.current=0
					this.state.pagination.total=0
				};
                this.setState({
                    dataSource: theArr,
                    pagination: this.state.pagination
                });
            }.bind(this),
        }).always(function () {
            this.setState({
                loading: false
            });
        }.bind(this));
       
    },
    loadDatas(pageNo, apiUrl) {
		this.state.data = [];
		this.setState({
			loading: true,
		});
		$.ajax({
			method: "post",
			dataType: "json",
			crossDomain: false,
			url: globalConfig.context + '/api/admin/customer/listAllPersonalCustomer',
			data: {
				pageNo: pageNo || 1,
				pageSize: this.state.pagination.pageSize,
				expertAudit:2,
				type: this.state.typeSearch, //名称1   
				name: this.state.nameSearch,
				status: this.state.statusSearch,
				industry: this.state.industrySearch,
				businessAudit: this.state.serviceCertificationSearch,
				auditStatus: this.state.userCertificationSearch,
				currentMemberStatus: this.state.currentMemberStatusSearch,
				lvl: this.state.lvlSearch,
				listed: this.state.listedSearch, //是否上市
				highTechZone: this.state.highTechZoneSearch, //是否高新
				startDate: this.state.releaseDate[0],
				endDate: this.state.releaseDate[1],
				isMember: this.state.isMemberSearch,
				international: this.state.internationalSearch,
				celebrity: this.state.celebritySearch,
				expert: this.state.expertSearch,
				industry: this.state.industrySearch,
				shareType: this.state.shareTypeSearch,
			},
			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({
							key: thisdata.uid,
							id: thisdata.uid,
							type: thisdata.type,
							name: thisdata.name,
							status: thisdata.status,
							contacts: thisdata.contacts,
							contactMobile: thisdata.contactMobile,
							industry: thisdata.industry,
							createTime: thisdata.createTime,
							businessAudit: thisdata.businessAudit,
							auditStatus: thisdata.auditStatus,
							lvl: thisdata.lvl,
							shareType: thisdata.shareType,
							isMember: thisdata.isMember,
							consultant: thisdata.consultant,
							societyTag: thisdata.societyTag,
							currentMemberStatus: thisdata.currentMemberStatus,
							international: thisdata.international,
							listed: thisdata.listed,
							international: thisdata.international,
							expert: thisdata.expert,
							celebrity: thisdata.celebrity,
							adminName: thisdata.adminName,
							releaseStatus: thisdata.releaseStatus,
							highTechZone: thisdata.highTechZone,
							locationProvince: thisdata.province ? thisdata.province + '-' + thisdata.city || '' + '-' + thisdata.area : '--'
						});
					};
					this.state.paginations.current = data.data.pageNo ;
					this.state.paginations.total = data.data.totalCount ;
				};
				this.setState({
					dataSourcesli: theArr,
					paginations: this.state.paginations,
					selectedRowKeys:[]
				});
			}.bind(this),
		}).always(function() {
			this.setState({
				loading: false,
				visible: true
			});
		}.bind(this));
	},
    getInitialState() {
        return {
            searchMore: true,
            selectedRowKeys: [],
            selectedRowKeysli:[],
            selectedRows: [],
            releaseDate: [],
            releaseDateS: [],
            loading: false,
            pagination: {
                defaultCurrent: 1,
                defaultPageSize: 10,
                showQuickJumper: true,
                pageSize: 10,
                onChange: function (page) {
                    this.loadData(page);
                }.bind(this),
                showTotal: function (total) {
                    return '共' + total + '条数据';
                }
            },
            paginations: {
                defaultCurrent: 1,
                defaultPageSize: 10,
                showQuickJumper: true,
                pageSize: 10,
                onChange: function (page) {
                    this.loadDatas(page);
                }.bind(this),
                showTotal: function (total) {
                    return '共' + total + '条数据';
                }
            },
            columns: [
                {
                    title: '专家名称',
                    dataIndex: 'name',
                    key: 'name',
                },{
                    title: '行业',
                    dataIndex: 'industry',
                    key: 'industry',
                    render: text => { return getIndustry(text) }
                }, {
                    title: '发布子平台',
                    dataIndex: 'platformName',
                    key: 'platformName',
                },{
                    title: '发布客户端',
                    dataIndex: 'publishClient',
                    key: 'publishClient',
                    render: text => { return getClient(text) }
                },  {
                    title: '发布页面',
                    dataIndex: 'publishPageName',
                    key: 'publishPageName',
                },{
                    title: '是否置顶',
                    dataIndex: 'ifTop',
                    key: 'ifTop',
                    render: text => { return getStick(text) }
                  
                },  {
                    title: '展示序号',
                    dataIndex: 'showNumber',
                    key: 'showNumber',
                },  {
                    title: '置顶序号',
                    dataIndex: 'topNumber',
                    key: 'topNumber',
                },  {
                    title: '发布人',
                    dataIndex: 'publisherName',
                    key: 'publisherName',
                },  {
                    title: '发布时间',
                    dataIndex: 'publishTimeFormattedDate',
                    key: 'publishTimeFormattedDate',
                }, {
                    title: '操作',
                    dataIndex: 'ee',
                    key: 'ee',
                    render: (text, record, index) => {
                    	return 
							{this.examine(record)}} okText="确认" cancelText="取消">
							                     
							
                         
					}
                }
            ],
            dataSource: [],
            searchTime: [,],
            column: [{
					title: '专家姓名',
					dataIndex: 'name',
					key: 'name',
				},
				{
					title: '公共客户',
					dataIndex: 'shareType',
					key: 'shareType',
					render: (text, record) => { return record.shareType == '1' ? 公共客户 : 个人客户 }
				},
				{
					title: '行业',
					dataIndex: 'industry',
					key: 'industry',
				},
				{
					title: '社会性质',
					dataIndex: 'societyTag',
					key: 'societyTag',
					render: text => { return getSocialAttribute(text) }
				},
				{
					title: '创建时间',
					dataIndex: 'createTime',
					key: 'createTime',
				},{
					title: '所属人',
					dataIndex: 'adminName',
					key: 'adminName',
				},
				{
					title: '业务认证',
					dataIndex: 'businessAudit',
					key: 'businessAudit',
					render: text => { return getCertification(text) }
				},
				{
					title: '实名认证',
					dataIndex: 'auditStatus',
					key: 'auditStatus',
					render: text => { return getAuditStatus(text) }
				},
				{
					title: '是否国际',
					dataIndex: 'international',
					key: 'international',
					render: text => { return getWhether(text) }
				}
			],
            dataSourcesli: [],
            searchTime: [,]
        };
    },
    componentWillMount() {
    	this.selectSuperIds();
    	//行业
		let intentionalArr = [];
		industry.map(function(item) {
			intentionalArr.push(
				{item.key}
			)
		});
		this.state.intentionalOption = intentionalArr;
    },
    examine(record) {
        this.setState({
            selectedRowKeys: [],
        });
        $.ajax({
            method: "get",
            dataType: "json",
            crossDomain: false,
            url: globalConfig.context + '/api/admin/expert/deletePublish',
            data: {
                id:record.id,
            }
        }).done(function (data) {
            if (!data.error.length) {
                message.success('操作成功');
                this.setState({
                    loading: false,
                });
            } else {
                message.warning(data.error[0].message);
            };
            this.loadData(this.state.ispage);
        }.bind(this));
    },
    //获取发布子平台
    selectSuperId() {  
    	this.state.data = []
         $.ajax({
                method: "get",
                dataType: "json",
                crossDomain: false,
                url: globalConfig.context + "/api/admin/achievement/getBranchInformation",
                data:{
                  
                },
                success: function (data) {                	  
                		let theArr = [];
					    let thedata=data.data;
					    if (!thedata) {
		                    if (data.error && data.error.length) {
		                        message.warning(data.error[0].message);
		                    };	
		                    thedata = {}; 
		              };   
					    var contactIds=[];
				        for(var i=0;i{theData.platformName}
		                    );
		                };
						this.setState({	
							SuperArr:thedata,
		                    contactsOption: theArr, 
		                    orderStatusOptions:data.data,
	                    });
	                    
					}.bind(this),
				}).always(function () {
				this.loadData();
	            this.setState({
	                loading: false
	            });
	        }.bind(this));
	},
	//获取发布页面
    selectSuperIds() {  
    	this.state.data = []
         $.ajax({
                method: "get",
                dataType: "json",
                crossDomain: false,
                url: globalConfig.context + "/api/admin/expert/getPublishPage",
                data:{
                  
                },
                success: function (data) {                	  
                		let theArr = [];
					    let thedata=data.data;
					    if (!thedata) {
		                    if (data.error && data.error.length) {
		                        message.warning(data.error[0].message);
		                    };	
		                    thedata = {}; 
		              };   
					    var contactIds=[];
				        for(var i=0;i{theData.name}
		                    );
		                };
						this.setState({	
							SuperArrs:thedata,
		                    contactsOptions: theArr, 
		                    orderStatusOptions:data.data,
	                    });
	                    
					}.bind(this),
				}).always(function () {
				this.selectSuperId();
	            this.setState({
	                loading: false
	            });
	        }.bind(this));
	},
	//编辑部门,保存
    edithandleSubmit(e){
    	e.preventDefault();	
    	if(!this.state.editifTop){
    		message.warning('请确认是否置顶'); 
    		return false;
    	}
    	let topNumbers=(this.state.edittopNumber==9999999)?undefined:this.state.edittopNumber;
    	topNumbers=topNumbers?topNumbers:undefined;
    	if(this.state.editifTop==0){
    		if(!topNumbers){
	    		message.warning('请输入置顶序号'); 
	    		return false;
    		}
    		let b=this.state.edittopNumber.toString().split('');
			for(var i=0;i {                                 
            if (!err) {
                this.setState({
                    loading: true
                }); 
                let nameText=this.state.SuperArr;
        		let superText=nameText[parseInt(this.state.publishPlatform)].id;
        		let nameTexts=this.state.SuperArrs;
        		let superTexts=nameTexts[parseInt(this.state.publishPage)].id;
       			$.ajax({
                    method: "post",
                    dataType: "json",
                    crossDomain: false,
                    url:globalConfig.context + '/api/admin/expert/addExpertPublish',
                    data:{
                    	ExpertId:this.state.selectedRowKeysli?this.state.selectedRowKeysli.join(","):undefined,//成果ID
                    	publishPlatform:superText,//发布平台
                    	publishClient:this.state.publishClient,//发布客户端
                        publishPage:superTexts, //发布页面
                        ifTop:this.state.ifTop,//是否置顶
                        topNumber:this.state.topNumber,//置顶序号
                        showNumber:this.state.showNumber,//展示序号
                    }
                }).done(function (data) { 
                    this.setState({
                        loading: false
                    });
                    if (!data.error.length) {
                        message.success('保存成功!'); 
                        this.handleCancel();
                        this.reset();
                    } else {
                        message.warning(data.error[0].message);
                    }
                }.bind(this));
            }
        });
    },
    
    //主管初始加载(自动补全)
	supervisor(e){ 
		$.ajax({
            method: "post",
            dataType: "json",
            crossDomain: false,
            url: globalConfig.context + "/api/admin/organization/selectName",
            data:{
            	name:e
            },
            success: function (data) {                	  
				       let thedata=data.data;
				    if (!thedata) {
                    if (data.error && data.error.length) {
                        message.warning(data.error[0].message);
                    };	
                    thedata = {}; 
              }; 
					this.setState({
						customerArr:thedata,	
                    });
				}.bind(this),
			}).always(function () {
            this.setState({
                loading: false
            });
        }.bind(this));  
	},
	//上级主管输入框失去焦点是判断客户是否存在
	selectAuto(value,options){
		this.setState({
			managerIdOrganization:value
		})
	},
	//失去焦点时
	blurChange(e){
//		let theType='';
//		let contactLists=this.state.customerArr||[];
//			if (e) {
//          contactLists.map(function (item) {
//              if (item.name == e.toString()) {
//                  theType = item.id;
//              }
//         });     
// 	    }
		this.setState({
			theTypes:e
		})
	},
	//值改变时请求客户名称
	httpChange(e){
		if(e.length>=2){
			this.supervisor(e); 
		}	
		this.setState({
			managerIdOrganization:e
		})
	},
    addClick() {
    	this.state.name = undefined;//成果名称清零
        this.state.publishPlatform = undefined;//发布子平台清零
        this.state.publishClient = undefined;//发布客户端清零
        this.state.publishPage = undefined;//发布页面清零
        this.state.ifTop = undefined;//是否置顶清零
        this.state.topNumber = undefined;//置顶序号清零
        this.state.showNumber = undefined;//展示序号清零
        this.state.selectedRowKeysli=undefined;//选定的成果ID清零
        this.state.RowData = {};
        this.selectSuperId();
        this.loadDatas();
    },
    editClick() {
        this.state.RowData = {};
        this.setState({
            editvisible: true
        });
    },
   	handleCancel() {
        this.setState({ visible: false })
    },
    edithandleCancel() {
        this.setState({ editvisible: false })
    },
    search() {
        this.loadData();
    },
    searchs() {
        this.loadDatas();
    },
    //把搜索的部分置零
    reset() {
    	this.state.name = undefined;//成果名称清零
        this.state.superId = undefined;//发布子平台清零
        this.state.publishClient = undefined;//发布客户端清零
        this.state.publishPage = undefined;//发布页面清零
        this.state.ifTop = undefined;//是否置顶清零
        this.selectSuperId();    
    },
    resets() {
		this.state.expertSearch = undefined;
		this.state.celebritySearch = undefined;
		this.state.shareTypeSearch = undefined;
		this.state.typeSearch = undefined; //名称1   
		this.state.nameSearch = '';
		this.state.addressSearch = [];
		this.state.provinceSearch = undefined;
		this.state.citySearch = undefined;
		this.state.statusSearch = undefined;
		this.state.contactsSearch = undefined;
		this.state.contactMobileSearch = undefined;
		this.state.industrySearch = undefined;
		this.state.serviceCertificationSearch = undefined;
		this.state.userCertificationSearch = undefined;
		this.state.currentMemberStatusSearch = undefined;
		this.state.lvlSearch = undefined;
		this.state.listedSearch = undefined;
		this.state.highTechZoneSearch = undefined;
		this.state.releaseDate[0] = undefined;
		this.state.releaseDate[1] = undefined;
		this.loadDatas();
	},
    searchSwitch() {
        this.setState({
            searchMore: !this.state.searchMore
        });
    },
    render() {
    	const FormItem = Form.Item
        const rowSelection = {
            selectedRowKeys: this.state.selectedRowKeys,
            onChange: (selectedRowKeys, selectedRows) => {
                this.setState({
                    selectedRows: selectedRows.slice(-1),
                    selectedRowKeys: selectedRowKeys.slice(-1)
                });
            },
            onSelect: (recordt, selected, selectedRows) => {			   
			    this.setState({
			    	recordt:recordt.id
			    })
			},
        };
         const rowSelections = {
            selectedRowKeysli: this.state.selectedRowKeysli,
            onChange: (selectedRowKeysli, selectedRows) => {
                this.setState({
                    selectedRows: selectedRows,
                    selectedRowKeysli: selectedRowKeysli
                });
            },
            onSelect: (recordt, selected, selectedRows) => {
			    this.setState({
			    	recordt:recordt.id
			    })
			},
        };
        const formItemLayout = {
            labelCol: { span: 8 },
            wrapperCol: { span: 14 },
        };
       	const { getFieldDecorator } = this.props.form;
        const hasSelected = this.state.selectedRowKeys.length > 0;
        const { RangePicker } = DatePicker;
        const dataSources=this.state.customerArr || [];
        const options = dataSources.map((group,index) =>
				      
				     )
        return (
            
        );
    }
}));
export default Organization;