42 lines
1.7 KiB
TypeScript
42 lines
1.7 KiB
TypeScript
import { Building2, KeyRound, Settings, ShieldCheck, Users } from '@lucide/vue'
|
|
import type { ClientModuleManifest } from '../types.ts'
|
|
|
|
export const tenantManagementModule = {
|
|
key: 'company',
|
|
navigationGroup: { title: '企业管理', icon: Settings, dividerBefore: true },
|
|
routes: [
|
|
{
|
|
path: 'company/profile',
|
|
name: 'company-profile',
|
|
component: () => import('./views/CompanyProfileView.vue'),
|
|
release: 'active',
|
|
meta: { title: '企业资料', description: '维护企业基本信息、联系人和资质文件', permission: 'company:profile:view' },
|
|
navigation: { key: 'company-profile', icon: Building2 },
|
|
},
|
|
{
|
|
path: 'organization/members',
|
|
name: 'members',
|
|
component: () => import('./views/MembersView.vue'),
|
|
release: 'active',
|
|
meta: { title: '企业成员', description: '管理本企业成员账号、状态和角色', permission: 'company:member:list' },
|
|
navigation: { key: 'company-members', icon: Users },
|
|
},
|
|
{
|
|
path: 'organization/roles',
|
|
name: 'roles',
|
|
component: () => import('./views/RolesView.vue'),
|
|
release: 'active',
|
|
meta: { title: '角色管理', description: '建立符合企业分工的成员角色', permission: 'company:role:list' },
|
|
navigation: { key: 'company-roles', icon: ShieldCheck },
|
|
},
|
|
{
|
|
path: 'organization/permissions',
|
|
name: 'permissions',
|
|
component: () => import('./views/PermissionsView.vue'),
|
|
release: 'active',
|
|
meta: { title: '菜单权限', description: '为本企业角色分配菜单及操作权限', permission: 'company:permission:list' },
|
|
navigation: { key: 'company-permissions', icon: KeyRound },
|
|
},
|
|
],
|
|
} satisfies ClientModuleManifest
|