feat:初始化项目结构

This commit is contained in:
Zzz1zz
2025-06-22 23:55:55 +08:00
commit ac0d6dd5cc
160 changed files with 16402 additions and 0 deletions
+173
View File
@@ -0,0 +1,173 @@
import { DEFAULT_LAYOUT } from '../base';
import { AppRouteRecordRaw } from '../types';
import PageLayout from '@/layout/page-layout.vue';
// 业务路由
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('@/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('@/views/business/space/house-view.vue'),
meta: {
locale: 'menu.business.house-view',
requiresAuth: true,
roles: ['*'],
icon: 'icon-brush',
},
},
// 房源列表
{
path: 'house-list',
name: 'business-space-house-list',
component: () => import('@/views/business/space/house-list.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('@/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('@/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('@/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('@/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('@/views/business/tenant/contacts.vue'),
meta: {
locale: 'menu.business.tenant.contacts',
requiresAuth: true,
roles: ['*'],
icon: 'icon-font-colors',
permissionKey: 'businessTenantContacts',
},
},
],
},
],
};
export default BUSINESS;