import { Button, Tag } from 'antd';
import React from 'react';
import { Column } from '@ant-design/charts';
import { ArrowRightOutlined, SyncOutlined } from '@ant-design/icons';
import { DateFilter } from './DateFilter';
import { HealthBar } from './HealthBar';
export const WebsiteOverview: React.FC = React.memo(() => {
return (
Tianji
({ status: 'health' }))}
/>
);
});
WebsiteOverview.displayName = 'WebsiteOverview';
const MetricCard: React.FC<{
label: string;
value: number;
diff: number;
unit?: string;
}> = React.memo((props) => {
const unit = props.unit ?? '';
return (
{String(props.value)}
{unit}
{props.label}
= 0 ? 'green' : 'red'}>
{props.diff >= 0 ? `+${props.diff}${unit}` : `${props.diff}${unit}`}
);
});
MetricCard.displayName = 'MetricCard';
export const DemoChart: React.FC = React.memo(() => {
const data = [
{
type: '家具家电',
sales: 38,
},
{
type: '粮油副食',
sales: 52,
},
{
type: '生鲜水果',
sales: 61,
},
{
type: '美容洗护',
sales: 145,
},
{
type: '母婴用品',
sales: 48,
},
{
type: '进口食品',
sales: 38,
},
{
type: '食品饮料',
sales: 38,
},
{
type: '家庭清洁',
sales: 38,
},
];
const config = {
data,
xField: 'type',
yField: 'sales',
label: {
// 可手动配置 label 数据标签位置
position: 'middle' as const,
// 'top', 'bottom', 'middle',
// 配置样式
style: {
fill: '#FFFFFF',
opacity: 0.6,
},
},
xAxis: {
label: {
autoHide: true,
autoRotate: false,
},
},
meta: {
type: {
alias: '类别',
},
sales: {
alias: '销售额',
},
},
};
return ;
});
DemoChart.displayName = 'DemoChart';