Browse Source

feat(dealer/team): 点击团队成员加载下级用户数据- 在团队成员列表中添加点击事件,实现加载下级用户数据的功能

- 新增 getNextUser函数用于切换当前用户并重新获取数据
- 优化 fetchTeamData 函数,支持根据 dealerId 或 dealerUser.userId 获取数据
demo
科技小王子 1 month ago
parent
commit
ab2260ec3e
  1. 15
      src/dealer/team/index.tsx

15
src/dealer/team/index.tsx

@ -7,6 +7,7 @@ import {useDealerUser} from '@/hooks/useDealerUser'
import {listShopDealerReferee} from '@/api/shop/shopDealerReferee' import {listShopDealerReferee} from '@/api/shop/shopDealerReferee'
import {pageShopDealerOrder} from '@/api/shop/shopDealerOrder' import {pageShopDealerOrder} from '@/api/shop/shopDealerOrder'
import type {ShopDealerReferee} from '@/api/shop/shopDealerReferee/model' import type {ShopDealerReferee} from '@/api/shop/shopDealerReferee/model'
import type {ShopDealerUser} from "@/api/shop/shopDealerUser/model";
interface TeamMemberWithStats extends ShopDealerReferee { interface TeamMemberWithStats extends ShopDealerReferee {
name?: string name?: string
@ -21,16 +22,17 @@ interface TeamMemberWithStats extends ShopDealerReferee {
const DealerTeam: React.FC = () => { const DealerTeam: React.FC = () => {
const [teamMembers, setTeamMembers] = useState<TeamMemberWithStats[]>([]) const [teamMembers, setTeamMembers] = useState<TeamMemberWithStats[]>([])
const {dealerUser} = useDealerUser() const {dealerUser} = useDealerUser()
const [dealerId, setDealerId] = useState<number>()
// 获取团队数据 // 获取团队数据
const fetchTeamData = useCallback(async () => { const fetchTeamData = useCallback(async () => {
if (!dealerUser?.userId) return
if (!dealerUser?.userId && !dealerId) return
try { try {
console.log(dealerId, 'dealerId>>>>>>>>>')
// 获取团队成员关系 // 获取团队成员关系
const refereeResult = await listShopDealerReferee({ const refereeResult = await listShopDealerReferee({
dealerId: dealerUser.userId
dealerId: dealerId ? dealerId : dealerUser.userId
}) })
if (refereeResult) { if (refereeResult) {
@ -100,6 +102,11 @@ const DealerTeam: React.FC = () => {
} }
}, [dealerUser?.userId]) }, [dealerUser?.userId])
const getNextUser = (item: ShopDealerUser) => {
setDealerId(item.userId)
fetchTeamData().then()
}
// 初始化加载数据 // 初始化加载数据
useEffect(() => { useEffect(() => {
if (dealerUser?.userId) { if (dealerUser?.userId) {
@ -108,7 +115,7 @@ const DealerTeam: React.FC = () => {
}, [fetchTeamData]) }, [fetchTeamData])
const renderMemberItem = (member: TeamMemberWithStats) => ( const renderMemberItem = (member: TeamMemberWithStats) => (
<View key={member.id} className="bg-white rounded-lg p-4 mb-3 shadow-sm">
<View key={member.id} className="bg-white rounded-lg p-4 mb-3 shadow-sm" onClick={() => getNextUser(member)}>
<View className="flex items-center mb-3"> <View className="flex items-center mb-3">
<Avatar <Avatar
size="40" size="40"

Loading…
Cancel
Save