forked from gxwebsoft/mp-10550
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 {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"
|
||||||
|
|||||||
Reference in New Issue
Block a user