import React, { useState } from 'react'
import { View, Text } from '@tarojs/components'
import { Empty, Tabs, Avatar, Tag, Progress } from '@nutui/nutui-react-taro'
import { User, Star, StarFill } from '@nutui/icons-react-taro'
const DealerTeam: React.FC = () => {
const [activeTab, setActiveTab] = useState('0')
// 模拟团队数据
const teamStats = {
total: 28,
firstLevel: 12,
secondLevel: 10,
thirdLevel: 6,
monthlyCommission: '2,580.50'
}
const teamMembers = [
{
id: '1',
name: '张小明',
level: 1,
joinTime: '2024-11-15',
orderCount: 15,
commission: '580.50',
status: 'active',
avatar: '',
subMembers: 3
},
{
id: '2',
name: '李小红',
level: 1,
joinTime: '2024-12-01',
orderCount: 8,
commission: '320.00',
status: 'active',
avatar: '',
subMembers: 2
},
{
id: '3',
name: '王小华',
level: 2,
joinTime: '2024-12-10',
orderCount: 5,
commission: '150.00',
status: 'inactive',
avatar: '',
subMembers: 0
}
]
const getLevelColor = (level: number) => {
switch (level) {
case 1: return '#f59e0b'
case 2: return '#8b5cf6'
case 3: return '#ec4899'
default: return '#6b7280'
}
}
const getLevelIcon = (level: number) => {
switch (level) {
case 1: return
case 2: return
case 3: return
default: return
}
}
const renderMemberItem = (member: any) => (
}
className="mr-3"
/>
{member.name}
{getLevelIcon(member.level)}
{member.level}级
加入时间:{member.joinTime}
{member.status === 'active' ? '活跃' : '沉默'}
{member.orderCount}
订单数
¥{member.commission}
贡献佣金
{member.subMembers}
下级成员
)
const renderOverview = () => (
{/* 团队统计卡片 */}
{/* 装饰背景 - 小程序兼容版本 */}
团队总览
{teamStats.total}
团队总人数
¥{teamStats.monthlyCommission}
本月团队佣金
{/* 层级分布 */}
层级分布
一级成员
{teamStats.firstLevel}
二级成员
{teamStats.secondLevel}
三级成员
{teamStats.thirdLevel}
{/* 最新成员 */}
最新成员
{teamMembers.slice(0, 3).map(renderMemberItem)}
)
const renderMemberList = (level?: number) => (
{teamMembers
.filter(member => !level || member.level === level)
.map(renderMemberItem)}
{teamMembers.filter(member => !level || member.level === level).length === 0 && (
)}
)
return (
setActiveTab}>
{renderOverview()}
{renderMemberList(1)}
{renderMemberList(2)}
{renderMemberList(3)}
)
}
export default DealerTeam