Prechádzať zdrojové kódy

添加域名列表页

wilhelm wong 1 mesiac pred
rodič
commit
b466ffbf67
2 zmenil súbory, kde vykonal 69 pridanie a 73 odobranie
  1. 23 21
      src/views/DomainView.vue
  2. 46 52
      src/views/LandingDomainPoolView.vue

+ 23 - 21
src/views/DomainView.vue

@@ -604,31 +604,33 @@ const fetchTeamMembersForCurrentUser = async () => {
   }
 }
 
-// 为管理员加载所有团队的成员数据
+// 为管理员加载所有团队的成员数据(一次性获取)
 const loadAllTeamMembers = async () => {
   try {
-    const allMembers = []
-    for (const team of teamStore.teams) {
-      const response = await listMembers(0, 100, undefined, team.id)
-      if (response.content) {
-        const hasNestedChildren = response.content.some(item => 
-          item.children && Array.isArray(item.children) && item.children.length > 0
-        )
-        
-        if (hasNestedChildren) {
-          allMembers.push(...flattenTeamMembersTree(response.content))
-        } else {
-          allMembers.push(...(response.content || []).map(item => {
-            const { children, ...rest } = item
-            return {
-              ...rest,
-              parentId: item.parentId !== undefined ? item.parentId : null
-            }
-          }))
-        }
+    // 一次性获取所有团队成员,不传teamId参数
+    const response = await listMembers(0, 1000)
+    if (response.content && Array.isArray(response.content) && response.content.length > 0) {
+      // 检查是否有嵌套的children结构
+      const hasNestedChildren = response.content.some(item => 
+        item.children && Array.isArray(item.children) && item.children.length > 0
+      )
+      
+      if (hasNestedChildren) {
+        // 扁平化树状结构数据
+        teamMembers.value = flattenTeamMembersTree(response.content)
+      } else {
+        // 没有嵌套结构,直接使用
+        teamMembers.value = (response.content || []).map(item => {
+          const { children, ...rest } = item
+          return {
+            ...rest,
+            parentId: item.parentId !== undefined ? item.parentId : null
+          }
+        })
       }
+    } else {
+      teamMembers.value = []
     }
-    teamMembers.value = allMembers
   } catch (error) {
     console.error('获取所有团队成员失败:', error)
     teamMembers.value = []

+ 46 - 52
src/views/LandingDomainPoolView.vue

@@ -540,77 +540,71 @@ const fetchTeamMembersForCurrentUser = async () => {
   }
 }
 
-// 为管理员加载所有团队的成员数据
+// 为管理员加载所有团队的成员数据(一次性获取)
 const loadAllTeamMembers = async () => {
   try {
-    const allMembers = []
-    // 确保 teamStore.teams 已加载
-    if (teamStore.teams.length === 0) {
-      await teamStore.loadTeams()
-    }
-    for (const team of teamStore.teams) {
-      try {
-        const response = await listMembers(0, 100, undefined, team.id)
-        if (response.content) {
-          const hasNestedChildren = response.content.some(item => 
-            item.children && Array.isArray(item.children) && item.children.length > 0
-          )
-          
-          if (hasNestedChildren) {
-            allMembers.push(...flattenTeamMembersTree(response.content))
-          } else {
-            allMembers.push(...(response.content || []).map(item => {
-              const { children, ...rest } = item
-              return {
-                ...rest,
-                parentId: item.parentId !== undefined ? item.parentId : null
-              }
-            }))
+    // 一次性获取所有团队成员,不传teamId参数
+    const response = await listMembers(0, 1000)
+    if (response.content && Array.isArray(response.content) && response.content.length > 0) {
+      // 检查是否有嵌套的children结构
+      const hasNestedChildren = response.content.some(item => 
+        item.children && Array.isArray(item.children) && item.children.length > 0
+      )
+      
+      if (hasNestedChildren) {
+        // 扁平化树状结构数据
+        teamMembers.value = flattenTeamMembersTree(response.content)
+      } else {
+        // 没有嵌套结构,直接使用
+        teamMembers.value = (response.content || []).map(item => {
+          const { children, ...rest } = item
+          return {
+            ...rest,
+            parentId: item.parentId !== undefined ? item.parentId : null
           }
-        }
-      } catch (err) {
-        console.error(`获取团队 ${team.id} 的成员失败:`, err)
+        })
       }
+    } else {
+      teamMembers.value = []
     }
-    teamMembers.value = allMembers
   } catch (error) {
     console.error('获取所有团队成员失败:', error)
     teamMembers.value = []
   }
 }
 
-// 根据落地域名池数据加载需要的团队成员数据
+// 根据落地域名池数据加载需要的团队成员数据(一次性获取)
 const loadTeamMembersForPools = async (pools) => {
   if (!pools || pools.length === 0) return
   
   try {
-    // 收集所有需要的 teamId
-    const teamIds = new Set()
-    pools.forEach(pool => {
-      if (pool.teamId) {
-        teamIds.add(pool.teamId)
-      }
-    })
-    
-    // 加载这些团队的成员数据
-    const allMembers = []
-    for (const teamId of teamIds) {
-      try {
-        const response = await listMembers(0, 100, undefined, teamId)
-        if (response.content) {
-          allMembers.push(...response.content)
-        }
-      } catch (err) {
-        console.error(`获取团队 ${teamId} 的成员失败:`, err)
+    // 一次性获取所有团队成员,不传teamId参数
+    const response = await listMembers(0, 1000)
+    if (response.content && Array.isArray(response.content) && response.content.length > 0) {
+      // 检查是否有嵌套的children结构
+      const hasNestedChildren = response.content.some(item => 
+        item.children && Array.isArray(item.children) && item.children.length > 0
+      )
+      
+      if (hasNestedChildren) {
+        // 扁平化树状结构数据
+        teamMembers.value = flattenTeamMembersTree(response.content)
+      } else {
+        // 没有嵌套结构,直接使用
+        teamMembers.value = (response.content || []).map(item => {
+          const { children, ...rest } = item
+          return {
+            ...rest,
+            parentId: item.parentId !== undefined ? item.parentId : null
+          }
+        })
       }
+    } else {
+      teamMembers.value = []
     }
-    
-    // 合并到现有的团队成员列表中(避免重复)
-    const existingIds = new Set(teamMembers.value.map(m => m.id))
-    const newMembers = allMembers.filter(m => !existingIds.has(m.id))
-    teamMembers.value.push(...newMembers)
   } catch (error) {
     console.error('加载团队成员数据失败:', error)
+    teamMembers.value = []
   }
 }