import React,{Component} from "react";
import {Button, message, Modal, Popconfirm, Spin, Table, Tabs, Tooltip} from "antd";
import {getSocialAttribute,ShowModal,getChannelAllocationStatus} from "@/tools.js";
import $ from "jquery/src/ajax";
const {TabPane} = Tabs;
class DuplicateData extends Component{
    constructor(props) {
        super(props);
        this.state={
            columns: [
                {
                    title: "客户名称",
                    dataIndex: "userName",
                    key: "userName",
                    render:(text)=>{
                        return (
                            
                                {text}
                            
                        )
                    }
                },
                {
                    title: "地区",
                    dataIndex: "locationProvince",
                    key: "locationProvince",
                },
                {
                    title: "社会性质",
                    dataIndex: "societyTag",
                    key: "societyTag",
                    // render: (text) => {
                    //     return getSocialAttribute(text);
                    // },
                },
                {
                    title: "客户联系人",
                    dataIndex: "contacts",
                    key: "contacts",
                },
                {
                    title: "联系电话",
                    dataIndex: "contactMobile",
                    key: "contactMobile",
                },
                {
                    title: "导入时间",
                    dataIndex: "createTimes",
                    key: "createTimes",
                },
                {
                    title: "备注",
                    dataIndex: "remarks",
                    key: "remarks",
                    render: (text) => {
                        return (
                            
                                {text}
                            
                        )
                    }
                },
                {
                    title: "未导入原因",
                    dataIndex: "status",
                    key: "status",
                    render: (text) => (
                        getChannelAllocationStatus(text,true)
                    )
                },
            ],
            selectedRows:[],
            selectedRowKeys:[],
            dataSource:[],
            pagination: {
                defaultCurrent: 1,
                defaultPageSize: 10,
                showQuickJumper: true,
                pageSize: 10,
                onChange: function (page) {
                    this.loadData(page);
                }.bind(this),
                showTotal: function (total) {
                    return "共" + total + "条数据";
                },
            },
            listLoading:false
        }
        this.loadData = this.loadData.bind(this);
        this.confirmDeletNew = this.confirmDeletNew.bind(this);
    }
    componentDidMount() {
        this.loadData();
    }
    // 删除供应商信息
    confirmDeletNew() {
        const hide = message.loading('删除中...', 0);
        let changeIds = '';
        for (let idx = 0; idx < this.state.selectedRows.length; idx++) {
            let rowItem = this.state.selectedRows[idx];
            if (rowItem.id) {
                changeIds = this.state.selectedRows.length-1 === idx ? changeIds +rowItem.id : changeIds + rowItem.id + ',' ;
            }
        }
        $.ajax({
            url: globalConfig.context + '/api/user/channel/delete',
            method: 'post',
            data: {
                ids: changeIds,
            },
        }).done(
            function (data) {
                hide();
                if (!data.error.length) {
                    message.success('删除成功!');
                    this.setState({
                        selectedRows:[],
                        selectedRowKeys:[],
                    })
                    this.loadData(this.state.pageNo);
                } else {
                    message.warning(data.error[0].message)
                }
            }.bind(this)
        )
    }
    loadData(pageNo = 1) {
        if(this.props.duplicateData.length === 0){
            this.setState({
                listLoading: true,
            });
            $.ajax({
                method: "get",
                dataType: "json",
                crossDomain: false,
                url: globalConfig.context + '/api/user/channel/erorrList',
                data: {
                    pageNo: pageNo || 1,
                    pageSize: this.state.pagination.pageSize,
                },
                success: function (data) {
                    ShowModal(this);
                    let theArr = [];
                    if (data.error.length > 0) {
                        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);
                            thisdata.locationProvince = diqu;
                            theArr.push(thisdata);
                        }
                        if(data.data.list.length === 0 && pageNo > 1){
                            this.loadData(pageNo - 1);
                        }else{
                            this.state.pagination.current = data.data.pageNo;
                            this.state.pagination.total = data.data.totalCount;
                            this.setState({
                                pageNo: data.data.pageNo,
                                dataSource: theArr,
                                pagination: this.state.pagination,
                            })
                        }
                    }
                }.bind(this),
            }).always(
                function () {
                    this.setState({
                        listLoading: false,
                    });
                }.bind(this)
            );
        }else{
            let arr = this.props.duplicateData.slice((pageNo-1)*10,pageNo*10);
            this.state.pagination.current = pageNo;
            this.state.pagination.total = this.props.duplicateData.length;
            for (let i = 0; i < arr.length; i++) {
                let diqu =
                    (arr[i].province == null ? "" : arr[i].province) +
                    (arr[i].city == null ? "" : "-" + arr[i].city) +
                    (arr[i].area == null ? "" : "-" + arr[i].area);
                arr[i].locationProvince = diqu
            }
            this.setState({
                pageNo: pageNo,
                dataSource: arr,
                pagination: this.state.pagination,
            })
        }
    }
    download() {
        window.location.href =
            globalConfig.context +
            "/api/user/channel/export"
    }
    render() {
        const rowSelection = {
            hideDefaultSelections: true,
            selectedRowKeys: this.state.selectedRowKeys,
            onChange: (selectedRowKeys, selectedRows) => {
                this.setState({
                    selectedRows: selectedRows,
                    selectedRowKeys: selectedRowKeys,
                });
            },
        };
        return (
            {
                    this.props.onCancel();
                }}
            >
                
                    
                        
                         {
                                this.confirmDeletNew()
                            }}
                            okText="删除"
                            cancelText="不删除"
                        >
                            
                        
                    
                
                
                    
                
            
        )
    }
}
export default DuplicateData;