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