fix: id兼容, 通知入口
All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 5m0s

This commit is contained in:
luo
2026-07-28 15:19:29 +08:00
parent 0e8a11430a
commit 261f5f2853
21 changed files with 271 additions and 71 deletions

View File

@@ -255,6 +255,7 @@
import { useCheckedColumns } from '@/composables/useCheckedColumns'
import { useAuth } from '@/composables/useAuth'
import { fenToYuan, formatDateTime, yuanToFen } from '@/utils/business/format'
import { getCompatibleNumericId } from '@/utils/business/id'
import {
CommonStatus,
getStatusText,
@@ -415,7 +416,7 @@
const roleList = ref<PlatformRole[]>([])
const getRoleId = (role: PlatformRole | any) => role.id ?? role.ID
const getRoleId = (role: PlatformRole | any) => getCompatibleNumericId(role) ?? 0
const handleNameClick = (row: PlatformRole) => {
if (hasAuth('role:detail')) {
@@ -1037,12 +1038,9 @@
if (Array.isArray(permissions) && permissions.length > 0) {
// 如果返回的是权限对象数组,提取ID或id字段
if (typeof permissions[0] === 'object') {
// 优先使用ID字段,如果没有则使用id字段
if ('ID' in permissions[0]) {
selectedPermissions.value = permissions.map((perm: any) => perm.ID)
} else if ('id' in permissions[0]) {
selectedPermissions.value = permissions.map((perm: any) => perm.id)
}
selectedPermissions.value = permissions
.map((perm: any) => getCompatibleNumericId(perm))
.filter((id): id is number => id !== undefined)
} else {
// 如果返回的是ID数组
selectedPermissions.value = permissions
@@ -1189,7 +1187,9 @@
status: form.status
}
const res = await RoleService.createRole(data)
const createdRoleId = res.data?.ID ?? res.data?.id ?? res.data?.role_id
const createdRoleId =
getCompatibleNumericId(res.data) ??
(res.data?.role_id !== undefined ? Number(res.data.role_id) : undefined)
if (form.role_type === RoleType.CUSTOMER && createdRoleId) {
await RoleService.updateRoleDefaultCredit(createdRoleId, getDefaultCreditPayload())
}