import React, { useEffect, useMemo } from 'react'
import { useModel } from 'umi'
import TableData from '../../components/TableData'
import { columns } from './tableConfig'
import { expandedRowRender } from './sonTableConfig'
import HocError from '@/Hoc/HocError'
import './index.less'
import moment from 'moment'
/**公众号单号付费趋势 */
function Page() {
    const { state: { dataSource, start }, getChannelAgainOrderTrend, dispatch } = useModel('useData.useTableData')
    useEffect(() => {
        if (!start) {
            dispatch({ type: 'tableDateArr', params: { start: moment().format('YYYY-MM-DD'), end: moment().format('YYYY-MM-DD') } })
        }
    }, [])
    //加工数据
    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
            className='sevenDay'
            // isTableName
            // isTableDateArr15
            isTableDate15
            columns={columns}
            isdownload
            sortArr={sortArr}
            dataSource={data}
            isSelctAcc
            isGroupTab={false}
            isAdmin
            title='公众号15日复充'
            ajax={getChannelAgainOrderTrend}
            expandedRowRender={expandedRowRender}
            scroll={{ x: 1600, y: 600 }}
            tooltip={
                <span>
                    说明：<br />
                    回：截止该日期的累计回本率<br />
                    增：相较前一天增长的回本率<br />
                    平均回：每个日期的D1到Dn充值之和/每个日期的成本之和（未到达第n天的日期不计算）<br />
                    平均增：每个日期的Dn充值之和/每个日期的成本之和（未到达第n天的日期不计算）<br />
                    注：根据选定的日期实时计算，可能有所延迟
                </span>
            }
        />
    </>
}

export default HocError(Page)