import React, { useEffect } from 'react'; import { connect, DispatchProp, routerRedux } from 'dva'; import { Spin, Icon } from 'antd'; import { formatMessage } from 'umi-plugin-locale'; import { HomeMineModelState } from './model'; import { MineStatus, Mine } from '@/types/common'; import { dispatch } from '@/utils/utils'; import styles from './style.less'; import { displayTime } from '@/utils/transform'; const MinePage: React.FC = ({ dispatch, refreshingList, errorList, data, refreshingBasic, errorBasic, info, }) => { useEffect(() => { if (!data || errorList || !info || errorBasic) { dispatch({ type: 'homeMine/load' }); } }, []); const onRefresh = () => { if (refreshingBasic || refreshingList) return; dispatch({ type: 'homeMine/refresh' }); }; const renderBanner = (
{formatMessage({ id: 'home.mine.lastday' })} +{info ? info.revenueLastday : 0} VIC
{formatMessage({ id: 'home.mine.acc' })} {info ? info.revenueAll : 0} VIC {formatMessage({ id: 'home.mine.valid' })} {info ? info.activeFund : 0} KG
dispatch(routerRedux.push('/mine'))} className="right app-btn" > {formatMessage({ id: 'home.mine.retrieve' })}
); const renderItem = (it: Mine) => (
{formatMessage({ id: 'home.mine.validTime' })}{displayTime(it.createdAt)}
+{it.amount} KG
{formatMessage({ id: 'home.mine.status' })} {formatMessage({ id: `home.mine.status${it.status}` })}
{formatMessage({ id: 'home.mine.invalidTime' })}{displayTime(it.expiresAt)}
); let body; if (data) { if (data.length) { body = data.map(renderItem); } else { body = (
{formatMessage({ id: 'home.mine.none' })}
); } } else { body = (
{formatMessage({ id: errorList ? 'common.loadError' : 'common.loading' })}
); } return (
{renderBanner}
{formatMessage({ id: 'home.mine.refresh' })}
{body}
); }; export default connect( ({ homeMine } : any) => ({ ...homeMine }), )(MinePage);