fix(frontend): 修复权限树加载与批量授权弹窗宽度
This commit is contained in:
parent
19ac981144
commit
4f774893fa
@ -103,8 +103,20 @@ function handleSizeChange(nextSize: number): void {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async function fetchPermissions(): Promise<void> {
|
async function fetchPermissions(): Promise<void> {
|
||||||
const response: any = await permissionsApi.list({ page: 1, per_page: 500 })
|
let nextPage = 1
|
||||||
permissionOptions.value = response.data.data || []
|
const all: any[] = []
|
||||||
|
while (true) {
|
||||||
|
const response: any = await permissionsApi.list({ page: nextPage, per_page: 100 })
|
||||||
|
const chunk = response.data.data || []
|
||||||
|
all.push(...chunk)
|
||||||
|
const currentPage = Number(response.data.current_page || nextPage)
|
||||||
|
const lastPage = Number(response.data.last_page || currentPage)
|
||||||
|
if (currentPage >= lastPage) {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
nextPage += 1
|
||||||
|
}
|
||||||
|
permissionOptions.value = all
|
||||||
}
|
}
|
||||||
|
|
||||||
function openCreate(): void {
|
function openCreate(): void {
|
||||||
|
|||||||
@ -74,7 +74,7 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
<el-dialog v-model='batchAssignDialogVisible' title='批量设置用户组和用户权限' width='760px'>
|
<el-dialog v-model='batchAssignDialogVisible' title='批量设置用户组和用户权限' width='92vw' top='4vh'>
|
||||||
<el-alert type='info' :closable='false' show-icon>
|
<el-alert type='info' :closable='false' show-icon>
|
||||||
<template #default>已选择 {{ selectedUserIds.length }} 个用户,提交后将覆盖这些用户的角色与直授权限。</template>
|
<template #default>已选择 {{ selectedUserIds.length }} 个用户,提交后将覆盖这些用户的角色与直授权限。</template>
|
||||||
</el-alert>
|
</el-alert>
|
||||||
@ -200,12 +200,24 @@ async function fetchList(): Promise<void> {
|
|||||||
|
|
||||||
async function fetchOptions(): Promise<void> {
|
async function fetchOptions(): Promise<void> {
|
||||||
try {
|
try {
|
||||||
const [rolesResponse, permissionsResponse]: any = await Promise.all([
|
const [rolesResponse]: any = await Promise.all([
|
||||||
rolesApi.list({ page: 1, per_page: 100 }),
|
rolesApi.list({ page: 1, per_page: 100 }),
|
||||||
permissionsApi.list({ page: 1, per_page: 200 }),
|
|
||||||
])
|
])
|
||||||
roleOptions.value = rolesResponse.data.data || []
|
roleOptions.value = rolesResponse.data.data || []
|
||||||
permissionOptions.value = permissionsResponse.data.data || []
|
let nextPage = 1
|
||||||
|
const allPermissions: any[] = []
|
||||||
|
while (true) {
|
||||||
|
const response: any = await permissionsApi.list({ page: nextPage, per_page: 100 })
|
||||||
|
const chunk = response.data.data || []
|
||||||
|
allPermissions.push(...chunk)
|
||||||
|
const currentPage = Number(response.data.current_page || nextPage)
|
||||||
|
const lastPage = Number(response.data.last_page || currentPage)
|
||||||
|
if (currentPage >= lastPage) {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
nextPage += 1
|
||||||
|
}
|
||||||
|
permissionOptions.value = allPermissions
|
||||||
} catch (error: any) {
|
} catch (error: any) {
|
||||||
roleOptions.value = []
|
roleOptions.value = []
|
||||||
permissionOptions.value = []
|
permissionOptions.value = []
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user