1175 lines
48 KiB
TypeScript
1175 lines
48 KiB
TypeScript
import type { RouteRecordRaw } from 'vue-router'
|
|
|
|
/** 默认布局 */
|
|
const Layout = () => import('@/layout/index.vue')
|
|
|
|
/** 系统路由 */
|
|
export const systemRoutes: RouteRecordRaw[] = [
|
|
{
|
|
path: '/login',
|
|
name: 'Login',
|
|
component: () => import('@/views/login/index.vue'),
|
|
meta: { hidden: true },
|
|
},
|
|
// {
|
|
// path: '/company',
|
|
// name: 'Company',
|
|
// component: Layout,
|
|
// redirect: '/company/overview',
|
|
// meta: { title: '企业概览', icon: 'company', hidden: false, sort: 1 },
|
|
// children: [
|
|
// {
|
|
// path: '/company/overview',
|
|
// name: 'CompanyOverview',
|
|
// component: () => import('@/views/company/overview/index.vue'),
|
|
// meta: { title: '企业概览', icon: 'dashboard', hidden: false },
|
|
// }
|
|
// ],
|
|
// },
|
|
{
|
|
path: '/organization',
|
|
name: 'Organization',
|
|
component: Layout,
|
|
redirect: '/organization/hr/member',
|
|
meta: { title: '组织架构', icon: 'user-group', hidden: false, sort: 2 },
|
|
children: [
|
|
{
|
|
path: '/organization/hr',
|
|
name: 'HRManagement',
|
|
component: () => import('@/components/ParentView/index.vue'),
|
|
redirect: '/organization/hr/member',
|
|
meta: { title: '人员管理', icon: 'user', hidden: false },
|
|
children: [
|
|
{
|
|
path: '/organization/hr/member',
|
|
name: 'HRMember',
|
|
component: () => import('@/views/system/user/index.vue'),
|
|
meta: { title: '成员', icon: 'user', hidden: false },
|
|
},
|
|
{
|
|
path: '/organization/hr/dept',
|
|
name: 'HRDept',
|
|
component: () => import('@/views/system/dept/index.vue'),
|
|
meta: { title: '部门', icon: 'dept', hidden: false },
|
|
},
|
|
{
|
|
path: '/organization/hr/workload',
|
|
name: 'HRWorkload',
|
|
component: () => import('@/views/hr/workload/index.vue'),
|
|
meta: { title: '工作量', icon: 'workload', hidden: false },
|
|
},
|
|
{
|
|
path: '/organization/hr/attendance',
|
|
name: 'HRAttendance',
|
|
component: () => import('@/views/hr/attendance/index.vue'),
|
|
meta: { title: '考勤', icon: 'attendance', hidden: false },
|
|
},
|
|
{
|
|
path: '/organization/hr/performance',
|
|
name: 'HRPerformance',
|
|
component: () => import('@/components/ParentView/index.vue'),
|
|
meta: { title: '绩效', icon: 'performance', hidden: false },
|
|
children: [
|
|
{
|
|
path: '/organization/hr/performance/dimention',
|
|
name: 'Dimention',
|
|
component: () => import('@/views/performance/setting/index.vue'),
|
|
meta: { title: '绩效维度', icon: 'performance', hidden: false },
|
|
|
|
},
|
|
{
|
|
path: '/organization/hr/performance/rule',
|
|
name: 'Rule',
|
|
component: () => import('@/views/performance/rule.vue'),
|
|
meta: { title: '绩效细则', icon: 'performance', hidden: false },
|
|
|
|
},
|
|
{
|
|
path: '/organization/hr/performance/my',
|
|
name: 'MyPerformance',
|
|
component: () => import('@/views/performance/my.vue'),
|
|
meta: { title: '我的绩效', icon: 'performance', hidden: false },
|
|
|
|
},
|
|
],
|
|
},
|
|
{
|
|
path: '/organization/hr/salary',
|
|
name: 'HRSalary',
|
|
component: () => import('@/components/ParentView/index.vue'),
|
|
redirect: '/organization/hr/salary/overview',
|
|
meta: { title: '工资', icon: 'salary', hidden: false },
|
|
children: [
|
|
{
|
|
path: '/organization/hr/salary/overview',
|
|
name: 'HRSalaryOverview',
|
|
component: () => import('@/components/ParentView/index.vue'),
|
|
meta: { title: '工资概览', icon: 'salary', hidden: false },
|
|
children: [
|
|
{
|
|
path: '/organization/hr/salary/payroll',
|
|
name: 'Payroll',
|
|
component: () => import('@/views/salary-management/index.vue'),
|
|
meta: { title: '工资单', icon: 'salary', hidden: false },
|
|
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
// {
|
|
// path: '/organization/hr/salary/insurance',
|
|
// name: 'HRInsurance',
|
|
// component: () => import('@/components/ParentView/index.vue'),
|
|
// redirect: '/organization/hr/salary/insurance/overview',
|
|
// meta: { title: '保险', icon: 'safety', hidden: false },
|
|
// children: [
|
|
// {
|
|
// path: '/organization/hr/salary/insurance/overview',
|
|
// name: 'HRInsuranceOverview',
|
|
// component: () => import('@/views/hr/salary/insurance/overview/index.vue'),
|
|
// meta: { title: '工作台概览', icon: 'dashboard', hidden: false },
|
|
// },
|
|
// {
|
|
// path: '/organization/hr/salary/insurance/my-insurance',
|
|
// name: 'HRMyInsurance',
|
|
// component: () => import('@/views/hr/salary/insurance/my-insurance/index.vue'),
|
|
// meta: { title: '我的保险', icon: 'shield', hidden: false },
|
|
// },
|
|
// {
|
|
// path: '/organization/hr/salary/insurance/health-records',
|
|
// name: 'HRHealthRecords',
|
|
// component: () => import('@/views/hr/salary/insurance/health-records/index.vue'),
|
|
// meta: { title: '健康档案', icon: 'heart', hidden: false },
|
|
// },
|
|
// {
|
|
// path: '/organization/hr/salary/insurance/policy-files',
|
|
// name: 'HRPolicyFiles',
|
|
// component: () => import('@/views/hr/salary/insurance/policy-files/index.vue'),
|
|
// meta: { title: '保单文件', icon: 'file', hidden: false },
|
|
// },
|
|
// {
|
|
// path: '/organization/hr/salary/insurance/personal-info',
|
|
// name: 'HRPersonalInfo',
|
|
// component: () => import('@/views/hr/salary/insurance/personal-info/index.vue'),
|
|
// meta: { title: '个人信息', icon: 'user', hidden: false },
|
|
// }
|
|
// ]
|
|
// },
|
|
{
|
|
path: '/organization/hr/salary/system-insurance/health-management',
|
|
name: 'HRSystemHealthManagement',
|
|
component: () => import('@/views/hr/salary/system-insurance/health-management/index.vue'),
|
|
meta: { title: '健康档案管理', icon: 'heart', hidden: false },
|
|
},
|
|
{
|
|
path: '/organization/hr/salary/system-insurance',
|
|
name: 'HRSystemInsurance',
|
|
component: () => import('@/components/ParentView/index.vue'),
|
|
redirect: '/organization/hr/salary/system-insurance/overview',
|
|
meta: { title: '人员保险', icon: 'settings', hidden: false },
|
|
children: [
|
|
{
|
|
path: '/organization/hr/salary/system-insurance/overview',
|
|
name: 'HRSystemInsuranceOverview',
|
|
component: () => import('@/views/hr/salary/system-insurance/overview/index.vue'),
|
|
meta: { title: '工作台概览', icon: 'dashboard', hidden: false },
|
|
},
|
|
{
|
|
path: '/organization/hr/salary/system-insurance/management',
|
|
name: 'HRSystemInsuranceManagement',
|
|
component: () => import('@/views/hr/salary/system-insurance/management/index.vue'),
|
|
meta: { title: '保险管理', icon: 'shield', hidden: false },
|
|
},
|
|
{
|
|
path: '/organization/hr/salary/system-insurance/file-management',
|
|
name: 'HRSystemFileManagement',
|
|
component: () => import('@/views/hr/salary/system-insurance/file-management/index.vue'),
|
|
meta: { title: '保单文件管理', icon: 'file', hidden: false },
|
|
},
|
|
{
|
|
path: '/organization/hr/salary/system-insurance/company-management',
|
|
name: 'HRSystemCompanyManagement',
|
|
component: () => import('@/views/hr/salary/system-insurance/company-management/index.vue'),
|
|
meta: { title: '保险公司管理', icon: 'building', hidden: false },
|
|
},
|
|
{
|
|
path: '/organization/hr/salary/system-insurance/type-management',
|
|
name: 'HRSystemTypeManagement',
|
|
component: () => import('@/views/hr/salary/system-insurance/type-management/index.vue'),
|
|
meta: { title: '保险类型管理', icon: 'category', hidden: false },
|
|
},
|
|
],
|
|
},
|
|
{
|
|
path: '/organization/hr/salary/certification',
|
|
name: 'HRCertification',
|
|
component: () => import('@/views/hr/salary/certification/index.vue'),
|
|
meta: { title: '人员资质管理', icon: 'idcard', hidden: false },
|
|
},
|
|
{
|
|
path: '/organization/hr/contribution',
|
|
name: 'HRContribution',
|
|
component: () => import('@/views/hr/contribution/index.vue'),
|
|
meta: { title: '责献积分制度', icon: 'contribution', hidden: false },
|
|
},
|
|
],
|
|
},
|
|
{
|
|
path: '/organization/role',
|
|
name: 'OrganizationRole',
|
|
component: () => import('@/views/system/role/index.vue'),
|
|
meta: { title: '角色管理', icon: 'role', hidden: false },
|
|
},
|
|
],
|
|
},
|
|
{
|
|
path: '/asset-management',
|
|
name: 'AssetManagement',
|
|
component: Layout,
|
|
redirect: '/asset-management/device/inventory',
|
|
meta: { title: '资产管理', icon: 'property-safety', hidden: false, sort: 3 },
|
|
children: [
|
|
{
|
|
path: '/asset-management/intellectual-property1',
|
|
name: 'IntellectualProperty1',
|
|
component: () => import('@/views/system-resource/information-system/software-management/index.vue'),
|
|
meta: { title: '设备管理', icon: 'copyright', hidden: false },
|
|
children: [
|
|
{
|
|
path: '/asset-management/intellectual-property1',
|
|
name: 'IntellectualProperty11',
|
|
component: () => import('@/views/system-resource/information-system/software-management/index.vue'),
|
|
meta: { title: '库存管理', hidden: false },
|
|
},
|
|
{
|
|
path: '/asset-management/intellectual-property1',
|
|
name: 'IntellectualProperty12',
|
|
component: () => import('@/views/system-resource/information-system/software-management/index.vue'),
|
|
meta: { title: '设备采购', hidden: false },
|
|
},
|
|
{
|
|
path: '/asset-management/intellectual-property1',
|
|
name: 'IntellectualProperty13',
|
|
component: () => import('@/views/system-resource/information-system/software-management/index.vue'),
|
|
meta: { title: '在线管理', hidden: false },
|
|
children: [
|
|
{
|
|
path: '/asset-management/intellectual-property11',
|
|
name: 'IntellectualProperty14',
|
|
component: () => import('@/views/system-resource/information-system/software-management/index.vue'),
|
|
meta: { title: '无人机', hidden: false },
|
|
},
|
|
{
|
|
path: '/asset-management/intellectual-property12',
|
|
name: 'IntellectualProperty15',
|
|
component: () => import('@/views/system-resource/information-system/software-management/index.vue'),
|
|
meta: { title: '机巢', hidden: false },
|
|
},
|
|
{
|
|
path: '/asset-management/intellectual-property13',
|
|
name: 'IntellectualProperty16',
|
|
component: () => import('@/views/system-resource/information-system/software-management/index.vue'),
|
|
meta: { title: '其他智能终端', hidden: false },
|
|
},
|
|
{
|
|
path: '/asset-management/intellectual-property14',
|
|
name: 'IntellectualProperty17',
|
|
component: () => import('@/views/system-resource/information-system/software-management/index.vue'),
|
|
meta: { title: '车辆管理', hidden: false },
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
{
|
|
path: '/asset-management/intellectual-property',
|
|
name: 'IntellectualProperty',
|
|
component: () => import('@/views/system-resource/information-system/software-management/index.vue'),
|
|
meta: { title: '其他资产', icon: 'copyright', hidden: false },
|
|
},
|
|
],
|
|
},
|
|
{
|
|
path: '/products-services',
|
|
name: 'ProductsServices',
|
|
component: Layout,
|
|
redirect: '/products-services/products/hardware/tower-monitoring',
|
|
meta: { title: '产品与服务', icon: 'heart', hidden: false, sort: 4 },
|
|
children: [
|
|
{
|
|
path: '/products-services/products',
|
|
name: 'Products',
|
|
component: () => import('@/components/ParentView/index.vue'),
|
|
redirect: '/products-services/products/hardware/tower-monitoring',
|
|
meta: { title: '产品', icon: 'product', hidden: false },
|
|
children: [
|
|
{
|
|
path: '/products-services/products/hardware',
|
|
name: 'SmartHardware',
|
|
component: () => import('@/components/ParentView/index.vue'),
|
|
redirect: '/products-services/products/hardware/tower-monitoring',
|
|
meta: { title: '智能硬件', icon: 'hardware', hidden: false },
|
|
children: [
|
|
{
|
|
path: '/products-services/products/hardware/tower-monitoring',
|
|
name: 'TowerMonitoring',
|
|
component: () => import('@/views/product/hardware/tower-monitoring/index.vue'),
|
|
meta: { title: '风电塔下监测系统', icon: 'monitor', hidden: false },
|
|
},
|
|
{
|
|
path: '/products-services/products/hardware/custom-drone',
|
|
name: 'CustomDrone',
|
|
component: () => import('@/views/product/hardware/custom-drone/index.vue'),
|
|
meta: { title: '定制无人机', icon: 'drone', hidden: false },
|
|
},
|
|
{
|
|
path: '/products-services/products/hardware/drone-basket',
|
|
name: 'DroneBasket',
|
|
component: () => import('@/views/service/lightning-detection/index.vue'),
|
|
meta: { title: '无人吊篮', icon: 'basket', hidden: false },
|
|
},
|
|
{
|
|
path: '/products-services/products/hardware/blade-robot',
|
|
name: 'BladeRobot',
|
|
component: () => import('@/views/service/lightning-detection/index.vue'),
|
|
meta: { title: '叶片维修机器人', icon: 'robot', hidden: false },
|
|
},
|
|
],
|
|
},
|
|
{
|
|
path: '/products-services/products/software',
|
|
name: 'SmartSoftware',
|
|
component: () => import('@/components/ParentView/index.vue'),
|
|
redirect: '/products-services/products/software/field-assistant',
|
|
meta: { title: '智能软件', icon: 'software', hidden: false },
|
|
children: [
|
|
{
|
|
path: '/products-services/products/software/field-assistant',
|
|
name: 'FieldAssistant',
|
|
component: () => import('@/views/service/lightning-detection/index.vue'),
|
|
meta: { title: '风电外业智能助手', icon: 'assistant', hidden: false },
|
|
},
|
|
{
|
|
path: '/products-services/products/software/blade-report',
|
|
name: 'BladeReportSystem',
|
|
component: () => import('@/views/service/lightning-detection/index.vue'),
|
|
meta: { title: '叶片检查报告生成系统', icon: 'report', hidden: false },
|
|
},
|
|
{
|
|
path: '/products-services/products/software/ground-station',
|
|
name: 'GroundStation',
|
|
component: () => import('@/views/service/lightning-detection/index.vue'),
|
|
meta: { title: '无人机地面站软件', icon: 'station', hidden: false },
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
{
|
|
path: '/products-services/services',
|
|
name: 'Services',
|
|
component: () => import('@/components/ParentView/index.vue'),
|
|
redirect: '/products-services/services/lightning-detection',
|
|
meta: { title: '服务', icon: 'customer-service', hidden: false },
|
|
children: [
|
|
{
|
|
path: '/products-services/services/lightning-detection',
|
|
name: 'LightningDetection',
|
|
component: () => import('@/views/service/lightning-detection/index.vue'),
|
|
meta: { title: '防雷检测', icon: 'lightning', hidden: false },
|
|
},
|
|
{
|
|
path: '/products-services/services/blade-internal-detection',
|
|
name: 'BladeInternalDetection',
|
|
component: () => import('@/views/service/blade-internal-detection/index.vue'),
|
|
meta: { title: '叶片内部检测', icon: 'internal', hidden: false },
|
|
},
|
|
{
|
|
path: '/products-services/services/blade-external-detection',
|
|
name: 'BladeExternalDetection',
|
|
component: () => import('@/views/service/blade-internal-detection/index.vue'),
|
|
meta: { title: '叶片外部检测', icon: 'external', hidden: false },
|
|
},
|
|
{
|
|
path: '/products-services/services/solar-inspection',
|
|
name: 'SolarInspection',
|
|
component: () => import('@/views/service/lightning-detection/index.vue'),
|
|
meta: { title: '太阳能光伏巡检', icon: 'solar', hidden: false },
|
|
},
|
|
{
|
|
path: '/products-services/services/cleaning',
|
|
name: 'CleaningService',
|
|
component: () => import('@/views/service/lightning-detection/index.vue'),
|
|
meta: { title: '清洗', icon: 'cleaning', hidden: false },
|
|
},
|
|
{
|
|
path: '/products-services/services/coating',
|
|
name: 'CoatingService',
|
|
component: () => import('@/views/service/lightning-detection/index.vue'),
|
|
meta: { title: '喷涂', icon: 'coating', hidden: false },
|
|
},
|
|
{
|
|
path: '/products-services/services/dam-crack-detection',
|
|
name: 'DamCrackDetection',
|
|
component: () => import('@/views/service/lightning-detection/index.vue'),
|
|
meta: { title: '大坝裂缝检测', icon: 'dam', hidden: false },
|
|
},
|
|
{
|
|
path: '/products-services/services/bridge-crack-detection',
|
|
name: 'BridgeCrackDetection',
|
|
component: () => import('@/views/service/lightning-detection/index.vue'),
|
|
meta: { title: '桥梁裂缝检测', icon: 'bridge', hidden: false },
|
|
},
|
|
{
|
|
path: '/products-services/services/blade-maintenance',
|
|
name: 'BladeMaintenance',
|
|
component: () => import('@/views/service/lightning-detection/index.vue'),
|
|
meta: { title: '叶片维修', icon: 'maintenance', hidden: false },
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
{
|
|
path: '/project-management',
|
|
name: 'ProjectManagement',
|
|
component: Layout,
|
|
redirect: '/project-management/project-template/project-management',
|
|
meta: { title: '项目管理', icon: 'apps', hidden: false, sort: 4 },
|
|
children: [
|
|
{
|
|
path: '/project-management/contract/project-source',
|
|
name: 'ProjectSource',
|
|
component: () => import('@/components/ParentView/index.vue'),
|
|
meta: {
|
|
title: '项目来源',
|
|
icon: 'dollar',
|
|
hidden: false,
|
|
},
|
|
children: [
|
|
{
|
|
path: '/project-management/contract/procurement-business',
|
|
name: 'ProcurementBusiness',
|
|
component: () => import('@/components/ParentView/index.vue'),
|
|
meta: {
|
|
title: '招采业务',
|
|
icon: 'dollar',
|
|
hidden: false,
|
|
},
|
|
children: [
|
|
{
|
|
path: '/project-management/project-template/tender-documents',
|
|
name: 'TenderDocuments',
|
|
component: () => import('@/views/project-management/bidding/tender-documents/index.vue'),
|
|
meta: {
|
|
title: '招标文件',
|
|
icon: 'file-text',
|
|
hidden: false,
|
|
},
|
|
},
|
|
{
|
|
path: '/project-management/project-template/bid-documents',
|
|
name: 'BidDocuments',
|
|
component: () => import('@/views/project-management/bidding/bid-documents/index.vue'),
|
|
meta: {
|
|
title: '投标文件',
|
|
icon: 'file-text',
|
|
hidden: false,
|
|
},
|
|
},
|
|
{
|
|
path: '/project-management/project-template/award-notice',
|
|
name: 'AwardNotice',
|
|
component: () => import('@/views/project-management/bidding/award-notice/index.vue'),
|
|
meta: {
|
|
title: '中标通知书',
|
|
icon: 'trophy',
|
|
hidden: false,
|
|
},
|
|
},
|
|
{
|
|
path: 'project-management/project-template/information-retrieval',
|
|
name: 'InformationRetrieval',
|
|
component: () => import ('@/views/default/error/404.vue'),
|
|
meta: {
|
|
title: '信息检索(N)',
|
|
icon: 'trophy',
|
|
hidden: false,
|
|
},
|
|
},
|
|
|
|
],
|
|
},
|
|
{
|
|
path: '/project-management/contract/revenue-contract2',
|
|
name: 'RevenueContract2',
|
|
component: () => import('@/views/default/error/404.vue'),
|
|
meta: {
|
|
title: '市场营销(N)',
|
|
icon: 'dollar',
|
|
hidden: false,
|
|
},
|
|
},
|
|
{
|
|
path: '/project-management/project-source/privateproject',
|
|
name: 'PrivateProject',
|
|
component: () => import('@/views/default/error/404.vue'),
|
|
meta: {
|
|
title: '自建项目(N)',
|
|
icon: 'dollar',
|
|
hidden: false,
|
|
},
|
|
},
|
|
],
|
|
},
|
|
{ path: '/project-management/contract', name: 'ProjectContract', component: () => import('@/components/ParentView/index.vue'), redirect: '/project-management/contract/revenue-contract', meta: {
|
|
title: '项目合同',
|
|
icon: 'file-text',
|
|
hidden: false,
|
|
}, children: [
|
|
{
|
|
path: '/project-management/contract/revenue-contract',
|
|
name: 'RevenueContract',
|
|
component: () => import('@/views/project-management/contract/revenue-contract/index.vue'),
|
|
meta: {
|
|
title: '收入合同',
|
|
icon: 'dollar',
|
|
hidden: false,
|
|
},
|
|
},
|
|
{
|
|
path: '/project-management/contract/expense-contract',
|
|
name: 'ExpenseContract',
|
|
component: () => import('@/views/project-management/contract/expense-contract/index.vue'),
|
|
meta: {
|
|
title: '支出合同',
|
|
icon: 'credit-card',
|
|
hidden: false,
|
|
},
|
|
},
|
|
{
|
|
path: '/project-management/contract/cost-management',
|
|
name: 'CostManagement',
|
|
component: () => import('@/views/project-management/contract/cost-management/index.vue'),
|
|
meta: {
|
|
title: '成本费用',
|
|
icon: 'bar-chart',
|
|
hidden: false,
|
|
},
|
|
},
|
|
] },
|
|
{
|
|
path: '/project-management/project-template/project-aproval',
|
|
name: 'ProjectTemplate',
|
|
component: () => import('@/views/project/index.vue'),
|
|
meta: {
|
|
title: '施工立项',
|
|
icon: 'file-protect',
|
|
hidden: false,
|
|
},
|
|
},
|
|
{
|
|
path: '/project-management/projects',
|
|
name: 'ProjectsManagement',
|
|
component: () => import('@/components/ParentView/index.vue'),
|
|
redirect: '/project-management/projects/progress',
|
|
meta: {
|
|
title: '项目组织',
|
|
icon: 'briefcase',
|
|
hidden: false,
|
|
},
|
|
children: [
|
|
{
|
|
path: '/project-management/projects/budget',
|
|
name: 'ProjectBudget',
|
|
component: () => import('@/views/project-management/projects/management/index.vue'),
|
|
meta: {
|
|
title: '预算管理',
|
|
icon: 'fund',
|
|
hidden: false,
|
|
},
|
|
},
|
|
{
|
|
path: '/project-management/projects/personnel-distribution',
|
|
name: 'PersonnelDistribution',
|
|
component: () => import('@/views/project-management/projects/personnel-distribution/index.vue'),
|
|
meta: {
|
|
title: '人员分布图',
|
|
icon: 'team',
|
|
hidden: false,
|
|
},
|
|
},
|
|
|
|
{
|
|
path: '/project-management/projects/device',
|
|
name: 'DeviceManagement',
|
|
component: () => import('@/views/system-resource/device-management/index.vue'),
|
|
meta: {
|
|
title: '设备管理',
|
|
icon: 'none',
|
|
hidden: false,
|
|
},
|
|
},
|
|
{
|
|
path: '/project-management/projects/technical-solutions',
|
|
name: 'TechnicalSolutions',
|
|
component: () => import('@/components/ParentView/index.vue'),
|
|
meta: {
|
|
title: '技术方案组织',
|
|
icon: 'none',
|
|
hidden: false,
|
|
},
|
|
},
|
|
{
|
|
path: '/project-management/projects/admission-information',
|
|
name: 'AdmissionInformation',
|
|
component: () => import('@/components/ParentView/index.vue'),
|
|
meta: {
|
|
title: '入场资料组织',
|
|
icon: 'none',
|
|
hidden: false,
|
|
},
|
|
},
|
|
|
|
],
|
|
},
|
|
{
|
|
path: 'project-management/project-implementation/',
|
|
name: 'Project-Implementation',
|
|
component: () => import('@/components/ParentView/index.vue'),
|
|
meta: {
|
|
title: '项目实施',
|
|
icon: 'audit',
|
|
hidden: false,
|
|
},
|
|
children: [
|
|
{
|
|
path: '/project-management/projects/progress',
|
|
name: 'ProjectProgress',
|
|
component: () => import('@/views/project-management/projects/progress/index.vue'),
|
|
meta: {
|
|
title: '进度管理',
|
|
icon: 'schedule',
|
|
hidden: false,
|
|
},
|
|
},
|
|
{
|
|
path: '/project-management/projects/safety',
|
|
name: 'SafetyManagement',
|
|
component: () => import('@/views/project-management/projects/safety/index.vue'),
|
|
meta: {
|
|
title: '安全管理',
|
|
icon: 'safety',
|
|
hidden: false,
|
|
},
|
|
},
|
|
{
|
|
path: '/project-management/projects/quality',
|
|
name: 'QualityManagement',
|
|
component: () => import('@/views/project-management/projects/quality/index.vue'),
|
|
meta: {
|
|
title: '质量管理',
|
|
icon: 'audit',
|
|
hidden: false,
|
|
},
|
|
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
|
|
{
|
|
path: '/construction-operation-platform',
|
|
name: 'ConstructionOperationPlatform',
|
|
component: Layout,
|
|
redirect: '/construction-operation-platform/implementation-workflow/field-construction',
|
|
meta: { title: '施工操作台', icon: 'tool', hidden: false, sort: 5 },
|
|
children: [
|
|
// {
|
|
// path: '/construction-operation-platform/implementation-workflow',
|
|
// name: 'ImplementationWorkflow',
|
|
// component: () => import('@/components/ParentView/index.vue'),
|
|
// redirect: '/construction-operation-platform/implementation-workflow/field-construction',
|
|
// meta: { title: '项目实施工作流程', icon: 'fork', hidden: false },
|
|
// children: [
|
|
{
|
|
path: '/construction-operation-platform/implementation-workflow/field-construction',
|
|
name: 'FieldConstruction',
|
|
component: () => import('@/components/ParentView/index.vue'),
|
|
redirect: '/construction-operation-platform/implementation-workflow/field-construction/project-list',
|
|
meta: { title: '我的项目', icon: 'construction', hidden: false },
|
|
children: [
|
|
{
|
|
path: '/project-management/projects/list',
|
|
name: 'ProjectList',
|
|
component: () => import('@/views/project-management/projects/list/index.vue'),
|
|
meta: {
|
|
title: '项目列表',
|
|
icon: 'unordered-list',
|
|
hidden: false,
|
|
},
|
|
},
|
|
{
|
|
path: '/construction-operation-platform/implementation-workflow/field-construction/technology',
|
|
name: 'FieldConstructionTechnology',
|
|
component: () => import('@/views/project-operation-platform/implementation-workflow/field-construction/project-list/index.vue'),
|
|
meta: { title: '我的施工', icon: 'tool', hidden: false },
|
|
},
|
|
{
|
|
path: '/construction-operation-platform/implementation-workflow/data-processing',
|
|
name: 'DataProcessing',
|
|
component: () => import('@/components/ParentView/index.vue'),
|
|
redirect: '/construction-operation-platform/implementation-workflow/data-processing/data-storage',
|
|
meta: { title: '我的业务数据', icon: 'filter', hidden: false },
|
|
children: [
|
|
{
|
|
path: '/construction-operation-platform/implementation-workflow/data-processing/data-storage',
|
|
name: 'DataStorage',
|
|
component: () => import('@/components/ParentView/index.vue'),
|
|
redirect: '/construction-operation-platform/implementation-workflow/data-processing/data-storage/raw-data',
|
|
meta: { title: '原数据管理', icon: 'database', hidden: false },
|
|
children: [
|
|
{
|
|
path: '/construction-operation-platform/implementation-workflow/data-processing/data-storage/raw-data',
|
|
name: 'RawData',
|
|
component: () => import('@/views/operation-platform/data-processing/data-storage/index.vue'),
|
|
meta: { title: '原数据管理', icon: 'file', hidden: false },
|
|
},
|
|
{
|
|
path: '/construction-operation-platform/implementation-workflow/data-processing/data-storage/attachment',
|
|
name: 'AttachmentManagement',
|
|
component: () => import('@/views/operation-platform/data-processing/data-storage/index.vue'),
|
|
meta: { title: '附件管理', icon: 'attachment', hidden: false },
|
|
},
|
|
{
|
|
path: '/construction-operation-platform/implementation-workflow/data-processing/data-storage/model-config',
|
|
name: 'ModelConfig',
|
|
component: () => import('@/views/construction-operation-platform/implementation-workflow/data-processing/model-config/index.vue'),
|
|
meta: { title: '模型配置', icon: 'robot', hidden: false },
|
|
},
|
|
|
|
],
|
|
},
|
|
{
|
|
path: '/construction-operation-platform/implementation-workflow/data-processing/data-storage/preprocessed-data',
|
|
name: 'PreprocessedData',
|
|
component: () => import('@/views/construction-operation-platform/implementation-workflow/data-processing/data-preprocessing/index.vue'),
|
|
meta: { title: '数据预处理', icon: 'filter', hidden: false },
|
|
},
|
|
{
|
|
path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection',
|
|
name: 'IntelligentInspection',
|
|
component: () => import('@/components/ParentView/index.vue'),
|
|
redirect: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/defect-algorithm',
|
|
meta: { title: '数据分析与图像检测', icon: 'scan', hidden: false },
|
|
children: [
|
|
{
|
|
path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/defect-algorithm',
|
|
name: 'DefectAlgorithm',
|
|
component: () => import('@/views/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/defect-algorithm/index.vue'),
|
|
meta: { title: '缺陷检测', icon: 'code', hidden: false },
|
|
},
|
|
{
|
|
path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/report-generation',
|
|
name: 'ReportGeneration',
|
|
component: () => import('@/views/project-operation-platform/data-processing/report-generation/index.vue'),
|
|
meta: { title: '报告生成', icon: 'file-add', hidden: false },
|
|
},
|
|
{
|
|
path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/standard-info',
|
|
name: 'StandardInfo',
|
|
component: () => import('@/views/project-operation-platform/data-processing/standard-info/index.vue'),
|
|
meta: { title: '标准信息库', icon: 'book', hidden: false },
|
|
},
|
|
{
|
|
path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/report-review',
|
|
name: 'ReportReview',
|
|
component: () => import('@/views/project-operation-platform/data-processing/report-review/index.vue'),
|
|
meta: { title: '报告修改审核', icon: 'audit', hidden: false },
|
|
},
|
|
{
|
|
path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/lifecycle-management',
|
|
name: 'LifecycleManagement',
|
|
component: () => import('@/views/project-operation-platform/lifecycle-management/index.vue'),
|
|
meta: { title: '全生命周期管理', icon: 'reload', hidden: false },
|
|
},
|
|
{
|
|
path: '/construction-operation-platform/implementation-workflow/data-processing/intelligent-inspection/drone-services',
|
|
name: 'DroneServices',
|
|
component: () => import('@/views/project-operation-platform/route-planning/index.vue'),
|
|
meta: { title: '无人机云服务', icon: 'cloud-server', hidden: false },
|
|
},
|
|
// {
|
|
// path: '/construction-operation-platform/implementation-workflow/airport-management',
|
|
// name: 'AirportManagement',
|
|
// component: () => import('@/views/construction-operation-platform/airport-management/index.vue'),
|
|
// meta: { title: '机场管理', icon: 'rocket', hidden: false },
|
|
// },
|
|
],
|
|
},
|
|
],
|
|
},
|
|
{
|
|
path: '/construction-operation-platform/implementation-workflow/project-delivery',
|
|
name: 'ProjectDelivery',
|
|
component: () => import('@/components/ParentView/index.vue'),
|
|
redirect: '/construction-operation-platform/implementation-workflow/project-delivery/delivery-overview',
|
|
meta: { title: '项目交付', icon: 'check-circle', hidden: false },
|
|
children: [
|
|
// {
|
|
// path: '/construction-operation-platform/implementation-workflow/project-delivery/delivery-overview',
|
|
// name: 'DeliveryOverview',
|
|
// component: () => import('@/views/project-operation-platform/quality-management/process-verification/index.vue'),
|
|
// meta: { title: '交付概览', icon: 'dashboard', hidden: false },
|
|
// },
|
|
{
|
|
path: '/construction-operation-platform/implementation-workflow/project-delivery/reliability-assessment',
|
|
name: 'ReliabilityAssessment',
|
|
component: () => import('@/views/project-operation-platform/quality-management/process-verification/index.vue'),
|
|
meta: { title: '可靠性评估', icon: 'safety-certificate', hidden: false },
|
|
},
|
|
{
|
|
path: '/construction-operation-platform/implementation-workflow/project-delivery/data-quality-assessment',
|
|
name: 'DataQualityAssessment',
|
|
component: () => import('@/views/project-operation-platform/data-processing/data-quality-assessment/index.vue'),
|
|
meta: { title: '数据质量评估', icon: 'audit', hidden: false },
|
|
},
|
|
{
|
|
path: '/construction-operation-platform/implementation-workflow/project-delivery/defect-storage',
|
|
name: 'DefectStorage',
|
|
component: () => import('@/views/project-operation-platform/quality-management/defect-storage/index.vue'),
|
|
meta: { title: '质量入库', icon: 'folder-add', hidden: false },
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
{
|
|
path: '/construction-operation-platform/implementation-workflow/tower-monitoring-video',
|
|
name: 'TowerMonitoringVideo',
|
|
component: () => import('@/components/ParentView/index.vue'),
|
|
redirect: '/construction-operation-platform/implementation-workflow/tower-monitoring-video/clearance-distance',
|
|
meta: { title: '塔下监测预告', icon: 'video-camera', hidden: false },
|
|
children: [
|
|
{
|
|
path: '/construction-operation-platform/implementation-workflow/tower-monitoring-video/clearance-distance',
|
|
name: 'ClearanceDistance',
|
|
component: () => import('@/views/project-operation-platform/data-processing/clearance-detection/index.vue'),
|
|
meta: { title: '净空距离检测', icon: 'fullscreen', hidden: false },
|
|
},
|
|
{
|
|
path: '/construction-operation-platform/implementation-workflow/tower-monitoring-video/deformation-monitoring',
|
|
name: 'DeformationMonitoring',
|
|
component: () => import('@/views/project-operation-platform/data-processing/deformation-detection/index.vue'),
|
|
meta: { title: '形变检测', icon: 'line-chart', hidden: false },
|
|
},
|
|
{
|
|
path: '/construction-operation-platform/implementation-workflow/tower-monitoring-video/image-detection',
|
|
name: 'ImageDetection',
|
|
component: () => import('@/views/project-operation-platform/data-processing/wide-angle-video/index.vue'),
|
|
meta: { title: '图像检测', icon: 'picture', hidden: false },
|
|
},
|
|
],
|
|
},
|
|
|
|
// {
|
|
// path: '/construction-operation-platform/implementation-workflow/project-delivery',
|
|
// name: 'ProjectDelivery',
|
|
// component: () => import('@/components/ParentView/index.vue'),
|
|
// redirect: '/construction-operation-platform/implementation-workflow/project-delivery/delivery-overview',
|
|
// meta: { title: '机场管理', icon: 'check-circle', hidden: false },
|
|
// },
|
|
|
|
{
|
|
path: '/construction-operation-platform/implementation-workflow/other',
|
|
name: 'Other',
|
|
component: () => import('@/components/ParentView/index.vue'),
|
|
redirect: '/construction-operation-platform/implementation-workflow/other/route-planning',
|
|
meta: { title: '其他', icon: 'more', hidden: false },
|
|
children: [
|
|
{
|
|
path: '/construction-operation-platform/implementation-workflow/other/route-planning',
|
|
name: 'RoutesPlanningOther',
|
|
component: () => import('@/views/project-operation-platform/route-planning/index.vue'),
|
|
meta: { title: '航线规划', icon: 'compass', hidden: false },
|
|
},
|
|
{
|
|
path: '/construction-operation-platform/implementation-workflow/other/3d-model',
|
|
name: '3DModelOther',
|
|
component: () => import('@/views/project-operation-platform/data-processing/3d-model/index.vue'),
|
|
meta: { title: '三维模型', icon: 'cube', hidden: false },
|
|
},
|
|
{
|
|
path: '/construction-operation-platform/implementation-workflow/other/report-template',
|
|
name: 'ReportTemplateOther',
|
|
component: () => import('@/views/project-operation-platform/data-processing/report-template/index.vue'),
|
|
meta: { title: '报告模版库', icon: 'book', hidden: false },
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
// ],
|
|
// },
|
|
{
|
|
path: '/chat-platform',
|
|
name: 'ChatPlatform',
|
|
component: Layout,
|
|
redirect: '/chat-platform/options',
|
|
meta: { title: '聊天平台', icon: 'message', hidden: false, sort: 6 },
|
|
children: [
|
|
// {
|
|
// path: '/chat-platform/options',
|
|
// name: 'ChatOptions',
|
|
// component: () => import('@/views/default/redirect/index.vue'), // 临时使用一个组件,实际开发中需要替换
|
|
// meta: {
|
|
// title: '二级选项1',
|
|
// icon: 'setting',
|
|
// hidden: false
|
|
// }
|
|
// }
|
|
],
|
|
},
|
|
{
|
|
path: '/enterprise-settings',
|
|
name: 'EnterpriseSettings',
|
|
component: Layout,
|
|
redirect: '/enterprise-settings/company-info',
|
|
meta: { title: '企业设置', icon: 'setting', hidden: false, sort: 7 },
|
|
children: [
|
|
{
|
|
path: '/enterprise-settings/company-info',
|
|
name: 'CompanyInfo',
|
|
component: () => import('@/views/enterprise-settings/company-info/index.vue'),
|
|
meta: {
|
|
title: '企业信息',
|
|
icon: 'info-circle',
|
|
hidden: false,
|
|
},
|
|
},
|
|
{
|
|
path: '/enterprise-settings/admin-permissions',
|
|
name: 'AdminPermissions',
|
|
component: () => import('@/views/enterprise-settings/admin-permissions/index.vue'),
|
|
meta: {
|
|
title: '管理员权限',
|
|
icon: 'lock',
|
|
hidden: false,
|
|
},
|
|
},
|
|
{
|
|
path: '/enterprise-settings/data-migration',
|
|
name: 'DataMigration',
|
|
component: () => import('@/views/enterprise-settings/data-migration/index.vue'),
|
|
meta: {
|
|
title: '数据迁移',
|
|
icon: 'database',
|
|
hidden: false,
|
|
},
|
|
},
|
|
{
|
|
path: '/enterprise-settings/version-upgrade',
|
|
name: 'VersionUpgrade',
|
|
component: () => import('@/views/enterprise-settings/version-upgrade/index.vue'),
|
|
meta: {
|
|
title: '版本升级提醒',
|
|
icon: 'upgrade',
|
|
hidden: false,
|
|
},
|
|
},
|
|
],
|
|
},
|
|
{
|
|
path: '/enterprise-dashboard',
|
|
name: 'EnterpriseDashboard',
|
|
component: Layout,
|
|
redirect: '/enterprise-dashboard/overview',
|
|
meta: { title: '企业看板', icon: 'dashboard', hidden: false, sort: 8 },
|
|
children: [
|
|
{
|
|
path: '/enterprise-dashboard/overview',
|
|
name: 'DashboardOverview',
|
|
component: () => import('@/views/enterprise-dashboard/overview/index.vue'),
|
|
meta: {
|
|
title: '数据概览',
|
|
icon: 'bar-chart',
|
|
hidden: false,
|
|
},
|
|
},
|
|
{
|
|
path: '/enterprise-dashboard/member-data',
|
|
name: 'MemberData',
|
|
component: () => import('@/views/enterprise-dashboard/member-data/index.vue'),
|
|
meta: {
|
|
title: '成员活跃数据',
|
|
icon: 'team',
|
|
hidden: false,
|
|
},
|
|
},
|
|
{
|
|
path: '/enterprise-dashboard/function-usage',
|
|
name: 'FunctionUsage',
|
|
component: () => import('@/views/enterprise-dashboard/function-usage/index.vue'),
|
|
meta: {
|
|
title: '功能使用情况',
|
|
icon: 'appstore',
|
|
hidden: false,
|
|
},
|
|
},
|
|
{
|
|
path: '/enterprise-dashboard/application-data',
|
|
name: 'ApplicationData',
|
|
component: () => import('@/views/enterprise-dashboard/application-data/index.vue'),
|
|
meta: {
|
|
title: '应用使用数据',
|
|
icon: 'pie-chart',
|
|
hidden: false,
|
|
},
|
|
},
|
|
],
|
|
},
|
|
{
|
|
path: '/system-resource',
|
|
name: 'SystemResource',
|
|
component: Layout,
|
|
redirect: '/system-resource/device-management/warehouse',
|
|
meta: { title: '关于平台', icon: 'server', hidden: false, sort: 9 },
|
|
children: [
|
|
{
|
|
path: '/system-resource/device-management/warehouse',
|
|
name: 'DeviceWarehouse',
|
|
component: () => import('@/views/system-resource/device-management/index.vue'),
|
|
meta: {
|
|
title: '库存管理',
|
|
icon: 'warehouse',
|
|
hidden: false,
|
|
},
|
|
},
|
|
{
|
|
path: '/system-resource/device-management/online',
|
|
name: 'DeviceOnline',
|
|
component: () => import('@/components/ParentView/index.vue'),
|
|
redirect: '/system-resource/device-management/online/drone',
|
|
meta: {
|
|
title: '在线管理',
|
|
icon: 'cloud',
|
|
hidden: false,
|
|
},
|
|
children: [
|
|
{
|
|
path: '/system-resource/device-management/online/drone',
|
|
name: 'DeviceDrone',
|
|
component: () => import('@/views/system-resource/device-management/index.vue'),
|
|
meta: {
|
|
title: '无人机',
|
|
icon: 'drone',
|
|
hidden: false,
|
|
},
|
|
},
|
|
{
|
|
path: '/system-resource/device-management/online/nest',
|
|
name: 'DeviceNest',
|
|
component: () => import('@/views/system-resource/device-management/index.vue'),
|
|
meta: {
|
|
title: '机巢',
|
|
icon: 'nest',
|
|
hidden: false,
|
|
},
|
|
},
|
|
{
|
|
path: '/system-resource/device-management/online/smart-terminal',
|
|
name: 'DeviceSmartTerminal',
|
|
component: () => import('@/views/system-resource/device-management/index.vue'),
|
|
meta: {
|
|
title: '其他智能终端',
|
|
icon: 'terminal',
|
|
hidden: false,
|
|
},
|
|
},
|
|
],
|
|
},
|
|
{
|
|
path: '/system-resource/information-system',
|
|
name: 'InformationSystem',
|
|
component: () => import('@/components/ParentView/index.vue'),
|
|
redirect: '/system-resource/information-system/software-management',
|
|
meta: {
|
|
title: '信息化系统管理',
|
|
icon: 'code',
|
|
hidden: false,
|
|
},
|
|
children: [
|
|
{
|
|
path: '/system-resource/information-system/software-management',
|
|
name: 'SoftwareManagement',
|
|
component: () => import('@/views/system-resource/information-system/software-management/index.vue'),
|
|
meta: {
|
|
title: '软件管理',
|
|
icon: 'appstore',
|
|
hidden: false,
|
|
},
|
|
},
|
|
{
|
|
path: '/system-resource/information-system/system-backup',
|
|
name: 'SystemBackup',
|
|
component: () => import('@/views/system-resource/information-system/system-backup/index.vue'),
|
|
meta: {
|
|
title: '系统备份管理',
|
|
icon: 'save',
|
|
hidden: false,
|
|
},
|
|
},
|
|
],
|
|
},
|
|
{
|
|
path: '/system-resource/about',
|
|
name: 'About',
|
|
component: () => import('@/views/dashboard/workplace/index.vue'),
|
|
meta: {
|
|
title: '关于我们',
|
|
icon: 'info-circle',
|
|
hidden: false,
|
|
},
|
|
},
|
|
],
|
|
},
|
|
|
|
{
|
|
path: '/',
|
|
redirect: '/project-management/project-template/project-aproval',
|
|
meta: { hidden: true },
|
|
},
|
|
{
|
|
path: '/pwdExpired',
|
|
component: () => import('@/views/login/pwdExpired/index.vue'),
|
|
meta: { hidden: true },
|
|
},
|
|
]
|
|
|
|
// 固定路由(默认路由)
|
|
export const constantRoutes: RouteRecordRaw[] = [
|
|
{
|
|
path: '/redirect',
|
|
component: Layout,
|
|
meta: { hidden: true },
|
|
children: [
|
|
{
|
|
path: '/redirect/:path(.*)',
|
|
component: () => import('@/views/default/redirect/index.vue'),
|
|
},
|
|
],
|
|
},
|
|
{
|
|
path: '/:pathMatch(.*)*',
|
|
component: () => import('@/views/default/error/404.vue'),
|
|
meta: { hidden: true },
|
|
},
|
|
{
|
|
path: '/403',
|
|
component: () => import('@/views/default/error/403.vue'),
|
|
meta: { hidden: true },
|
|
},
|
|
]
|