diff --git a/.env.development b/.env.development index 1ef3600..ace5949 100644 --- a/.env.development +++ b/.env.development @@ -1,7 +1,7 @@ # 页面标题 VITE_APP_TITLE = 标题 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://XXXXXXX:XXXXXXX +# VITE_APP_API_BASEURL = http://XXXXXXX:XXXXXXX # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/.env.development b/.env.development index 1ef3600..ace5949 100644 --- a/.env.development +++ b/.env.development @@ -1,7 +1,7 @@ # 页面标题 VITE_APP_TITLE = 标题 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://XXXXXXX:XXXXXXX +# VITE_APP_API_BASEURL = http://XXXXXXX:XXXXXXX # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/README.md b/README.md index d529f38..a9f5933 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ -
计量管理系统
+vue3框架-只有侧边栏
## 简要说明diff --git a/.env.development b/.env.development index 1ef3600..ace5949 100644 --- a/.env.development +++ b/.env.development @@ -1,7 +1,7 @@ # 页面标题 VITE_APP_TITLE = 标题 # 接口请求地址,会设置到 axios 的 baseURL 参数上 -VITE_APP_API_BASEURL = http://XXXXXXX:XXXXXXX +# VITE_APP_API_BASEURL = http://XXXXXXX:XXXXXXX # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 VITE_APP_DEBUG_TOOL = diff --git a/README.md b/README.md index d529f38..a9f5933 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ -
计量管理系统
+vue3框架-只有侧边栏
## 简要说明
diff --git a/src/layouts/components/SubSidebar/index.vue b/src/layouts/components/SubSidebar/index.vue
index 10913f8..ead1f31 100644
--- a/src/layouts/components/SubSidebar/index.vue
+++ b/src/layouts/components/SubSidebar/index.vue
@@ -24,6 +24,7 @@
/>
计量管理系统 vue3框架-只有侧边栏
diff --git a/src/layouts/components/SubSidebar/index.vue b/src/layouts/components/SubSidebar/index.vue
index 10913f8..ead1f31 100644
--- a/src/layouts/components/SubSidebar/index.vue
+++ b/src/layouts/components/SubSidebar/index.vue
@@ -24,6 +24,7 @@
/>
计量管理系统 vue3框架-只有侧边栏
diff --git a/src/layouts/components/SubSidebar/index.vue b/src/layouts/components/SubSidebar/index.vue
index 10913f8..ead1f31 100644
--- a/src/layouts/components/SubSidebar/index.vue
+++ b/src/layouts/components/SubSidebar/index.vue
@@ -24,6 +24,7 @@
/>
计量管理系统 vue3框架-只有侧边栏
diff --git a/src/layouts/components/SubSidebar/index.vue b/src/layouts/components/SubSidebar/index.vue
index 10913f8..ead1f31 100644
--- a/src/layouts/components/SubSidebar/index.vue
+++ b/src/layouts/components/SubSidebar/index.vue
@@ -24,6 +24,7 @@
/>
计量管理系统 vue3框架-只有侧边栏
diff --git a/src/layouts/components/SubSidebar/index.vue b/src/layouts/components/SubSidebar/index.vue
index 10913f8..ead1f31 100644
--- a/src/layouts/components/SubSidebar/index.vue
+++ b/src/layouts/components/SubSidebar/index.vue
@@ -24,6 +24,7 @@
/>
计量管理系统 vue3框架-只有侧边栏
diff --git a/src/layouts/components/SubSidebar/index.vue b/src/layouts/components/SubSidebar/index.vue
index 10913f8..ead1f31 100644
--- a/src/layouts/components/SubSidebar/index.vue
+++ b/src/layouts/components/SubSidebar/index.vue
@@ -24,6 +24,7 @@
/>
vue3-framework-only-sidebar
-SmartMeteringFront
+vue3-framework-only-sidebar
-
@@ -87,8 +88,16 @@
.topbar-container-inner {
width: 100%;
border-radius: 15px 10px 0 0;
- background-color: var(--g-toolbar-bg);
+ // background-color: var(--g-toolbar-bg);
// background-color: #f1f2f6;
+ display: flex;
+ justify-content: space-between;
+ }
+
+ .img {
+ height: 50px;
+ position: absolute;
+ z-index: -1;
}
&.fixed {
@@ -141,10 +150,11 @@
span {
font-weight: normal;
+ color: #f7fafe;
}
&:last-child span {
- color: #97a8be;
+ color: #dcdfe6;
}
}
}
diff --git a/.env.development b/.env.development
index 1ef3600..ace5949 100644
--- a/.env.development
+++ b/.env.development
@@ -1,7 +1,7 @@
# 页面标题
VITE_APP_TITLE = 标题
# 接口请求地址,会设置到 axios 的 baseURL 参数上
-VITE_APP_API_BASEURL = http://XXXXXXX:XXXXXXX
+# VITE_APP_API_BASEURL = http://XXXXXXX:XXXXXXX
# 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空
VITE_APP_DEBUG_TOOL =
diff --git a/README.md b/README.md
index d529f38..a9f5933 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
-
SmartMeteringFront
+vue3-framework-only-sidebar
-
@@ -87,8 +88,16 @@
.topbar-container-inner {
width: 100%;
border-radius: 15px 10px 0 0;
- background-color: var(--g-toolbar-bg);
+ // background-color: var(--g-toolbar-bg);
// background-color: #f1f2f6;
+ display: flex;
+ justify-content: space-between;
+ }
+
+ .img {
+ height: 50px;
+ position: absolute;
+ z-index: -1;
}
&.fixed {
@@ -141,10 +150,11 @@
span {
font-weight: normal;
+ color: #f7fafe;
}
&:last-child span {
- color: #97a8be;
+ color: #dcdfe6;
}
}
}
diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts
index d6d1b71..e686132 100644
--- a/src/router/modules/system.ts
+++ b/src/router/modules/system.ts
@@ -4,318 +4,331 @@
const routes: Route.recordRaw[] = [
{
- path: '/area',
+ path: '/system',
component: Layout,
- redirect: '/area/list',
- name: 'AreaManage',
+ redirect: '/system/area',
+ name: 'System',
meta: {
- title: '区域管理',
+ title: '系统设置',
icon: 'ep:key',
- auth: '/sys/area',
+ auth: '/system',
},
children: [
{
- path: 'list',
- name: 'AreaList',
- component: () => import('@/views/system/area/listArea.vue'),
+ path: '/area',
+ component: Layout,
+ redirect: '/area/list',
+ name: 'AreaManage',
meta: {
title: '区域管理',
+ icon: 'ep:key',
auth: '/sys/area',
- sidebar: false,
- breadcrumb: true,
- activeMenu: '/area',
},
+ children: [
+ {
+ path: 'list',
+ name: 'AreaList',
+ component: () => import('@/views/system/area/listArea.vue'),
+ meta: {
+ title: '区域管理',
+ auth: '/sys/area',
+ sidebar: false,
+ breadcrumb: false,
+ activeMenu: '/area',
+ },
+ },
+ ],
},
- ],
- },
- {
- path: '/resource',
- component: Layout,
- redirect: '/resource/list',
- name: 'ResourceManage',
- meta: {
- title: '资源管理',
- icon: 'ep:key',
- auth: '/sys/resource',
- },
- children: [
{
- path: 'list',
- name: 'ResourceList',
- component: () => import('@/views/system/resource/listResource.vue'),
+ path: '/resource',
+ component: Layout,
+ redirect: '/resource/list',
+ name: 'ResourceManage',
meta: {
title: '资源管理',
+ icon: 'ep:key',
auth: '/sys/resource',
- sidebar: false,
- breadcrumb: true,
- activeMenu: '/resource',
},
+ children: [
+ {
+ path: 'list',
+ name: 'ResourceList',
+ component: () => import('@/views/system/resource/listResource.vue'),
+ meta: {
+ title: '资源管理',
+ auth: '/sys/resource',
+ sidebar: false,
+ breadcrumb: false,
+ activeMenu: '/resource',
+ },
+ },
+ ],
},
- ],
- },
- {
- path: '/dept',
- component: Layout,
- redirect: '/dept/list',
- name: 'DeptManage',
- meta: {
- title: '组织管理',
- icon: 'ep:key',
- auth: '/sys/dept',
- },
- children: [
{
- path: 'list',
- name: 'DeptList',
- component: () => import('@/views/system/dept/listDept.vue'),
+ path: '/dept',
+ component: Layout,
+ redirect: '/dept/list',
+ name: 'DeptManage',
meta: {
title: '组织管理',
+ icon: 'ep:key',
auth: '/sys/dept',
- sidebar: false,
- breadcrumb: true,
- activeMenu: '/dept',
},
+ children: [
+ {
+ path: 'list',
+ name: 'DeptList',
+ component: () => import('@/views/system/dept/listDept.vue'),
+ meta: {
+ title: '组织管理',
+ auth: '/sys/dept',
+ sidebar: false,
+ breadcrumb: false,
+ activeMenu: '/dept',
+ },
+ },
+ ],
},
- ],
- },
- {
- path: '/role',
- component: Layout,
- redirect: '/role/list',
- name: 'RoleManage',
- meta: {
- title: '角色管理',
- icon: 'ep:key',
- auth: '/sys/role',
- },
- children: [
{
- path: 'list',
- name: 'RoleList',
- component: () => import('@/views/system/role/listRole.vue'),
+ path: '/role',
+ component: Layout,
+ redirect: '/role/list',
+ name: 'RoleManage',
meta: {
title: '角色管理',
+ icon: 'ep:key',
auth: '/sys/role',
- sidebar: false,
- breadcrumb: true,
- activeMenu: '/role',
},
+ children: [
+ {
+ path: 'list',
+ name: 'RoleList',
+ component: () => import('@/views/system/role/listRole.vue'),
+ meta: {
+ title: '角色管理',
+ auth: '/sys/role',
+ sidebar: false,
+ breadcrumb: false,
+ activeMenu: '/role',
+ },
+ },
+ ],
},
- ],
- },
- {
- path: '/user',
- component: Layout,
- redirect: '/user/list',
- name: 'UserManage',
- meta: {
- title: '用户管理',
- icon: 'ep:key',
- auth: '/sys/mgr',
- },
- children: [
{
- path: 'list',
- name: 'UserList',
- component: () => import('@/views/system/user/listUser.vue'),
+ path: '/user',
+ component: Layout,
+ redirect: '/user/list',
+ name: 'UserManage',
meta: {
title: '用户管理',
+ icon: 'ep:key',
auth: '/sys/mgr',
- sidebar: false,
- breadcrumb: true,
- activeMenu: '/user',
},
+ children: [
+ {
+ path: 'list',
+ name: 'UserList',
+ component: () => import('@/views/system/user/listUser.vue'),
+ meta: {
+ title: '用户管理',
+ auth: '/sys/mgr',
+ sidebar: false,
+ breadcrumb: false,
+ activeMenu: '/user',
+ },
+ },
+ ],
},
- ],
- },
- {
- path: '/dict',
- component: Layout,
- redirect: '/dict/list',
- name: 'DictManage',
- meta: {
- title: '字典管理',
- icon: 'ep:key',
- auth: '/sys/dict',
- },
- children: [
{
- path: 'list',
- name: 'DictList',
- component: () => import('@/views/system/dict/listDict.vue'),
+ path: '/dict',
+ component: Layout,
+ redirect: '/dict/list',
+ name: 'DictManage',
meta: {
title: '字典管理',
+ icon: 'ep:key',
auth: '/sys/dict',
- sidebar: false,
- breadcrumb: true,
- activeMenu: '/dict',
},
+ children: [
+ {
+ path: 'list',
+ name: 'DictList',
+ component: () => import('@/views/system/dict/listDict.vue'),
+ meta: {
+ title: '字典管理',
+ auth: '/sys/dict',
+ sidebar: false,
+ breadcrumb: false,
+ activeMenu: '/dict',
+ },
+ },
+ ],
},
- ],
- },
- {
- path: '/process',
- component: Layout,
- redirect: '/process/list',
- name: 'Process',
- meta: {
- title: '流程管理',
- icon: 'ep:key',
- auth: '/sys/process',
- },
- children: [
{
- path: 'list',
- name: 'ProcessList',
- component: () => import('@/views/system/process/process.vue'),
+ path: '/process',
+ component: Layout,
+ redirect: '/process/list',
+ name: 'Process',
meta: {
title: '流程管理',
icon: 'ep:key',
auth: '/sys/process',
- sidebar: false,
- breadcrumb: true,
- activeMenu: '/process',
},
+ children: [
+ {
+ path: 'list',
+ name: 'ProcessList',
+ component: () => import('@/views/system/process/process.vue'),
+ meta: {
+ title: '流程管理',
+ icon: 'ep:key',
+ auth: '/sys/process',
+ sidebar: false,
+ breadcrumb: false,
+ activeMenu: '/process',
+ },
+ },
+ {
+ path: 'edit',
+ name: 'ProcessListEdit',
+ component: () => import('@/views/system/process/editProcess.vue'),
+ meta: {
+ title: '流程管理',
+ icon: 'ep:key',
+ auth: '/sys/process',
+ sidebar: false,
+ breadcrumb: false,
+ activeMenu: '/process/list',
+ },
+ },
+ {
+ path: 'detail',
+ name: 'ProcessListDetail',
+ component: () => import('@/views/system/process/detailProcess.vue'),
+ meta: {
+ title: '流程管理',
+ icon: 'ep:key',
+ sidebar: false,
+ breadcrumb: false,
+ activeMenu: '/process/list',
+ },
+ },
+ {
+ path: 'add',
+ name: 'ProcessListAdd',
+ component: () => import('@/views/system/process/addProcess.vue'),
+ meta: {
+ title: '流程管理',
+ icon: 'ep:key',
+ sidebar: false,
+ breadcrumb: false,
+ activeMenu: '/process/list',
+ },
+ },
+ ],
},
{
- path: 'edit',
- name: 'ProcessListEdit',
- component: () => import('@/views/system/process/editProcess.vue'),
- meta: {
- title: '流程管理',
- icon: 'ep:key',
- auth: '/sys/process',
- sidebar: false,
- breadcrumb: true,
- activeMenu: '/process/list',
- },
- },
- {
- path: 'detail',
- name: 'ProcessListDetail',
- component: () => import('@/views/system/process/detailProcess.vue'),
- meta: {
- title: '流程管理',
- icon: 'ep:key',
- sidebar: false,
- breadcrumb: true,
- activeMenu: '/process/list',
- },
- },
- {
- path: 'add',
- name: 'ProcessListAdd',
- component: () => import('@/views/system/process/addProcess.vue'),
- meta: {
- title: '流程管理',
- icon: 'ep:key',
- sidebar: false,
- breadcrumb: true,
- activeMenu: '/process/list',
- },
- },
- ],
- },
- {
- path: '/tenant',
- component: Layout,
- redirect: '/tenant/list',
- name: 'TenantManage',
- meta: {
- title: '项目管理',
- icon: 'ep:key',
- auth: '/sys/tenantSys/list',
- },
- children: [
- {
- path: 'list',
- name: 'TenantList',
- component: () => import('@/views/system/tenant/list.tenant.vue'),
+ path: '/tenant',
+ component: Layout,
+ redirect: '/tenant/list',
+ name: 'TenantManage',
meta: {
title: '项目管理',
+ icon: 'ep:key',
auth: '/sys/tenantSys/list',
- sidebar: false,
- breadcrumb: true,
- activeMenu: '/tenant',
},
+ children: [
+ {
+ path: 'list',
+ name: 'TenantList',
+ component: () => import('@/views/system/tenant/list.tenant.vue'),
+ meta: {
+ title: '项目管理',
+ auth: '/sys/tenantSys/list',
+ sidebar: false,
+ breadcrumb: false,
+ activeMenu: '/tenant',
+ },
+ },
+ ],
},
- ],
- },
- {
- path: '/businessLog',
- component: Layout,
- redirect: '/businessLog/list',
- name: 'BusinessLog',
- meta: {
- title: '业务日志',
- icon: 'ep:key',
- auth: '/sys/log/biz/list',
- },
- children: [
{
- path: 'list',
- name: 'BusinessList',
- component: () => import('@/views/system/log/listLog.vue'),
+ path: '/businessLog',
+ component: Layout,
+ redirect: '/businessLog/list',
+ name: 'BusinessLog',
meta: {
title: '业务日志',
+ icon: 'ep:key',
auth: '/sys/log/biz/list',
- sidebar: false,
- breadcrumb: true,
- activeMenu: '/businessLog',
},
+ children: [
+ {
+ path: 'list',
+ name: 'BusinessList',
+ component: () => import('@/views/system/log/listLog.vue'),
+ meta: {
+ title: '业务日志',
+ auth: '/sys/log/biz/list',
+ sidebar: false,
+ breadcrumb: false,
+ activeMenu: '/businessLog',
+ },
+ },
+ ],
},
- ],
- },
- {
- path: '/error',
- component: Layout,
- redirect: '/error/list',
- name: 'ErrorLog',
- meta: {
- title: '异常日志',
- icon: 'ep:key',
- auth: '/sys/log/error/list',
- },
- children: [
{
- path: 'list',
- name: 'ErrorList',
- component: () => import('@/views/system/log/listErrorLog.vue'),
+ path: '/error',
+ component: Layout,
+ redirect: '/error/list',
+ name: 'ErrorLog',
meta: {
title: '异常日志',
+ icon: 'ep:key',
auth: '/sys/log/error/list',
- sidebar: false,
- breadcrumb: true,
- activeMenu: '/error',
},
+ children: [
+ {
+ path: 'list',
+ name: 'ErrorList',
+ component: () => import('@/views/system/log/listErrorLog.vue'),
+ meta: {
+ title: '异常日志',
+ auth: '/sys/log/error/list',
+ sidebar: false,
+ breadcrumb: false,
+ activeMenu: '/error',
+ },
+ },
+ ],
},
- ],
- },
- {
- path: '/loginDiary',
- component: Layout,
- redirect: '/loginDiary/list',
- name: 'loginDiaryLog',
- meta: {
- title: '登录日志',
- icon: 'ep:key',
- auth: '/sys/loginLog',
- },
- children: [
{
- path: 'list',
- name: 'loginDiaryList',
- component: () => import('@/views/system/log/LoginLog.vue'),
+ path: '/loginDiary',
+ component: Layout,
+ redirect: '/loginDiary/list',
+ name: 'loginDiaryLog',
meta: {
title: '登录日志',
+ icon: 'ep:key',
auth: '/sys/loginLog',
- sidebar: false,
- breadcrumb: true,
- activeMenu: '/loginDiary',
},
- },
- ],
+ children: [
+ {
+ path: 'list',
+ name: 'loginDiaryList',
+ component: () => import('@/views/system/log/LoginLog.vue'),
+ meta: {
+ title: '登录日志',
+ auth: '/sys/loginLog',
+ sidebar: false,
+ breadcrumb: false,
+ activeMenu: '/loginDiary',
+ },
+ },
+ ],
+ }],
},
+
]
export default routes
diff --git a/.env.development b/.env.development
index 1ef3600..ace5949 100644
--- a/.env.development
+++ b/.env.development
@@ -1,7 +1,7 @@
# 页面标题
VITE_APP_TITLE = 标题
# 接口请求地址,会设置到 axios 的 baseURL 参数上
-VITE_APP_API_BASEURL = http://XXXXXXX:XXXXXXX
+# VITE_APP_API_BASEURL = http://XXXXXXX:XXXXXXX
# 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空
VITE_APP_DEBUG_TOOL =
diff --git a/README.md b/README.md
index d529f38..a9f5933 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
-
SmartMeteringFront
+vue3-framework-only-sidebar
-
@@ -87,8 +88,16 @@
.topbar-container-inner {
width: 100%;
border-radius: 15px 10px 0 0;
- background-color: var(--g-toolbar-bg);
+ // background-color: var(--g-toolbar-bg);
// background-color: #f1f2f6;
+ display: flex;
+ justify-content: space-between;
+ }
+
+ .img {
+ height: 50px;
+ position: absolute;
+ z-index: -1;
}
&.fixed {
@@ -141,10 +150,11 @@
span {
font-weight: normal;
+ color: #f7fafe;
}
&:last-child span {
- color: #97a8be;
+ color: #dcdfe6;
}
}
}
diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts
index d6d1b71..e686132 100644
--- a/src/router/modules/system.ts
+++ b/src/router/modules/system.ts
@@ -4,318 +4,331 @@
const routes: Route.recordRaw[] = [
{
- path: '/area',
+ path: '/system',
component: Layout,
- redirect: '/area/list',
- name: 'AreaManage',
+ redirect: '/system/area',
+ name: 'System',
meta: {
- title: '区域管理',
+ title: '系统设置',
icon: 'ep:key',
- auth: '/sys/area',
+ auth: '/system',
},
children: [
{
- path: 'list',
- name: 'AreaList',
- component: () => import('@/views/system/area/listArea.vue'),
+ path: '/area',
+ component: Layout,
+ redirect: '/area/list',
+ name: 'AreaManage',
meta: {
title: '区域管理',
+ icon: 'ep:key',
auth: '/sys/area',
- sidebar: false,
- breadcrumb: true,
- activeMenu: '/area',
},
+ children: [
+ {
+ path: 'list',
+ name: 'AreaList',
+ component: () => import('@/views/system/area/listArea.vue'),
+ meta: {
+ title: '区域管理',
+ auth: '/sys/area',
+ sidebar: false,
+ breadcrumb: false,
+ activeMenu: '/area',
+ },
+ },
+ ],
},
- ],
- },
- {
- path: '/resource',
- component: Layout,
- redirect: '/resource/list',
- name: 'ResourceManage',
- meta: {
- title: '资源管理',
- icon: 'ep:key',
- auth: '/sys/resource',
- },
- children: [
{
- path: 'list',
- name: 'ResourceList',
- component: () => import('@/views/system/resource/listResource.vue'),
+ path: '/resource',
+ component: Layout,
+ redirect: '/resource/list',
+ name: 'ResourceManage',
meta: {
title: '资源管理',
+ icon: 'ep:key',
auth: '/sys/resource',
- sidebar: false,
- breadcrumb: true,
- activeMenu: '/resource',
},
+ children: [
+ {
+ path: 'list',
+ name: 'ResourceList',
+ component: () => import('@/views/system/resource/listResource.vue'),
+ meta: {
+ title: '资源管理',
+ auth: '/sys/resource',
+ sidebar: false,
+ breadcrumb: false,
+ activeMenu: '/resource',
+ },
+ },
+ ],
},
- ],
- },
- {
- path: '/dept',
- component: Layout,
- redirect: '/dept/list',
- name: 'DeptManage',
- meta: {
- title: '组织管理',
- icon: 'ep:key',
- auth: '/sys/dept',
- },
- children: [
{
- path: 'list',
- name: 'DeptList',
- component: () => import('@/views/system/dept/listDept.vue'),
+ path: '/dept',
+ component: Layout,
+ redirect: '/dept/list',
+ name: 'DeptManage',
meta: {
title: '组织管理',
+ icon: 'ep:key',
auth: '/sys/dept',
- sidebar: false,
- breadcrumb: true,
- activeMenu: '/dept',
},
+ children: [
+ {
+ path: 'list',
+ name: 'DeptList',
+ component: () => import('@/views/system/dept/listDept.vue'),
+ meta: {
+ title: '组织管理',
+ auth: '/sys/dept',
+ sidebar: false,
+ breadcrumb: false,
+ activeMenu: '/dept',
+ },
+ },
+ ],
},
- ],
- },
- {
- path: '/role',
- component: Layout,
- redirect: '/role/list',
- name: 'RoleManage',
- meta: {
- title: '角色管理',
- icon: 'ep:key',
- auth: '/sys/role',
- },
- children: [
{
- path: 'list',
- name: 'RoleList',
- component: () => import('@/views/system/role/listRole.vue'),
+ path: '/role',
+ component: Layout,
+ redirect: '/role/list',
+ name: 'RoleManage',
meta: {
title: '角色管理',
+ icon: 'ep:key',
auth: '/sys/role',
- sidebar: false,
- breadcrumb: true,
- activeMenu: '/role',
},
+ children: [
+ {
+ path: 'list',
+ name: 'RoleList',
+ component: () => import('@/views/system/role/listRole.vue'),
+ meta: {
+ title: '角色管理',
+ auth: '/sys/role',
+ sidebar: false,
+ breadcrumb: false,
+ activeMenu: '/role',
+ },
+ },
+ ],
},
- ],
- },
- {
- path: '/user',
- component: Layout,
- redirect: '/user/list',
- name: 'UserManage',
- meta: {
- title: '用户管理',
- icon: 'ep:key',
- auth: '/sys/mgr',
- },
- children: [
{
- path: 'list',
- name: 'UserList',
- component: () => import('@/views/system/user/listUser.vue'),
+ path: '/user',
+ component: Layout,
+ redirect: '/user/list',
+ name: 'UserManage',
meta: {
title: '用户管理',
+ icon: 'ep:key',
auth: '/sys/mgr',
- sidebar: false,
- breadcrumb: true,
- activeMenu: '/user',
},
+ children: [
+ {
+ path: 'list',
+ name: 'UserList',
+ component: () => import('@/views/system/user/listUser.vue'),
+ meta: {
+ title: '用户管理',
+ auth: '/sys/mgr',
+ sidebar: false,
+ breadcrumb: false,
+ activeMenu: '/user',
+ },
+ },
+ ],
},
- ],
- },
- {
- path: '/dict',
- component: Layout,
- redirect: '/dict/list',
- name: 'DictManage',
- meta: {
- title: '字典管理',
- icon: 'ep:key',
- auth: '/sys/dict',
- },
- children: [
{
- path: 'list',
- name: 'DictList',
- component: () => import('@/views/system/dict/listDict.vue'),
+ path: '/dict',
+ component: Layout,
+ redirect: '/dict/list',
+ name: 'DictManage',
meta: {
title: '字典管理',
+ icon: 'ep:key',
auth: '/sys/dict',
- sidebar: false,
- breadcrumb: true,
- activeMenu: '/dict',
},
+ children: [
+ {
+ path: 'list',
+ name: 'DictList',
+ component: () => import('@/views/system/dict/listDict.vue'),
+ meta: {
+ title: '字典管理',
+ auth: '/sys/dict',
+ sidebar: false,
+ breadcrumb: false,
+ activeMenu: '/dict',
+ },
+ },
+ ],
},
- ],
- },
- {
- path: '/process',
- component: Layout,
- redirect: '/process/list',
- name: 'Process',
- meta: {
- title: '流程管理',
- icon: 'ep:key',
- auth: '/sys/process',
- },
- children: [
{
- path: 'list',
- name: 'ProcessList',
- component: () => import('@/views/system/process/process.vue'),
+ path: '/process',
+ component: Layout,
+ redirect: '/process/list',
+ name: 'Process',
meta: {
title: '流程管理',
icon: 'ep:key',
auth: '/sys/process',
- sidebar: false,
- breadcrumb: true,
- activeMenu: '/process',
},
+ children: [
+ {
+ path: 'list',
+ name: 'ProcessList',
+ component: () => import('@/views/system/process/process.vue'),
+ meta: {
+ title: '流程管理',
+ icon: 'ep:key',
+ auth: '/sys/process',
+ sidebar: false,
+ breadcrumb: false,
+ activeMenu: '/process',
+ },
+ },
+ {
+ path: 'edit',
+ name: 'ProcessListEdit',
+ component: () => import('@/views/system/process/editProcess.vue'),
+ meta: {
+ title: '流程管理',
+ icon: 'ep:key',
+ auth: '/sys/process',
+ sidebar: false,
+ breadcrumb: false,
+ activeMenu: '/process/list',
+ },
+ },
+ {
+ path: 'detail',
+ name: 'ProcessListDetail',
+ component: () => import('@/views/system/process/detailProcess.vue'),
+ meta: {
+ title: '流程管理',
+ icon: 'ep:key',
+ sidebar: false,
+ breadcrumb: false,
+ activeMenu: '/process/list',
+ },
+ },
+ {
+ path: 'add',
+ name: 'ProcessListAdd',
+ component: () => import('@/views/system/process/addProcess.vue'),
+ meta: {
+ title: '流程管理',
+ icon: 'ep:key',
+ sidebar: false,
+ breadcrumb: false,
+ activeMenu: '/process/list',
+ },
+ },
+ ],
},
{
- path: 'edit',
- name: 'ProcessListEdit',
- component: () => import('@/views/system/process/editProcess.vue'),
- meta: {
- title: '流程管理',
- icon: 'ep:key',
- auth: '/sys/process',
- sidebar: false,
- breadcrumb: true,
- activeMenu: '/process/list',
- },
- },
- {
- path: 'detail',
- name: 'ProcessListDetail',
- component: () => import('@/views/system/process/detailProcess.vue'),
- meta: {
- title: '流程管理',
- icon: 'ep:key',
- sidebar: false,
- breadcrumb: true,
- activeMenu: '/process/list',
- },
- },
- {
- path: 'add',
- name: 'ProcessListAdd',
- component: () => import('@/views/system/process/addProcess.vue'),
- meta: {
- title: '流程管理',
- icon: 'ep:key',
- sidebar: false,
- breadcrumb: true,
- activeMenu: '/process/list',
- },
- },
- ],
- },
- {
- path: '/tenant',
- component: Layout,
- redirect: '/tenant/list',
- name: 'TenantManage',
- meta: {
- title: '项目管理',
- icon: 'ep:key',
- auth: '/sys/tenantSys/list',
- },
- children: [
- {
- path: 'list',
- name: 'TenantList',
- component: () => import('@/views/system/tenant/list.tenant.vue'),
+ path: '/tenant',
+ component: Layout,
+ redirect: '/tenant/list',
+ name: 'TenantManage',
meta: {
title: '项目管理',
+ icon: 'ep:key',
auth: '/sys/tenantSys/list',
- sidebar: false,
- breadcrumb: true,
- activeMenu: '/tenant',
},
+ children: [
+ {
+ path: 'list',
+ name: 'TenantList',
+ component: () => import('@/views/system/tenant/list.tenant.vue'),
+ meta: {
+ title: '项目管理',
+ auth: '/sys/tenantSys/list',
+ sidebar: false,
+ breadcrumb: false,
+ activeMenu: '/tenant',
+ },
+ },
+ ],
},
- ],
- },
- {
- path: '/businessLog',
- component: Layout,
- redirect: '/businessLog/list',
- name: 'BusinessLog',
- meta: {
- title: '业务日志',
- icon: 'ep:key',
- auth: '/sys/log/biz/list',
- },
- children: [
{
- path: 'list',
- name: 'BusinessList',
- component: () => import('@/views/system/log/listLog.vue'),
+ path: '/businessLog',
+ component: Layout,
+ redirect: '/businessLog/list',
+ name: 'BusinessLog',
meta: {
title: '业务日志',
+ icon: 'ep:key',
auth: '/sys/log/biz/list',
- sidebar: false,
- breadcrumb: true,
- activeMenu: '/businessLog',
},
+ children: [
+ {
+ path: 'list',
+ name: 'BusinessList',
+ component: () => import('@/views/system/log/listLog.vue'),
+ meta: {
+ title: '业务日志',
+ auth: '/sys/log/biz/list',
+ sidebar: false,
+ breadcrumb: false,
+ activeMenu: '/businessLog',
+ },
+ },
+ ],
},
- ],
- },
- {
- path: '/error',
- component: Layout,
- redirect: '/error/list',
- name: 'ErrorLog',
- meta: {
- title: '异常日志',
- icon: 'ep:key',
- auth: '/sys/log/error/list',
- },
- children: [
{
- path: 'list',
- name: 'ErrorList',
- component: () => import('@/views/system/log/listErrorLog.vue'),
+ path: '/error',
+ component: Layout,
+ redirect: '/error/list',
+ name: 'ErrorLog',
meta: {
title: '异常日志',
+ icon: 'ep:key',
auth: '/sys/log/error/list',
- sidebar: false,
- breadcrumb: true,
- activeMenu: '/error',
},
+ children: [
+ {
+ path: 'list',
+ name: 'ErrorList',
+ component: () => import('@/views/system/log/listErrorLog.vue'),
+ meta: {
+ title: '异常日志',
+ auth: '/sys/log/error/list',
+ sidebar: false,
+ breadcrumb: false,
+ activeMenu: '/error',
+ },
+ },
+ ],
},
- ],
- },
- {
- path: '/loginDiary',
- component: Layout,
- redirect: '/loginDiary/list',
- name: 'loginDiaryLog',
- meta: {
- title: '登录日志',
- icon: 'ep:key',
- auth: '/sys/loginLog',
- },
- children: [
{
- path: 'list',
- name: 'loginDiaryList',
- component: () => import('@/views/system/log/LoginLog.vue'),
+ path: '/loginDiary',
+ component: Layout,
+ redirect: '/loginDiary/list',
+ name: 'loginDiaryLog',
meta: {
title: '登录日志',
+ icon: 'ep:key',
auth: '/sys/loginLog',
- sidebar: false,
- breadcrumb: true,
- activeMenu: '/loginDiary',
},
- },
- ],
+ children: [
+ {
+ path: 'list',
+ name: 'loginDiaryList',
+ component: () => import('@/views/system/log/LoginLog.vue'),
+ meta: {
+ title: '登录日志',
+ auth: '/sys/loginLog',
+ sidebar: false,
+ breadcrumb: false,
+ activeMenu: '/loginDiary',
+ },
+ },
+ ],
+ }],
},
+
]
export default routes
diff --git a/src/settings.default.ts b/src/settings.default.ts
index 6e099ec..6442dc3 100644
--- a/src/settings.default.ts
+++ b/src/settings.default.ts
@@ -22,7 +22,7 @@
},
menu: {
baseOn: 'frontend',
- menuMode: 'side',
+ menuMode: 'single',
switchMainMenuAndPageJump: false,
subMenuUniqueOpened: true,
subMenuCollapse: false,
diff --git a/.env.development b/.env.development
index 1ef3600..ace5949 100644
--- a/.env.development
+++ b/.env.development
@@ -1,7 +1,7 @@
# 页面标题
VITE_APP_TITLE = 标题
# 接口请求地址,会设置到 axios 的 baseURL 参数上
-VITE_APP_API_BASEURL = http://XXXXXXX:XXXXXXX
+# VITE_APP_API_BASEURL = http://XXXXXXX:XXXXXXX
# 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空
VITE_APP_DEBUG_TOOL =
diff --git a/README.md b/README.md
index d529f38..a9f5933 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
-
SmartMeteringFront
+vue3-framework-only-sidebar
-
@@ -87,8 +88,16 @@
.topbar-container-inner {
width: 100%;
border-radius: 15px 10px 0 0;
- background-color: var(--g-toolbar-bg);
+ // background-color: var(--g-toolbar-bg);
// background-color: #f1f2f6;
+ display: flex;
+ justify-content: space-between;
+ }
+
+ .img {
+ height: 50px;
+ position: absolute;
+ z-index: -1;
}
&.fixed {
@@ -141,10 +150,11 @@
span {
font-weight: normal;
+ color: #f7fafe;
}
&:last-child span {
- color: #97a8be;
+ color: #dcdfe6;
}
}
}
diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts
index d6d1b71..e686132 100644
--- a/src/router/modules/system.ts
+++ b/src/router/modules/system.ts
@@ -4,318 +4,331 @@
const routes: Route.recordRaw[] = [
{
- path: '/area',
+ path: '/system',
component: Layout,
- redirect: '/area/list',
- name: 'AreaManage',
+ redirect: '/system/area',
+ name: 'System',
meta: {
- title: '区域管理',
+ title: '系统设置',
icon: 'ep:key',
- auth: '/sys/area',
+ auth: '/system',
},
children: [
{
- path: 'list',
- name: 'AreaList',
- component: () => import('@/views/system/area/listArea.vue'),
+ path: '/area',
+ component: Layout,
+ redirect: '/area/list',
+ name: 'AreaManage',
meta: {
title: '区域管理',
+ icon: 'ep:key',
auth: '/sys/area',
- sidebar: false,
- breadcrumb: true,
- activeMenu: '/area',
},
+ children: [
+ {
+ path: 'list',
+ name: 'AreaList',
+ component: () => import('@/views/system/area/listArea.vue'),
+ meta: {
+ title: '区域管理',
+ auth: '/sys/area',
+ sidebar: false,
+ breadcrumb: false,
+ activeMenu: '/area',
+ },
+ },
+ ],
},
- ],
- },
- {
- path: '/resource',
- component: Layout,
- redirect: '/resource/list',
- name: 'ResourceManage',
- meta: {
- title: '资源管理',
- icon: 'ep:key',
- auth: '/sys/resource',
- },
- children: [
{
- path: 'list',
- name: 'ResourceList',
- component: () => import('@/views/system/resource/listResource.vue'),
+ path: '/resource',
+ component: Layout,
+ redirect: '/resource/list',
+ name: 'ResourceManage',
meta: {
title: '资源管理',
+ icon: 'ep:key',
auth: '/sys/resource',
- sidebar: false,
- breadcrumb: true,
- activeMenu: '/resource',
},
+ children: [
+ {
+ path: 'list',
+ name: 'ResourceList',
+ component: () => import('@/views/system/resource/listResource.vue'),
+ meta: {
+ title: '资源管理',
+ auth: '/sys/resource',
+ sidebar: false,
+ breadcrumb: false,
+ activeMenu: '/resource',
+ },
+ },
+ ],
},
- ],
- },
- {
- path: '/dept',
- component: Layout,
- redirect: '/dept/list',
- name: 'DeptManage',
- meta: {
- title: '组织管理',
- icon: 'ep:key',
- auth: '/sys/dept',
- },
- children: [
{
- path: 'list',
- name: 'DeptList',
- component: () => import('@/views/system/dept/listDept.vue'),
+ path: '/dept',
+ component: Layout,
+ redirect: '/dept/list',
+ name: 'DeptManage',
meta: {
title: '组织管理',
+ icon: 'ep:key',
auth: '/sys/dept',
- sidebar: false,
- breadcrumb: true,
- activeMenu: '/dept',
},
+ children: [
+ {
+ path: 'list',
+ name: 'DeptList',
+ component: () => import('@/views/system/dept/listDept.vue'),
+ meta: {
+ title: '组织管理',
+ auth: '/sys/dept',
+ sidebar: false,
+ breadcrumb: false,
+ activeMenu: '/dept',
+ },
+ },
+ ],
},
- ],
- },
- {
- path: '/role',
- component: Layout,
- redirect: '/role/list',
- name: 'RoleManage',
- meta: {
- title: '角色管理',
- icon: 'ep:key',
- auth: '/sys/role',
- },
- children: [
{
- path: 'list',
- name: 'RoleList',
- component: () => import('@/views/system/role/listRole.vue'),
+ path: '/role',
+ component: Layout,
+ redirect: '/role/list',
+ name: 'RoleManage',
meta: {
title: '角色管理',
+ icon: 'ep:key',
auth: '/sys/role',
- sidebar: false,
- breadcrumb: true,
- activeMenu: '/role',
},
+ children: [
+ {
+ path: 'list',
+ name: 'RoleList',
+ component: () => import('@/views/system/role/listRole.vue'),
+ meta: {
+ title: '角色管理',
+ auth: '/sys/role',
+ sidebar: false,
+ breadcrumb: false,
+ activeMenu: '/role',
+ },
+ },
+ ],
},
- ],
- },
- {
- path: '/user',
- component: Layout,
- redirect: '/user/list',
- name: 'UserManage',
- meta: {
- title: '用户管理',
- icon: 'ep:key',
- auth: '/sys/mgr',
- },
- children: [
{
- path: 'list',
- name: 'UserList',
- component: () => import('@/views/system/user/listUser.vue'),
+ path: '/user',
+ component: Layout,
+ redirect: '/user/list',
+ name: 'UserManage',
meta: {
title: '用户管理',
+ icon: 'ep:key',
auth: '/sys/mgr',
- sidebar: false,
- breadcrumb: true,
- activeMenu: '/user',
},
+ children: [
+ {
+ path: 'list',
+ name: 'UserList',
+ component: () => import('@/views/system/user/listUser.vue'),
+ meta: {
+ title: '用户管理',
+ auth: '/sys/mgr',
+ sidebar: false,
+ breadcrumb: false,
+ activeMenu: '/user',
+ },
+ },
+ ],
},
- ],
- },
- {
- path: '/dict',
- component: Layout,
- redirect: '/dict/list',
- name: 'DictManage',
- meta: {
- title: '字典管理',
- icon: 'ep:key',
- auth: '/sys/dict',
- },
- children: [
{
- path: 'list',
- name: 'DictList',
- component: () => import('@/views/system/dict/listDict.vue'),
+ path: '/dict',
+ component: Layout,
+ redirect: '/dict/list',
+ name: 'DictManage',
meta: {
title: '字典管理',
+ icon: 'ep:key',
auth: '/sys/dict',
- sidebar: false,
- breadcrumb: true,
- activeMenu: '/dict',
},
+ children: [
+ {
+ path: 'list',
+ name: 'DictList',
+ component: () => import('@/views/system/dict/listDict.vue'),
+ meta: {
+ title: '字典管理',
+ auth: '/sys/dict',
+ sidebar: false,
+ breadcrumb: false,
+ activeMenu: '/dict',
+ },
+ },
+ ],
},
- ],
- },
- {
- path: '/process',
- component: Layout,
- redirect: '/process/list',
- name: 'Process',
- meta: {
- title: '流程管理',
- icon: 'ep:key',
- auth: '/sys/process',
- },
- children: [
{
- path: 'list',
- name: 'ProcessList',
- component: () => import('@/views/system/process/process.vue'),
+ path: '/process',
+ component: Layout,
+ redirect: '/process/list',
+ name: 'Process',
meta: {
title: '流程管理',
icon: 'ep:key',
auth: '/sys/process',
- sidebar: false,
- breadcrumb: true,
- activeMenu: '/process',
},
+ children: [
+ {
+ path: 'list',
+ name: 'ProcessList',
+ component: () => import('@/views/system/process/process.vue'),
+ meta: {
+ title: '流程管理',
+ icon: 'ep:key',
+ auth: '/sys/process',
+ sidebar: false,
+ breadcrumb: false,
+ activeMenu: '/process',
+ },
+ },
+ {
+ path: 'edit',
+ name: 'ProcessListEdit',
+ component: () => import('@/views/system/process/editProcess.vue'),
+ meta: {
+ title: '流程管理',
+ icon: 'ep:key',
+ auth: '/sys/process',
+ sidebar: false,
+ breadcrumb: false,
+ activeMenu: '/process/list',
+ },
+ },
+ {
+ path: 'detail',
+ name: 'ProcessListDetail',
+ component: () => import('@/views/system/process/detailProcess.vue'),
+ meta: {
+ title: '流程管理',
+ icon: 'ep:key',
+ sidebar: false,
+ breadcrumb: false,
+ activeMenu: '/process/list',
+ },
+ },
+ {
+ path: 'add',
+ name: 'ProcessListAdd',
+ component: () => import('@/views/system/process/addProcess.vue'),
+ meta: {
+ title: '流程管理',
+ icon: 'ep:key',
+ sidebar: false,
+ breadcrumb: false,
+ activeMenu: '/process/list',
+ },
+ },
+ ],
},
{
- path: 'edit',
- name: 'ProcessListEdit',
- component: () => import('@/views/system/process/editProcess.vue'),
- meta: {
- title: '流程管理',
- icon: 'ep:key',
- auth: '/sys/process',
- sidebar: false,
- breadcrumb: true,
- activeMenu: '/process/list',
- },
- },
- {
- path: 'detail',
- name: 'ProcessListDetail',
- component: () => import('@/views/system/process/detailProcess.vue'),
- meta: {
- title: '流程管理',
- icon: 'ep:key',
- sidebar: false,
- breadcrumb: true,
- activeMenu: '/process/list',
- },
- },
- {
- path: 'add',
- name: 'ProcessListAdd',
- component: () => import('@/views/system/process/addProcess.vue'),
- meta: {
- title: '流程管理',
- icon: 'ep:key',
- sidebar: false,
- breadcrumb: true,
- activeMenu: '/process/list',
- },
- },
- ],
- },
- {
- path: '/tenant',
- component: Layout,
- redirect: '/tenant/list',
- name: 'TenantManage',
- meta: {
- title: '项目管理',
- icon: 'ep:key',
- auth: '/sys/tenantSys/list',
- },
- children: [
- {
- path: 'list',
- name: 'TenantList',
- component: () => import('@/views/system/tenant/list.tenant.vue'),
+ path: '/tenant',
+ component: Layout,
+ redirect: '/tenant/list',
+ name: 'TenantManage',
meta: {
title: '项目管理',
+ icon: 'ep:key',
auth: '/sys/tenantSys/list',
- sidebar: false,
- breadcrumb: true,
- activeMenu: '/tenant',
},
+ children: [
+ {
+ path: 'list',
+ name: 'TenantList',
+ component: () => import('@/views/system/tenant/list.tenant.vue'),
+ meta: {
+ title: '项目管理',
+ auth: '/sys/tenantSys/list',
+ sidebar: false,
+ breadcrumb: false,
+ activeMenu: '/tenant',
+ },
+ },
+ ],
},
- ],
- },
- {
- path: '/businessLog',
- component: Layout,
- redirect: '/businessLog/list',
- name: 'BusinessLog',
- meta: {
- title: '业务日志',
- icon: 'ep:key',
- auth: '/sys/log/biz/list',
- },
- children: [
{
- path: 'list',
- name: 'BusinessList',
- component: () => import('@/views/system/log/listLog.vue'),
+ path: '/businessLog',
+ component: Layout,
+ redirect: '/businessLog/list',
+ name: 'BusinessLog',
meta: {
title: '业务日志',
+ icon: 'ep:key',
auth: '/sys/log/biz/list',
- sidebar: false,
- breadcrumb: true,
- activeMenu: '/businessLog',
},
+ children: [
+ {
+ path: 'list',
+ name: 'BusinessList',
+ component: () => import('@/views/system/log/listLog.vue'),
+ meta: {
+ title: '业务日志',
+ auth: '/sys/log/biz/list',
+ sidebar: false,
+ breadcrumb: false,
+ activeMenu: '/businessLog',
+ },
+ },
+ ],
},
- ],
- },
- {
- path: '/error',
- component: Layout,
- redirect: '/error/list',
- name: 'ErrorLog',
- meta: {
- title: '异常日志',
- icon: 'ep:key',
- auth: '/sys/log/error/list',
- },
- children: [
{
- path: 'list',
- name: 'ErrorList',
- component: () => import('@/views/system/log/listErrorLog.vue'),
+ path: '/error',
+ component: Layout,
+ redirect: '/error/list',
+ name: 'ErrorLog',
meta: {
title: '异常日志',
+ icon: 'ep:key',
auth: '/sys/log/error/list',
- sidebar: false,
- breadcrumb: true,
- activeMenu: '/error',
},
+ children: [
+ {
+ path: 'list',
+ name: 'ErrorList',
+ component: () => import('@/views/system/log/listErrorLog.vue'),
+ meta: {
+ title: '异常日志',
+ auth: '/sys/log/error/list',
+ sidebar: false,
+ breadcrumb: false,
+ activeMenu: '/error',
+ },
+ },
+ ],
},
- ],
- },
- {
- path: '/loginDiary',
- component: Layout,
- redirect: '/loginDiary/list',
- name: 'loginDiaryLog',
- meta: {
- title: '登录日志',
- icon: 'ep:key',
- auth: '/sys/loginLog',
- },
- children: [
{
- path: 'list',
- name: 'loginDiaryList',
- component: () => import('@/views/system/log/LoginLog.vue'),
+ path: '/loginDiary',
+ component: Layout,
+ redirect: '/loginDiary/list',
+ name: 'loginDiaryLog',
meta: {
title: '登录日志',
+ icon: 'ep:key',
auth: '/sys/loginLog',
- sidebar: false,
- breadcrumb: true,
- activeMenu: '/loginDiary',
},
- },
- ],
+ children: [
+ {
+ path: 'list',
+ name: 'loginDiaryList',
+ component: () => import('@/views/system/log/LoginLog.vue'),
+ meta: {
+ title: '登录日志',
+ auth: '/sys/loginLog',
+ sidebar: false,
+ breadcrumb: false,
+ activeMenu: '/loginDiary',
+ },
+ },
+ ],
+ }],
},
+
]
export default routes
diff --git a/src/settings.default.ts b/src/settings.default.ts
index 6e099ec..6442dc3 100644
--- a/src/settings.default.ts
+++ b/src/settings.default.ts
@@ -22,7 +22,7 @@
},
menu: {
baseOn: 'frontend',
- menuMode: 'side',
+ menuMode: 'single',
switchMainMenuAndPageJump: false,
subMenuUniqueOpened: true,
subMenuCollapse: false,
diff --git a/src/settings.ts b/src/settings.ts
index 67083b2..6b04441 100644
--- a/src/settings.ts
+++ b/src/settings.ts
@@ -15,7 +15,7 @@
},
menu: {
baseOn: 'backend',
- menuMode: 'head',
+ menuMode: 'single',
showIcon: true,
switchMainMenuAndPageJump: true,
enableSubMenuCollapseButton: true,