fix: 🐛 pageSearch组件,权限校验不生效修复
This commit is contained in:
@@ -1,5 +1,10 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-card v-show="visible" v-bind="cardAttrs" class="mb-2.5!">
|
<el-card
|
||||||
|
v-show="visible"
|
||||||
|
v-hasPerm="searchConfig?.pageName ? `${searchConfig.pageName}:query` : '*:*:*'"
|
||||||
|
v-bind="cardAttrs"
|
||||||
|
class="mb-2.5!"
|
||||||
|
>
|
||||||
<el-form ref="queryFormRef" :model="queryParams" :inline="true" :class="isGrid">
|
<el-form ref="queryFormRef" :model="queryParams" :inline="true" :class="isGrid">
|
||||||
<template v-for="(item, index) in formItems" :key="item.prop">
|
<template v-for="(item, index) in formItems" :key="item.prop">
|
||||||
<el-form-item
|
<el-form-item
|
||||||
@@ -94,12 +99,9 @@ const showNumber = computed(() =>
|
|||||||
);
|
);
|
||||||
// 卡片组件自定义属性(累名、阴影、权限等)
|
// 卡片组件自定义属性(累名、阴影、权限等)
|
||||||
const cardAttrs = computed<IObject>(() => {
|
const cardAttrs = computed<IObject>(() => {
|
||||||
let auth = props.searchConfig?.pageName
|
|
||||||
? { "v-hasPerm": [`${props.searchConfig.pageName}:query`] }
|
|
||||||
: {};
|
|
||||||
return props.searchConfig?.cardAttrs && props.searchConfig.cardAttrs instanceof Object
|
return props.searchConfig?.cardAttrs && props.searchConfig.cardAttrs instanceof Object
|
||||||
? { shadow: "never", ...auth, ...props.searchConfig.cardAttrs }
|
? { shadow: "never", ...props.searchConfig.cardAttrs }
|
||||||
: { shadow: "never", ...auth };
|
: { shadow: "never" };
|
||||||
});
|
});
|
||||||
// 是否使用自适应网格布局
|
// 是否使用自适应网格布局
|
||||||
const isGrid = computed(() =>
|
const isGrid = computed(() =>
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ export type ComponentType =
|
|||||||
| "cascader";
|
| "cascader";
|
||||||
|
|
||||||
export interface ISearchConfig {
|
export interface ISearchConfig {
|
||||||
// 页面名称(参与组成权限标识,如sys:user:xxx)
|
// 页面名称(参与组成权限标识,如sys:user:xxx),不填则不进行权限校验
|
||||||
pageName?: string;
|
pageName?: string;
|
||||||
// 标签冒号(默认:false)
|
// 标签冒号(默认:false)
|
||||||
colon?: boolean;
|
colon?: boolean;
|
||||||
|
|||||||
@@ -18,8 +18,8 @@ export const hasPerm: Directive = {
|
|||||||
|
|
||||||
const { roles, perms } = useUserStore().userInfo;
|
const { roles, perms } = useUserStore().userInfo;
|
||||||
|
|
||||||
// 超级管理员拥有所有权限
|
// 超级管理员拥有所有权限,如果是”*:*:*”权限标识,则不需要进行权限校验
|
||||||
if (roles.includes("ROOT")) {
|
if (roles.includes("ROOT") || requiredPerms.includes("*:*:*")) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user