From 0074d96163333fdb3a5f25083e3689e8d0a79baa Mon Sep 17 00:00:00 2001 From: yueli Date: Fri, 17 Jul 2026 16:13:12 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=9D=83=E9=99=90=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E9=A1=B5=20GET=20=E8=AF=B7=E6=B1=82=E5=8A=A0=20=5Ft=20?= =?UTF-8?q?=E9=98=B2=E6=B5=8F=E8=A7=88=E5=99=A8=E7=BC=93=E5=AD=98=20+=20?= =?UTF-8?q?=E4=BF=9D=E5=AD=98=E5=90=8E=E8=87=AA=E5=8A=A8=E5=88=B7=E6=96=B0?= =?UTF-8?q?=20UI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- inventory-web/src/api/system/permission.ts | 7 +++++-- inventory-web/src/views/system/PermissionConfig.vue | 12 +++++++++++- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/inventory-web/src/api/system/permission.ts b/inventory-web/src/api/system/permission.ts index c02aaeb..d771010 100644 --- a/inventory-web/src/api/system/permission.ts +++ b/inventory-web/src/api/system/permission.ts @@ -4,7 +4,8 @@ import request from '@/utils/request' export function getAllPermissionTree() { return request({ url: '/v1/permissions/tree', - method: 'get' + method: 'get', + params: { _t: Date.now() } }) } @@ -12,7 +13,9 @@ export function getAllPermissionTree() { export function getRolePermissions(roleCode: string) { return request({ url: '/v1/permissions/role/' + roleCode, - method: 'get' + method: 'get', + // 加时间戳防浏览器缓存,确保权限修改后立即反映 + params: { _t: Date.now() } }) } diff --git a/inventory-web/src/views/system/PermissionConfig.vue b/inventory-web/src/views/system/PermissionConfig.vue index 161d457..f60eeeb 100644 --- a/inventory-web/src/views/system/PermissionConfig.vue +++ b/inventory-web/src/views/system/PermissionConfig.vue @@ -498,7 +498,17 @@ const handleSave = async () => { permissions: permissions }) if (res.code === 200) { - ElMessage.success('权限保存成功!请手动切换角色以刷新显示') + ElMessage.success('权限保存成功!') + // 立即重新拉取权限刷新 UI(带 cache-busting,确保拿到最新数据) + if (currentRole.value) { + try { + const refreshRes: any = await getRolePermissions(currentRole.value) + if (refreshRes.code === 200) { + const perms = new Set([...(refreshRes.data.menus || []), ...(refreshRes.data.elements || [])]) + setRowStatus(tableData.value, perms) + } + } catch (e) { /* 静默失败 */ } + } } else { ElMessage.error(res.msg || '保存失败') }