用户权限
js代码参考示例
import { Account } from '@/types/account.type'
import { computed, Ref } from 'vue'
export function useRoles(account: Ref<Account>) {
const roleCodes = computed(() => account.value?.employee?.roles?.map(role => role.code))
// 是否为公司创建人
const isOwner = computed(() => account.value.id === account.value.company?.owner_id)
// 是否为超级管理员
const isSuperAdmin = computed(
() => isOwner.value || roleCodes.value?.some(code => ['company_owner', 'company_super_admin'].includes(code))
)
// 是否为公司管理员
const isCompanyAdmin = computed(() => {
return isSuperAdmin.value || roleCodes.value?.some(code => ['company_admin'].includes(code))
})
// 是否为支付管理员
const isPayAdmin = computed(() => {
return isSuperAdmin.value || roleCodes.value?.some(code => ['company_pay_admin'].includes(code))
})
// 是否为店铺管理员
const isShopAdmin = computed(() => {
return isSuperAdmin.value || roleCodes.value?.some(code => ['company_shop_admin'].includes(code))
})
// 是否为采购管理员
const isPurchaseAdmin = computed(() => {
return isSuperAdmin.value || roleCodes.value?.some(code => ['company_purchase_admin'].includes(code))
})
return {
roleCodes,
isPayAdmin,
isSuperAdmin,
isCompanyAdmin,
isShopAdmin,
isPurchaseAdmin
}
}