import HocError from '@/Hoc/HocError'
import React, { useMemo } from 'react'
import { useModel } from 'umi'
import TableData from '../../components/TableData'
import { columns } from './tableConfig'

/**公众号总数据 */
function Page() {
    const { state: { dataSource }, getChannelStatChannel } = useModel('useData.useTableData')
    
    //加工数据
    const data = useMemo(() => {
        if (dataSource) {
            return dataSource?.map((item: any, index: number) => {
                item['id'] = index
                return item
            })
        }
        return []
    }, [dataSource])



    const sortArr = useMemo(() => {
        let arr: any[] = []
        columns().map((item: any) => {
            if (typeof item.title === 'string') {
                arr.push({ title: item.title, value: item.dataIndex ,key:item.dataIndex })
            }
            if(typeof item.title === 'object' && typeof  item.title.props.children[0] === 'string' ){
                arr.push({ title: item.title, value: item.dataIndex ,key:item.dataIndex })
            }
        })
        return arr
    }, [columns])

    return <>
        <TableData
            ajax={getChannelStatChannel}
            isTableId
            isZj
            isAdmin
            isUserId
            isDownload
            isSelctAcc
            isTableDateArr
            columns={columns}
            isGroupTab={false}
            sortArr={sortArr}
            dataSource={data}
            title='公众号总数据'
            scroll={{ x: 1000, y: 600 }}
            className='ranking'
        />
    </>
}

export default HocError(Page)