Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
F
frontend
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
other-project
frontend
Commits
58c4f0e0
Commit
58c4f0e0
authored
Feb 05, 2020
by
liuyang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
角色管理功能完成
parent
f0f909a8
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
52 additions
and
41 deletions
+52
-41
main-sidebar-sub-menu.vue
src/views/main-sidebar-sub-menu.vue
+2
-2
role-add-or-update.vue
src/views/modules/api/sys/role-add-or-update.vue
+29
-20
role.vue
src/views/modules/api/sys/role.vue
+20
-18
user-add-or-update.vue
src/views/modules/api/sys/user-add-or-update.vue
+1
-1
No files found.
src/views/main-sidebar-sub-menu.vue
View file @
58c4f0e0
...
...
@@ -47,8 +47,8 @@
methods
:
{
// 通过menuId与动态(菜单)路由进行匹配跳转至指定路由
gotoRouteHandle
(
menu
)
{
console
.
log
(
menu
)
console
.
log
(
this
.
dynamicMenuRoutes
)
//
console.log(menu)
//
console.log(this.dynamicMenuRoutes)
var
route
=
this
.
dynamicMenuRoutes
.
filter
(
item
=>
item
.
meta
.
menuId
===
menu
.
id
)
if
(
route
.
length
>=
1
)
{
this
.
$router
.
push
({
name
:
route
[
0
].
name
})
...
...
src/views/modules/api/sys/role-add-or-update.vue
View file @
58c4f0e0
...
...
@@ -4,8 +4,8 @@
:close-on-click-modal=
"false"
:visible
.
sync=
"visible"
>
<el-form
:model=
"dataForm"
:rules=
"dataRule"
ref=
"dataForm"
@
keyup
.
enter
.
native=
"dataFormSubmit()"
label-width=
"80px"
>
<el-form-item
label=
"角色名称"
prop=
"
roleN
ame"
>
<el-input
v-model=
"dataForm.
roleN
ame"
placeholder=
"角色名称"
></el-input>
<el-form-item
label=
"角色名称"
prop=
"
n
ame"
>
<el-input
v-model=
"dataForm.
n
ame"
placeholder=
"角色名称"
></el-input>
</el-form-item>
<el-form-item
label=
"备注"
prop=
"remark"
>
<el-input
v-model=
"dataForm.remark"
placeholder=
"备注"
></el-input>
...
...
@@ -14,7 +14,7 @@
<el-tree
:data=
"menuList"
:props=
"menuListTreeProps"
node-key=
"
menuI
d"
node-key=
"
i
d"
ref=
"menuListTree"
:default-expand-all=
"true"
show-checkbox
>
...
...
@@ -41,11 +41,11 @@
},
dataForm
:
{
id
:
0
,
roleN
ame
:
''
,
n
ame
:
''
,
remark
:
''
},
dataRule
:
{
roleN
ame
:
[
n
ame
:
[
{
required
:
true
,
message
:
'角色名称不能为空'
,
trigger
:
'blur'
}
]
},
...
...
@@ -56,11 +56,13 @@
init
(
id
)
{
this
.
dataForm
.
id
=
id
||
0
this
.
$http
({
url
:
this
.
$http
.
adornUrl
(
'/sys/menu/list'
),
url
:
this
.
$http
.
adornUrl
(
'/
api/
sys/menu/list'
),
method
:
'get'
,
params
:
this
.
$http
.
adornParams
()
}).
then
(({
data
})
=>
{
this
.
menuList
=
treeDataTranslate
(
data
,
'menuId'
)
// console.log(data)
this
.
menuList
=
treeDataTranslate
(
data
,
'id'
)
// console.log(this.menuList)
}).
then
(()
=>
{
this
.
visible
=
true
this
.
$nextTick
(()
=>
{
...
...
@@ -70,18 +72,18 @@
}).
then
(()
=>
{
if
(
this
.
dataForm
.
id
)
{
this
.
$http
({
url
:
this
.
$http
.
adornUrl
(
`/sys/role/info/
${
this
.
dataForm
.
id
}
`
),
url
:
this
.
$http
.
adornUrl
(
`/
api/
sys/role/info/
${
this
.
dataForm
.
id
}
`
),
method
:
'get'
,
params
:
this
.
$http
.
adornParams
()
}).
then
(({
data
})
=>
{
if
(
data
&&
data
.
code
===
200
)
{
this
.
dataForm
.
roleName
=
data
.
role
.
roleN
ame
this
.
dataForm
.
remark
=
data
.
r
ole
.
r
emark
var
idx
=
data
.
role
.
menuIdList
.
indexOf
(
this
.
tempKey
)
if
(
data
&&
!
data
.
errorCode
)
{
this
.
dataForm
.
name
=
data
.
n
ame
this
.
dataForm
.
remark
=
data
.
remark
var
idx
=
data
.
menuIdList
.
indexOf
(
this
.
tempKey
)
if
(
idx
!==
-
1
)
{
data
.
role
.
menuIdList
.
splice
(
idx
,
data
.
role
.
menuIdList
.
length
-
idx
)
data
.
menuIdList
.
splice
(
idx
,
data
.
menuIdList
.
length
-
idx
)
}
this
.
$refs
.
menuListTree
.
setCheckedKeys
(
data
.
role
.
menuIdList
)
this
.
$refs
.
menuListTree
.
setCheckedKeys
(
data
.
menuIdList
)
}
})
}
...
...
@@ -91,17 +93,25 @@
dataFormSubmit
()
{
this
.
$refs
[
'dataForm'
].
validate
((
valid
)
=>
{
if
(
valid
)
{
// let checkIds = this.$refs.menuListTree.getCheckedKeys()
// console.log(checkIds)
// let halfIds = this.$refs.menuListTree.getHalfCheckedKeys()
// console.log(halfIds)
// console.log([].concat(this.$refs.menuListTree.getCheckedKeys(), [this.tempKey], this.$refs.menuListTree.getHalfCheckedKeys()))
this
.
$http
({
url
:
this
.
$http
.
adornUrl
(
`/sys/role/
${
!
this
.
dataForm
.
id
?
'save'
:
'update'
}
`
),
url
:
this
.
$http
.
adornUrl
(
`/
api/
sys/role/
${
!
this
.
dataForm
.
id
?
'save'
:
'update'
}
`
),
method
:
'post'
,
data
:
this
.
$http
.
adornData
({
'
roleI
d'
:
this
.
dataForm
.
id
||
undefined
,
'
roleName'
:
this
.
dataForm
.
roleN
ame
,
'
i
d'
:
this
.
dataForm
.
id
||
undefined
,
'
name'
:
this
.
dataForm
.
n
ame
,
'remark'
:
this
.
dataForm
.
remark
,
'menuIdList'
:
[].
concat
(
this
.
$refs
.
menuListTree
.
getCheckedKeys
(),
[
this
.
tempKey
],
this
.
$refs
.
menuListTree
.
getHalfCheckedKeys
())
})
}).
then
(({
data
})
=>
{
if
(
data
&&
data
.
code
===
200
)
{
if
(
data
){
this
.
$message
.
error
(
data
.
msg
)
}
else
{
this
.
$message
({
message
:
'操作成功'
,
type
:
'success'
,
...
...
@@ -111,9 +121,8 @@
this
.
$emit
(
'refreshDataList'
)
}
})
}
else
{
this
.
$message
.
error
(
data
.
msg
)
}
})
}
})
...
...
src/views/modules/api/sys/role.vue
View file @
58c4f0e0
...
...
@@ -2,7 +2,7 @@
<div
class=
"mod-role"
>
<el-form
:inline=
"true"
:model=
"dataForm"
@
keyup
.
enter
.
native=
"getDataList()"
>
<el-form-item>
<el-input
v-model=
"dataForm.
roleN
ame"
placeholder=
"角色名称"
clearable
></el-input>
<el-input
v-model=
"dataForm.
n
ame"
placeholder=
"角色名称"
clearable
></el-input>
</el-form-item>
<el-form-item>
<el-button
@
click=
"getDataList()"
>
查询
</el-button>
...
...
@@ -23,14 +23,14 @@
width=
"50"
>
</el-table-column>
<el-table-column
prop=
"
roleI
d"
prop=
"
i
d"
header-align=
"center"
align=
"center"
width=
"80"
label=
"ID"
>
</el-table-column>
<el-table-column
prop=
"
roleN
ame"
prop=
"
n
ame"
header-align=
"center"
align=
"center"
label=
"角色名称"
>
...
...
@@ -48,8 +48,8 @@
width=
"150"
label=
"操作"
>
<template
slot-scope=
"scope"
>
<el-button
v-if=
"isAuth('sys:role:update')"
type=
"text"
size=
"small"
@
click=
"addOrUpdateHandle(scope.row.
roleI
d)"
>
修改
</el-button>
<el-button
v-if=
"isAuth('sys:role:delete')"
type=
"text"
size=
"small"
@
click=
"deleteHandle(scope.row.
roleI
d)"
>
删除
</el-button>
<el-button
v-if=
"isAuth('sys:role:update')"
type=
"text"
size=
"small"
@
click=
"addOrUpdateHandle(scope.row.
i
d)"
>
修改
</el-button>
<el-button
v-if=
"isAuth('sys:role:delete')"
type=
"text"
size=
"small"
@
click=
"deleteHandle(scope.row.
i
d)"
>
删除
</el-button>
</
template
>
</el-table-column>
</el-table>
...
...
@@ -73,7 +73,7 @@
data
()
{
return
{
dataForm
:
{
roleN
ame
:
''
n
ame
:
''
},
dataList
:
[],
pageIndex
:
1
,
...
...
@@ -95,17 +95,17 @@
getDataList
()
{
this
.
dataListLoading
=
true
this
.
$http
({
url
:
this
.
$http
.
adornUrl
(
'/sys/role/list'
),
url
:
this
.
$http
.
adornUrl
(
'/
api/
sys/role/list'
),
method
:
'get'
,
params
:
this
.
$http
.
adornParams
({
'page'
:
this
.
pageIndex
,
'
limit
'
:
this
.
pageSize
,
'
roleName'
:
this
.
dataForm
.
roleN
ame
'page
Index
'
:
this
.
pageIndex
,
'
pageSize
'
:
this
.
pageSize
,
'
name'
:
this
.
dataForm
.
n
ame
})
}).
then
(({
data
})
=>
{
if
(
data
&&
data
.
code
===
200
)
{
this
.
dataList
=
data
.
page
.
lis
t
this
.
totalCount
=
data
.
page
.
totalCount
if
(
data
&&
!
data
.
errorCode
)
{
this
.
dataList
=
data
.
resul
t
this
.
totalCount
=
data
.
total
}
else
{
this
.
dataList
=
[]
this
.
totalCount
=
0
...
...
@@ -138,7 +138,7 @@
// 删除
deleteHandle
(
id
)
{
var
ids
=
id
?
[
id
]
:
this
.
dataListSelections
.
map
(
item
=>
{
return
item
.
roleI
d
return
item
.
i
d
})
this
.
$confirm
(
`确定对[id=
${
ids
.
join
(
','
)}
]进行[
${
id
?
'删除'
:
'批量删除'
}
]操作?`
,
'提示'
,
{
confirmButtonText
:
'确定'
,
...
...
@@ -146,11 +146,13 @@
type
:
'warning'
}).
then
(()
=>
{
this
.
$http
({
url
:
this
.
$http
.
adornUrl
(
'/sys/role/delete'
),
url
:
this
.
$http
.
adornUrl
(
'/
api/
sys/role/delete'
),
method
:
'post'
,
data
:
this
.
$http
.
adornData
(
ids
,
false
)
}).
then
(({
data
})
=>
{
if
(
data
&&
data
.
code
===
200
)
{
if
(
data
){
this
.
$message
.
error
(
data
.
message
)
}
else
{
this
.
$message
({
message
:
'操作成功'
,
type
:
'success'
,
...
...
@@ -159,9 +161,9 @@
this
.
getDataList
()
}
})
}
else
{
this
.
$message
.
error
(
data
.
msg
)
}
})
}).
catch
(()
=>
{})
}
...
...
src/views/modules/api/sys/user-add-or-update.vue
View file @
58c4f0e0
...
...
@@ -21,7 +21,7 @@
</el-form-item>
<el-form-item
label=
"角色"
size=
"mini"
prop=
"roleIdList"
>
<el-checkbox-group
v-model=
"dataForm.roleIdList"
>
<el-checkbox
v-for=
"role in roleList"
:key=
"role.
roleId"
:label=
"role.roleId"
>
{{
role
.
roleN
ame
}}
</el-checkbox>
<el-checkbox
v-for=
"role in roleList"
:key=
"role.
id"
:label=
"role.id"
>
{{
role
.
n
ame
}}
</el-checkbox>
</el-checkbox-group>
</el-form-item>
<el-form-item
label=
"状态"
size=
"mini"
prop=
"status"
>
...
...
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