directive.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import Vue from 'vue'
  2. // import store from '@/store'
  3. // let permissionArr = store.getters.permission
  4. Vue.directive('permission', {
  5. inserted(el, binding) {
  6. let value = binding.value
  7. let permission = window.localStorage.getItem('permission')
  8. permission = permission.split(',')
  9. // 如果一个权限判断不了则用两个
  10. // 格式: v-permission="{child: 'child', parent: 'parent'}"
  11. // 在特殊情况下才会用到两个参数,基本情况只会用到一个标识
  12. if(typeof value == 'string') {
  13. if(!permission.includes(value)) {
  14. // el.style.display = 'none'
  15. el.parentNode && el.parentNode.removeChild(el)
  16. }
  17. } else{
  18. if(!permission.includes(value.parent) && !permission.includes(value.child)) {
  19. el.parentNode && el.parentNode.removeChild(el)
  20. // el.style.display = 'none'
  21. }
  22. }
  23. }
  24. })
  25. Vue.directive('number',{
  26. inserted(el){
  27. el.oninput= function(e){
  28. let value = '' + e.target.value
  29. if (value.indexOf('.') != -1) {
  30. let arr = value.split('')
  31. arr.splice(arr.length - 1)
  32. let str2 = arr.join('')
  33. e.target.value = +str2
  34. return
  35. }
  36. }
  37. }
  38. })