yinghe-lowcode-zln
Version:
基于vue、ant-design-vue,datagrid的低代码平台
52 lines (47 loc) • 1.4 kB
JavaScript
const PERMISSION_ENUM = {
'add': { key: 'add', label: '新增' },
'delete': { key: 'delete', label: '删除' },
'edit': { key: 'edit', label: '修改' },
'query': { key: 'query', label: '查询' },
'get': { key: 'get', label: '详情' },
'enable': { key: 'enable', label: '启用' },
'disable': { key: 'disable', label: '禁用' },
'import': { key: 'import', label: '导入' },
'export': { key: 'export', label: '导出' }
}
function plugin (Vue) {
if (plugin.installed) {
return
}
!Vue.prototype.$auth && Object.defineProperties(Vue.prototype, {
$auth: {
get () {
const _this = this
return permissions => {
const [permission, action] = permissions.split('.')
const permissionList = _this.$store.getters.roles.permissions
return permissionList.find(val => {
return val.permissionId === permission
}).actionList.findIndex(val => {
return val === action
}) > -1
}
}
}
})
!Vue.prototype.$enum && Object.defineProperties(Vue.prototype, {
$enum: {
get () {
// const _this = this;
return val => {
let result = PERMISSION_ENUM
val && val.split('.').forEach(v => {
result = result && result[v] || null
})
return result
}
}
}
})
}
export default plugin