Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
F
founder_vue
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
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
常超
founder_vue
Commits
dc4e0d0c
Commit
dc4e0d0c
authored
Nov 16, 2021
by
liyuhang19990520
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
222
parent
e1a91ea5
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
158 additions
and
31 deletions
+158
-31
src/views/SystemManage/RoleManage.vue
+157
-29
src/views/SystemManage/scss/role.scss
+1
-2
No files found.
src/views/SystemManage/RoleManage.vue
View file @
dc4e0d0c
...
@@ -14,7 +14,7 @@
...
@@ -14,7 +14,7 @@
/>
/>
新增角色
新增角色
</div>
</div>
<div
class=
"img-btn"
@
click=
"copy"
>
<div
class=
"img-btn"
@
click=
"copy"
title=
"复制"
>
<img
<img
src=
"../../assets/img/role/copy.png"
src=
"../../assets/img/role/copy.png"
style=
"
style=
"
...
@@ -22,6 +22,7 @@
...
@@ -22,6 +22,7 @@
width: 0.9375rem;
width: 0.9375rem;
margin-left: 0.0625rem;
margin-left: 0.0625rem;
margin-top: 0.25rem;
margin-top: 0.25rem;
cursor: pointer;
"
"
/>
/>
</div>
</div>
...
@@ -123,43 +124,70 @@
...
@@ -123,43 +124,70 @@
<!-- 角色权限菜单列-->
<!-- 角色权限菜单列-->
<div
class=
"menus"
>
<div
class=
"menus"
>
<div
class=
"div3"
>
<div
class=
"div3"
>
<el-checkbox
:label=
"permissionDataList[0].id"
>
<el-checkbox
v-if=
"permissionDataList[0]"
:label=
"permissionDataList[0].id"
>
{{
permissionDataList
[
0
].
name
}}
{{
permissionDataList
[
0
].
name
}}
</el-checkbox>
</el-checkbox>
<el-checkbox
:label=
"permissionDataList[1].id"
>
<el-checkbox
:label=
"permissionDataList[1].id"
v-if=
"permissionDataList[1]"
>
{{
permissionDataList
[
1
].
name
}}
{{
permissionDataList
[
1
].
name
}}
</el-checkbox>
</el-checkbox>
<el-checkbox
:label=
"permissionDataList[2].id"
>
<el-checkbox
:label=
"permissionDataList[2].id"
v-if=
"permissionDataList[2]"
>
{{
permissionDataList
[
2
].
name
}}
{{
permissionDataList
[
2
].
name
}}
</el-checkbox>
</el-checkbox>
</div>
</div>
<div
class=
"div3"
>
<div
class=
"div3"
>
<el-checkbox
:label=
"permissionDataList[3].id"
>
<el-checkbox
:label=
"permissionDataList[3].id"
v-if=
"permissionDataList[3]"
>
{{
permissionDataList
[
3
].
name
}}
{{
permissionDataList
[
3
].
name
}}
</el-checkbox>
</el-checkbox>
</div>
</div>
<div
class=
"div1"
>
<div
class=
"div1"
>
<el-checkbox
:label=
"permissionDataList[4].id"
>
<el-checkbox
:label=
"permissionDataList[4].id"
v-if=
"permissionDataList[4]"
>
{{
permissionDataList
[
4
].
name
}}
{{
permissionDataList
[
4
].
name
}}
</el-checkbox>
</el-checkbox>
</div>
</div>
<div
class=
"div1"
>
<div
class=
"div1"
>
<el-checkbox
:label=
"permissionDataList[5].id"
>
<el-checkbox
:label=
"permissionDataList[5].id"
v-if=
"permissionDataList[5]"
>
{{
permissionDataList
[
5
].
name
}}
{{
permissionDataList
[
5
].
name
}}
</el-checkbox>
</el-checkbox>
</div>
</div>
<div
class=
"div1"
>
<div
class=
"div1"
>
<el-checkbox
:label=
"permissionDataList[6].id"
>
<el-checkbox
:label=
"permissionDataList[6].id"
v-if=
"permissionDataList[6]"
>
{{
permissionDataList
[
6
].
name
}}
{{
permissionDataList
[
6
].
name
}}
</el-checkbox>
</el-checkbox>
</div>
</div>
<div
class=
"div2"
>
<div
class=
"div2"
>
<el-checkbox
:label=
"permissionDataList[7].id"
>
<el-checkbox
:label=
"permissionDataList[7].id"
v-if=
"permissionDataList[7]"
>
{{
permissionDataList
[
7
].
name
}}
{{
permissionDataList
[
7
].
name
}}
</el-checkbox>
</el-checkbox>
</div>
</div>
<div
class=
"div3"
>
<div
class=
"div3"
>
<el-checkbox
:label=
"permissionDataList[8].id"
>
<el-checkbox
:label=
"permissionDataList[8].id"
v-if=
"permissionDataList[8]"
>
{{
permissionDataList
[
8
].
name
}}
{{
permissionDataList
[
8
].
name
}}
</el-checkbox>
</el-checkbox>
</div>
</div>
...
@@ -168,7 +196,8 @@
...
@@ -168,7 +196,8 @@
<div
class=
"div3"
>
<div
class=
"div3"
>
<div
<div
class=
"line"
class=
"line"
v-for=
"item in permissionDataList[0].children"
v-for=
"item in permissionDataList[0] &&
permissionDataList[0].children"
:key=
"item.id"
:key=
"item.id"
>
>
<el-checkbox
:label=
"item.id"
>
{{
item
.
name
}}
</el-checkbox>
<el-checkbox
:label=
"item.id"
>
{{
item
.
name
}}
</el-checkbox>
...
@@ -176,7 +205,8 @@
...
@@ -176,7 +205,8 @@
<br
/>
<br
/>
<div
<div
class=
"line"
class=
"line"
v-for=
"item in permissionDataList[1].children"
v-for=
"item in permissionDataList[1] &&
permissionDataList[1].children"
:key=
"item.id"
:key=
"item.id"
>
>
<el-checkbox
:label=
"item.id"
>
{{
item
.
name
}}
</el-checkbox>
<el-checkbox
:label=
"item.id"
>
{{
item
.
name
}}
</el-checkbox>
...
@@ -184,7 +214,8 @@
...
@@ -184,7 +214,8 @@
<br
/>
<br
/>
<div
<div
class=
"line"
class=
"line"
v-for=
"item in permissionDataList[2].children"
v-for=
"item in permissionDataList[2] &&
permissionDataList[2].children"
:key=
"item.id"
:key=
"item.id"
>
>
<el-checkbox
:label=
"item.id"
>
{{
item
.
name
}}
</el-checkbox>
<el-checkbox
:label=
"item.id"
>
{{
item
.
name
}}
</el-checkbox>
...
@@ -193,7 +224,8 @@
...
@@ -193,7 +224,8 @@
<div
class=
"div3"
>
<div
class=
"div3"
>
<div
<div
class=
"line"
class=
"line"
v-for=
"item in permissionDataList[3].children"
v-for=
"item in permissionDataList[3] &&
permissionDataList[3].children"
:key=
"item.id"
:key=
"item.id"
>
>
<el-checkbox
:label=
"item.id"
>
{{
item
.
name
}}
</el-checkbox>
<el-checkbox
:label=
"item.id"
>
{{
item
.
name
}}
</el-checkbox>
...
@@ -202,7 +234,8 @@
...
@@ -202,7 +234,8 @@
<div
class=
"div1"
>
<div
class=
"div1"
>
<div
<div
class=
"line"
class=
"line"
v-for=
"item in permissionDataList[4].children"
v-for=
"item in permissionDataList[4] &&
permissionDataList[4].children"
:key=
"item.id"
:key=
"item.id"
>
>
<el-checkbox
:label=
"item.id"
>
{{
item
.
name
}}
</el-checkbox>
<el-checkbox
:label=
"item.id"
>
{{
item
.
name
}}
</el-checkbox>
...
@@ -211,7 +244,8 @@
...
@@ -211,7 +244,8 @@
<div
class=
"div1"
>
<div
class=
"div1"
>
<div
<div
class=
"line"
class=
"line"
v-for=
"item in permissionDataList[5].children"
v-for=
"item in permissionDataList[5] &&
permissionDataList[5].children"
:key=
"item.id"
:key=
"item.id"
>
>
<el-checkbox
:label=
"item.id"
>
{{
item
.
name
}}
</el-checkbox>
<el-checkbox
:label=
"item.id"
>
{{
item
.
name
}}
</el-checkbox>
...
@@ -220,7 +254,8 @@
...
@@ -220,7 +254,8 @@
<div
class=
"div1"
>
<div
class=
"div1"
>
<div
<div
class=
"line"
class=
"line"
v-for=
"item in permissionDataList[6].children"
v-for=
"item in permissionDataList[6] &&
permissionDataList[6].children"
:key=
"item.id"
:key=
"item.id"
>
>
<el-checkbox
:label=
"item.id"
>
{{
item
.
name
}}
</el-checkbox>
<el-checkbox
:label=
"item.id"
>
{{
item
.
name
}}
</el-checkbox>
...
@@ -229,7 +264,8 @@
...
@@ -229,7 +264,8 @@
<div
class=
"div2"
>
<div
class=
"div2"
>
<div
<div
class=
"line"
class=
"line"
v-for=
"item in permissionDataList[7].children"
v-for=
"item in permissionDataList[7] &&
permissionDataList[7].children"
:key=
"item.id"
:key=
"item.id"
>
>
<el-checkbox
:label=
"item.id"
>
{{
item
.
name
}}
</el-checkbox>
<el-checkbox
:label=
"item.id"
>
{{
item
.
name
}}
</el-checkbox>
...
@@ -238,7 +274,8 @@
...
@@ -238,7 +274,8 @@
<div
class=
"div3"
>
<div
class=
"div3"
>
<div
<div
class=
"line"
class=
"line"
v-for=
"item in permissionDataList[8].children"
v-for=
"item in permissionDataList[8] &&
permissionDataList[8].children"
:key=
"item.id"
:key=
"item.id"
>
>
<el-checkbox
:label=
"item.id"
>
{{
item
.
name
}}
</el-checkbox>
<el-checkbox
:label=
"item.id"
>
{{
item
.
name
}}
</el-checkbox>
...
@@ -280,6 +317,7 @@ export default {
...
@@ -280,6 +317,7 @@ export default {
editurl
:
require
(
"@/assets/img/edit.png"
),
editurl
:
require
(
"@/assets/img/edit.png"
),
funFlag
:
true
,
funFlag
:
true
,
dataFlag
:
false
,
dataFlag
:
false
,
//选择权限框
checkList
:
[],
checkList
:
[],
roles
:
[],
roles
:
[],
addRoleParams
:
[],
addRoleParams
:
[],
...
@@ -291,12 +329,18 @@ export default {
...
@@ -291,12 +329,18 @@ export default {
roleMenusSelection
:
[],
roleMenusSelection
:
[],
// 自定义的角色组
// 自定义的角色组
diyRoleList
:
[],
diyRoleList
:
[],
//正在选择的角色框样式
diyRoleItemIndex
:
2
,
diyRoleItemIndex
:
2
,
defaultRoleItemIndex
:
2
,
//现在点击的按钮是默认人员还是自加人员
btnType
:
"default"
,
btnType
:
"default"
,
//权限是否不可编辑
disabled
:
true
,
disabled
:
true
,
//删除图标变化开关
delimgBoo
:
false
,
delimgBoo
:
false
,
//删除自己添加的用户时的数组
btnCheckList
:
[],
btnCheckList
:
[],
//手动新添加的用户集合
customAddUser
:
[],
};
};
},
},
methods
:
{
methods
:
{
...
@@ -334,12 +378,82 @@ export default {
...
@@ -334,12 +378,82 @@ export default {
},
},
// 复制
// 复制
copy
()
{
copy
()
{
console
.
info
(
"复制数据"
);
if
(
this
.
customAddUser
.
length
>
0
)
{
this
.
$message
.
warning
(
"请先保存后再进行复制!"
);
return
;
}
this
.
resetEdit
();
let
arr
=
[...
this
.
defaultRoleBtns
,
...
this
.
diyRoleList
];
let
item
=
arr
.
find
((
i
)
=>
i
.
id
==
this
.
diyRoleItemIndex
);
if
(
item
)
{
let
id
=
this
.
diyRoleList
.
length
+
20
+
"copy"
;
var
roleitem
=
{
name
:
item
.
name
+
"_copy"
,
flag
:
false
,
code
:
this
.
diyRoleList
.
length
,
edit
:
true
,
id
,
permissions
:
item
.
permissions
,
};
this
.
diyRoleItemIndex
=
id
;
//加列表
this
.
diyRoleList
.
push
(
roleitem
);
//加添加的人员
this
.
customAddUser
.
push
(
roleitem
);
//加权限
this
.
checkList
=
item
?.
permissions
?.
map
((
i
)
=>
i
.
id
)
||
[];
this
.
btnType
=
"custom"
;
setTimeout
(()
=>
{
this
.
$refs
.
diyRoles
.
scrollTop
=
this
.
$refs
.
diyRoles
.
scrollHeight
;
},
20
);
}
//defaultRoleBtns
// diyRoleList
// this.diyRoleItemIndex
console
.
info
(
item
);
},
},
// 保存
// 保存
save
()
{
save
()
{
this
.
roleMenusSelection
=
this
.
roleMenus
;
let
self
=
this
;
console
.
info
(
"roleMenusSelection===="
,
this
.
roleMenusSelection
);
if
(
this
.
customAddUser
.
length
>
0
)
{
let
name
=
this
.
customAddUser
[
0
].
name
;
let
checkArr
=
this
.
checkList
;
let
params
=
{
name
,
permissionIds
:
checkArr
,
};
let
index
=
this
.
diyRoleList
.
findIndex
((
i
)
=>
i
.
name
==
name
);
if
(
checkArr
.
length
>
0
)
{
let
diyRolePermissions
=
checkArr
.
map
((
i
)
=>
{
return
{
id
:
i
,
};
});
this
.
$set
(
this
.
diyRoleList
[
index
],
"permissions"
,
diyRolePermissions
);
}
this
.
$axios
({
method
:
"post"
,
url
:
"/system/roles"
,
headers
:
{
"Content-Type"
:
"application/json;charset=UTF-8"
,
},
data
:
JSON
.
stringify
(
params
),
}).
then
((
res
)
=>
{
if
(
res
.
data
)
{
self
.
customAddUser
=
[];
self
.
resetEdit
();
setTimeout
(()
=>
{
this
.
$message
.
success
(
"新增角色成功!"
);
},
1500
);
}
else
{
setTimeout
(()
=>
{
this
.
$message
.
success
(
"新增角色失败!"
);
},
1500
);
}
});
}
else
{
this
.
$message
.
warning
(
"请添加用户后保存"
);
}
},
},
// 获取角色列表 和 角色权限列表
// 获取角色列表 和 角色权限列表
search
()
{
search
()
{
...
@@ -393,14 +507,24 @@ export default {
...
@@ -393,14 +507,24 @@ export default {
},
},
// 新增
// 新增
add
()
{
add
()
{
if
(
this
.
customAddUser
.
length
>
0
)
{
this
.
$message
.
warning
(
"请先保存后再进行添加!"
);
return
;
}
this
.
resetEdit
();
this
.
resetEdit
();
let
id
=
this
.
diyRoleList
.
length
+
20
+
"l"
;
var
roleitem
=
{
var
roleitem
=
{
name
:
"自定义"
+
(
this
.
diyRoleList
.
length
+
1
),
name
:
"自定义"
+
(
this
.
diyRoleList
.
length
+
1
),
flag
:
false
,
flag
:
false
,
code
:
this
.
diyRoleList
.
length
,
code
:
this
.
diyRoleList
.
length
,
edit
:
true
,
edit
:
true
,
id
,
};
};
this
.
diyRoleItemIndex
=
id
;
this
.
diyRoleList
.
push
(
roleitem
);
this
.
diyRoleList
.
push
(
roleitem
);
this
.
customAddUser
.
push
(
roleitem
);
this
.
checkList
=
[];
this
.
btnType
=
"custom"
;
setTimeout
(()
=>
{
setTimeout
(()
=>
{
this
.
$refs
.
diyRoles
.
scrollTop
=
this
.
$refs
.
diyRoles
.
scrollHeight
;
this
.
$refs
.
diyRoles
.
scrollTop
=
this
.
$refs
.
diyRoles
.
scrollHeight
;
},
20
);
},
20
);
...
@@ -466,9 +590,6 @@ export default {
...
@@ -466,9 +590,6 @@ export default {
this
.
getPermissionDataLists
();
this
.
getPermissionDataLists
();
},
},
mounted
()
{
mounted
()
{
setTimeout
(()
=>
{
console
.
log
(
66666666
,
this
.
permissionDataList
);
},
2000
);
this
.
funFlag
=
true
;
this
.
funFlag
=
true
;
},
},
};
};
...
@@ -511,7 +632,6 @@ export default {
...
@@ -511,7 +632,6 @@ export default {
color
:
#333333
!important
;
color
:
#333333
!important
;
}
}
.diy-roles
{
.diy-roles
{
position
:
relative
;
position
:
relative
;
padding-top
:
25px
;
padding-top
:
25px
;
padding-left
:
0
!important
;
padding-left
:
0
!important
;
...
@@ -531,10 +651,10 @@ export default {
...
@@ -531,10 +651,10 @@ export default {
height
:
10px
;
height
:
10px
;
}
}
&
::-webkit-scrollbar-thumb
{
&
::-webkit-scrollbar-thumb
{
background
:
rgba
(
0
,
0
,
0
,
0.2
)
background
:
rgba
(
0
,
0
,
0
,
0.2
)
;
}
}
&
::-webkit-scrollbar-track
{
&
::-webkit-scrollbar-track
{
background
:
#
F5F5F
5
;
background
:
#
f5f5f
5
;
}
}
}
}
.chooseItem
{
.chooseItem
{
...
@@ -553,4 +673,12 @@ export default {
...
@@ -553,4 +673,12 @@ export default {
.delWidth
{
.delWidth
{
width
:
170px
!important
;
width
:
170px
!important
;
}
}
.el-checkbox
/
deep
/
{
.is-checked
{
.el-checkbox__inner
{
background-color
:
#055fe7
!important
;
border-color
:
#055fe7
!important
;
}
}
}
</
style
>
</
style
>
src/views/SystemManage/scss/role.scss
View file @
dc4e0d0c
...
@@ -107,10 +107,9 @@
...
@@ -107,10 +107,9 @@
}
}
.diy-edit-title
{
.diy-edit-title
{
width
:
146px
;
width
:
146px
;
height
:
1
9px
;
height
:
1
00%
;
font-size
:
14px
;
font-size
:
14px
;
color
:
#333333
;
color
:
#333333
;
line-height
:
19px
;
}
}
.diy-edit-btn
{
.diy-edit-btn
{
width
:
40px
;
width
:
40px
;
...
...
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