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 @@
-
+
@@ -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()
}