web-africa-admin/src/directive/permission/hasButtons.js

30 lines
784 B
JavaScript

/*
* @Descripttion:
* @version:
* @Author: 王三华
* @Date: 2023-06-05 16:36:36
*/
/**
* 操作权限处理
* Copyright (c) 2019 hzs
*/
export default {
inserted(el, binding, vnode) {
const { value } = binding
const buttons = JSON.parse(localStorage.getItem('buttons'))
const all_permission = "*"
const permissions = buttons || []
if (value && value instanceof Array && value.length > 0) {
const permissionFlag = value
const hasPermissions = permissions.some(permission => {
return all_permission === permission || permissionFlag.includes(permission)
})
if (!hasPermissions) {
el.parentNode && el.parentNode.removeChild(el)
}
} else {
throw new Error(`请设置操作权限标签值`)
}
}
}