From 5c52d6f0ecaaca4837c734987babce4f71322932 Mon Sep 17 00:00:00 2001 From: tianfeng <769204422@qq.com> Date: Thu, 25 Sep 2025 18:20:30 +0800 Subject: [PATCH] =?UTF-8?q?team=20member=20total=20=E6=9B=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/AgencyCenterView.vue | 2 +- src/views/BDCenterView.vue | 2 +- src/views/TeamMemberView.vue | 39 ++++++++++++++-------------------- 3 files changed, 18 insertions(+), 25 deletions(-) diff --git a/src/views/AgencyCenterView.vue b/src/views/AgencyCenterView.vue index babe53b..cdd185c 100644 --- a/src/views/AgencyCenterView.vue +++ b/src/views/AgencyCenterView.vue @@ -264,7 +264,7 @@ const goToTeamBill = () => { } const goToTeamMember = () => { - router.push('/team-member') + router.push({ path: '/team-member', query: { source: 'agency-center', members: teamMemberCount.value } }) } const exchangeGoldCoins = () => { diff --git a/src/views/BDCenterView.vue b/src/views/BDCenterView.vue index cf75525..ad87f26 100644 --- a/src/views/BDCenterView.vue +++ b/src/views/BDCenterView.vue @@ -112,7 +112,7 @@ const getAgentMonth = async () => { } const goToTeamMember = () => { - router.push({ path: '/team-member', query: { source: 'bd-center' } }) + router.push({ path: '/team-member', query: { source: 'bd-center', members: teamMemberCount.value } }) } const exchangeGoldCoins = () => { diff --git a/src/views/TeamMemberView.vue b/src/views/TeamMemberView.vue index 754b3c1..dbf107f 100644 --- a/src/views/TeamMemberView.vue +++ b/src/views/TeamMemberView.vue @@ -52,7 +52,7 @@

No more members

- +
@@ -117,13 +117,6 @@ const loadMoreTrigger = ref(null) // 检查是否来自BD Center const isFromBdCenter = ref(false) -const fetchTeamTotal = async () => { - const res = await getAgentMonthTarget() - if (res.status === true) { - membersTotal.value = res.body.agentQuantity - } -} - // 获取团队成员列表 const fetchTeamMembers = async (isLoadMore = false) => { try { @@ -141,7 +134,7 @@ const fetchTeamMembers = async (isLoadMore = false) => { if (lastId.value) { params.lastId = lastId.value } - + if (isFromBdCenter.value) { // BD代理商列表也支持分页 response = await getBdAgentList(params) @@ -172,7 +165,7 @@ const fetchTeamMembers = async (isLoadMore = false) => { if (newMembers.length < 20) { noMoreData.value = true } - + console.log('Fetched members:', { isLoadMore, newCount: newMembers.length, @@ -251,7 +244,7 @@ const confirmDelete = async () => { // 监听滚动事件 const handleScroll = () => { console.log('handleScroll triggered') - + if (loadingMore.value || noMoreData.value) { console.log('Skip loading:', { loadingMore: loadingMore.value, noMoreData: noMoreData.value }) return @@ -260,7 +253,7 @@ const handleScroll = () => { const scrollTop = window.pageYOffset || document.documentElement.scrollTop const windowHeight = window.innerHeight const documentHeight = document.documentElement.scrollHeight - + console.log('Scroll info:', { scrollTop, windowHeight, @@ -278,12 +271,12 @@ const handleScroll = () => { // 设置 Intersection Observer const setupIntersectionObserver = () => { if (!loadMoreTrigger.value) return - + intersectionObserver.value = new IntersectionObserver( (entries) => { const entry = entries[0] console.log('Intersection observer triggered:', entry.isIntersecting) - + if (entry.isIntersecting && !loadingMore.value && !noMoreData.value) { console.log('Loading more via intersection observer') fetchTeamMembers(true) @@ -293,7 +286,7 @@ const setupIntersectionObserver = () => { rootMargin: '100px' } ) - + intersectionObserver.value.observe(loadMoreTrigger.value) console.log('Intersection observer set up') } @@ -301,26 +294,26 @@ const setupIntersectionObserver = () => { // 组件挂载时获取数据 onMounted(async () => { console.log('Component mounted') - + // 检查是否来自BD Center isFromBdCenter.value = route.query.source === 'bd-center' + membersTotal.value = parseInt(route.query.members) await fetchTeamMembers() - await fetchTeamTotal() // 添加滚动监听 await nextTick() - + console.log('Adding scroll listener') window.addEventListener('scroll', handleScroll, { passive: true }) - + // 也监听 document 的滚动 document.addEventListener('scroll', handleScroll, { passive: true }) - + // 设置 Intersection Observer setTimeout(() => { setupIntersectionObserver() - + const windowHeight = window.innerHeight const documentHeight = document.documentElement.scrollHeight console.log('Page height check:', { @@ -328,7 +321,7 @@ onMounted(async () => { documentHeight, hasScroll: documentHeight > windowHeight }) - + // 如果页面没有滚动条,但是数据不多,可能需要加载更多 if (documentHeight <= windowHeight + 50 && !noMoreData.value && members.value.length > 0) { console.log('Auto loading more due to insufficient content height') @@ -341,7 +334,7 @@ onMounted(async () => { onUnmounted(() => { window.removeEventListener('scroll', handleScroll) document.removeEventListener('scroll', handleScroll) - + if (intersectionObserver.value) { intersectionObserver.value.disconnect() }