From fe00d6dea91ccaf4b0fa9e4e125b7bee9f05f7a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=BF=A0=E6=9E=97?= <170083662@qq.com> Date: Wed, 27 Aug 2025 23:01:43 +0800 Subject: [PATCH] =?UTF-8?q?refactor(dealer/team):=E7=B2=BE=E7=AE=80?= =?UTF-8?q?=E5=9B=A2=E9=98=9F=E9=A1=B5=E9=9D=A2=E7=BB=84=E4=BB=B6=E7=BB=93?= =?UTF-8?q?=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 移除了团队总览、层级分布和最新成员等冗余组件 - 保留了成员列表的渲染逻辑 - 优化了代码格式和结构,提高了代码可读性 --- src/dealer/team/index.tsx | 227 +++++++++----------------------------- 1 file changed, 53 insertions(+), 174 deletions(-) diff --git a/src/dealer/team/index.tsx b/src/dealer/team/index.tsx index 923aa17..64be14f 100644 --- a/src/dealer/team/index.tsx +++ b/src/dealer/team/index.tsx @@ -1,12 +1,12 @@ -import React, { useState, useEffect, useCallback } from 'react' -import { View, Text } from '@tarojs/components' -import { Empty, Tabs, Avatar, Tag, Progress, Loading, PullToRefresh } from '@nutui/nutui-react-taro' -import { User, Star, StarFill } from '@nutui/icons-react-taro' +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 Taro from '@tarojs/taro' -import { useDealerUser } from '@/hooks/useDealerUser' -import { listShopDealerReferee } from '@/api/shop/shopDealerReferee' -import { pageShopDealerOrder } from '@/api/shop/shopDealerOrder' -import type { ShopDealerReferee } from '@/api/shop/shopDealerReferee/model' +import {useDealerUser} from '@/hooks/useDealerUser' +import {listShopDealerReferee} from '@/api/shop/shopDealerReferee' +import {pageShopDealerOrder} from '@/api/shop/shopDealerOrder' +import type {ShopDealerReferee} from '@/api/shop/shopDealerReferee/model' interface TeamMemberWithStats extends ShopDealerReferee { name?: string @@ -31,7 +31,7 @@ const DealerTeam: React.FC = () => { monthlyCommission: '0.00' }) - const { dealerUser } = useDealerUser() + const {dealerUser} = useDealerUser() // 获取团队数据 const fetchTeamData = useCallback(async () => { @@ -73,8 +73,8 @@ const DealerTeam: React.FC = () => { const orderCount = orders.length const commission = orders.reduce((sum, order) => { const levelCommission = member.level === 1 ? order.firstMoney : - member.level === 2 ? order.secondMoney : - order.thirdMoney + member.level === 2 ? order.secondMoney : + order.thirdMoney return sum + parseFloat(levelCommission || '0') }, 0).toFixed(2) @@ -142,19 +142,27 @@ const DealerTeam: React.FC = () => { const getLevelColor = (level: number) => { switch (level) { - case 1: return '#f59e0b' - case 2: return '#8b5cf6' - case 3: return '#ec4899' - default: return '#6b7280' + 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 + case 1: + return + case 2: + return + case 3: + return + default: + return } } @@ -164,7 +172,7 @@ const DealerTeam: React.FC = () => { } + icon={} className="mr-3" /> @@ -172,194 +180,65 @@ const DealerTeam: React.FC = () => { {member.name} - {getLevelIcon(Number(member.level))} - - {member.level}级 - + {/*{getLevelIcon(Number(member.level))}*/} + {/**/} + {/* {member.level}级*/} + {/**/} 加入时间:{member.joinTime} - - - {member.status === 'active' ? '活跃' : '沉默'} - - + {/**/} + {/* */} + {/* {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)} - + + {teamMembers.slice(0, 3).map(renderMemberItem)} ) - const renderMemberList = (level?: number) => ( - - - {loading ? ( - - - 加载中... - - ) : teamMembers - .filter(member => !level || member.level === level) - .length > 0 ? ( - teamMembers - .filter(member => !level || member.level === level) - .map(renderMemberItem) - ) : ( - - )} - - - ) - if (!dealerUser) { return ( - + 加载中... ) } return ( - - setActiveTab}> - - {renderOverview()} - - - - {renderMemberList(1)} - - - - {renderMemberList(2)} - - - - {renderMemberList(3)} - - + + {renderOverview()} ) }