refactor(dealer): 精简团队页面代码

- 移除了不必要的状态变量和方法
- 删除了未使用的团队统计数据相关代码
- 简化了团队成员列表的渲染逻辑
- 更新了 IsDealer 组件中的文本显示
This commit is contained in:
2025-08-27 23:31:46 +08:00
parent fe00d6dea9
commit 953ab0bf64
2 changed files with 3 additions and 62 deletions

View File

@@ -1,7 +1,7 @@
import React, {useState, useEffect, useCallback} from 'react'
import {View, Text} from '@tarojs/components'
import {Space, Tabs, Avatar, Tag, Progress, Loading, PullToRefresh} from '@nutui/nutui-react-taro'
import {User, Star, StarFill} from '@nutui/icons-react-taro'
import {Space, Avatar, Loading} from '@nutui/nutui-react-taro'
import {User} from '@nutui/icons-react-taro'
import Taro from '@tarojs/taro'
import {useDealerUser} from '@/hooks/useDealerUser'
import {listShopDealerReferee} from '@/api/shop/shopDealerReferee'
@@ -19,18 +19,7 @@ interface TeamMemberWithStats extends ShopDealerReferee {
}
const DealerTeam: React.FC = () => {
const [activeTab, setActiveTab] = useState('0')
const [loading, setLoading] = useState<boolean>(false)
const [refreshing, setRefreshing] = useState<boolean>(false)
const [teamMembers, setTeamMembers] = useState<TeamMemberWithStats[]>([])
const [teamStats, setTeamStats] = useState({
total: 0,
firstLevel: 0,
secondLevel: 0,
thirdLevel: 0,
monthlyCommission: '0.00'
})
const {dealerUser} = useDealerUser()
// 获取团队数据
@@ -38,7 +27,6 @@ const DealerTeam: React.FC = () => {
if (!dealerUser?.userId) return
try {
setLoading(true)
// 获取团队成员关系
const refereeResult = await listShopDealerReferee({
@@ -102,18 +90,6 @@ const DealerTeam: React.FC = () => {
setTeamMembers(memberStats)
// 计算统计数据
const stats = {
total: memberStats.length,
firstLevel: memberStats.filter(m => m.level === 1).length,
secondLevel: memberStats.filter(m => m.level === 2).length,
thirdLevel: memberStats.filter(m => m.level === 3).length,
monthlyCommission: memberStats.reduce((sum, member) =>
sum + parseFloat(member.commission || '0'), 0
).toFixed(2)
}
setTeamStats(stats)
}
} catch (error) {
console.error('获取团队数据失败:', error)
@@ -121,18 +97,9 @@ const DealerTeam: React.FC = () => {
title: '获取团队数据失败',
icon: 'error'
})
} finally {
setLoading(false)
}
}, [dealerUser?.userId])
// 刷新数据
const handleRefresh = async () => {
setRefreshing(true)
await fetchTeamData()
setRefreshing(false)
}
// 初始化加载数据
useEffect(() => {
if (dealerUser?.userId) {
@@ -140,32 +107,6 @@ const DealerTeam: React.FC = () => {
}
}, [fetchTeamData])
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 <StarFill color={getLevelColor(level)} size="16"/>
case 2:
return <Star color={getLevelColor(level)} size="16"/>
case 3:
return <User color={getLevelColor(level)} size="16"/>
default:
return <User color={getLevelColor(level)} size="16"/>
}
}
const renderMemberItem = (member: TeamMemberWithStats) => (
<View key={member.id} className="bg-white rounded-lg p-4 mb-3 shadow-sm">
<View className="flex items-center mb-3">

View File

@@ -56,7 +56,7 @@ const UserCell = () => {
<View style={{display: 'inline-flex', alignItems: 'center'}}>
<Reward className={'text-orange-100 '} size={16}/>
<Text style={{fontSize: '16px'}}
className={'pl-3 text-orange-100 font-medium'}></Text>
className={'pl-3 text-orange-100 font-medium'}></Text>
{/*<Text className={'text-white opacity-80 pl-3'}>门店核销</Text>*/}
</View>
}