Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
B
bill-manager-ui
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
赵啸非
bill-manager-ui
Commits
5387cdbf
Commit
5387cdbf
authored
May 08, 2025
by
“yiyousong”
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
perf: 优化页面配置
parent
1159c387
Changes
8
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
112 additions
and
47 deletions
+112
-47
admin_2/src/layouts/PageTabView.vue
admin_2/src/layouts/PageTabView.vue
+67
-0
admin_2/src/layouts/components/Header.vue
admin_2/src/layouts/components/Header.vue
+2
-2
admin_2/src/pages/login/Login.vue
admin_2/src/pages/login/Login.vue
+2
-1
admin_2/src/pages/sso/Sso.vue
admin_2/src/pages/sso/Sso.vue
+3
-2
admin_2/src/pages/system/System.vue
admin_2/src/pages/system/System.vue
+0
-27
admin_2/src/pages/system/menu/Menu.vue
admin_2/src/pages/system/menu/Menu.vue
+32
-13
admin_2/src/pages/system/menu/components/AddMenu.vue
admin_2/src/pages/system/menu/components/AddMenu.vue
+5
-1
admin_2/src/router/index.js
admin_2/src/router/index.js
+1
-1
No files found.
admin_2/src/layouts/PageTabView.vue
0 → 100644
View file @
5387cdbf
<
template
>
<div
class=
"page-tab-view"
>
<el-tabs
:value=
"activeKey"
@
tab-click=
"changeRouter"
>
<el-tab-pane
v-for=
"v in secondaryRoutes"
:key=
"v.path"
:name=
"v.path"
>
<template
slot=
"label"
>
<i
v-if=
"v.meta.icon"
:class=
"['tab-icon', v.meta.icon]"
></i>
<span
class=
"tab-label"
>
{{
v
.
meta
.
title
}}
</span>
</
template
>
</el-tab-pane>
</el-tabs>
<div
class=
"out-box"
>
<router-view></router-view>
</div>
</div>
</template>
<
script
>
import
{
mapGetters
}
from
'
vuex
'
;
export
default
{
data
()
{
return
{};
},
computed
:
{
activeKey
()
{
return
this
.
$route
.
path
;
},
...
mapGetters
(
'
user
'
,
[
'
secondaryRoutes
'
])
},
created
()
{},
methods
:
{
changeRouter
(
e
)
{
this
.
$router
.
push
(
e
.
name
);
}
}
};
</
script
>
<
style
lang=
"less"
scoped
>
:deep(.el-tabs__nav-scroll) {
padding-left: 15px;
.tab-icon {
margin-right: 5px;
color: #2681e8;
}
.tab-label {
font-weight: bold;
color: rgba(0, 0, 0, 0.65);
}
.is-active {
.tab-label {
color: #2681e8;
}
}
}
.page-tab-view {
width: 100%;
height: 100%;
background: #fff;
display: flex;
flex-direction: column;
.out-box {
flex: 1;
padding: 15px;
overflow-y: auto;
}
}
</
style
>
admin_2/src/layouts/components/Header.vue
View file @
5387cdbf
...
@@ -45,7 +45,7 @@
...
@@ -45,7 +45,7 @@
<
script
>
<
script
>
import
HeaderSite
from
'
./HeaderSite.vue
'
;
import
HeaderSite
from
'
./HeaderSite.vue
'
;
import
{
mapState
,
mapMutations
}
from
'
vuex
'
;
import
{
mapState
,
mapMutations
}
from
'
vuex
'
;
import
{
systemName
}
from
'
@/config
'
;
import
{
systemName
}
from
'
@/config
'
;
export
default
{
export
default
{
components
:
{
components
:
{
...
@@ -66,7 +66,7 @@ export default {
...
@@ -66,7 +66,7 @@ export default {
}
}
return
path
;
return
path
;
},
},
...
mapState
(
'
user
'
,
[
'
menus
'
,
'
sysName
'
,
'
sysLogo
'
,
'
path
'
,
'
menus
'
])
...
mapState
(
'
user
'
,
[
'
sysName
'
,
'
sysLogo
'
,
'
path
'
,
'
menus
'
])
},
},
created
()
{
created
()
{
...
...
admin_2/src/pages/login/Login.vue
View file @
5387cdbf
...
@@ -64,7 +64,7 @@ import storage from '@/utils/storage';
...
@@ -64,7 +64,7 @@ import storage from '@/utils/storage';
import
{
mapMutations
}
from
'
vuex
'
;
import
{
mapMutations
}
from
'
vuex
'
;
import
{
getHomeData
}
from
'
@/api/home
'
;
import
{
getHomeData
}
from
'
@/api/home
'
;
import
{
generateRoutes
,
filterBtn
}
from
'
@/utils
'
;
import
{
generateRoutes
,
filterBtn
}
from
'
@/utils
'
;
import
{
calcMenu
}
from
'
@/router
'
;
import
{
calcMenu
,
menusFilter
}
from
'
@/router
'
;
import
{
login
,
loginCode
}
from
'
@/api/login
'
;
import
{
login
,
loginCode
}
from
'
@/api/login
'
;
import
{
systemName
}
from
'
@/config
'
;
import
{
systemName
}
from
'
@/config
'
;
export
default
{
export
default
{
...
@@ -162,6 +162,7 @@ export default {
...
@@ -162,6 +162,7 @@ export default {
// 过滤掉按钮
// 过滤掉按钮
let
menus
=
filterBtn
(
menuList
,
false
);
let
menus
=
filterBtn
(
menuList
,
false
);
let
routes
=
generateRoutes
(
menus
);
let
routes
=
generateRoutes
(
menus
);
routes
=
menusFilter
(
routes
);
// this.SET_routes(routes);
// this.SET_routes(routes);
this
.
SET_menusList
(
menus
);
this
.
SET_menusList
(
menus
);
this
.
setBtnPermissions
(
menuList
);
this
.
setBtnPermissions
(
menuList
);
...
...
admin_2/src/pages/sso/Sso.vue
View file @
5387cdbf
...
@@ -9,7 +9,7 @@ import storage from '@/utils/storage';
...
@@ -9,7 +9,7 @@ import storage from '@/utils/storage';
import
{
mapMutations
}
from
'
vuex
'
;
import
{
mapMutations
}
from
'
vuex
'
;
import
{
getHomeData
}
from
'
@/api/home
'
;
import
{
getHomeData
}
from
'
@/api/home
'
;
import
{
generateRoutes
,
filterBtn
}
from
'
@/utils
'
;
import
{
generateRoutes
,
filterBtn
}
from
'
@/utils
'
;
import
{
calcMenu
}
from
'
@/router
'
;
import
{
calcMenu
,
menusFilter
}
from
'
@/router
'
;
export
default
{
export
default
{
data
()
{
data
()
{
return
{
return
{
...
@@ -58,6 +58,7 @@ export default {
...
@@ -58,6 +58,7 @@ export default {
// 过滤掉按钮
// 过滤掉按钮
let
menus
=
filterBtn
(
menuList
,
false
);
let
menus
=
filterBtn
(
menuList
,
false
);
let
routes
=
generateRoutes
(
menus
);
let
routes
=
generateRoutes
(
menus
);
routes
=
menusFilter
(
routes
);
// this.SET_routes(routes);
// this.SET_routes(routes);
this
.
SET_menusList
(
menus
);
this
.
SET_menusList
(
menus
);
this
.
setBtnPermissions
(
menuList
);
this
.
setBtnPermissions
(
menuList
);
...
@@ -66,7 +67,7 @@ export default {
...
@@ -66,7 +67,7 @@ export default {
let
path
=
routes
[
0
].
path
;
let
path
=
routes
[
0
].
path
;
this
.
$router
.
push
(
path
);
this
.
$router
.
push
(
path
);
}
else
{
}
else
{
this
.
$message
.
warning
(
'
暂无权限,请联系管理员!
'
);
this
.
$message
.
warning
(
'
暂无
页面
权限,请联系管理员!
'
);
}
}
}
}
},
},
...
...
admin_2/src/pages/system/System.vue
deleted
100644 → 0
View file @
1159c387
<
template
>
<div
class=
"system"
>
<tab-menu-bar></tab-menu-bar>
</div>
</
template
>
<
script
>
import
TabMenuBar
from
'
@/components/TabMenuBar/TabMenuBar.vue
'
;
export
default
{
components
:
{
TabMenuBar
},
data
()
{
return
{
subMenus
:
[]
};
},
computed
:
{},
created
()
{},
methods
:
{}
};
</
script
>
<
style
lang=
"less"
scoped
>
.system {
width: 100%;
height: 100%;
}
</
style
>
admin_2/src/pages/system/menu/Menu.vue
View file @
5387cdbf
...
@@ -108,11 +108,11 @@ export default {
...
@@ -108,11 +108,11 @@ export default {
prop
:
'
name
'
prop
:
'
name
'
// align: "center",
// align: "center",
},
},
{
//
{
label
:
'
ID
'
,
//
label: 'ID',
prop
:
'
id
'
,
//
prop: 'id',
align
:
'
center
'
//
align: 'center'
},
//
},
{
{
label
:
'
图标
'
,
label
:
'
图标
'
,
align
:
'
center
'
,
align
:
'
center
'
,
...
@@ -131,11 +131,11 @@ export default {
...
@@ -131,11 +131,11 @@ export default {
// return this.dict.authType[row.authType];
// return this.dict.authType[row.authType];
// }
// }
// },
// },
{
//
{
label
:
'
父ID
'
,
//
label: '父ID',
prop
:
'
parentId
'
,
//
prop: 'parentId',
align
:
'
center
'
//
align: 'center'
},
//
},
{
{
label
:
'
地址
'
,
label
:
'
地址
'
,
prop
:
'
url
'
,
prop
:
'
url
'
,
...
@@ -146,8 +146,27 @@ export default {
...
@@ -146,8 +146,27 @@ export default {
prop
:
'
menuType
'
,
prop
:
'
menuType
'
,
align
:
'
center
'
,
align
:
'
center
'
,
formatter
:
(
row
)
=>
{
formatter
:
(
row
)
=>
{
return
this
.
dict
.
menuType
[
row
.
menuType
];
if
(
row
.
menuType
===
0
)
{
return
(
<
el
-
tag
size
=
"
small
"
type
=
"
info
"
>
{
this
.
dict
.
menuType
[
row
.
menuType
]}
<
/el-tag
>
);
}
else
if
(
row
.
menuType
===
1
)
{
return
(
<
el
-
tag
size
=
"
small
"
type
=
"
success
"
>
{
this
.
dict
.
menuType
[
row
.
menuType
]}
<
/el-tag
>
);
}
else
if
(
row
.
menuType
===
2
)
{
return
<
el
-
tag
size
=
"
small
"
>
{
this
.
dict
.
menuType
[
row
.
menuType
]}
<
/el-tag>
;
}
}
}
},
{
label
:
'
权限字符
'
,
prop
:
'
perms
'
,
align
:
'
center
'
},
},
{
{
label
:
'
状态
'
,
label
:
'
状态
'
,
...
@@ -175,12 +194,12 @@ export default {
...
@@ -175,12 +194,12 @@ export default {
return
(
return
(
<
div
class
=
"
flex items-center justify-center gap-4
"
>
<
div
class
=
"
flex items-center justify-center gap-4
"
>
<
i
<
i
v
-
hasPermi
=
{[
'
system:menu:
up
'
]}
v
-
hasPermi
=
{[
'
system:menu:
sort
'
]}
class
=
"
el-icon-top primary cursor-pointer
"
class
=
"
el-icon-top primary cursor-pointer
"
onClick
=
{()
=>
this
.
changeMenuSort
(
row
.
id
,
0
)}
onClick
=
{()
=>
this
.
changeMenuSort
(
row
.
id
,
0
)}
><
/i
>
><
/i
>
<
i
<
i
v
-
hasPermi
=
{[
'
system:menu:
down
'
]}
v
-
hasPermi
=
{[
'
system:menu:
sort
'
]}
class
=
"
el-icon-bottom primary cursor-pointer
"
class
=
"
el-icon-bottom primary cursor-pointer
"
onClick
=
{()
=>
this
.
changeMenuSort
(
row
.
id
,
1
)}
onClick
=
{()
=>
this
.
changeMenuSort
(
row
.
id
,
1
)}
><
/i
>
><
/i
>
...
...
admin_2/src/pages/system/menu/components/AddMenu.vue
View file @
5387cdbf
...
@@ -287,7 +287,11 @@ export default {
...
@@ -287,7 +287,11 @@ export default {
if
(
this
.
form
.
resourceType
===
1
)
{
if
(
this
.
form
.
resourceType
===
1
)
{
resourceUrl
=
this
.
form
.
resourceUrl
.
join
(
'
,
'
);
resourceUrl
=
this
.
form
.
resourceUrl
.
join
(
'
,
'
);
}
else
{
}
else
{
resourceUrl
=
this
.
form
.
urls
.
map
((
v
)
=>
v
.
value
).
join
(
'
,
'
);
resourceUrl
=
this
.
form
.
urls
.
map
((
v
)
=>
{
return
v
.
value
.
startsWith
(
'
/
'
)
?
v
.
value
:
'
/
'
+
v
.
value
;
})
.
join
(
'
,
'
);
}
}
this
.
$delete
(
form
,
'
resourceType
'
);
this
.
$delete
(
form
,
'
resourceType
'
);
this
.
$delete
(
form
,
'
urls
'
);
this
.
$delete
(
form
,
'
urls
'
);
...
...
admin_2/src/router/index.js
View file @
5387cdbf
...
@@ -266,7 +266,7 @@ router.beforeEach((to, from, next) => {
...
@@ -266,7 +266,7 @@ router.beforeEach((to, from, next) => {
});
});
// 过滤菜单
// 过滤菜单
function
menusFilter
(
arr
)
{
export
function
menusFilter
(
arr
)
{
let
router
=
arr
.
filter
((
v
)
=>
{
let
router
=
arr
.
filter
((
v
)
=>
{
if
(
!
v
.
hidden
)
{
if
(
!
v
.
hidden
)
{
if
(
v
.
children
)
{
if
(
v
.
children
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment