赞
踩
不同的人登录看到的是不同的页面
员工A和员工B都可以访问同一个页面(以员工管理为例),但是员工A可以导出excel,员工B就不可以导出excel(看不到按钮)
新封装一个自定义指令组件并全局注册
// 注册一个全局自定义组件
import store from '@/store'
export default {
install(Vue) {
Vue.directive('allow', {
// 当被绑定的元素插入到 DOM 中时inserted会自动执行
inserted: function(el, binding) {
if (!store.state.user.userInfo.roles.points.includes(binding.value)) {
// 如果当前员工没有这个按钮权限就移除这个按钮
el.remove()
}
}
})
}
}
main.js中全局注册
import directive from './directive'
Vue.use(directive)
在组件中使用自定义指令
<el-button v-allow="'import_excel'" type="warning" size="small" @click="$router.push('/import')">导入excel</el-button>
<el-button v-allow="'export_excel'" type="danger" size="small" @click="hExport()">导出excel</el-button>
在权限管理添加的权限标识要和v-allow中的一致
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。