This commit is contained in:
@@ -402,7 +402,7 @@
|
||||
]
|
||||
|
||||
// 显示对话框
|
||||
const showDialog = (type: string, row?: any) => {
|
||||
const showDialog = async (type: string, row?: any) => {
|
||||
dialogVisible.value = true
|
||||
dialogType.value = type
|
||||
|
||||
@@ -411,6 +411,10 @@
|
||||
formRef.value.resetFields()
|
||||
}
|
||||
|
||||
if (type === 'add') {
|
||||
await loadAllRoles()
|
||||
}
|
||||
|
||||
if (type === 'edit' && row) {
|
||||
formData.id = row.id
|
||||
formData.username = row.username
|
||||
@@ -590,7 +594,8 @@
|
||||
try {
|
||||
const params: any = {
|
||||
page: 1,
|
||||
page_size: keyword ? 100 : 20 // 搜索时加载更多,默认20条
|
||||
page_size: keyword ? 100 : 20, // 搜索时加载更多,默认20条
|
||||
role_type: 1
|
||||
}
|
||||
if (keyword) {
|
||||
params.role_name = keyword
|
||||
@@ -604,48 +609,14 @@
|
||||
}
|
||||
}
|
||||
|
||||
// 计算属性:新建账号时可选的角色(根据账号类型过滤)
|
||||
// 计算属性:新建账号时可选的角色
|
||||
const availableRolesForCreate = computed(() => {
|
||||
let roles = allRoles.value
|
||||
|
||||
// 根据账号类型过滤角色
|
||||
if (formData.user_type === 1) {
|
||||
// 超级管理员:不能分配角色
|
||||
return []
|
||||
} else if (formData.user_type === 2) {
|
||||
// 平台用户:只显示平台角色
|
||||
roles = roles.filter((role) => role.role_type === 1)
|
||||
} else if (formData.user_type === 3) {
|
||||
// 代理账号:只显示客户角色
|
||||
roles = roles.filter((role) => role.role_type === 2)
|
||||
} else if (formData.user_type === 4) {
|
||||
// 企业账号:只显示客户角色
|
||||
roles = roles.filter((role) => role.role_type === 2)
|
||||
}
|
||||
|
||||
return roles
|
||||
return allRoles.value
|
||||
})
|
||||
|
||||
// 计算属性:过滤后的可分配角色(根据账号类型过滤)
|
||||
// 计算属性:过滤后的可分配角色
|
||||
const filteredAvailableRoles = computed(() => {
|
||||
let roles = allRoles.value
|
||||
|
||||
// 根据账号类型过滤角色
|
||||
if (currentAccountType.value === 1) {
|
||||
// 超级管理员:不能分配任何角色
|
||||
return []
|
||||
} else if (currentAccountType.value === 3) {
|
||||
// 代理账号:只显示客户角色
|
||||
roles = roles.filter((role) => role.role_type === 2)
|
||||
} else if (currentAccountType.value === 4) {
|
||||
// 企业账号:只显示客户角色
|
||||
roles = roles.filter((role) => role.role_type === 2)
|
||||
} else if (currentAccountType.value === 2) {
|
||||
// 平台用户:只显示平台角色
|
||||
roles = roles.filter((role) => role.role_type === 1)
|
||||
}
|
||||
|
||||
return roles
|
||||
return allRoles.value
|
||||
})
|
||||
|
||||
// 搜索防抖定时器
|
||||
|
||||
Reference in New Issue
Block a user