hasPerm.js 637 B

1234567891011121314151617181920212223
  1. import store from '@/store'
  2. export default {
  3. inserted(el, binding, vnode) {
  4. const { value } = binding
  5. const allPermission = '*:*:*'
  6. const permissions = store.getters && store.getters.user_perms
  7. if (value && value instanceof Array && value.length > 0) {
  8. const permissionFlag = value
  9. const hasPermissions = permissions.some(permission => {
  10. return allPermission === permission || permissionFlag.includes(permission)
  11. })
  12. if (!hasPermissions) {
  13. el.parentNode && el.parentNode.removeChild(el)
  14. }
  15. } else {
  16. throw new Error('请设置操作权限标签值')
  17. }
  18. }
  19. }