| 123456789101112131415161718192021222324252627282930313233343536 |
- /**
- * 自定义权限按钮指令
- * 使用方法 v-permission="'companyAdmin:add'"
- * @param {*} store 权限数组
- * @returns
- */
- import { lookPermissionUser } from '@/config'
- export default function createPermissionDirective(store) {
- function getPermissionCodes(store) {
- const userId = store.state.user.info?.userId || ''
- // 写死判断用户ID是 888 的用户隐藏掉所有操作
- if (lookPermissionUser.includes(userId)) {
- return []
- } else {
- return ['permission']
- }
- /* const all = store.state.user.info?.permissionList || []
- return all
- .filter(item => item?.type === 'permission' && item?.permissionCode)
- .map(item => item.permissionCode) */
- }
- return {
- mounted(el, binding) {
- const requiredCode = binding.value
- const permissionCodes = getPermissionCodes(store)
- if (!permissionCodes.includes(requiredCode)) {
- el.parentNode && el.parentNode.removeChild(el)
- }
- }
- }
- }
|