import { copy } from "@/utils/utils"
import { Badge, Space, Switch, Tag, Tooltip } from "antd"
import { ColumnsType } from "antd/es/table"
import { ApiOutlined, QuestionCircleOutlined, ThunderboltOutlined } from "@ant-design/icons"

export function WeTableConfig(): ColumnsType<any> {

    const arr: ColumnsType<any> = [
        {
            title: '企微号ID',
            dataIndex: 'corpUserId',
            key: 'corpUserId',
            align: 'center',
            width: 100,
            ellipsis: true,
            render: (a: string) => {
                return <a onClick={() => copy(a)}>{a}</a>
            }
        },
        {
            title: '企微号',
            dataIndex: 'name',
            key: 'name',
            align: 'center',
            width: 100,
            ellipsis: true,
        },
        {
            title: '所属企业',
            dataIndex: 'corpName',
            key: 'corpName',
            align: 'center',
            width: 120,
            ellipsis: true,
            render(value) {
                return value || '--'
            },
        },
        {
            title: '企业ID',
            dataIndex: 'corpId',
            key: 'corpId',
            align: 'center',
            width: 120,
            ellipsis: true,
            render: (a: string) => {
                return <a onClick={() => copy(a)}>{a}</a>
            }
        },
        {
            title: '投手',
            dataIndex: 'putUserName',
            key: 'putUserName',
            align: 'center',
            width: 80,
            render: (a) => {
                return <span>{a || '--'}</span>
            }
        },
        {
            title: '运营',
            dataIndex: 'operUserName',
            key: 'operUserName',
            align: 'center',
            width: 80,
            render: (a) => {
                return <span>{a || '--'}</span>
            }
        },
        {
            title: '绑定手机UUID',
            dataIndex: 'phoneUuid',
            key: 'phoneUuid',
            align: 'center',
            width: 120,
            ellipsis: true,
            render: (a: any) => {
                return a ? <a onClick={() => copy(a)}>{a}</a> : '--'
            }
        },
        {
            title: <>关联手机企微分身<Tooltip title="摩托罗拉手机存在多个企微分身时需要设置的配置，红米，华为手机忽略"> <QuestionCircleOutlined /></Tooltip></>,
            dataIndex: 'remark',
            key: 'remark',
            align: 'center',
            width: 120,
            render: (a: any, b: any) => {
                return a ? <Space>{"企业微信" + a?.replace("企业微信", "")}</Space> : '--'
            }

        },
        {
            title: '绑定电脑UUID',
            dataIndex: 'uuid',
            key: 'uuid',
            align: 'center',
            width: 120,
            ellipsis: true,
            render: (a: any) => {
                return a ? <a onClick={() => copy(a)}>{a}</a> : '--'
            }
        },
        {
            title: '地域备注',
            dataIndex: 'note',
            key: 'note',
            align: 'center',
            width: 120,
            ellipsis: true,
            render: (a: any) => {
                return a || '--'
            }
        },
        {
            title: '手机编号',
            dataIndex: 'phoneNumber',
            key: 'phoneNumber',
            align: 'center',
            width: 80,
            render: (a: any) => {
                return a || '--'
            }
        },
        {
            title: '手机品牌',
            dataIndex: 'model',
            key: 'model',
            align: 'center',
            width: 80,
            render: (b: any, record) => {
                let model = b
                try {
                    model = JSON.parse(model)
                } catch (error) {
                    model = b?.model
                }
                return model ? <Tooltip title={typeof model === "string" ? <>设备型号：{model}</> : <Space direction="vertical"><span>设备型号：{model?.model}</span><span>系统版本：{model?.sdkVersion}</span><span>SDK版本：{model?.sdkInt}</span><span>系统：{model?.displayName}</span></Space>}><a>{record?.brand || '--'}</a></Tooltip> : <span>{record?.brand || "--"}</span>
            }
        },
        {
            title: '脚本版本',
            dataIndex: 'sysVersion',
            key: 'sysVersion',
            align: 'center',
            width: 80,
            render: (a: any) => {
                return a || '--'
            }
        },
        {
            title: '手机持有者',
            dataIndex: 'holder',
            key: 'holder',
            align: 'center',
            width: 70,
            render: (a: any) => {
                return a || '--'
            }
        },
        {
            title: '是否停用',
            dataIndex: 'stopUse',
            key: 'stopUse',
            align: 'center',
            width: 55,
            render: (a, b) => {
                return <Switch checked={a} disabled size="small" />
            }
        },
        {
            title: <Tooltip title="此状态代表设备是否能正常接收指令,不在线时无法正常使用,请确保设备有电，并且秘密基地APP正常运行！">手机在线?</Tooltip>,
            dataIndex: 'online',
            key: 'online',
            align: 'center',
            width: 55,
            render: (a: any) => {
                return a != null ? a ? <Tag color="success">是</Tag> : <Tag color="error">否</Tag> : '--'
            }
        },
        {
            title: '电脑可用',
            dataIndex: 'enabled',
            key: 'enabled',
            align: 'center',
            width: 50,
            render: (a: any) => {
                return a != null ? a ? <Badge status="success" text="是" /> : <Badge status="error" text="否" /> : '--'
            }
        },
        {
            title: <Tooltip title="无障碍服务是否正常,华为手机请重启手机,直到下次任务成功,才会刷新此状态为正常状态！">无障碍?</Tooltip>,
            dataIndex: 'accessibility',
            key: 'accessibility',
            align: 'center',
            width: 50,
            render: (a: any, b: any) => {
                return a != null ? a == true ? <Badge status="success" text="有效" /> : <Badge status="error" text="无效" /> : '--'
            }
        },
        {
            title: '手机电量',
            dataIndex: 'phoneCell',
            key: 'phoneCell',
            align: 'center',
            width: 60,
            render: (a, b) => {
                let dl = a
                return b?.assistUuid ? <div>
                    <div>
                        <a style={dl >= 20 && dl <= 50 ? { color: '#e38b07' } : dl > 50 ? { color: '#4CAF50' } : { color: 'red' }}>{dl}</a>
                        <a style={b?.phoneIsCharging ? { color: '#4CAF50' } : { color: 'red' }}>{b?.phoneIsCharging ? <ThunderboltOutlined /> : <ApiOutlined />}</a>
                    </div>
                </div> : <a style={dl >= 20 && dl <= 50 ? { color: '#e38b07' } : dl > 50 ? { color: '#4CAF50' } : { color: 'red' }}>{dl}</a>
            }
        },
        {
            title: <Tooltip
                title='群发补发限制：补发是在手机长时间掉线，上线后对过时的任务补发，开启补发限制会限制补发条数.不建议每日群发多的账号。此类账号开启后一旦漏发的群发过多不会补发全部。失败的任务不会补发，只有手动在手机执行日志点击失败任务重试！'
            >
                开启群发补发限制 <QuestionCircleOutlined />
            </Tooltip>,
            dataIndex: 'closeReSend',
            key: 'closeReSend',
            align: 'center',
            width: 60,
            render: (a, b) => {
                return <Switch checkedChildren="开启" unCheckedChildren="关闭" checked={a} disabled size="small" />
            }
        }
    ]
    return arr
}