Skip to content

Commit 58455cd

Browse files
committed
【代码评审】Bpm:模型列表的优化
1 parent bf43742 commit 58455cd

File tree

3 files changed

+17
-18
lines changed

3 files changed

+17
-18
lines changed

src/directives/permission/hasPermi.ts

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1-
import type {App} from 'vue'
2-
import {useUserStore} from "@/store/modules/user";
1+
import type { App } from 'vue'
2+
import { useUserStore } from '@/store/modules/user'
33

44
const { t } = useI18n() // 国际化
55

6+
/** 判断权限的指令 directive */
67
export function hasPermi(app: App<Element>) {
78
app.directive('hasPermi', (el, binding) => {
89
const { value } = binding
@@ -18,9 +19,13 @@ export function hasPermi(app: App<Element>) {
1819
}
1920
})
2021
}
21-
const userStore = useUserStore();
22+
23+
/** 判断权限的方法 function */
24+
const userStore = useUserStore()
2225
const all_permission = '*:*:*'
2326
export const hasPermission = (permission: string[]) => {
24-
return userStore.permissionsSet.has(all_permission) ||
25-
permission.some(permission => userStore.permissionsSet.has(permission))
27+
return (
28+
userStore.permissions.has(all_permission) ||
29+
permission.some((permission) => userStore.permissions.has(permission))
30+
)
2631
}

src/store/modules/user.ts

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,15 @@ interface UserVO {
1515

1616
interface UserInfoVO {
1717
// USER 缓存
18-
permissions: string[]
19-
permissionsSet: Set<string>
18+
permissions: Set<string>
2019
roles: string[]
2120
isSetUser: boolean
2221
user: UserVO
2322
}
2423

2524
export const useUserStore = defineStore('admin-user', {
2625
state: (): UserInfoVO => ({
27-
permissions: [],
28-
permissionsSet: new Set<string>(),
26+
permissions: new Set<string>(),
2927
roles: [],
3028
isSetUser: false,
3129
user: {
@@ -36,7 +34,7 @@ export const useUserStore = defineStore('admin-user', {
3634
}
3735
}),
3836
getters: {
39-
getPermissions(): string[] {
37+
getPermissions(): Set<string> {
4038
return this.permissions
4139
},
4240
getRoles(): string[] {
@@ -59,8 +57,7 @@ export const useUserStore = defineStore('admin-user', {
5957
if (!userInfo) {
6058
userInfo = await getInfo()
6159
}
62-
this.permissions = userInfo.permissions
63-
this.permissionsSet = new Set(userInfo.permissions)
60+
this.permissions = new Set(userInfo.permissions)
6461
this.roles = userInfo.roles
6562
this.user = userInfo.user
6663
this.isSetUser = true
@@ -88,7 +85,7 @@ export const useUserStore = defineStore('admin-user', {
8885
this.resetState()
8986
},
9087
resetState() {
91-
this.permissions = []
88+
this.permissions = new Set<string>()
9289
this.roles = []
9390
this.isSetUser = false
9491
this.user = {

src/views/bpm/model/CategoryDraggableModel.vue

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -190,10 +190,7 @@
190190
<el-button type="primary" link>更多</el-button>
191191
<template #dropdown>
192192
<el-dropdown-menu>
193-
<el-dropdown-item
194-
command="handleDefinitionList"
195-
v-if="hasPermiPdQuery"
196-
>
193+
<el-dropdown-item command="handleDefinitionList" v-if="hasPermiPdQuery">
197194
历史
198195
</el-dropdown-item>
199196
<el-dropdown-item
@@ -278,6 +275,7 @@ const originalData: any = ref([]) // 原始数据
278275
const modelList: any = ref([]) // 模型列表
279276
const isExpand = ref(false) // 是否处于展开状态
280277
278+
/** 权限校验:通过 computed 解决列表的卡顿问题 */
281279
const hasPermiUpdate = computed(() => {
282280
return checkPermi(['bpm:model:update'])
283281
})
@@ -294,7 +292,6 @@ const hasPermiPdQuery = computed(() => {
294292
return checkPermi(['bpm:process-definition:query'])
295293
})
296294
297-
298295
/** '更多'操作按钮 */
299296
const handleModelCommand = (command: string, row: any) => {
300297
switch (command) {

0 commit comments

Comments
 (0)