|
|
@@ -108,11 +108,19 @@ const fetchData = async (page = 0) => {
|
|
|
await loadAllTeamMembers()
|
|
|
} else {
|
|
|
// 其他角色使用原有接口
|
|
|
+ let queryTeamId = searchForm.value.teamId || currentTeamId.value
|
|
|
+
|
|
|
+ // 推广员只能看到绑定给自己的域名
|
|
|
+ if (isPromoter.value) {
|
|
|
+ // 推广员查询时,需要传递自己的用户ID来过滤域名
|
|
|
+ queryTeamId = currentTeamId.value
|
|
|
+ }
|
|
|
+
|
|
|
const result = await listTeamDomains(
|
|
|
page,
|
|
|
tableData.value.meta?.size || 20,
|
|
|
undefined,
|
|
|
- searchForm.value.teamId || currentTeamId.value,
|
|
|
+ queryTeamId,
|
|
|
searchForm.value.domain || undefined
|
|
|
)
|
|
|
tableData.value = {
|
|
|
@@ -145,8 +153,8 @@ const fetchData = async (page = 0) => {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- // 为所有用户加载团队成员数据
|
|
|
- if (!isAdmin.value) {
|
|
|
+ // 为所有用户加载团队成员数据(推广员除外,因为他们不需要看到绑定信息)
|
|
|
+ if (!isAdmin.value && !isPromoter.value) {
|
|
|
// 直接请求团队成员接口,不依赖teamId
|
|
|
await fetchTeamMembersForCurrentUser()
|
|
|
}
|
|
|
@@ -496,8 +504,22 @@ const fetchTeamMembers = async (teamId) => {
|
|
|
const fetchTeamMembersForCurrentUser = async () => {
|
|
|
try {
|
|
|
console.log('正在获取当前用户的团队成员数据')
|
|
|
- const response = await listMembers(0, 100)
|
|
|
- teamMembers.value = response.content || []
|
|
|
+
|
|
|
+ if (isPromoter.value) {
|
|
|
+ // 推广员只获取自己的信息
|
|
|
+ const currentUserId = userStore.userInfo?.id
|
|
|
+ if (currentUserId) {
|
|
|
+ const response = await listMembers(0, 100, undefined, undefined, currentUserId)
|
|
|
+ teamMembers.value = response.content || []
|
|
|
+ } else {
|
|
|
+ teamMembers.value = []
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ // 队长和管理员获取所有团队成员
|
|
|
+ const response = await listMembers(0, 100)
|
|
|
+ teamMembers.value = response.content || []
|
|
|
+ }
|
|
|
+
|
|
|
console.log('获取到的团队成员数据:', teamMembers.value)
|
|
|
} catch (error) {
|
|
|
console.error('获取团队成员失败:', error)
|
|
|
@@ -532,7 +554,11 @@ const loadAllTeamMembers = async () => {
|
|
|
const handleTeamChange = async (event) => {
|
|
|
const teamId = event.value
|
|
|
domainModel.teamMemberId = null
|
|
|
- await fetchTeamMembers(teamId)
|
|
|
+
|
|
|
+ // 推广员不需要获取团队成员数据,因为他们不显示绑定信息
|
|
|
+ if (!isPromoter.value) {
|
|
|
+ await fetchTeamMembers(teamId)
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
// 获取团队名称
|
|
|
@@ -544,6 +570,11 @@ const getTeamName = (teamId) => {
|
|
|
|
|
|
// 获取绑定用户名
|
|
|
const getBoundUserName = (domain) => {
|
|
|
+ // 推广员只能看到自己的域名,不显示绑定信息
|
|
|
+ if (isPromoter.value) {
|
|
|
+ return '我的域名'
|
|
|
+ }
|
|
|
+
|
|
|
if (domain.teamMemberId) {
|
|
|
// 如果绑定到个人,从团队成员列表中查找
|
|
|
// 确保类型匹配(字符串和数字)
|
|
|
@@ -738,7 +769,8 @@ onMounted(() => {
|
|
|
</div>
|
|
|
</template>
|
|
|
</Column>
|
|
|
- <Column field="boundUser" header="绑定用户" style="min-width: 150px" headerClass="font-bold">
|
|
|
+ <!-- 推广员不显示绑定用户列,因为他们只能看到自己的域名 -->
|
|
|
+ <Column v-if="!isPromoter" field="boundUser" header="绑定用户" style="min-width: 150px" headerClass="font-bold">
|
|
|
<template #body="slotProps">
|
|
|
<span class="bound-user-text">
|
|
|
{{ getBoundUserName(slotProps.data) }}
|