提交 4e3f32ad authored 作者: 王鹏飞's avatar 王鹏飞

chore: 修改左侧菜单

上级 d016884f
<template>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" width="18" height="18">
<defs data-reactroot=""></defs>
<g>
<path
d="M511.8976 1024l-443.648-256V256l443.648-256 443.648 256v512z m-300.544-338.4832l300.544 173.1584 300.544-173.1584V338.4832l-300.544-173.1584-300.544 173.1584z"
fill="#B3B5C2"
p-id="12512"></path>
<path d="M385.536 511.7952a126.5664 126.5664 0 1 0 126.5664-126.5664 126.5664 126.5664 0 0 0-126.5664 126.5664z" fill="#B3B5C2" p-id="12513"></path>
</g>
</svg>
</template>
<template>
<svg
xmlns="http://www.w3.org/2000/svg"
class="styles__StyledSVGIconPathComponent-sc-4n1c4t-0 fJSruJ svg-icon-path-icon fill"
viewBox="0 0 1024 1024"
width="31"
height="31">
<defs data-reactroot=""></defs>
<g>
<path
d="M719.403 575.659a660.907 660.907 0 0 1 77.909 13.973 181.333 181.333 0 0 1 137.216 159.403l3.883 42.09a56.96 56.96 0 0 1-56.726 62.208l-30.656 0.022c5.718-9.878 8.534-21.547 7.403-33.771l-5.803-62.955a217.621 217.621 0 0 0-133.226-180.97zM448 568.896c77.141 0 143.787 6.912 199.979 20.736a181.333 181.333 0 0 1 137.216 159.403l3.882 42.09a56.96 56.96 0 0 1-56.725 62.208H163.648a56.96 56.96 0 0 1-56.747-62.208l3.904-42.09a181.333 181.333 0 0 1 137.216-159.403C304.213 575.808 370.86 568.896 448 568.896z m149.333-398.23c101.099 0 183.04 80.64 183.04 180.14 0 99.498-81.941 180.16-183.04 180.16a187.072 187.072 0 0 1-32-2.753c70.72-28.842 120.427-97.408 120.427-177.408 0-79.978-49.707-148.544-120.363-177.408a186.816 186.816 0 0 1 31.936-2.73z m-149.333 0c101.099 0 183.04 80.64 183.04 180.14 0 99.498-81.941 180.16-183.04 180.16s-183.04-80.64-183.04-180.16c0-99.478 81.92-180.14 183.04-180.14z"
p-id="8853"></path>
</g>
</svg>
</template>
...@@ -38,11 +38,7 @@ function findMenu(path: string, menus: IMenuItem[]) { ...@@ -38,11 +38,7 @@ function findMenu(path: string, menus: IMenuItem[]) {
<aside class="app-aside"> <aside class="app-aside">
<nav class="menu"> <nav class="menu">
<ul> <ul>
<li <li v-for="item in menus" :key="item.path" :class="{ 'is-active': item.path === currentMenu?.path }" v-permission="item.tag">
v-for="item in menus"
:key="item.path"
:class="{ 'is-active': item.path === currentMenu?.path }"
v-permission="item.tag">
<div class="menu-item"> <div class="menu-item">
<template v-if="item.children"> <template v-if="item.children">
<RouterLink :to="item.path"> <RouterLink :to="item.path">
...@@ -144,6 +140,7 @@ function findMenu(path: string, menus: IMenuItem[]) { ...@@ -144,6 +140,7 @@ function findMenu(path: string, menus: IMenuItem[]) {
fill: #9a9a9a; fill: #9a9a9a;
} }
.submenu-icon { .submenu-icon {
width: 18px;
margin-right: 10px; margin-right: 10px;
} }
&.is-active { &.is-active {
......
...@@ -5,6 +5,7 @@ import { useUserStore } from '@/stores/user' ...@@ -5,6 +5,7 @@ import { useUserStore } from '@/stores/user'
import IconMetadata from '@/components/icon/IconMetadata.vue' import IconMetadata from '@/components/icon/IconMetadata.vue'
import IconConnect from '@/components/icon/IconConnect.vue' import IconConnect from '@/components/icon/IconConnect.vue'
import IconUser from '@/components/icon/IconUser.vue' import IconUser from '@/components/icon/IconUser.vue'
import IconUsers from '@/components/icon/IconUsers.vue'
import IconUser2 from '@/components/icon/IconUser2.vue' import IconUser2 from '@/components/icon/IconUser2.vue'
import IconLabel from '@/components/icon/IconLabel.vue' import IconLabel from '@/components/icon/IconLabel.vue'
import IconGroup from '@/components/icon/IconGroup.vue' import IconGroup from '@/components/icon/IconGroup.vue'
...@@ -29,22 +30,41 @@ interface State { ...@@ -29,22 +30,41 @@ interface State {
// 学生菜单 // 学生菜单
const studentMenus: IMenuItem[] = [ const studentMenus: IMenuItem[] = [
{ {
name: '用户管理', name: '基础配置',
path: '/metadata',
icon: markRaw(IconMetadata),
children: [
{
name: '连接管理',
path: '/connect',
icon: markRaw(IconConnect)
}
]
},
{
name: '用户画像',
path: '/user', path: '/user',
icon: markRaw(IconUser) icon: markRaw(IconUser)
}, },
{ {
name: '标签管理', name: '用户识别',
path: '/label', path: '/label',
icon: markRaw(IconLabel) icon: markRaw(IconUsers),
}, children: [
{ {
name: '群组管理', name: '标签管理',
path: '/group', path: '/label',
icon: markRaw(IconGroup) icon: markRaw(IconLabel)
},
{
name: '群组管理',
path: '/group',
icon: markRaw(IconGroup)
}
]
}, },
{ {
name: '营销资料管理', name: '营销内容设计',
path: '/material', path: '/material',
icon: markRaw(IconMaterial), icon: markRaw(IconMaterial),
children: [ children: [
...@@ -87,55 +107,96 @@ const studentMenus: IMenuItem[] = [ ...@@ -87,55 +107,96 @@ const studentMenus: IMenuItem[] = [
] ]
}, },
{ {
name: '用户旅程', name: '自动化营销',
path: '/trip/my', path: '/trip',
icon: markRaw(IconTrip) icon: markRaw(IconTrip)
}, },
{ {
name: '报表分析', name: '数据分析',
path: '/analyze', path: '/analyze',
icon: markRaw(IconAnalyze), icon: markRaw(IconAnalyze),
children: [{ name: '信用卡营销案例', path: '/analyze/user' }] children: [
{ name: '用户分析', path: '/analyze/user' },
{ name: '标签群组分析', path: '/analyze/label' },
{ name: '事件分析', path: '/analyze/event' },
{ name: '营销分析', path: '/analyze/marketing' }
]
} }
] ]
const adminMenus: IMenuItem[] = [ const adminMenus: IMenuItem[] = [
{ {
name: '元数据管理', name: '基础配置',
path: '/metadata', path: '/metadata',
icon: markRaw(IconMetadata), icon: markRaw(IconMetadata),
tag: 'v1-experiment-meta',
children: [ children: [
{ name: '用户属性管理', path: '/metadata/user', icon: markRaw(IconUser2), tag: 'v1-experiment-meta-member' }, {
{ name: '事件属性管理', path: '/metadata/event', icon: markRaw(IconEvent), tag: 'v1-experiment-meta-event' } name: '用户属性管理',
path: '/metadata/user',
icon: markRaw(IconUser2),
tag: 'v1-experiment-meta-member'
},
{
name: '事件属性管理',
path: '/metadata/event',
icon: markRaw(IconEvent),
tag: 'v1-experiment-meta-event'
},
// {
// name: '元数据管理',
// path: '/metadata',
// icon: markRaw(IconMetadata),
// tag: 'v1-experiment-meta',
// children: [
// {
// name: '用户属性管理',
// path: '/metadata/user',
// icon: markRaw(IconUser2),
// tag: 'v1-experiment-meta-member'
// },
// {
// name: '事件属性管理',
// path: '/metadata/event',
// icon: markRaw(IconEvent),
// tag: 'v1-experiment-meta-event'
// }
// ]
// },
{
name: '连接管理',
path: '/connect',
icon: markRaw(IconConnect),
tag: 'v1-experiment-connection'
}
] ]
}, },
{ {
name: '连接管理', name: '用户画像',
path: '/connect',
icon: markRaw(IconConnect),
tag: 'v1-experiment-connection'
},
{
name: '用户管理',
path: '/user', path: '/user',
icon: markRaw(IconUser), icon: markRaw(IconUser),
tag: 'v1-experiment-member' tag: 'v1-experiment-member'
}, },
{ {
name: '标签管理', name: '用户识别',
path: '/label', path: '/label',
icon: markRaw(IconLabel), icon: markRaw(IconUsers),
tag: 'experiment_tags' children: [
}, {
{ name: '标签管理',
name: '群组管理', path: '/label',
path: '/group', icon: markRaw(IconLabel),
icon: markRaw(IconGroup), tag: 'experiment_tags'
tag: 'experiment_groups' },
{
name: '群组管理',
path: '/group',
icon: markRaw(IconGroup),
tag: 'experiment_groups'
}
]
}, },
{ {
name: '营销资料管理', name: '营销内容设计',
path: '/material', path: '/material',
icon: markRaw(IconMaterial), icon: markRaw(IconMaterial),
tag: 'v1-experiment-marketing-material', tag: 'v1-experiment-marketing-material',
...@@ -186,17 +247,22 @@ const adminMenus: IMenuItem[] = [ ...@@ -186,17 +247,22 @@ const adminMenus: IMenuItem[] = [
] ]
}, },
{ {
name: '用户旅程', name: '自动化营销',
path: '/trip', path: '/trip',
icon: markRaw(IconTrip), icon: markRaw(IconTrip),
tag: 'experiment_itinerary', tag: 'experiment_itinerary'
children: [{ name: '旅程模板管理', path: '/trip/template', tag: 'experiment_itinerary_list' }] // children: [{ name: '旅程模板管理', path: '/trip/template', tag: 'experiment_itinerary_list' }]
}, },
{ {
name: '报表分析', name: '数据分析',
path: '/analyze', path: '/analyze',
icon: markRaw(IconAnalyze), icon: markRaw(IconAnalyze),
children: [{ name: '信用卡营销案例', path: '/analyze/user' }] children: [
{ name: '用户分析', path: '/analyze/user' },
{ name: '标签群组分析', path: '/analyze/label' },
{ name: '事件分析', path: '/analyze/event' },
{ name: '营销分析', path: '/analyze/marketing' }
]
} }
] ]
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论