directive.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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.style.display = 'none'
  20. } else {
  21. el.parentNode && el.parentNode.removeChild(el)
  22. }
  23. }
  24. }
  25. })
  26. Vue.directive('number', {
  27. inserted (el) {
  28. el.oninput = function (e) {
  29. let value = '' + e.target.value
  30. if (value.indexOf('.') != -1) {
  31. let arr = value.split('')
  32. arr.splice(arr.length - 1)
  33. let str2 = arr.join('')
  34. e.target.value = +str2
  35. return
  36. }
  37. }
  38. }
  39. })