Blame view

antis-ncc-admin/src/directive/permission/permission.js 872 Bytes
03207d5d   wwk   1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
  import store from '@/store'
  
  export default {
    inserted(el, binding, vnode) {
      const { value } = binding
      const permissionList = store.getters && store.getters.permissionList
      if (!value) return el.parentNode && el.parentNode.removeChild(el)
      const modelId = vnode.context._routerRoot._route.meta.modelId || ''
      if (!modelId) return el.parentNode && el.parentNode.removeChild(el)
      const list = permissionList.filter(o => o.modelId === modelId)
      if (!list.length) return el.parentNode && el.parentNode.removeChild(el)
      const btnList = list[0] && list[0].button ? list[0].button : []
      if (!btnList.length) {
        el.parentNode && el.parentNode.removeChild(el)
      } else {
        const hasPermission = btnList.some(btn => btn.enCode === value)
        if (!hasPermission) {
          el.parentNode && el.parentNode.removeChild(el)
        }
      }
    }
  }