feat(dealer/team): 点击团队成员加载下级用户数据- 在团队成员列表中添加点击事件,实现加载下级用户数据的功能
- 新增 getNextUser函数用于切换当前用户并重新获取数据 - 优化 fetchTeamData 函数,支持根据 dealerId 或 dealerUser.userId 获取数据
This commit is contained in:
@@ -7,6 +7,7 @@ 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 type {ShopDealerUser} from "@/api/shop/shopDealerUser/model";
|
||||
|
||||
interface TeamMemberWithStats extends ShopDealerReferee {
|
||||
name?: string
|
||||
@@ -21,16 +22,17 @@ interface TeamMemberWithStats extends ShopDealerReferee {
|
||||
const DealerTeam: React.FC = () => {
|
||||
const [teamMembers, setTeamMembers] = useState<TeamMemberWithStats[]>([])
|
||||
const {dealerUser} = useDealerUser()
|
||||
const [dealerId, setDealerId] = useState<number>()
|
||||
|
||||
// 获取团队数据
|
||||
const fetchTeamData = useCallback(async () => {
|
||||
if (!dealerUser?.userId) return
|
||||
if (!dealerUser?.userId && !dealerId) return
|
||||
|
||||
try {
|
||||
|
||||
console.log(dealerId, 'dealerId>>>>>>>>>')
|
||||
// 获取团队成员关系
|
||||
const refereeResult = await listShopDealerReferee({
|
||||
dealerId: dealerUser.userId
|
||||
dealerId: dealerId ? dealerId : dealerUser.userId
|
||||
})
|
||||
|
||||
if (refereeResult) {
|
||||
@@ -100,6 +102,11 @@ const DealerTeam: React.FC = () => {
|
||||
}
|
||||
}, [dealerUser?.userId])
|
||||
|
||||
const getNextUser = (item: ShopDealerUser) => {
|
||||
setDealerId(item.userId)
|
||||
fetchTeamData().then()
|
||||
}
|
||||
|
||||
// 初始化加载数据
|
||||
useEffect(() => {
|
||||
if (dealerUser?.userId) {
|
||||
@@ -108,7 +115,7 @@ const DealerTeam: React.FC = () => {
|
||||
}, [fetchTeamData])
|
||||
|
||||
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">
|
||||
<Avatar
|
||||
size="40"
|
||||
|
||||
Reference in New Issue
Block a user