import PageLayout from '@/layout/page-layout.vue'; import { DEFAULT_LAYOUT } from '../base'; import { AppRouteRecordRaw } from '../types'; // 业务路由 const BUSINESS: AppRouteRecordRaw = { path: '/business', name: 'business', component: DEFAULT_LAYOUT, redirect: '/business/project', meta: { locale: 'menu.business', requiresAuth: true, icon: 'icon-heart-fill', permissionKey: 'business', order: 2, isFirst: true, }, children: [ // 项目管理 { path: 'project', name: 'business-project', component: () => import( /* webpackChunkName: "business-project" */ /* webpackPreload: true */ '@/views/business/project/index.vue' ), meta: { locale: 'menu.business.project', requiresAuth: true, roles: ['admin'], icon: 'icon-attachment', permissionKey: 'businessProject', }, }, // 空间管理 { path: 'space', name: 'business-space', component: PageLayout, redirect: '/business/space/house-view', meta: { locale: 'menu.business.space', requiresAuth: true, roles: ['*'], icon: 'icon-brush', permissionKey: 'businessSpace', }, children: [ // 房源剖视 { path: 'house-view', name: 'business-space-house-view', component: () => import( /* webpackChunkName: "business-space" */ '@/views/business/space/house-view/index.vue' ), meta: { locale: 'menu.business.house-view', requiresAuth: true, roles: ['*'], icon: 'icon-brush', }, }, // 房源列表 { path: 'house-list', name: 'business-space-house-list', component: () => import( /* webpackChunkName: "business-space" */ '@/views/business/space/house-list/index.vue' ), meta: { locale: 'menu.business.house-list', requiresAuth: true, roles: ['*'], icon: 'icon-brush', permissionKey: 'businessHouseList', }, }, ], }, // 合同管理 { path: 'contract', name: 'business-contract', component: PageLayout, redirect: '/business/contract/contract-list', meta: { locale: 'menu.business.contract', requiresAuth: true, roles: ['*'], icon: 'icon-brush', permissionKey: 'businessContract', }, children: [ // 合同列表 { path: 'contract-list', name: 'business-contract-list', component: () => import( /* webpackChunkName: "business-contract" */ '@/views/business/contract/list.vue' ), meta: { locale: 'menu.business.contract-list', requiresAuth: true, roles: ['*'], icon: 'icon-brush', permissionKey: 'businessContractList', }, }, // 合同归档 { path: 'contract-file', name: 'business-contract-file', component: () => import( /* webpackChunkName: "business-contract" */ '@/views/business/contract/file.vue' ), meta: { locale: 'menu.business.contract-file', requiresAuth: true, roles: ['*'], icon: 'icon-brush', permissionKey: 'businessContractFile', }, }, // 合同模板 { path: 'contract-template', name: 'business-contract-template', component: () => import( /* webpackChunkName: "business-contract" */ '@/views/business/contract/template.vue' ), meta: { locale: 'menu.business.contract-template', requiresAuth: true, roles: ['*'], icon: 'icon-brush', permissionKey: 'businessContractTemplate', }, }, ], }, // 租客管理 { path: 'tenant', name: 'business-tenant', component: PageLayout, redirect: '/business/tenant/list', meta: { locale: 'menu.business.tenant', requiresAuth: true, roles: ['*'], icon: 'icon-font-colors', permissionKey: 'businessTenant', }, children: [ // 租客列表 { path: 'tenant-list', name: 'business-tenant-list', component: () => import( /* webpackChunkName: "business-tenant" */ '@/views/business/tenant/list.vue' ), meta: { locale: 'menu.business.tenant-list', requiresAuth: true, roles: ['*'], icon: 'icon-font-colors', permissionKey: 'businessTenantList', }, }, // 租客联系人 { path: 'tenant-contacts', name: 'business-tenant-contacts', component: () => import( /* webpackChunkName: "business-tenant" */ '@/views/business/tenant/contacts.vue' ), meta: { locale: 'menu.business.tenant.contacts', requiresAuth: true, roles: ['*'], icon: 'icon-font-colors', permissionKey: 'businessTenantContacts', }, }, ], }, ], }; export default BUSINESS;