Files
lingji-work-fe/src/router/routes/modules/propertyMarketing.ts

228 lines
6.4 KiB
TypeScript
Raw Normal View History

/**
*
*/
import type { AppRouteRecordRaw } from '../types';
import { MENU_GROUP_IDS } from '@/router/constants';
import IconRepository from '@/assets/svg/svg-repository.svg';
import IconMediaAccount from '@/assets/svg/svg-mediaAccount.svg';
import IconPutAccount from '@/assets/svg/svg-putAccount.svg';
import IconIntelligentSolution from '@/assets/svg/svg-intelligentSolution.svg';
import IconProjectManagement from '@/assets/svg/svg-projectManagement.svg';
2025-07-07 15:02:04 +08:00
const COMPONENTS: AppRouteRecordRaw[] = [
{
path: '/repository',
name: 'Repository',
redirect: 'repository/brandMaterials',
meta: {
locale: '品牌资产管理',
2025-07-07 15:02:04 +08:00
icon: IconRepository,
requiresAuth: true,
2025-07-08 16:55:04 +08:00
requireLogin: true,
roles: ['*'],
id: MENU_GROUP_IDS.PROPERTY_ID,
},
children: [
{
path: 'brandMaterials',
name: 'RepositoryBrandMaterials',
meta: {
locale: '品牌信息',
requiresAuth: true,
2025-07-08 16:55:04 +08:00
requireLogin: true,
roles: ['*'],
},
component: () => import('@/views/property-marketing/brands/brand-materials/index.vue'),
},
],
},
{
path: '/media-account',
name: 'MediaAccount',
redirect: 'media-account/accountManagement',
meta: {
2025-07-02 15:30:13 +08:00
locale: '账号资源中心',
2025-07-07 15:02:04 +08:00
icon: IconMediaAccount,
requiresAuth: true,
2025-07-08 16:55:04 +08:00
requireLogin: true,
roles: ['*'],
id: MENU_GROUP_IDS.PROPERTY_ID,
},
children: [
{
path: 'manage',
name: 'MediaAccountAccountManagement',
meta: {
locale: '账号管理',
requiresAuth: true,
2025-07-08 16:55:04 +08:00
requireLogin: true,
roles: ['*'],
},
2025-07-25 15:11:57 +08:00
component: () => import('@/views/property-marketing/media-account/account-manage/index.vue'),
},
{
path: 'dashboard',
name: 'MediaAccountAccountDashboard',
meta: {
2025-06-27 18:37:42 +08:00
locale: '账号数据看板',
requiresAuth: true,
2025-07-08 16:55:04 +08:00
requireLogin: true,
roles: ['*'],
},
2025-07-25 15:11:57 +08:00
component: () => import('@/views/property-marketing/media-account/account-dashboard/index.vue'),
},
{
path: 'detail/:id',
name: 'MediaAccountAccountDetails',
meta: {
locale: '账号详情',
requiresAuth: true,
2025-07-08 16:55:04 +08:00
requireLogin: true,
roles: ['*'],
hideInMenu: true,
activeMenu: 'MediaAccountAccountDashboard',
},
2025-07-25 15:11:57 +08:00
component: () => import('@/views/property-marketing/media-account/account-detail/index.vue'),
},
],
},
2025-09-02 17:16:02 +08:00
{
path: '/put-account',
name: 'PutAccount',
redirect: 'put-account/accountManagement',
meta: {
locale: '投放资源中心',
icon: IconPutAccount,
requiresAuth: true,
requireLogin: true,
roles: ['*'],
id: MENU_GROUP_IDS.PROPERTY_ID,
},
children: [
{
path: 'manage',
name: 'PutAccountAccountManagement',
meta: {
locale: '账户管理',
requiresAuth: true,
requireLogin: true,
roles: ['*'],
},
component: () => import('@/views/property-marketing/put-account/account-manage/index.vue'),
},
{
path: 'data',
name: 'PutAccountAccountData',
meta: {
locale: '账户数据',
requiresAuth: true,
requireLogin: true,
roles: ['*'],
},
component: () => import('@/views/property-marketing/put-account/account-data/index.vue'),
},
{
path: 'account-dashboard',
name: 'PutAccountAccountDashboard',
meta: {
locale: '投放表现分析',
requiresAuth: true,
requireLogin: true,
roles: ['*'],
},
component: () => import('@/views/property-marketing/put-account/account-dashboard/index.vue'),
},
{
path: 'investmentGuidelines',
name: 'PutAccountInvestmentGuidelines',
meta: {
locale: '投放指南',
requiresAuth: true,
requireLogin: true,
roles: ['*'],
},
component: () => import('@/views/property-marketing/put-account/investment-guidelines/index.vue'),
},
{
path: 'detail/:id',
name: 'PutAccountInvestmentGuidelinesDetail',
meta: {
locale: '投放指南详情',
requiresAuth: true,
hideInMenu: true,
roles: ['*'],
activeMenu: 'PutAccountInvestmentGuidelines',
},
component: () => import('@/views/property-marketing/put-account/investment-guidelines/detail.vue'),
},
],
},
{
path: '/intelligent-solution',
name: 'IntelligentSolution',
redirect: 'intelligent-solution/businessAnalysisReport',
meta: {
locale: '智能方案管理',
icon: IconIntelligentSolution,
requiresAuth: true,
requireLogin: true,
roles: ['*'],
id: MENU_GROUP_IDS.PROPERTY_ID,
},
children: [
{
path: 'businessAnalysisReport',
name: 'IntelligentSolutionBusinessAnalysisReport',
meta: {
locale: '业务洞察报告',
requiresAuth: true,
requireLogin: true,
roles: ['*'],
},
component: () => import('@/views/property-marketing/intelligent-solution/businessAnalysisReport.vue'),
},
{
path: 'competitiveProductAnalysisReport',
name: 'IntelligentSolutionCompetitiveProductAnalysisReport',
meta: {
locale: '竟品对比报告',
requiresAuth: true,
requireLogin: true,
roles: ['*'],
},
component: () => import('@/views/property-marketing/intelligent-solution/competitiveProductAnalysisReport.vue'),
},
],
},
2025-07-21 12:01:32 +08:00
{
path: '/project-manage',
name: 'ProjectManagement',
redirect: 'project-manage/project-list',
meta: {
locale: '项目管理',
icon: IconProjectManagement,
requiresAuth: true,
requireLogin: true,
roles: ['*'],
id: MENU_GROUP_IDS.PROPERTY_ID,
},
children: [
{
path: 'project-list',
name: 'ProjectList',
meta: {
locale: '项目列表',
requiresAuth: true,
requireLogin: true,
roles: ['*'],
},
2025-07-25 15:11:57 +08:00
component: () => import('@/views/property-marketing/project-manage/project-list/index.vue'),
2025-07-21 12:01:32 +08:00
},
],
},
];
export default COMPONENTS;