hasPermiAnd.js 811 B

1234567891011121314151617181920212223242526272829303132333435
  1. /**
  2. * v-hasPermiAnd 操作权限处理
  3. * Copyright (c) 2022 ded
  4. */
  5. import store from '@/store'
  6. export default {
  7. inserted(el, binding, vnode) {
  8. const { value } = binding
  9. const all_permission = "*:*:*";
  10. const permissions = store.getters && store.getters.permissions
  11. if (value && value instanceof Array && value.length > 0) {
  12. let num = 0;
  13. for(let i=0;i<value.length;i++){
  14. if(permissions[0] == all_permission){
  15. num++
  16. }else{
  17. if(permissions.includes(value[i], 0)){
  18. num++
  19. }
  20. }
  21. }
  22. if(num == value.length){
  23. return true
  24. } else {
  25. el.parentNode && el.parentNode.removeChild(el)
  26. return false
  27. }
  28. } else {
  29. throw new Error(`请设置操作权限标签值`)
  30. }
  31. }
  32. }