Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
O
op-web-service
Project
Project
Details
Activity
Releases
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
bp
op-web-service
Commits
ba01c124
Commit
ba01c124
authored
Jul 20, 2021
by
lvweichao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update: user & role global components
parent
0b978b91
Changes
16
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
1268 additions
and
1542 deletions
+1268
-1542
index.vue
src/components/Pagination/index.vue
+1
-1
RoleDetail.vue
src/components/Roles/RoleDetail.vue
+174
-0
RoleList.vue
src/components/Roles/RoleList.vue
+475
-0
UserInfoEditModal.vue
src/components/UserList/components/UserInfoEditModal.vue
+65
-34
UserInfoModal.vue
src/components/UserList/components/UserInfoModal.vue
+32
-26
UserInfoNewModal.vue
src/components/UserList/components/UserInfoNewModal.vue
+52
-42
index.vue
src/components/UserList/index.vue
+345
-0
add-role.vue
src/pages/Role/add-role.vue
+0
-316
roleInfo.vue
src/pages/Role/components/roleInfo.vue
+0
-79
manage-role.vue
src/pages/Role/manage-role.vue
+4
-448
role-detail.vue
src/pages/Role/role-detail.vue
+6
-157
user-detail.vue
src/pages/User/user-detail.vue
+0
-83
index.vue
src/pages/User/userList/index.vue
+4
-304
index.js
src/router/index.js
+17
-18
role.js
src/service/role.js
+68
-24
user.js
src/service/user.js
+25
-10
No files found.
src/components/Pagination/index.vue
View file @
ba01c124
...
@@ -24,7 +24,7 @@ export default {
...
@@ -24,7 +24,7 @@ export default {
},
},
data
()
{
data
()
{
return
{
return
{
currentPage
:
5
currentPage
:
1
}
}
},
},
methods
:
{
methods
:
{
...
...
src/components/Roles/RoleDetail.vue
0 → 100644
View file @
ba01c124
<
template
>
<div
class=
"user-detail"
>
<el-page-header
@
back=
"goBack"
content=
"角色详情页面"
>
</el-page-header>
<el-card
class=
"management"
>
<h5
style=
"margin-bottom: 10px"
>
角色信息
</h5>
<el-descriptions
class=
"margin-top"
:column=
"2"
border
>
<el-descriptions-item>
<template
#
label
>
ID
</
template
>
{{ roleId }}
</el-descriptions-item>
<el-descriptions-item>
<
template
#
label
>
角色状态
</
template
>
{{
role_info_detail.role_status == 1
? "正常"
: role_info_detail.role_status == 2
? "禁用"
: "删除"
}}
</el-descriptions-item>
<el-descriptions-item>
<
template
#
label
>
角色名称
</
template
>
{{ role_info_detail.role_name }}
</el-descriptions-item>
<el-descriptions-item>
<
template
#
label
>
创建人账号
</
template
>
{{ role_info_detail.create_user_name }}
</el-descriptions-item>
<el-descriptions-item>
<
template
#
label
>
创建时间
</
template
>
{{ role_info_detail.create_time }}
</el-descriptions-item>
<el-descriptions-item>
<
template
#
label
>
最后修改人账号
</
template
>
{{ role_info_detail.update_user_name }}
</el-descriptions-item>
<el-descriptions-item>
<
template
#
label
>
最后修改时间
</
template
>
{{ role_info_detail.update_time }}
</el-descriptions-item>
</el-descriptions>
<div
class=
"tree"
v-if=
"selectedOptions"
>
<h5
style=
"margin-bottom: 10px"
>
角色范围
</h5>
<div>
<el-cascader
v-model=
"selectedOptions"
:options=
"permissionsAll"
placeholder=
"暂无数据"
disabled
:props=
"props"
style=
"width: 300px"
></el-cascader>
</div>
</div>
<div
v-if=
"role_info_detail.role_account_list.length"
>
<h5
style=
"margin: 10px 0"
>
角色账号
</h5>
<div
class=
"roleList"
>
<div
class=
"role_account_list"
v-for=
"(item, index) in role_info_detail.role_account_list"
:key=
"index"
>
{{ item }}
</div>
</div>
</div>
</el-card>
</div>
</template>
<
script
>
import
{
get_role_info
as
reqGet_role_info
,
getAll_role_list
as
reqGetAll_role_list
}
from
"../../service/role"
;
export
default
{
name
:
"RoleDetail"
,
props
:
[
"appId"
],
data
()
{
return
{
roleId
:
this
.
$route
.
query
.
roleId
,
props
:
{
multiple
:
true
,
//设置为多选
value
:
"id"
,
//value值和哪个值绑定
label
:
"desc"
,
//label值和哪个值绑定
children
:
"sub_permissions"
//children值和哪个值绑定
},
selectedOptions
:
[],
permissionsAll
:
[],
role_info_detail
:
{
//详情非编辑项
role_id
:
""
,
role_name
:
""
,
role_status
:
""
,
update_time
:
""
,
update_user_name
:
""
,
create_time
:
""
,
create_user_name
:
""
,
role_account_list
:
[]
}
};
},
mounted
()
{
this
.
roleId
=
this
.
$route
.
query
.
roleId
;
let
{
email
}
=
this
.
$store
.
state
.
userInfo
;
reqGetAll_role_list
(
email
,
this
.
appId
).
then
(
res
=>
{
this
.
permissionsAll
=
res
.
permissions
;
});
reqGet_role_info
(
this
.
roleId
,
this
.
appId
).
then
(
res
=>
{
const
{
role_name
,
role_status
,
update_time
,
update_user_name
,
create_time
,
create_user_name
,
role_account_list
,
permissions
}
=
res
.
result
;
this
.
role_info_detail
=
{
role_name
,
role_status
,
update_time
,
update_user_name
,
create_time
,
create_user_name
,
role_account_list
};
this
.
editEchoData
(
permissions
);
});
},
methods
:
{
goBack
()
{
this
.
$router
.
back
(
-
1
);
},
//遍历回显值selectedOptions
editEchoData
(
permissions
)
{
let
selectData
=
[];
permissions
.
map
(
item
=>
{
let
one
=
{
id
:
item
.
id
};
if
(
item
.
sub_permissions
)
{
item
.
sub_permissions
.
map
(
info
=>
{
let
selectId
=
[
one
.
id
,
info
.
id
];
selectData
.
push
(
selectId
);
});
}
});
this
.
selectedOptions
=
selectData
;
}
}
};
</
script
>
<
style
lang=
"less"
scoped
>
.user-detail {
margin: 50px;
.role_account_list {
padding: 10px;
color: #909399;
background: #fafafa;
font-weight: 400;
line-height: 1.5;
}
.management {
margin-top: 20px;
}
.roleList {
max-height: 300px;
overflow-y: scroll;
}
.tree {
// border: 1px solid #ebeef5;
margin-top: 20px;
}
}
</
style
>
src/components/Roles/RoleList.vue
0 → 100644
View file @
ba01c124
<
template
>
<el-card
class=
"role_management"
>
<!-- 角色检索区域 -->
<div
class=
"creatRole"
>
<el-form
inline
:model=
"searchForm"
>
<el-form-item
label=
"角色名称"
>
<el-input
v-model=
"searchForm.roleName"
></el-input>
</el-form-item>
<el-form-item
label=
"状态"
>
<el-select
v-model=
"searchForm.roleStatus"
placeholder=
"请选择角色状态"
>
<el-option
label=
"正常"
:value=
"1"
></el-option>
<el-option
label=
"禁用"
:value=
"2"
></el-option>
<el-option
label=
"删除"
:value=
"3"
></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
@
click=
"onSearchSubmit"
>
查询
</el-button>
<el-button
@
click=
"onReset"
>
重置
</el-button>
</el-form-item>
</el-form>
<el-form>
<el-form-item>
<el-button
type=
"primary"
:disabled=
"!permission.get('create')"
@
click=
"onCreateRole"
>
创建角色
</el-button
>
</el-form-item>
</el-form>
</div>
<!-- 角色搜索列表 -->
<el-table
border
:data=
"managementList"
>
<el-table-column
label=
"ID"
width=
"200px"
prop=
"role_id"
align=
"center"
></el-table-column>
<el-table-column
label=
"角色名称"
prop=
"role_name"
align=
"center"
></el-table-column>
<el-table-column
label=
"状态"
width=
"200px"
:formatter=
"hasStatusFormat"
align=
"center"
>
</el-table-column>
<el-table-column
label=
"最后修改日期"
prop=
"update_time"
align=
"center"
></el-table-column>
<el-table-column
label=
"最后修改人账号"
prop=
"update_user_name"
align=
"center"
></el-table-column>
<el-table-column
label=
"操作"
align=
"center"
>
<template
#
default=
"scope"
>
<el-button
:disabled=
"
!permission.get('edit') ||
scope.row.role_status == 2 ||
scope.row.role_status == 3
"
@
click
.
stop=
"handelModify(scope.row)"
type=
"text"
size=
"mini"
>
修改
</el-button
>
<el-button
:disabled=
"!permission.get('delete')"
@
click
.
stop=
"handelDelete(scope.row)"
size=
"mini"
type=
"text"
>
删除
</el-button
>
<el-button
:disabled=
"!permission.get('disable')"
@
click
.
stop=
"handelDisable(scope.row)"
size=
"mini"
type=
"text"
>
禁用
</el-button
>
<el-button
:disabled=
"!permission.get('enable')"
@
click
.
stop=
"handelEnable(scope.row)"
size=
"mini"
type=
"text"
>
启用
</el-button
>
<el-button
@
click
.
stop=
"toRoleDetail(scope.row)"
size=
"mini"
type=
"text"
>
查看详情
</el-button
>
</
template
>
</el-table-column>
</el-table>
<page
:totalNum=
"totalNum"
@
update=
"update"
/>
</el-card>
<el-dialog
:title=
"roleTitle"
v-model=
"dialogVisible"
>
<el-form>
<!-- 新增 -->
<el-form-item
label=
"角色名称"
:label-width=
"formLabelWidth"
>
<el-input
v-model=
"roleName"
autocomplete=
"off"
></el-input>
</el-form-item>
<el-form-item
label=
"角色范围"
:label-width=
"formLabelWidth"
>
<el-cascader
v-model=
"selectedOptions"
:options=
"permissionsAll"
:props=
"props"
style=
"width: 280px"
@
change=
"parentCateChange"
clearable
></el-cascader>
</el-form-item>
</el-form>
<
template
#
footer
>
<span
class=
"dialog-footer"
>
<el-button
@
click=
"dialogVisible = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"confirm"
>
确 定
</el-button>
</span>
</
template
>
</el-dialog>
</template>
<
script
>
import
page
from
"../Pagination"
;
import
{
getRole_list
as
reqGetRole_list
,
getAll_role_list
as
reqGetAll_role_list
,
getUpdate_role
as
reqGetUpdate_role
,
get_role_info
as
reqGet_role_info
,
getDelete_role
as
reqGetDelete_role
,
getAdd_role
as
reqGetAdd_role
}
from
"../../service/role"
;
export
default
{
name
:
"RoleList"
,
props
:
[
"appId"
,
"detailPath"
],
components
:
{
page
},
computed
:
{
permission
()
{
const
modulePermissions
=
this
.
$store
.
getters
.
moduleSubPermissions
(
"role"
)
||
[];
return
new
Map
(
modulePermissions
.
map
(
ele
=>
[
ele
.
name
,
true
]));
}
},
data
()
{
return
{
searchForm
:
{
roleName
:
""
,
roleStatus
:
""
},
formLabelWidth
:
"120px"
,
params
:
{
page
:
1
,
page_size
:
20
},
totalNum
:
null
,
roleTitle
:
""
,
roleName
:
""
,
edit
:
true
,
props
:
{
multiple
:
true
,
//设置为多选
value
:
"id"
,
//value值和哪个值绑定
label
:
"desc"
,
//label值和哪个值绑定
children
:
"sub_permissions"
//children值和哪个值绑定
},
selectedOptions
:
[],
dialogVisible
:
false
,
dialogText
:
""
,
managementList
:
[],
role_info_detail
:
{
//详情非编辑项
role_id
:
""
,
role_name
:
""
},
permissionsAll
:
[],
currenPermissionsUpdate
:
[],
currentRolePrivilege
:
[]
};
},
beforeMount
()
{
this
.
getGetRole_list
();
this
.
getPermissionsAll
();
},
methods
:
{
hasStatusFormat
(
row
)
{
let
statusText
=
[
"正常"
,
"禁用"
,
"删除"
];
return
statusText
[
row
.
role_status
-
1
];
},
onCreateRole
()
{
this
.
roleTitle
=
"新增角色"
;
this
.
getPermissionsAll
();
this
.
edit
=
false
;
this
.
dialogVisible
=
true
;
this
.
roleName
=
""
;
this
.
selectedOptions
=
[];
// this.$router.push({ name: 'AddRole' });
},
toRoleDetail
(
row
)
{
this
.
$router
.
push
({
path
:
this
.
detailPath
,
query
:
{
roleId
:
row
.
role_id
}
});
},
getPermissionsAll
()
{
let
{
email
}
=
this
.
$store
.
state
.
userInfo
;
reqGetAll_role_list
(
email
,
this
.
appId
).
then
(
res
=>
{
this
.
permissionsAll
=
res
.
permissions
;
});
},
//获取角色列表
getGetRole_list
()
{
let
{
page
,
page_size
}
=
this
.
params
;
let
paramsRole_list
=
{
page
,
page_size
,
role_status
:
this
.
searchForm
.
roleStatus
,
role_name
:
this
.
searchForm
.
roleName
};
reqGetRole_list
(
paramsRole_list
,
this
.
appId
).
then
(
res
=>
{
this
.
managementList
=
res
.
result
;
this
.
totalNum
=
res
.
count
;
});
},
//查询
onSearchSubmit
()
{
this
.
getGetRole_list
();
},
//重置
onReset
()
{
(
this
.
searchForm
.
roleName
=
""
),
(
this
.
searchForm
.
roleStatus
=
""
);
this
.
getGetRole_list
();
},
//列表分页
update
(
obj
)
{
Object
.
assign
(
this
.
params
,
obj
);
let
{
page
,
page_size
}
=
this
.
params
;
this
.
getGetRole_list
(
page
,
page_size
);
},
//弹框提示
openBounced
(
type
,
role_id
)
{
this
.
$confirm
(
`
${
this
.
dialogText
}
是否继续?`
,
"提示"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
})
.
then
(()
=>
{
if
(
type
===
"disable"
)
{
this
.
getRole_info_detail
(
"disable"
,
role_id
);
}
else
{
this
.
delete
(
role_id
);
}
})
.
catch
(()
=>
{
this
.
$message
({
type
:
"info"
,
message
:
"已取消"
});
});
},
//删除
delete
(
role_id
)
{
reqGetDelete_role
(
role_id
,
this
.
appId
).
then
(
res
=>
{
if
(
res
.
status
==
"success"
)
this
.
getGetRole_list
();
});
},
//角色详情数据
getRole_info_detail
(
type
,
role_id
)
{
reqGet_role_info
(
role_id
,
this
.
appId
).
then
(
res
=>
{
const
{
role_id
,
role_name
,
permissions
}
=
res
.
result
;
this
.
role_info_detail
=
{
role_id
,
role_name
};
this
.
roleName
=
role_name
;
// this.permissionsUpdate = permissions
let
role_status
;
if
(
type
===
"disable"
)
{
role_status
=
2
;
}
else
if
(
type
===
"enable"
)
{
role_status
=
1
;
}
else
if
(
type
===
"modify"
)
{
this
.
currentRolePrivilege
=
permissions
;
this
.
editEchoData
(
permissions
);
}
else
{
role_status
=
""
;
}
if
(
type
!==
"modify"
)
{
this
.
getUpdate_role
(
role_name
,
role_id
,
role_status
,
permissions
);
}
});
},
//遍历回显值selectedOptions
editEchoData
(
permissions
)
{
let
selectData
=
[];
permissions
.
map
(
item
=>
{
let
one
=
{
id
:
item
.
id
};
if
(
item
.
sub_permissions
)
{
item
.
sub_permissions
.
map
(
info
=>
{
let
selectId
=
[
one
.
id
,
info
.
id
];
selectData
.
push
(
selectId
);
});
}
});
this
.
selectedOptions
=
selectData
;
},
//启用
handelEnable
(
row
)
{
if
(
row
.
role_status
==
1
)
{
this
.
$message
({
type
:
"info"
,
message
:
"该条数据已启用"
});
return
false
;
}
this
.
getRole_info_detail
(
"enable"
,
row
.
role_id
);
},
//禁用
handelDisable
(
row
)
{
if
(
row
.
role_status
==
2
)
{
this
.
$message
({
type
:
"info"
,
message
:
"该条数据已禁用"
});
return
false
;
}
this
.
dialogText
=
"禁用拥有此角色用户将受影响"
;
this
.
openBounced
(
"disable"
,
row
.
role_id
);
},
//编辑列表操作
getUpdate_role
(
role_name
,
role_id
,
role_status
,
permissions
)
{
let
paramsUpdate_role
=
{
role_name
:
role_name
,
role_id
,
role_status
,
permissions
};
reqGetUpdate_role
(
paramsUpdate_role
,
this
.
appId
).
then
(
res
=>
{
if
(
res
.
status
===
"success"
)
{
this
.
dialogVisible
=
false
;
this
.
getGetRole_list
();
}
else
{
this
.
dialogVisible
=
false
;
this
.
$message
({
type
:
"info"
,
message
:
`
${
res
.
reason
}
`
});
}
});
},
//删除
handelDelete
(
row
)
{
this
.
dialogText
=
"删除后不可恢复,拥有此角色用户将受影响"
;
this
.
openBounced
(
"del"
,
row
.
role_id
);
},
//修改
async
handelModify
(
row
)
{
this
.
edit
=
true
;
this
.
roleTitle
=
"修改角色"
;
await
this
.
getPermissionsAll
();
this
.
dialogVisible
=
true
;
this
.
getRole_info_detail
(
"modify"
,
row
.
role_id
);
},
//确认修改
confirm
()
{
let
checkRolePrivilege
=
[];
this
.
edit
?
(
checkRolePrivilege
=
this
.
currentRolePrivilege
)
:
(
checkRolePrivilege
=
this
.
currenPermissionsUpdate
);
if
(
!
(
this
.
roleName
&&
checkRolePrivilege
.
length
>
0
))
{
this
.
$message
({
type
:
"error"
,
message
:
"请完善信息"
});
return
false
;
}
if
(
this
.
edit
)
{
this
.
getEditRole
();
}
else
{
this
.
getAdd_role
();
}
},
//编辑提交的数据
getEditRole
()
{
let
{
role_id
}
=
this
.
role_info_detail
;
let
role_status
=
""
;
this
.
getUpdate_role
(
this
.
roleName
,
role_id
,
role_status
,
this
.
currentRolePrivilege
);
},
//新增角色
getAdd_role
()
{
let
paramsAdd_role
=
{
role_name
:
this
.
roleName
,
permissions
:
this
.
currenPermissionsUpdate
};
reqGetAdd_role
(
paramsAdd_role
,
this
.
appId
).
then
(
res
=>
{
this
.
dialogVisible
=
false
;
if
(
res
.
status
===
"success"
)
{
this
.
getGetRole_list
();
}
else
{
this
.
$message
({
type
:
"info"
,
message
:
`
${
res
.
reason
}
`
});
}
});
},
parentCateChange
(
id
)
{
this
.
getSelectedOptions
(
id
);
},
getSelectedOptions
(
selectedOptions
)
{
let
oldDataRule
=
[];
selectedOptions
.
forEach
(
el
=>
{
let
oldObj
=
{
id
:
el
[
0
],
sub_permissions
:
[]
};
let
btnObj
=
{
id
:
el
[
1
]
};
oldObj
.
sub_permissions
.
push
(
btnObj
);
oldDataRule
.
push
(
oldObj
);
});
let
newData
=
[];
let
newObj
=
{};
oldDataRule
.
forEach
((
el
,
i
)
=>
{
if
(
!
newObj
[
el
.
id
])
{
newData
.
push
(
el
);
newObj
[
el
.
id
]
=
true
;
}
else
{
newData
.
forEach
(
el
=>
{
if
(
el
.
id
===
oldDataRule
[
i
].
id
)
{
el
.
sub_permissions
=
[
...
el
.
sub_permissions
,
...
oldDataRule
[
i
].
sub_permissions
];
}
});
}
});
this
.
currentRolePrivilege
=
newData
;
this
.
currenPermissionsUpdate
=
newData
;
}
}
};
</
script
>
<
style
lang=
"less"
scoped
>
.creatRole {
display: flex;
justify-content: space-between;
}
.role_management {
padding: 20px;
}
.role_management .el-button {
margin: 0 2px;
}
</
style
>
src/
pages/User/u
serList/components/UserInfoEditModal.vue
→
src/
components/U
serList/components/UserInfoEditModal.vue
View file @
ba01c124
...
@@ -3,39 +3,66 @@
...
@@ -3,39 +3,66 @@
<el-dialog
title=
"编辑用户"
v-model=
"modalVisable"
:before-close=
"cancel"
>
<el-dialog
title=
"编辑用户"
v-model=
"modalVisable"
:before-close=
"cancel"
>
<el-form
:model=
"userInfo"
>
<el-form
:model=
"userInfo"
>
<el-form-item
label=
"用户ID"
:label-width=
"formLabelWidth"
>
<el-form-item
label=
"用户ID"
:label-width=
"formLabelWidth"
>
<el-input
class=
"form-val"
v-model=
"userInfo.user_id"
size=
"medium"
disabled
></el-input>
<el-input
class=
"form-val"
v-model=
"userInfo.user_id"
size=
"medium"
disabled
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"状态"
:label-width=
"formLabelWidth"
>
<el-form-item
label=
"状态"
:label-width=
"formLabelWidth"
>
<!--
<el-input
class=
"form-val"
>
{{
data
.
user_status
===
1
?
'启用'
:
'禁用'
}}
</el-input>
-->
<!--
<el-input
class=
"form-val"
>
{{
data
.
user_status
===
1
?
'启用'
:
'禁用'
}}
</el-input>
-->
<el-switch
<el-switch
class=
"form-val"
class=
"form-val"
v-model=
"userInfo.user_status"
v-model=
"userInfo.user_status"
active-value=
'1'
active-value=
"1"
inactive-value=
'2'
inactive-value=
"2"
active-text=
"启用"
active-text=
"启用"
inactive-text=
"禁用"
inactive-text=
"禁用"
>
>
</el-switch>
</el-switch>
</el-form-item>
</el-form-item>
<el-form-item
label=
"姓名"
:label-width=
"formLabelWidth"
>
<el-form-item
label=
"姓名"
:label-width=
"formLabelWidth"
>
<el-input
class=
"form-val"
v-model=
"userInfo.user_name"
disabled
></el-input>
<el-input
class=
"form-val"
v-model=
"userInfo.user_name"
disabled
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"邮箱"
:label-width=
"formLabelWidth"
required
>
<el-form-item
label=
"邮箱"
:label-width=
"formLabelWidth"
required
>
<el-input
class=
"form-val"
v-model=
"userInfo.user_email"
disabled
></el-input>
<el-input
class=
"form-val"
v-model=
"userInfo.user_email"
disabled
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"手机号"
:label-width=
"formLabelWidth"
>
<el-form-item
label=
"手机号"
:label-width=
"formLabelWidth"
>
<el-input
class=
"form-val"
v-model=
"userInfo.user_mobile"
></el-input>
<el-input
class=
"form-val"
v-model=
"userInfo.user_mobile"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"所属组织"
:label-width=
"formLabelWidth"
>
<el-form-item
label=
"所属组织"
:label-width=
"formLabelWidth"
>
<el-input
class=
"form-val"
v-model=
"userInfo.organization"
disabled
></el-input>
<el-input
class=
"form-val"
v-model=
"userInfo.organization"
disabled
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"授权角色信息"
:label-width=
"formLabelWidth"
required
>
<el-form-item
<el-select
v-model=
"userInfo.roles"
multiple
placeholder=
"请选择"
class=
"form-val"
>
label=
"授权角色信息"
:label-width=
"formLabelWidth"
required
>
<el-select
v-model=
"userInfo.roles"
multiple
placeholder=
"请选择"
class=
"form-val"
>
<el-option
<el-option
v-for=
"item in roles"
v-for=
"item in roles"
:key=
"item.role_id"
:key=
"item.role_id"
:label=
"item.role_name"
:label=
"item.role_name"
:value=
"item.role_id"
>
:value=
"item.role_id"
>
</el-option>
</el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
...
@@ -43,8 +70,8 @@
...
@@ -43,8 +70,8 @@
<el-switch
<el-switch
v-model=
"userInfo.is_sensitive_authority"
v-model=
"userInfo.is_sensitive_authority"
class=
"form-val"
class=
"form-val"
active-value=
'1'
active-value=
"1"
inactive-value=
'2'
inactive-value=
"2"
active-text=
"开启"
active-text=
"开启"
inactive-text=
"关闭"
inactive-text=
"关闭"
>
>
...
@@ -63,24 +90,25 @@
...
@@ -63,24 +90,25 @@
<
script
>
<
script
>
import
{
ElMessage
}
from
"element-plus"
;
import
{
ElMessage
}
from
"element-plus"
;
import
{
getRole_list
as
reqGetRoles
}
from
'@/service/role'
;
import
{
getRole_list
as
reqGetRoles
}
from
"@/service/role"
;
export
default
{
export
default
{
name
:
'UserInfoEditModal'
,
name
:
"UserInfoEditModal"
,
props
:
{
props
:
{
data
:
Object
,
data
:
Object
,
visable
:
{
visable
:
{
type
:
Boolean
,
type
:
Boolean
,
default
:
false
default
:
false
}
},
appId
:
String
},
},
data
()
{
data
()
{
return
{
return
{
formLabelWidth
:
'120px'
,
formLabelWidth
:
"120px"
,
userInfo
:
{},
userInfo
:
{},
roles
:
[],
roles
:
[],
modalVisable
:
false
modalVisable
:
false
}
}
;
},
},
watch
:
{
watch
:
{
data
(
val
)
{
data
(
val
)
{
...
@@ -93,28 +121,31 @@ export default {
...
@@ -93,28 +121,31 @@ export default {
this
.
modalVisable
=
val
;
this
.
modalVisable
=
val
;
}
}
},
},
beforeMount
(){
beforeMount
()
{
this
.
getRoles
();
this
.
getRoles
();
},
},
methods
:
{
methods
:
{
async
getRoles
()
{
async
getRoles
()
{
const
{
code
,
result
}
=
await
reqGetRoles
({
page_size
:
2000
,
page
:
1
});
const
{
code
,
result
}
=
await
reqGetRoles
(
{
page_size
:
2000
,
page
:
1
},
this
.
appId
);
if
(
code
!==
0
)
{
if
(
code
!==
0
)
{
ElMessage
.
error
(
"获取角色列表出错!"
);
ElMessage
.
error
(
"获取角色列表出错!"
);
return
return
;
}
}
this
.
roles
=
result
;
this
.
roles
=
result
;
},
},
confirm
()
{
confirm
()
{
const
checkConditions
=
{
const
checkConditions
=
{
user_email
:
{
user_email
:
{
check
:
val
=>
val
.
trim
()
!==
''
,
check
:
val
=>
val
.
trim
()
!==
""
,
tip
:
"请输入邮箱!"
tip
:
"请输入邮箱!"
},
},
roles
:
{
roles
:
{
check
:
val
=>
val
.
length
!==
0
,
check
:
val
=>
val
.
length
!==
0
,
tip
:
"请添加角色!"
tip
:
"请添加角色!"
}
,
}
};
};
const
keys
=
Object
.
keys
(
checkConditions
);
const
keys
=
Object
.
keys
(
checkConditions
);
...
@@ -126,20 +157,20 @@ export default {
...
@@ -126,20 +157,20 @@ export default {
}
}
}
}
this
.
$emit
(
'confirm'
,
this
.
userInfo
);
this
.
$emit
(
"confirm"
,
this
.
userInfo
);
},
},
cancel
()
{
cancel
()
{
this
.
$emit
(
'cancel'
);
this
.
$emit
(
"cancel"
);
}
}
}
,
}
}
}
;
</
script
>
</
script
>
<
style
lang=
"less"
>
<
style
lang=
"less"
>
.form-val {
.form-val {
margin-left: 20px;
margin-left: 20px;
width: 300px;
width: 300px;
}
}
.form-val.el-input {
.form-val.el-input {
width: 80%;
width: 80%;
}
}
</
style
>
</
style
>
\ No newline at end of file
src/
pages/User/u
serList/components/UserInfoModal.vue
→
src/
components/U
serList/components/UserInfoModal.vue
View file @
ba01c124
...
@@ -3,41 +3,47 @@
...
@@ -3,41 +3,47 @@
<el-dialog
:title=
"title"
v-model=
"modalVisable"
:before-close=
"cancel"
>
<el-dialog
:title=
"title"
v-model=
"modalVisable"
:before-close=
"cancel"
>
<el-form
:model=
"data"
>
<el-form
:model=
"data"
>
<el-form-item
label=
"用户ID"
:label-width=
"formLabelWidth"
>
<el-form-item
label=
"用户ID"
:label-width=
"formLabelWidth"
>
<text
class=
"form-val"
>
{{
data
.
user_id
}}
</text>
<text
class=
"form-val"
>
{{
data
.
user_id
}}
</text>
</el-form-item>
</el-form-item>
<el-form-item
label=
"状态"
:label-width=
"formLabelWidth"
>
<el-form-item
label=
"状态"
:label-width=
"formLabelWidth"
>
<text
class=
"form-val"
>
{{
data
.
user_status
==
1
?
'启用'
:
'禁用'
}}
</text>
<text
class=
"form-val"
>
{{
data
.
user_status
==
1
?
"启用"
:
"禁用"
}}
</text>
</el-form-item>
</el-form-item>
<el-form-item
label=
"姓名"
:label-width=
"formLabelWidth"
>
<el-form-item
label=
"姓名"
:label-width=
"formLabelWidth"
>
<text
class=
"form-val"
>
{{
data
.
user_name
}}
</text>
<text
class=
"form-val"
>
{{
data
.
user_name
}}
</text>
</el-form-item>
</el-form-item>
<el-form-item
label=
"账号"
:label-width=
"formLabelWidth"
>
<el-form-item
label=
"账号"
:label-width=
"formLabelWidth"
>
<text
class=
"form-val"
>
{{
data
.
user_email
}}
</text>
<text
class=
"form-val"
>
{{
data
.
user_email
}}
</text>
</el-form-item>
</el-form-item>
<el-form-item
label=
"手机号"
:label-width=
"formLabelWidth"
>
<el-form-item
label=
"手机号"
:label-width=
"formLabelWidth"
>
<text
class=
"form-val"
>
{{
data
.
user_mobile
}}
</text>
<text
class=
"form-val"
>
{{
data
.
user_mobile
}}
</text>
</el-form-item>
</el-form-item>
<el-form-item
label=
"所属组织"
:label-width=
"formLabelWidth"
>
<el-form-item
label=
"所属组织"
:label-width=
"formLabelWidth"
>
<text
class=
"form-val"
>
{{
data
.
organization
}}
</text>
<text
class=
"form-val"
>
{{
data
.
organization
}}
</text>
</el-form-item>
</el-form-item>
<el-form-item
label=
"添加账号人"
:label-width=
"formLabelWidth"
>
<el-form-item
label=
"添加账号人"
:label-width=
"formLabelWidth"
>
<text
class=
"form-val"
>
{{
data
.
create_user_name
}}
</text>
<text
class=
"form-val"
>
{{
data
.
create_user_name
}}
</text>
</el-form-item>
</el-form-item>
<el-form-item
label=
"添加时间"
:label-width=
"formLabelWidth"
>
<el-form-item
label=
"添加时间"
:label-width=
"formLabelWidth"
>
<text
class=
"form-val"
>
{{
data
.
create_time
}}
</text>
<text
class=
"form-val"
>
{{
data
.
create_time
}}
</text>
</el-form-item>
</el-form-item>
<el-form-item
label=
"最后修改人账号"
:label-width=
"formLabelWidth"
>
<el-form-item
label=
"最后修改人账号"
:label-width=
"formLabelWidth"
>
<text
class=
"form-val"
>
{{
data
.
update_user_name
}}
</text>
<text
class=
"form-val"
>
{{
data
.
update_user_name
}}
</text>
</el-form-item>
</el-form-item>
<el-form-item
label=
"最后修改时间"
:label-width=
"formLabelWidth"
>
<el-form-item
label=
"最后修改时间"
:label-width=
"formLabelWidth"
>
<text
class=
"form-val"
>
{{
data
.
update_time
}}
</text>
<text
class=
"form-val"
>
{{
data
.
update_time
}}
</text>
</el-form-item>
</el-form-item>
<el-form-item
label=
"授权角色信息"
:label-width=
"formLabelWidth"
>
<el-form-item
label=
"授权角色信息"
:label-width=
"formLabelWidth"
>
<text
class=
"form-val"
>
{{
data
.
roles
.
map
(
ele
=>
ele
.
role_name
).
join
(
','
)
}}
</text>
<text
class=
"form-val"
>
{{
data
.
roles
.
map
(
ele
=>
ele
.
role_name
).
join
(
","
)
}}
</text>
</el-form-item>
</el-form-item>
<el-form-item
label=
"敏感词权限"
:label-width=
"formLabelWidth"
>
<el-form-item
label=
"敏感词权限"
:label-width=
"formLabelWidth"
>
<text
class=
"form-val"
>
{{
data
.
is_sensitive_authority
===
1
?
'是'
:
'否'
}}
</text>
<text
class=
"form-val"
>
{{
data
.
is_sensitive_authority
===
1
?
"是"
:
"否"
}}
</text>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
</el-dialog>
</el-dialog>
...
@@ -45,27 +51,27 @@
...
@@ -45,27 +51,27 @@
</
template
>
</
template
>
<
script
>
<
script
>
export
default
{
export
default
{
name
:
'UserInfoModal'
,
name
:
"UserInfoModal"
,
props
:
{
props
:
{
mode
:
{
mode
:
{
type
:
String
,
type
:
String
,
default
:
'check'
,
default
:
"check"
},
},
data
:
Object
,
data
:
Object
,
title
:
{
title
:
{
type
:
String
,
type
:
String
,
default
:
"用户信息"
,
default
:
"用户信息"
},
},
visable
:
{
visable
:
{
type
:
Boolean
,
type
:
Boolean
,
default
:
false
default
:
false
}
}
},
},
data
()
{
data
()
{
return
{
return
{
formLabelWidth
:
'180px'
,
formLabelWidth
:
"180px"
,
modalVisable
:
false
,
modalVisable
:
false
}
}
;
},
},
watch
:
{
watch
:
{
visable
(
val
)
{
visable
(
val
)
{
...
@@ -74,13 +80,13 @@ export default {
...
@@ -74,13 +80,13 @@ export default {
},
},
methods
:
{
methods
:
{
cancel
:
function
()
{
cancel
:
function
()
{
this
.
$emit
(
'cancel'
);
this
.
$emit
(
"cancel"
);
}
}
}
,
}
}
}
;
</
script
>
</
script
>
<
style
lang=
"less"
>
<
style
lang=
"less"
>
.form-val {
.form-val {
margin-left: 20px;
margin-left: 20px;
}
}
</
style
>
</
style
>
\ No newline at end of file
src/
pages/User/u
serList/components/UserInfoNewModal.vue
→
src/
components/U
serList/components/UserInfoNewModal.vue
View file @
ba01c124
...
@@ -7,8 +7,8 @@
...
@@ -7,8 +7,8 @@
<el-switch
<el-switch
class=
"form-val"
class=
"form-val"
v-model=
"userInfo.user_status"
v-model=
"userInfo.user_status"
active-value=
'1'
active-value=
"1"
inactive-value=
'2'
inactive-value=
"2"
active-text=
"启用"
active-text=
"启用"
inactive-text=
"禁用"
inactive-text=
"禁用"
>
>
...
@@ -27,12 +27,18 @@
...
@@ -27,12 +27,18 @@
<el-input
class=
"form-val"
v-model=
"userInfo.organization"
></el-input>
<el-input
class=
"form-val"
v-model=
"userInfo.organization"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"授权角色"
:label-width=
"formLabelWidth"
required
>
<el-form-item
label=
"授权角色"
:label-width=
"formLabelWidth"
required
>
<el-select
v-model=
"userInfo.roles"
multiple
placeholder=
"请选择"
class=
"form-val"
>
<el-select
v-model=
"userInfo.roles"
multiple
placeholder=
"请选择"
class=
"form-val"
>
<el-option
<el-option
v-for=
"item in roles"
v-for=
"item in roles"
:key=
"item.role_id"
:key=
"item.role_id"
:label=
"item.role_name"
:label=
"item.role_name"
:value=
"item.role_id"
>
:value=
"item.role_id"
>
</el-option>
</el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
...
@@ -40,8 +46,8 @@
...
@@ -40,8 +46,8 @@
<el-switch
<el-switch
v-model=
"userInfo.is_sensitive_authority"
v-model=
"userInfo.is_sensitive_authority"
class=
"form-val"
class=
"form-val"
active-value=
'1'
active-value=
"1"
inactive-value=
'2'
inactive-value=
"2"
active-text=
"开启"
active-text=
"开启"
inactive-text=
"关闭"
inactive-text=
"关闭"
>
>
...
@@ -60,70 +66,74 @@
...
@@ -60,70 +66,74 @@
<
script
>
<
script
>
import
{
ElMessage
}
from
"element-plus"
;
import
{
ElMessage
}
from
"element-plus"
;
import
{
getRole_list
as
reqGetRoles
}
from
'@/service/role'
;
import
{
getRole_list
as
reqGetRoles
}
from
"@/service/role"
;
export
default
{
export
default
{
name
:
'UserInfoEditModal'
,
name
:
"UserInfoEditModal"
,
props
:
{
props
:
{
visable
:
{
visable
:
{
type
:
Boolean
,
type
:
Boolean
,
default
:
false
default
:
false
}
},
appId
:
String
},
},
data
()
{
data
()
{
return
{
return
{
formLabelWidth
:
'120px'
,
formLabelWidth
:
"120px"
,
userInfo
:
{
userInfo
:
{
user_name
:
''
,
user_name
:
""
,
user_email
:
''
,
user_email
:
""
,
is_sensitive_authority
:
'0'
,
is_sensitive_authority
:
"0"
,
user_mobile
:
''
,
user_mobile
:
""
,
roles
:
[],
roles
:
[],
user_status
:
'1'
,
user_status
:
"1"
,
organization
:
''
,
organization
:
""
},
},
roles
:
[],
roles
:
[],
modalVisable
:
false
,
modalVisable
:
false
}
}
;
},
},
watch
:
{
watch
:
{
visable
(
val
)
{
visable
(
val
)
{
this
.
modalVisable
=
val
;
this
.
modalVisable
=
val
;
if
(
val
)
{
if
(
val
)
{
this
.
userInfo
=
{
this
.
userInfo
=
{
user_name
:
''
,
user_name
:
""
,
user_email
:
''
,
user_email
:
""
,
is_sensitive_authority
:
'0'
,
is_sensitive_authority
:
"0"
,
user_mobile
:
''
,
user_mobile
:
""
,
roles
:
[],
roles
:
[],
user_status
:
'1'
,
user_status
:
"1"
,
organization
:
''
,
organization
:
""
};
};
}
}
}
}
},
},
beforeMount
(){
beforeMount
()
{
this
.
getRoles
();
this
.
getRoles
();
},
},
methods
:
{
methods
:
{
async
getRoles
()
{
async
getRoles
()
{
const
{
code
,
result
}
=
await
reqGetRoles
({
page_size
:
2000
,
page
:
1
});
const
{
code
,
result
}
=
await
reqGetRoles
(
{
page_size
:
2000
,
page
:
1
},
this
.
appId
);
if
(
code
!==
0
)
{
if
(
code
!==
0
)
{
ElMessage
.
error
(
"获取角色列表出错!"
);
ElMessage
.
error
(
"获取角色列表出错!"
);
return
return
;
}
}
this
.
roles
=
result
;
this
.
roles
=
result
;
},
},
confirm
()
{
confirm
()
{
const
checkConditions
=
{
const
checkConditions
=
{
user_email
:
{
user_email
:
{
check
:
val
=>
val
.
trim
()
!==
''
,
check
:
val
=>
val
.
trim
()
!==
""
,
tip
:
"请输入邮箱!"
tip
:
"请输入邮箱!"
},
},
roles
:
{
roles
:
{
check
:
val
=>
val
.
length
!==
0
,
check
:
val
=>
val
.
length
!==
0
,
tip
:
"请添加角色!"
tip
:
"请添加角色!"
}
,
}
};
};
const
keys
=
Object
.
keys
(
checkConditions
);
const
keys
=
Object
.
keys
(
checkConditions
);
...
@@ -135,20 +145,20 @@ export default {
...
@@ -135,20 +145,20 @@ export default {
}
}
}
}
this
.
$emit
(
'confirm'
,
this
.
userInfo
);
this
.
$emit
(
"confirm"
,
this
.
userInfo
);
},
},
cancel
()
{
cancel
()
{
this
.
$emit
(
'cancel'
);
this
.
$emit
(
"cancel"
);
}
}
}
,
}
}
}
;
</
script
>
</
script
>
<
style
lang=
"less"
>
<
style
lang=
"less"
>
.form-val {
.form-val {
margin-left: 20px;
margin-left: 20px;
width: 300px;
width: 300px;
}
}
.form-val.el-input {
.form-val.el-input {
width: 80%;
width: 80%;
}
}
</
style
>
</
style
>
\ No newline at end of file
src/components/UserList/index.vue
0 → 100644
View file @
ba01c124
<
template
>
<div
class=
"user"
>
<el-form
:inline=
"true"
:model=
"pageParams"
class=
"demo-form-inline"
>
<el-form-item
label=
"用户姓名"
>
<el-input
maxlength=
"15"
v-model=
"pageParams.user_name"
placeholder=
"用户姓名"
></el-input>
</el-form-item>
<el-form-item
label=
"用户账号"
>
<el-input
v-model=
"pageParams.user_email"
placeholder=
"用户账号"
></el-input>
</el-form-item>
<el-form-item
label=
"手机号"
>
<el-input
v-model=
"pageParams.user_mobile"
placeholder=
"手机号"
></el-input>
</el-form-item>
<el-form-item
label=
"状态"
>
<el-select
v-model=
"pageParams.user_status"
placeholder=
"状态"
>
<el-option
value=
"1"
label=
"启用"
></el-option>
<el-option
value=
"2"
label=
"禁用"
></el-option>
</el-select>
</el-form-item>
<el-form-item
class=
"func-btn"
>
<el-button
type=
"primary"
@
click=
"getUserList"
>
查询
</el-button>
<el-button
@
click=
"onReset"
>
重置
</el-button>
<el-button
@
click=
"createUser"
:disabled=
"!permission.get('create')"
>
新建用户
</el-button
>
</el-form-item>
</el-form>
<el-table
:data=
"renderUserList"
border
style=
"width: 100%"
>
<el-table-column
prop=
"user_id"
label=
"用户ID"
width=
"70"
>
</el-table-column>
<el-table-column
prop=
"user_name"
label=
"用户姓名"
>
</el-table-column>
<el-table-column
prop=
"user_email"
label=
"用户账号"
>
</el-table-column>
<el-table-column
prop=
"user_status"
label=
"状态"
>
</el-table-column>
<el-table-column
prop=
"user_mobile"
label=
"手机号"
>
</el-table-column>
<el-table-column
prop=
"update_time"
label=
"最后修改日期"
>
</el-table-column>
<el-table-column
prop=
"update_user_name"
label=
"最后修改人账号"
>
</el-table-column>
<el-table-column
fixed=
"right"
label=
"操作"
width=
"140"
>
<template
#
default=
"scope"
>
<el-button
type=
"text"
size=
"small"
@
click=
"checkUser(scope.row)"
>
查看
</el-button
>
<el-button
@
click=
"editUser(scope.row)"
type=
"text"
size=
"small"
:disabled=
"!permission.get('edit')"
>
修改
</el-button
>
<el-button
v-if=
"scope.row.user_status === '启用'"
type=
"text"
size=
"small"
@
click=
"disableUser(scope.row)"
:disabled=
"!permission.get('enable')"
>
禁用
</el-button
>
<el-button
v-if=
"scope.row.user_status === '禁用'"
type=
"text"
size=
"small"
@
click=
"enableUser(scope.row)"
:disabled=
"!permission.get('disable')"
>
启用
</el-button
>
</
template
>
</el-table-column>
</el-table>
<page
:totalNum=
"totalNum"
:pageSize=
"pageParams.size"
@
update=
"updatePage"
/>
</div>
<user-info-modal
:data=
"curUserInfo"
:visable=
"modalVisable.info"
@
cancel=
"cancelModal('info')"
:appId=
"appId"
></user-info-modal>
<user-info-edit-modal
:data=
"curUserInfo"
:visable=
"modalVisable.edit"
@
confirm=
"confirmEditModal"
@
cancel=
"cancelModal('edit')"
:appId=
"appId"
></user-info-edit-modal>
<user-info-new-modal
:visable=
"modalVisable.new"
@
confirm=
"confirmEditModal"
@
cancel=
"cancelModal('new')"
:appId=
"appId"
></user-info-new-modal>
</template>
<
script
>
import
page
from
"@/components/Pagination"
;
import
UserInfoModal
from
"./components/UserInfoModal"
;
import
UserInfoEditModal
from
"./components/UserInfoEditModal"
;
import
UserInfoNewModal
from
"./components/UserInfoNewModal"
;
import
{
ElMessage
}
from
"element-plus"
;
import
{
getUserList
as
reqGetUserList
,
getUserDetail
as
reqGetUserDetail
,
editUser
as
reqEditUser
,
createUser
as
reqCreateUser
}
from
"@/service/user"
;
export
default
{
name
:
"UserList"
,
props
:
[
"appId"
],
components
:
{
page
,
UserInfoModal
,
UserInfoEditModal
,
UserInfoNewModal
},
data
()
{
return
{
pageParams
:
{
appid
:
this
.
appId
,
page
:
1
,
size
:
20
,
user_name
:
""
,
user_email
:
""
,
user_mobile
:
""
,
user_status
:
""
},
totalNum
:
0
,
userList
:
[],
curUserInfo
:
{},
modalVisable
:
{
info
:
false
,
edit
:
false
,
new
:
false
},
curOperateMode
:
"new"
};
},
computed
:
{
permission
()
{
const
modulePermissions
=
this
.
$store
.
getters
.
moduleSubPermissions
(
"user"
)
||
[];
console
.
log
(
"Current page func-permissions:"
,
modulePermissions
);
return
new
Map
(
modulePermissions
.
map
(
ele
=>
[
ele
.
name
,
true
]));
},
renderUserList
()
{
const
statusMap
=
new
Map
([
[
1
,
"启用"
],
[
2
,
"禁用"
],
[
3
,
"删除"
]
]);
return
this
.
userList
.
map
(
ele
=>
{
ele
.
user_status
=
statusMap
.
get
(
ele
.
user_status
);
return
ele
;
});
}
},
beforeMount
()
{
this
.
getUserList
();
},
methods
:
{
async
getUserList
()
{
const
{
code
,
result
}
=
await
reqGetUserList
(
this
.
pageParams
);
if
(
code
!==
0
)
{
ElMessage
.
error
(
"获取用户列表出错!"
);
return
;
}
const
{
data
,
count
}
=
result
;
this
.
totalNum
=
count
;
this
.
userList
=
data
;
},
async
setCurUserInfo
(
user_id
)
{
const
{
code
,
result
}
=
await
reqGetUserDetail
({
appid
:
this
.
appId
,
user_id
});
if
(
code
===
0
)
{
this
.
curUserInfo
=
{
...
result
.
user_info
,
roles
:
result
.
role_list
};
}
else
{
ElMessage
.
error
(
"获取用户信息出错!"
);
}
},
async
checkUser
(
row
)
{
const
{
user_id
}
=
row
;
await
this
.
setCurUserInfo
(
user_id
);
this
.
openModal
(
"info"
);
},
async
editUser
(
row
)
{
const
{
user_id
}
=
row
;
await
this
.
setCurUserInfo
(
user_id
);
// this.openModal('edit');
this
.
modalVisable
.
edit
=
true
;
this
.
curOperateMode
=
"edit"
;
},
openModal
(
key
)
{
Object
.
keys
(
this
.
modalVisable
).
forEach
(
ele
=>
{
this
.
modalVisable
[
ele
]
=
key
===
ele
;
});
},
async
confirmEditModal
(
userInfo
)
{
const
{
user_id
,
user_name
,
user_email
,
is_sensitive_authority
,
user_mobile
,
roles
,
user_status
,
organization
}
=
userInfo
;
let
res
=
{};
if
(
this
.
curOperateMode
===
"edit"
)
{
const
editData
=
{
user_id
,
user_name
,
user_email
,
is_sensitive_authority
:
parseInt
(
is_sensitive_authority
),
user_mobile
,
role_id
:
roles
,
user_status
:
parseInt
(
user_status
)
};
res
=
await
reqEditUser
(
editData
,
this
.
appId
);
}
else
if
(
this
.
curOperateMode
===
"new"
)
{
const
newData
=
{
user_name
,
user_email
,
is_sensitive_authority
:
parseInt
(
is_sensitive_authority
),
user_mobile
,
role_id
:
roles
,
user_status
:
parseInt
(
user_status
),
organization
};
res
=
await
reqCreateUser
(
newData
,
this
.
appId
);
}
if
(
res
.
code
===
0
)
{
this
.
cancelModal
(
this
.
curOperateMode
);
ElMessage
.
success
(
"更新成功!"
);
this
.
getUserList
();
}
else
{
ElMessage
.
error
(
res
.
reason
);
}
},
cancelModal
(
name
)
{
this
.
modalVisable
[
name
]
=
false
;
},
createUser
()
{
this
.
curOperateMode
=
"new"
;
this
.
openModal
(
"new"
);
},
//重置
onReset
()
{
this
.
pageParams
=
{
page
:
1
,
pageSize
:
20
,
user_name
:
""
,
user_email
:
""
,
user_mobile
:
""
,
user_status
:
""
};
this
.
getUserList
();
},
updatePage
({
page
,
pageSize
})
{
page
&&
(
this
.
pageParams
.
page
=
page
);
pageSize
&&
(
this
.
pageParams
.
pageSize
=
pageSize
);
this
.
getUserList
();
},
async
enableUser
(
row
)
{
const
{
user_id
}
=
row
;
const
{
code
,
reason
}
=
await
reqEditUser
(
{
user_status
:
1
,
user_id
},
this
.
appId
);
if
(
code
===
0
)
{
ElMessage
.
success
(
"启用成功!"
);
this
.
getUserList
();
}
else
{
ElMessage
.
error
(
reason
);
}
},
async
disableUser
(
row
)
{
const
{
user_id
}
=
row
;
const
{
code
,
reason
}
=
await
reqEditUser
(
{
user_status
:
2
,
user_id
},
this
.
appId
);
if
(
code
===
0
)
{
ElMessage
.
success
(
"禁用成功!"
);
this
.
getUserList
();
}
else
{
ElMessage
.
error
(
reason
);
}
}
}
};
</
script
>
<
style
lang=
"less"
scoped
>
.user {
padding: 50px;
.search_life {
width: 280px;
}
.func-btn {
float: right;
}
}
</
style
>
src/pages/Role/add-role.vue
deleted
100644 → 0
View file @
0b978b91
<
template
>
<div>
<div
class=
"addRole"
>
<el-page-header
class=
"back"
@
back=
"goBack"
content=
"角色创建页面"
>
</el-page-header>
<el-button
type=
"primary"
@
click=
"newAddRole"
>
新增
</el-button>
<!-- 角色列表 -->
<el-table
:data=
"roleDataList"
style=
"width: 100%; margin-top: 10px"
:header-cell-style=
"
{ background: '#e1e4e5', color: '#80878f' }"
border
>
<el-table-column
prop=
"role_name"
label=
"角色名称"
width=
"180"
>
</el-table-column>
<el-table-column
prop=
"role_range"
label=
"角色范围"
>
</el-table-column>
<el-table-column
label=
"操作"
>
<template
#
default=
"scope"
>
<el-button
size=
"mini"
type=
"primary"
@
click
.
stop=
"handleModify(scope.$index, scope.row)"
>
修改
</el-button
>
<el-button
size=
"mini"
type=
"primary"
@
click
.
stop=
"toRoleDetail(scope.row)"
>
查看详情
</el-button
>
</
template
>
</el-table-column>
</el-table>
<!-- 弹框 -->
<el-dialog
:title=
"roleTitle"
v-model=
"dialogFormVisible"
>
<el-form>
<!-- 编辑 -->
<div
v-if=
"edit"
>
<roleInfo
:role_info_detail=
"role_info_detail"
/>
</div>
<!-- 新增 -->
<el-form-item
label=
"角色名称"
:label-width=
"formLabelWidth"
>
<el-input
v-model=
"roleName"
autocomplete=
"off"
></el-input>
</el-form-item>
<el-form-item
label=
"角色范围"
:label-width=
"formLabelWidth"
>
<el-cascader
v-model=
"selectedOptions"
:options=
"permissionsAll"
:props=
"props"
@
change=
"parentCateChange"
clearable
style=
"width: 280px"
></el-cascader>
</el-form-item>
</el-form>
<
template
#
footer
>
<span
class=
"dialog-footer"
>
<el-button
@
click=
"dialogFormVisible = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"confirmRole(edit)"
>
确 定
</el-button
>
</span>
</
template
>
</el-dialog>
<page
:totalNum=
"totalNum"
@
update=
"update"
/>
</div>
</div>
</template>
<
script
>
import
page
from
"../components/Pagination"
import
roleInfo
from
'./components/roleInfo'
import
{
getRole_list
as
reqGetRole_list
,
getAdd_role
as
reqGetAdd_role
,
getAll_role_list
as
reqGetAll_role_list
,
getUpdate_role
as
reqGetUpdate_role
,
get_role_info
as
reqGet_role_info
}
from
"../../service/role"
;
import
{
ElMessage
}
from
'element-plus'
export
default
{
name
:
'KeepaddRole'
,
components
:
{
page
,
roleInfo
},
data
()
{
return
{
parmas
:
{
page
:
1
,
page_size
:
20
},
user_info
:
{
name
:
"jianghaiming"
,
email
:
"jianghaiming@126.com"
},
roleDataList
:
[],
totalNum
:
null
,
edit
:
false
,
dialogFormVisible
:
false
,
roleName
:
''
,
roleTitle
:
''
,
props
:
{
multiple
:
true
,
value
:
'id'
,
//value值
label
:
'desc'
,
//label值
children
:
'sub_permissions'
//children值
},
formLabelWidth
:
'120px'
,
selectedOptions
:
[],
//选中权限类型
currentRolePrivilege
:
[],
role_info_detail
:
{
//详情非编辑项
role_id
:
""
,
role_name
:
""
,
role_status
:
""
,
update_time
:
""
,
update_user_name
:
""
,
create_time
:
""
,
create_user_name
:
""
,
role_account_list
:
[]
},
permissionsAll
:
[],
//所有权限列表
permissionsUpdate
:
[],
//选中权限
}
},
created
()
{
this
.
getGetRole_list
()
this
.
getPermissionsAll
()
},
methods
:
{
toRoleDetail
(
row
)
{
this
.
$router
.
push
({
name
:
'RoleDetail'
,
query
:
{
roleId
:
row
.
role_id
}
});
},
goBack
()
{
this
.
$router
.
go
(
-
1
)
},
getPermissionsAll
()
{
// this.user_info = this.$store.state.userInfo
let
{
email
}
=
this
.
$store
.
state
.
userInfo
reqGetAll_role_list
(
email
).
then
(
res
=>
{
this
.
permissionsAll
=
res
})
},
newAddRole
()
{
this
.
dialogFormVisible
=
true
this
.
roleTitle
=
'新增角色'
this
.
edit
=
false
this
.
roleName
=
""
this
.
selectedOptions
=
[]
},
//获取角色列表
getGetRole_list
()
{
let
{
page
,
page_size
}
=
this
.
parmas
let
parmasRole_list
=
{
page
,
page_size
,
}
reqGetRole_list
(
parmasRole_list
).
then
(
res
=>
{
this
.
roleDataList
=
res
.
result
this
.
totalNum
=
res
.
count
})
},
//列表分页
update
(
obj
)
{
Object
.
assign
(
this
.
parmas
,
obj
)
let
{
page
,
page_size
}
=
this
.
parmas
this
.
getGetRole_list
(
page
,
page_size
)
},
//新增角色
getAdd_role
()
{
if
(
!
this
.
roleName
||
!
this
.
currentRolePrivilege
.
length
)
{
this
.
checkFn
()
return
false
}
let
parmasAdd_role
=
{
role_name
:
this
.
roleName
,
permissions
:
this
.
currentRolePrivilege
}
reqGetAdd_role
(
parmasAdd_role
).
then
(
res
=>
{
this
.
dialogFormVisible
=
false
if
(
res
.
status
===
"success"
)
{
this
.
getGetRole_list
()
}
else
{
this
.
$message
({
type
:
'info'
,
message
:
`
${
res
.
reason
}
`
});
}
})
},
checkFn
()
{
ElMessage
({
showClose
:
true
,
message
:
'请完善填写信息'
,
type
:
'error'
});
},
//修改
handleModify
(
index
,
row
)
{
this
.
getRole_info_detail
(
row
.
role_id
)
this
.
edit
=
true
this
.
roleTitle
=
'角色修改'
this
.
dialogFormVisible
=
true
},
//角色详情数据
getRole_info_detail
(
role_id
)
{
reqGet_role_info
(
role_id
).
then
(
res
=>
{
const
{
role_id
,
role_name
,
role_status
,
update_time
,
update_user_name
,
create_time
,
create_user_name
,
permissions
,
role_account_list
}
=
res
this
.
role_info_detail
=
{
role_id
,
role_name
,
role_status
,
update_time
,
update_user_name
,
create_time
,
create_user_name
,
role_account_list
}
this
.
roleName
=
role_name
this
.
permissionsUpdate
=
permissions
this
.
editEchoData
(
permissions
)
})
},
//遍历回显值selectedOptions
editEchoData
(
permissions
)
{
let
selectData
=
[]
permissions
.
map
(
item
=>
{
let
one
=
{
id
:
item
.
id
}
if
(
item
.
sub_permissions
)
{
item
.
sub_permissions
.
map
(
info
=>
{
let
selectId
=
[
one
.
id
,
info
.
id
]
selectData
.
push
(
selectId
)
})
}
})
this
.
selectedOptions
=
selectData
},
//编辑角色
getUpdate_role
()
{
if
(
!
this
.
roleName
||
!
this
.
permissionsUpdate
.
length
)
{
this
.
checkFn
()
return
false
}
let
{
role_id
,
role_status
}
=
this
.
role_info_detail
let
parmasUpdate_role
=
{
role_name
:
this
.
roleName
,
role_id
,
role_status
,
permissions
:
this
.
permissionsUpdate
}
reqGetUpdate_role
(
parmasUpdate_role
).
then
(
res
=>
{
if
(
res
.
status
===
"success"
)
{
this
.
dialogFormVisible
=
false
this
.
edit
=
true
this
.
getGetRole_list
()
}
else
{
this
.
dialogFormVisible
=
false
this
.
$message
({
type
:
'info'
,
message
:
`
${
res
.
reason
}
`
});
}
})
},
//确定
confirmRole
(
edit
)
{
if
(
edit
)
{
this
.
getUpdate_role
()
}
else
{
this
.
getAdd_role
()
}
},
parentCateChange
(
id
)
{
this
.
getSelectedOptions
(
id
)
},
getSelectedOptions
(
selectedOptions
)
{
let
oldDataRule
=
[]
selectedOptions
.
forEach
(
el
=>
{
let
oldObj
=
{
id
:
el
[
0
],
sub_permissions
:
[]
}
let
btnObj
=
{
id
:
el
[
1
],
}
oldObj
.
sub_permissions
.
push
(
btnObj
)
oldDataRule
.
push
(
oldObj
)
})
let
newData
=
[]
let
newObj
=
{}
oldDataRule
.
forEach
((
el
,
i
)
=>
{
if
(
!
newObj
[
el
.
id
])
{
newData
.
push
(
el
);
newObj
[
el
.
id
]
=
true
;
}
else
{
newData
.
forEach
(
el
=>
{
if
(
el
.
id
===
oldDataRule
[
i
].
id
)
{
el
.
sub_permissions
=
[...
el
.
sub_permissions
,
...
oldDataRule
[
i
].
sub_permissions
];
}
})
}
})
this
.
currentRolePrivilege
=
newData
this
.
permissionsUpdate
=
newData
},
}
}
</
script
>
<
style
lang=
"less"
scoped
>
.addRole {
margin: 50px;
.back {
margin: 20px 0;
}
}
</
style
>
\ No newline at end of file
src/pages/Role/components/roleInfo.vue
deleted
100644 → 0
View file @
0b978b91
<
template
>
<div>
<el-form-item
label=
"状态"
:label-width=
"formLabelWidth"
prop=
"pass"
>
<el-input
disabled
v-model=
"role_status"
></el-input>
</el-form-item>
<el-form-item
label=
"ID"
:label-width=
"formLabelWidth"
prop=
"pass"
>
<el-input
disabled
v-model=
"loaclRole_info.role_id"
></el-input>
</el-form-item>
<el-form-item
label=
"创建人账号"
:label-width=
"formLabelWidth"
>
<el-input
disabled
v-model=
"loaclRole_info.create_user_name"
></el-input>
</el-form-item>
<el-form-item
label=
"创建时间"
:label-width=
"formLabelWidth"
>
<el-input
disabled
v-model=
"loaclRole_info.create_time"
></el-input>
</el-form-item>
<el-form-item
label=
"最后修改人账号"
:label-width=
"formLabelWidth"
>
<el-input
disabled
v-model=
"loaclRole_info.update_user_name"
></el-input>
</el-form-item>
<el-form-item
label=
"最后修改时间"
:label-width=
"formLabelWidth"
>
<el-input
disabled
v-model=
"loaclRole_info.update_time"
></el-input>
</el-form-item>
<div
class=
"loaclRole_info"
v-if=
"isShowRole_account"
>
<p
class=
"titleRole"
>
角色拥有账号
</p>
<div
class=
"roleList"
>
<div
class=
"role_account_list"
v-for=
"(item, index) in loaclRole_info.role_account_list"
:key=
"index"
>
{{
item
}}
</div>
</div>
</div>
</div>
</
template
>
<
script
>
export
default
{
props
:
[
"role_info_detail"
],
watch
:
{
role_info_detail
(
val
)
{
this
.
loaclRole_info
=
val
this
.
isShowRole_account
=
val
.
role_account_list
.
length
this
.
role_status
=
val
.
role_status
==
1
?
'正常'
:
val
.
role_status
==
2
?
'禁用'
:
'删除'
}
},
data
()
{
return
{
formLabelWidth
:
"120px"
,
loaclRole_info
:
{},
role_status
:
""
,
isShowRole_account
:
true
}
}
}
</
script
>
<
style
lang=
"less"
scoped
>
.loaclRole_info {
display: flex;
margin: 10px 0 20px 0;
}
.roleList {
flex: 1;
overflow-y: scroll;
max-height: 200px;
}
.role_account_list {
padding: 10px;
color: #909399;
background: #fafafa;
font-weight: 400;
line-height: 1.5;
}
.titleRole {
width: 120px;
display: flex;
justify-content: space-evenly;
font-size: 14px;
color: #606266;
}
</
style
>
\ No newline at end of file
src/pages/Role/manage-role.vue
View file @
ba01c124
<
template
>
<
template
>
<layout>
<layout>
<el-card
class=
"role_management"
>
<RoleList
appId=
"merchant-op"
detailPath=
"/op/roleRoleDetail"
></RoleList>
<!-- 角色检索区域 -->
<div
class=
"creatRole"
>
<el-form
inline
:model=
"searchForm"
>
<el-form-item
label=
"角色名称"
>
<el-input
v-model=
"searchForm.roleName"
></el-input>
</el-form-item>
<el-form-item
label=
"状态"
>
<el-select
v-model=
"searchForm.roleStatus"
placeholder=
"请选择角色状态"
>
<el-option
label=
"正常"
:value=
"1"
></el-option>
<el-option
label=
"禁用"
:value=
"2"
></el-option>
<el-option
label=
"删除"
:value=
"3"
></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
@
click=
"onSearchSubmit"
>
查询
</el-button>
<el-button
@
click=
"onReset"
>
重置
</el-button>
</el-form-item>
</el-form>
<el-form>
<el-form-item>
<el-button
type=
"primary"
:disabled=
"!permission.get('create')"
@
click=
"onCreateRole"
>
创建角色
</el-button
>
</el-form-item>
</el-form>
</div>
<!-- 角色搜索列表 -->
<el-table
border
:data=
"managementList"
>
<el-table-column
label=
"ID"
width=
"200px"
prop=
"role_id"
align=
"center"
></el-table-column>
<el-table-column
label=
"角色名称"
prop=
"role_name"
align=
"center"
></el-table-column>
<el-table-column
label=
"状态"
width=
"200px"
:formatter=
"hasStatusFormat"
align=
"center"
>
</el-table-column>
<el-table-column
label=
"最后修改日期"
prop=
"update_time"
align=
"center"
></el-table-column>
<el-table-column
label=
"最后修改人账号"
prop=
"update_user_name"
align=
"center"
></el-table-column>
<el-table-column
label=
"操作"
align=
"center"
>
<template
#
default=
"scope"
>
<el-button
:disabled=
"
!permission.get('edit') ||
scope.row.role_status == 2 ||
scope.row.role_status == 3
"
@
click
.
stop=
"handelModify(scope.row)"
type=
"text"
size=
"mini"
>
修改
</el-button
>
<el-button
:disabled=
"!permission.get('delete')"
@
click
.
stop=
"handelDelete(scope.row)"
size=
"mini"
type=
"text"
>
删除
</el-button
>
<el-button
:disabled=
"!permission.get('disable')"
@
click
.
stop=
"handelDisable(scope.row)"
size=
"mini"
type=
"text"
>
禁用
</el-button
>
<el-button
:disabled=
"!permission.get('enable')"
@
click
.
stop=
"handelEnable(scope.row)"
size=
"mini"
type=
"text"
>
启用
</el-button
>
<el-button
@
click
.
stop=
"toRoleDetail(scope.row)"
size=
"mini"
type=
"text"
>
查看详情
</el-button
>
</
template
>
</el-table-column>
</el-table>
<page
:totalNum=
"totalNum"
@
update=
"update"
/>
</el-card>
<el-dialog
:title=
"roleTitle"
v-model=
"dialogVisible"
>
<el-form>
<!-- 新增 -->
<el-form-item
label=
"角色名称"
:label-width=
"formLabelWidth"
>
<el-input
v-model=
"roleName"
autocomplete=
"off"
></el-input>
</el-form-item>
<el-form-item
label=
"角色范围"
:label-width=
"formLabelWidth"
>
<el-cascader
v-model=
"selectedOptions"
:options=
"permissionsAll"
:props=
"props"
style=
"width: 280px"
@
change=
"parentCateChange"
clearable
></el-cascader>
</el-form-item>
</el-form>
<
template
#
footer
>
<span
class=
"dialog-footer"
>
<el-button
@
click=
"dialogVisible = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"confirm"
>
确 定
</el-button>
</span>
</
template
>
</el-dialog>
</layout>
</layout>
</
template
>
</
template
>
<
script
>
<
script
>
import
Layout
from
"@/layouts"
;
import
Layout
from
"@/layouts"
;
import
page
from
"../components/Pagination"
import
RoleList
from
"@/components/Roles/RoleList"
;
import
{
getRole_list
as
reqGetRole_list
,
getAll_role_list
as
reqGetAll_role_list
,
getUpdate_role
as
reqGetUpdate_role
,
get_role_info
as
reqGet_role_info
,
getDelete_role
as
reqGetDelete_role
,
getAdd_role
as
reqGetAdd_role
}
from
"../../service/role"
;
export
default
{
export
default
{
name
:
'KeepRoleManagement'
,
name
:
'KeepRoleManagement'
,
components
:
{
components
:
{
Layout
,
Layout
,
page
,
RoleList
},
computed
:
{
permission
()
{
const
modulePermissions
=
this
.
$store
.
getters
.
moduleSubPermissions
(
'role'
)
||
[];
return
new
Map
(
modulePermissions
.
map
(
ele
=>
[
ele
.
name
,
true
]))
},
},
data
()
{
return
{
searchForm
:
{
roleName
:
''
,
roleStatus
:
''
},
formLabelWidth
:
'120px'
,
parmas
:
{
page
:
1
,
page_size
:
20
},
totalNum
:
null
,
roleTitle
:
''
,
roleName
:
''
,
edit
:
true
,
props
:
{
multiple
:
true
,
//设置为多选
value
:
'id'
,
//value值和哪个值绑定
label
:
'desc'
,
//label值和哪个值绑定
children
:
'sub_permissions'
//children值和哪个值绑定
},
selectedOptions
:
[],
dialogVisible
:
false
,
dialogText
:
""
,
managementList
:
[],
role_info_detail
:
{
//详情非编辑项
role_id
:
""
,
role_name
:
""
,
},
permissionsAll
:
[],
currenPermissionsUpdate
:
[],
currentRolePrivilege
:
[]
}
},
activated
()
{
this
.
getGetRole_list
()
this
.
getPermissionsAll
()
},
},
methods
:
{
hasStatusFormat
(
row
)
{
let
statusText
=
[
'正常'
,
'禁用'
,
'删除'
]
return
statusText
[
row
.
role_status
-
1
]
},
onCreateRole
()
{
this
.
roleTitle
=
'新增角色'
this
.
getPermissionsAll
()
this
.
edit
=
false
this
.
dialogVisible
=
true
this
.
roleName
=
""
this
.
selectedOptions
=
[]
// this.$router.push({ name: 'AddRole' });
},
toRoleDetail
(
row
)
{
this
.
$router
.
push
({
name
:
"RoleDetail"
,
query
:
{
roleId
:
row
.
role_id
}
});
},
getPermissionsAll
()
{
let
{
email
}
=
this
.
$store
.
state
.
userInfo
reqGetAll_role_list
(
email
).
then
(
res
=>
{
this
.
permissionsAll
=
res
})
},
//获取角色列表
getGetRole_list
()
{
let
{
page
,
page_size
}
=
this
.
parmas
let
parmasRole_list
=
{
page
,
page_size
,
role_status
:
this
.
searchForm
.
roleStatus
,
role_name
:
this
.
searchForm
.
roleName
}
reqGetRole_list
(
parmasRole_list
).
then
(
res
=>
{
this
.
managementList
=
res
.
result
this
.
totalNum
=
res
.
count
})
},
//查询
onSearchSubmit
()
{
this
.
getGetRole_list
()
},
//重置
onReset
()
{
this
.
searchForm
.
roleName
=
""
,
this
.
searchForm
.
roleStatus
=
""
this
.
getGetRole_list
()
},
//列表分页
update
(
obj
)
{
Object
.
assign
(
this
.
parmas
,
obj
)
let
{
page
,
page_size
}
=
this
.
parmas
this
.
getGetRole_list
(
page
,
page_size
)
},
//弹框提示
openBounced
(
type
,
role_id
)
{
this
.
$confirm
(
`
${
this
.
dialogText
}
是否继续?`
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
if
(
type
===
"disable"
)
{
this
.
getRole_info_detail
(
'disable'
,
role_id
)
}
else
{
this
.
delete
(
role_id
)
}
}).
catch
(()
=>
{
this
.
$message
({
type
:
'info'
,
message
:
'已取消'
});
});
},
//删除
delete
(
role_id
)
{
reqGetDelete_role
(
role_id
).
then
(
res
=>
{
if
(
res
.
status
==
"success"
)
this
.
getGetRole_list
()
})
},
//角色详情数据
getRole_info_detail
(
type
,
role_id
)
{
reqGet_role_info
(
role_id
).
then
(
res
=>
{
const
{
role_id
,
role_name
,
permissions
}
=
res
this
.
role_info_detail
=
{
role_id
,
role_name
,
}
this
.
roleName
=
role_name
// this.permissionsUpdate = permissions
let
role_status
if
(
type
===
"disable"
)
{
role_status
=
2
}
else
if
(
type
===
"enable"
)
{
role_status
=
1
}
else
if
(
type
===
"modify"
)
{
this
.
currentRolePrivilege
=
permissions
this
.
editEchoData
(
permissions
)
}
else
{
role_status
=
""
}
if
(
type
!==
"modify"
)
{
this
.
getUpdate_role
(
role_name
,
role_id
,
role_status
,
permissions
)
}
})
},
//遍历回显值selectedOptions
editEchoData
(
permissions
)
{
let
selectData
=
[]
permissions
.
map
(
item
=>
{
let
one
=
{
id
:
item
.
id
}
if
(
item
.
sub_permissions
)
{
item
.
sub_permissions
.
map
(
info
=>
{
let
selectId
=
[
one
.
id
,
info
.
id
]
selectData
.
push
(
selectId
)
})
}
})
this
.
selectedOptions
=
selectData
},
//启用
handelEnable
(
row
)
{
if
(
row
.
role_status
==
1
)
{
this
.
$message
({
type
:
'info'
,
message
:
'该条数据已启用'
});
return
false
}
this
.
getRole_info_detail
(
"enable"
,
row
.
role_id
)
},
//禁用
handelDisable
(
row
)
{
if
(
row
.
role_status
==
2
)
{
this
.
$message
({
type
:
'info'
,
message
:
'该条数据已禁用'
});
return
false
}
this
.
dialogText
=
"禁用拥有此角色用户将受影响"
this
.
openBounced
(
"disable"
,
row
.
role_id
)
},
//编辑列表操作
getUpdate_role
(
role_name
,
role_id
,
role_status
,
permissions
)
{
let
parmasUpdate_role
=
{
role_name
:
role_name
,
role_id
,
role_status
,
permissions
,
}
reqGetUpdate_role
(
parmasUpdate_role
).
then
(
res
=>
{
if
(
res
.
status
===
"success"
)
{
this
.
dialogVisible
=
false
this
.
getGetRole_list
()
}
else
{
this
.
dialogVisible
=
false
this
.
$message
({
type
:
'info'
,
message
:
`
${
res
.
reason
}
`
});
}
})
},
//删除
handelDelete
(
row
)
{
this
.
dialogText
=
"删除后不可恢复,拥有此角色用户将受影响"
this
.
openBounced
(
'del'
,
row
.
role_id
)
},
//修改
handelModify
(
row
)
{
this
.
edit
=
true
this
.
roleTitle
=
'修改角色'
this
.
getPermissionsAll
()
this
.
dialogVisible
=
true
this
.
getRole_info_detail
(
"modify"
,
row
.
role_id
)
},
//确认修改
confirm
()
{
let
checkRolePrivilege
=
[]
this
.
edit
?
checkRolePrivilege
=
this
.
currentRolePrivilege
:
checkRolePrivilege
=
this
.
currenPermissionsUpdate
if
(
!
(
this
.
roleName
&&
checkRolePrivilege
.
length
>
0
))
{
this
.
$message
({
type
:
'error'
,
message
:
"请完善信息"
});
return
false
}
if
(
this
.
edit
)
{
this
.
getEditRole
()
}
else
{
this
.
getAdd_role
()
}
},
//编辑提交的数据
getEditRole
()
{
let
{
role_id
}
=
this
.
role_info_detail
let
role_status
=
''
this
.
getUpdate_role
(
this
.
roleName
,
role_id
,
role_status
,
this
.
currentRolePrivilege
)
},
//新增角色
getAdd_role
()
{
let
parmasAdd_role
=
{
role_name
:
this
.
roleName
,
permissions
:
this
.
currenPermissionsUpdate
}
reqGetAdd_role
(
parmasAdd_role
).
then
(
res
=>
{
this
.
dialogVisible
=
false
if
(
res
.
status
===
"success"
)
{
this
.
getGetRole_list
()
}
else
{
this
.
$message
({
type
:
'info'
,
message
:
`
${
res
.
reason
}
`
});
}
})
},
parentCateChange
(
id
)
{
this
.
getSelectedOptions
(
id
)
},
getSelectedOptions
(
selectedOptions
)
{
let
oldDataRule
=
[]
selectedOptions
.
forEach
(
el
=>
{
let
oldObj
=
{
id
:
el
[
0
],
sub_permissions
:
[]
}
let
btnObj
=
{
id
:
el
[
1
],
}
oldObj
.
sub_permissions
.
push
(
btnObj
)
oldDataRule
.
push
(
oldObj
)
})
let
newData
=
[]
let
newObj
=
{}
oldDataRule
.
forEach
((
el
,
i
)
=>
{
if
(
!
newObj
[
el
.
id
])
{
newData
.
push
(
el
);
newObj
[
el
.
id
]
=
true
;
}
else
{
newData
.
forEach
(
el
=>
{
if
(
el
.
id
===
oldDataRule
[
i
].
id
)
{
el
.
sub_permissions
=
[...
el
.
sub_permissions
,
...
oldDataRule
[
i
].
sub_permissions
];
}
})
}
})
this
.
currentRolePrivilege
=
newData
this
.
currenPermissionsUpdate
=
newData
},
}
};
};
</
script
>
</
script
>
<
style
lang=
"less"
scoped
>
.creatRole {
display: flex;
justify-content: space-between;
}
.role_management {
padding: 20px;
}
.role_management .el-button {
margin: 0 2px;
}
</
style
>
src/pages/Role/role-detail.vue
View file @
ba01c124
<
template
>
<
template
>
<div
class=
"user-detail"
>
<RoleDetail
appId=
"merchant-op"
/>
<el-page-header
@
back=
"goBack"
content=
"角色详情页面"
>
</el-page-header>
<el-card
class=
"management"
>
<h5
style=
"margin-bottom: 10px"
>
角色信息
</h5>
<el-descriptions
class=
"margin-top"
:column=
"2"
border
>
<el-descriptions-item>
<template
#
label
>
ID
</
template
>
{{ roleId }}
</el-descriptions-item>
<el-descriptions-item>
<
template
#
label
>
角色状态
</
template
>
{{
role_info_detail.role_status == 1
? "正常"
: role_info_detail.role_status == 2
? "禁用"
: "删除"
}}
</el-descriptions-item>
<el-descriptions-item>
<
template
#
label
>
角色名称
</
template
>
{{ role_info_detail.role_name }}
</el-descriptions-item>
<el-descriptions-item>
<
template
#
label
>
创建人账号
</
template
>
{{ role_info_detail.create_user_name }}
</el-descriptions-item>
<el-descriptions-item>
<
template
#
label
>
创建时间
</
template
>
{{ role_info_detail.create_time }}
</el-descriptions-item>
<el-descriptions-item>
<
template
#
label
>
最后修改人账号
</
template
>
{{ role_info_detail.update_user_name }}
</el-descriptions-item>
<el-descriptions-item>
<
template
#
label
>
最后修改时间
</
template
>
{{ role_info_detail.update_time }}
</el-descriptions-item>
</el-descriptions>
<div
class=
"tree"
v-if=
"selectedOptions"
>
<h5
style=
"margin-bottom: 10px"
>
角色范围
</h5>
<div>
<el-cascader
v-model=
"selectedOptions"
:options=
"permissionsAll"
placeholder=
"暂无数据"
disabled
:props=
"props"
style=
"width: 300px"
></el-cascader>
</div>
</div>
<div
v-if=
"role_info_detail.role_account_list.length"
>
<h5
style=
"margin: 10px 0"
>
角色账号
</h5>
<div
class=
"roleList"
>
<div
class=
"role_account_list"
v-for=
"(item, index) in role_info_detail.role_account_list"
:key=
"index"
>
{{ item }}
</div>
</div>
</div>
</el-card>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
{
get_role_info
as
reqGet_role_info
,
getAll_role_list
as
reqGetAll_role_list
,
}
from
'../../service/role'
import
RoleDetail
from
"@/components/Roles/RoleDetail"
;
export
default
{
export
default
{
data
()
{
components
:
{
return
{
RoleDetail
roleId
:
this
.
$route
.
query
.
roleId
,
user_info
:
{
name
:
"jianghaiming"
,
email
:
"jianghaiming@126.com"
,
},
props
:
{
multiple
:
true
,
//设置为多选
value
:
'id'
,
//value值和哪个值绑定
label
:
'desc'
,
//label值和哪个值绑定
children
:
'sub_permissions'
//children值和哪个值绑定
},
selectedOptions
:
[],
permissionsAll
:
[],
role_info_detail
:
{
//详情非编辑项
role_id
:
""
,
role_name
:
""
,
role_status
:
""
,
update_time
:
""
,
update_user_name
:
""
,
create_time
:
""
,
create_user_name
:
""
,
role_account_list
:
[]
}
}
},
activated
()
{
this
.
roleId
=
this
.
$route
.
query
.
roleId
let
{
email
}
=
this
.
$store
.
state
.
userInfo
reqGetAll_role_list
(
email
).
then
(
res
=>
{
this
.
permissionsAll
=
res
})
reqGet_role_info
(
this
.
roleId
).
then
((
res
)
=>
{
const
{
role_name
,
role_status
,
update_time
,
update_user_name
,
create_time
,
create_user_name
,
role_account_list
,
permissions
}
=
res
this
.
role_info_detail
=
{
role_name
,
role_status
,
update_time
,
update_user_name
,
create_time
,
create_user_name
,
role_account_list
}
this
.
editEchoData
(
permissions
)
})
},
methods
:
{
goBack
()
{
this
.
$router
.
back
(
-
1
);
},
//遍历回显值selectedOptions
editEchoData
(
permissions
)
{
let
selectData
=
[]
permissions
.
map
(
item
=>
{
let
one
=
{
id
:
item
.
id
}
if
(
item
.
sub_permissions
)
{
item
.
sub_permissions
.
map
(
info
=>
{
let
selectId
=
[
one
.
id
,
info
.
id
]
selectData
.
push
(
selectId
)
})
}
})
this
.
selectedOptions
=
selectData
},
}
}
}
}
;
</
script
>
</
script
>
<
style
lang=
"less"
scoped
>
.user-detail {
margin: 50px;
.role_account_list {
padding: 10px;
color: #909399;
background: #fafafa;
font-weight: 400;
line-height: 1.5;
}
.management {
margin-top: 20px;
}
.roleList {
max-height: 300px;
overflow-y: scroll;
}
.tree {
// border: 1px solid #ebeef5;
margin-top: 20px;
}
}
</
style
>
\ No newline at end of file
src/pages/User/user-detail.vue
deleted
100644 → 0
View file @
0b978b91
<
template
>
<div
class=
"user-detail"
>
<el-page-header
@
back=
"goBack"
content=
"用户详情页面"
>
</el-page-header>
<el-card
class=
"management"
>
<h2
style=
"margin-bottom: 10px"
>
用户信息
</h2>
<el-descriptions
class=
"margin-top"
:column=
"3"
:size=
"size"
border
>
<el-descriptions-item>
<template
#
label
>
用户姓名
</
template
>
{{ user_info.user_name }}
</el-descriptions-item>
<el-descriptions-item>
<
template
#
label
>
手机号
</
template
>
{{ user_info.user_mobile }}
</el-descriptions-item>
<el-descriptions-item>
<
template
#
label
>
所属组织
</
template
>
{{ user_info.organization }}
</el-descriptions-item>
<el-descriptions-item>
<
template
#
label
>
添加人账号
</
template
>
{{ user_info.create_user_name }}
</el-descriptions-item>
<el-descriptions-item>
<
template
#
label
>
添加时间
</
template
>
{{ user_info.create_time }}
</el-descriptions-item>
<el-descriptions-item>
<
template
#
label
>
最后修改人账号
</
template
>
{{ user_info.update_user_name }}
</el-descriptions-item>
<el-descriptions-item>
<
template
#
label
>
最后修改时间
</
template
>
{{ user_info.update_user_name }}
</el-descriptions-item>
<el-descriptions-item>
<
template
#
label
>
敏感词权限
</
template
>
{{ user_info.is_sensitive_authority == 1 ? "有" : "无" }}
</el-descriptions-item>
</el-descriptions>
<div
class=
"role"
>
角色信息
</div>
<el-table
:data=
"role_list"
border
style=
"width: 100%"
>
<el-table-column
prop=
"role_id"
label=
"ID"
width=
"180"
>
</el-table-column>
<el-table-column
prop=
"role_name"
label=
"角色名称"
>
</el-table-column>
</el-table>
</el-card>
</div>
</template>
<
script
>
import
{
getUser_detail
as
reqGetUser_detail
}
from
"../../service/user"
;
export
default
{
data
()
{
return
{
user_id
:
this
.
$route
.
query
.
userId
,
user_info
:
{},
role_list
:
[]
//角色池
}
},
created
()
{
this
.
getUser_date
()
},
methods
:
{
getUser_date
()
{
reqGetUser_detail
(
this
.
user_id
).
then
((
res
)
=>
{
this
.
user_info
=
res
.
user_info
this
.
role_list
=
res
.
role_list
})
},
goBack
()
{
this
.
$router
.
go
(
-
1
)
}
}
}
</
script
>
<
style
lang=
"less"
scoped
>
.user-detail {
margin: 50px;
.role {
margin: 10px;
font-weight: bold;
}
}
</
style
>
\ No newline at end of file
src/pages/User/userList/index.vue
View file @
ba01c124
<
template
>
<
template
>
<layout>
<layout>
<div
class=
"user"
>
<UserList
appId=
"merchant-op"
/>
<el-form
:inline=
"true"
:model=
"pageParams"
class=
"demo-form-inline"
>
<el-form-item
label=
"用户姓名"
>
<el-input
maxlength=
"15"
v-model=
"pageParams.user_name"
placeholder=
"用户姓名"
></el-input>
</el-form-item>
<el-form-item
label=
"用户账号"
>
<el-input
v-model=
"pageParams.user_email"
placeholder=
"用户账号"
></el-input>
</el-form-item>
<el-form-item
label=
"手机号"
>
<el-input
v-model=
"pageParams.user_mobile"
placeholder=
"手机号"
></el-input>
</el-form-item>
<el-form-item
label=
"状态"
>
<el-select
v-model=
"pageParams.user_status"
placeholder=
"状态"
>
<el-option
value=
"1"
label=
"启用"
></el-option>
<el-option
value=
"2"
label=
"禁用"
></el-option>
</el-select>
</el-form-item>
<el-form-item
class=
"func-btn"
>
<el-button
type=
"primary"
@
click=
"getUserList"
>
查询
</el-button>
<el-button
@
click=
"onReset"
>
重置
</el-button>
<el-button
@
click=
"createUser"
:disabled=
"!permission.get('create')"
>
新建用户
</el-button
>
</el-form-item>
</el-form>
<el-table
:data=
"renderUserList"
border
style=
"width: 100%"
>
<el-table-column
prop=
"user_id"
label=
"用户ID"
width=
"70"
>
</el-table-column>
<el-table-column
prop=
"user_name"
label=
"用户姓名"
>
</el-table-column>
<el-table-column
prop=
"user_email"
label=
"用户账号"
>
</el-table-column>
<el-table-column
prop=
"user_status"
label=
"状态"
>
</el-table-column>
<el-table-column
prop=
"user_mobile"
label=
"手机号"
>
</el-table-column>
<el-table-column
prop=
"update_time"
label=
"最后修改日期"
>
</el-table-column>
<el-table-column
prop=
"update_user_name"
label=
"最后修改人账号"
>
</el-table-column>
<el-table-column
fixed=
"right"
label=
"操作"
width=
"140"
>
<template
#
default=
"scope"
>
<el-button
type=
"text"
size=
"small"
@
click=
"checkUser(scope.row)"
>
查看
</el-button
>
<el-button
@
click=
"editUser(scope.row)"
type=
"text"
size=
"small"
:disabled=
"!permission.get('edit')"
>
修改
</el-button
>
<el-button
v-if=
"scope.row.user_status === '启用'"
type=
"text"
size=
"small"
@
click=
"disableUser(scope.row)"
:disabled=
"!permission.get('enable')"
>
禁用
</el-button
>
<el-button
v-if=
"scope.row.user_status === '禁用'"
type=
"text"
size=
"small"
@
click=
"enableUser(scope.row)"
:disabled=
"!permission.get('disable')"
>
启用
</el-button
>
</
template
>
</el-table-column>
</el-table>
<page
:totalNum=
"totalNum"
:pageSize=
"pageParams.size"
@
update=
"updatePage"
/>
</div>
<user-info-modal
:data=
"curUserInfo"
:visable=
"modalVisable.info"
@
cancel=
"cancelModal('info')"
></user-info-modal>
<user-info-edit-modal
:data=
"curUserInfo"
:visable=
"modalVisable.edit"
@
confirm=
"confirmEditModal"
@
cancel=
"cancelModal('edit')"
></user-info-edit-modal>
<user-info-new-modal
:visable=
"modalVisable.new"
@
confirm=
"confirmEditModal"
@
cancel=
"cancelModal('new')"
></user-info-new-modal>
</layout>
</layout>
</
template
>
</
template
>
<
script
>
<
script
>
import
Layout
from
"@/layouts"
;
import
Layout
from
"@/layouts"
;
import
page
from
"@/components/Pagination"
;
import
UserList
from
"@/components/UserList"
;
import
UserInfoModal
from
"./components/UserInfoModal"
;
import
UserInfoEditModal
from
"./components/UserInfoEditModal"
;
import
UserInfoNewModal
from
"./components/UserInfoNewModal"
;
import
{
ElMessage
}
from
"element-plus"
;
import
{
getUserList
as
reqGetUserList
,
getUserDetail
as
reqGetUserDetail
,
editUser
as
reqEditUser
,
createUser
as
reqCreateUser
,
}
from
"@/service/user"
;
export
default
{
export
default
{
components
:
{
components
:
{
Layout
,
Layout
,
page
,
UserList
UserInfoModal
,
}
UserInfoEditModal
,
UserInfoNewModal
,
},
data
()
{
return
{
pageParams
:
{
page
:
1
,
size
:
20
,
user_name
:
""
,
user_email
:
""
,
user_mobile
:
""
,
user_status
:
""
,
},
totalNum
:
0
,
userList
:
[],
curUserInfo
:
{},
modalVisable
:
{
info
:
false
,
edit
:
false
,
new
:
false
,
},
curOperateMode
:
"new"
,
};
},
computed
:
{
permission
()
{
const
modulePermissions
=
this
.
$store
.
getters
.
moduleSubPermissions
(
"user"
)
||
[];
console
.
log
(
"Current page func-permissions:"
,
modulePermissions
);
return
new
Map
(
modulePermissions
.
map
((
ele
)
=>
[
ele
.
name
,
true
]));
},
renderUserList
()
{
const
statusMap
=
new
Map
([
[
1
,
"启用"
],
[
2
,
"禁用"
],
[
3
,
"删除"
],
]);
return
this
.
userList
.
map
((
ele
)
=>
{
ele
.
user_status
=
statusMap
.
get
(
ele
.
user_status
);
return
ele
;
});
},
},
beforeMount
()
{
this
.
getUserList
();
},
methods
:
{
async
getUserList
()
{
const
{
code
,
result
}
=
await
reqGetUserList
(
this
.
pageParams
);
if
(
code
!==
0
)
{
ElMessage
.
error
(
"获取用户列表出错!"
);
return
;
}
const
{
data
,
count
}
=
result
;
this
.
totalNum
=
count
;
this
.
userList
=
data
;
},
async
setCurUserInfo
(
user_id
)
{
const
{
code
,
result
}
=
await
reqGetUserDetail
({
user_id
});
if
(
code
===
0
)
{
this
.
curUserInfo
=
{
...
result
.
user_info
,
roles
:
result
.
role_list
,
};
}
else
{
ElMessage
.
error
(
"获取用户信息出错!"
);
}
},
async
checkUser
(
row
)
{
const
{
user_id
}
=
row
;
await
this
.
setCurUserInfo
(
user_id
);
this
.
openModal
(
"info"
);
},
async
editUser
(
row
)
{
const
{
user_id
}
=
row
;
await
this
.
setCurUserInfo
(
user_id
);
// this.openModal('edit');
this
.
modalVisable
.
edit
=
true
;
this
.
curOperateMode
=
"edit"
;
},
openModal
(
key
)
{
Object
.
keys
(
this
.
modalVisable
).
forEach
((
ele
)
=>
{
this
.
modalVisable
[
ele
]
=
key
===
ele
;
});
},
async
confirmEditModal
(
userInfo
)
{
const
{
user_id
,
user_name
,
user_email
,
is_sensitive_authority
,
user_mobile
,
roles
,
user_status
,
organization
,
}
=
userInfo
;
let
res
=
{};
if
(
this
.
curOperateMode
===
"edit"
)
{
const
editData
=
{
user_id
,
user_name
,
user_email
,
is_sensitive_authority
:
parseInt
(
is_sensitive_authority
),
user_mobile
,
role_id
:
roles
,
user_status
:
parseInt
(
user_status
),
};
res
=
await
reqEditUser
(
editData
);
}
else
if
(
this
.
curOperateMode
===
"new"
)
{
const
newData
=
{
user_name
,
user_email
,
is_sensitive_authority
:
parseInt
(
is_sensitive_authority
),
user_mobile
,
role_id
:
roles
,
user_status
:
parseInt
(
user_status
),
organization
,
};
res
=
await
reqCreateUser
(
newData
);
}
if
(
res
.
code
===
0
)
{
this
.
cancelModal
(
this
.
curOperateMode
);
ElMessage
.
success
(
"更新成功!"
);
this
.
getUserList
();
}
else
{
ElMessage
.
error
(
res
.
reason
);
}
},
cancelModal
(
name
)
{
this
.
modalVisable
[
name
]
=
false
;
},
createUser
()
{
this
.
curOperateMode
=
"new"
;
this
.
openModal
(
"new"
);
},
//重置
onReset
()
{
this
.
pageParams
=
{
page
:
1
,
pageSize
:
20
,
user_name
:
""
,
user_email
:
""
,
user_mobile
:
""
,
user_status
:
""
,
};
this
.
getUserList
();
},
updatePage
({
page
,
pageSize
})
{
page
&&
(
this
.
pageParams
.
page
=
page
);
pageSize
&&
(
this
.
pageParams
.
pageSize
=
pageSize
);
this
.
getUserList
();
},
async
enableUser
(
row
)
{
const
{
user_id
}
=
row
;
const
{
code
,
reason
}
=
await
reqEditUser
({
user_status
:
1
,
user_id
});
if
(
code
===
0
)
{
ElMessage
.
success
(
"启用成功!"
);
this
.
getUserList
();
}
else
{
ElMessage
.
error
(
reason
);
}
},
async
disableUser
(
row
)
{
const
{
user_id
}
=
row
;
const
{
code
,
reason
}
=
await
reqEditUser
({
user_status
:
2
,
user_id
});
if
(
code
===
0
)
{
ElMessage
.
success
(
"禁用成功!"
);
this
.
getUserList
();
}
else
{
ElMessage
.
error
(
reason
);
}
},
},
};
};
</
script
>
</
script
>
<
style
lang=
"less"
scoped
>
<
style
lang=
"less"
scoped
>
...
...
src/router/index.js
View file @
ba01c124
...
@@ -4,9 +4,9 @@ import LifeNo from "../pages/Life-no/index.vue";
...
@@ -4,9 +4,9 @@ import LifeNo from "../pages/Life-no/index.vue";
import
LifeNoDetail
from
"../pages/Life-no/life-no-detail.vue"
;
import
LifeNoDetail
from
"../pages/Life-no/life-no-detail.vue"
;
import
User
from
"../pages/User/userList"
;
import
User
from
"../pages/User/userList"
;
import
UserDetail
from
"../pages/User/user-detail.vue"
;
//
import UserDetail from "../pages/User/user-detail.vue";
import
AddRole
from
"../pages/Role/add-role.vue"
;
//
import AddRole from "../pages/Role/add-role.vue";
import
ManageRole
from
"../pages/Role/manage-role.vue"
;
import
ManageRole
from
"../pages/Role/manage-role.vue"
;
import
RoleDetail
from
"../pages/Role/role-detail.vue"
;
import
RoleDetail
from
"../pages/Role/role-detail.vue"
;
import
goodsRouter
from
"./Goods/index"
;
import
goodsRouter
from
"./Goods/index"
;
...
@@ -80,28 +80,27 @@ const routes = [
...
@@ -80,28 +80,27 @@ const routes = [
name
:
"/op/User"
,
name
:
"/op/User"
,
component
:
User
component
:
User
},
},
{
//
{
path
:
"/op/userDetail"
,
//
path: "/op/userDetail",
name
:
"UserDetail"
,
//
name: "UserDetail",
component
:
UserDetail
//
component: UserDetail
},
//
},
//角色管理
//角色管理
{
//
{
path
:
"/op/roleAddRole"
,
//
path: "/op/roleAddRole",
name
:
"AddRole"
,
//
name: "AddRole",
component
:
AddRole
,
//
component: AddRole,
meta
:
{
//
meta: {
requireAuth
:
true
,
//
requireAuth: true,
keepAlive
:
true
//
keepAlive: true
}
//
}
},
//
},
{
{
path
:
"/op/roleManageRole"
,
path
:
"/op/roleManageRole"
,
name
:
"ManageRole"
,
name
:
"ManageRole"
,
component
:
ManageRole
,
component
:
ManageRole
,
meta
:
{
meta
:
{
requireAuth
:
true
,
requireAuth
:
true
keepAlive
:
true
}
}
},
},
{
{
...
...
src/service/role.js
View file @
ba01c124
import
axios
from
'../utils/request'
;
import
axios
from
'../utils/request'
;
// import qs from 'qs';
// import qs from 'qs';
//角色列表
//角色列表
export
async
function
getRole_list
(
parmasRole_list
)
{
export
async
function
getRole_list
(
parmasRole_list
,
appid
)
{
const
res
=
await
axios
.
post
(
"/api/v1/merchant/authority/role_list"
,
parmasRole_list
)
const
opts
=
{
return
res
;
method
:
"post"
,
url
:
"/api/v1/merchant/authority/role_list"
,
params
:
{
appid
},
data
:
parmasRole_list
};
// const res = await axios.post("/api/v1/merchant/authority/role_list", parmasRole_list)
// return res;
return
await
axios
(
opts
);
}
}
//添加角色
//添加角色
export
async
function
getAdd_role
(
parmasAdd_role
)
{
export
async
function
getAdd_role
(
parmasAdd_role
,
appid
)
{
const
res
=
await
axios
.
post
(
"/api/v1/merchant/authority/add_role"
,
parmasAdd_role
)
const
opts
=
{
return
res
;
method
:
"post"
,
url
:
"/api/v1/merchant/authority/add_role"
,
params
:
{
appid
},
data
:
parmasAdd_role
};
return
await
axios
(
opts
);
// const res = await axios.post("/api/v1/merchant/authority/add_role", parmasAdd_role)
// return res;
}
}
//角色编辑
//角色编辑
export
async
function
getUpdate_role
(
parmasUpdate_role
)
{
export
async
function
getUpdate_role
(
parmasUpdate_role
,
appid
)
{
const
res
=
await
axios
.
post
(
"/api/v1/merchant/authority/update_role"
,
parmasUpdate_role
)
const
opts
=
{
return
res
;
method
:
"post"
,
url
:
"/api/v1/merchant/authority/update_role"
,
params
:
{
appid
},
data
:
parmasUpdate_role
};
return
await
axios
(
opts
);
// const res = await axios.post("/api/v1/merchant/authority/update_role", parmasUpdate_role)
// return res;
}
}
//角色详情
//角色详情
export
async
function
get_role_info
(
role_id
)
{
export
async
function
get_role_info
(
role_id
,
appid
)
{
const
res
=
await
axios
.
post
(
"/api/v1/merchant/authority/get_role_info"
,
{
const
opts
=
{
role_id
method
:
"post"
,
})
url
:
"/api/v1/merchant/authority/get_role_info"
,
return
res
.
result
;
params
:
{
appid
},
data
:
{
role_id
}
};
return
await
axios
(
opts
);
// const res = await axios.post("/api/v1/merchant/authority/get_role_info", {
// role_id
// })
// return res.result;
}
}
//角色删除
//角色删除
export
async
function
getDelete_role
(
role_id
)
{
export
async
function
getDelete_role
(
role_id
,
appid
)
{
const
res
=
await
axios
.
post
(
"/api/v1/merchant/authority/delete_role"
,
{
const
opts
=
{
role_id
method
:
"post"
,
})
url
:
"/api/v1/merchant/authority/delete_role"
,
return
res
;
params
:
{
appid
},
data
:
{
role_id
}
};
return
await
axios
(
opts
);
// const res = await axios.post("/api/v1/merchant/authority/delete_role", {
// role_id
// })
// return res;
}
}
//权限列表
//权限列表
export
async
function
getAll_role_list
(
user_email
)
{
export
async
function
getAll_role_list
(
user_email
,
appid
)
{
const
res
=
await
axios
.
post
(
"/api/v1/merchant/authority/get_role_list"
,
{
const
opts
=
{
user_email
method
:
"post"
,
})
url
:
"/api/v1/merchant/authority/get_role_list"
,
return
res
.
permissions
;
params
:
{
appid
},
data
:
{
user_email
}
};
return
await
axios
(
opts
);
// const res = await axios.post("/api/v1/merchant/authority/get_role_list", {
// user_email
// })
// return res.permissions;
}
}
src/service/user.js
View file @
ba01c124
...
@@ -24,17 +24,32 @@ export async function getUserDetail (params) {
...
@@ -24,17 +24,32 @@ export async function getUserDetail (params) {
return
await
axios
.
get
(
"/api/v1/users/detail"
,
{
params
});
return
await
axios
.
get
(
"/api/v1/users/detail"
,
{
params
});
}
}
export
async
function
editUser
(
data
)
{
export
async
function
editUser
(
data
,
appid
)
{
return
await
axios
.
post
(
"/api/v1/users/edit"
,
data
);
const
opts
=
{
method
:
"post"
,
url
:
"/api/v1/users/edit"
,
params
:
{
appid
},
data
:
data
};
return
await
axios
(
opts
);
// return await axios.post("/api/v1/users/edit", data);
}
}
export
async
function
createUser
(
data
)
{
export
async
function
createUser
(
data
,
appid
)
{
return
await
axios
.
post
(
"/api/v1/users/new"
,
data
);
const
opts
=
{
method
:
"post"
,
url
:
"/api/v1/users/new"
,
params
:
{
appid
},
data
:
data
};
return
await
axios
(
opts
);
// return await axios.post("/api/v1/users/new", data);
}
}
//用户详情
//用户详情
export
async
function
getUser_detail
(
user_id
)
{
//
export async function getUser_detail (user_id) {
const
res
=
await
axios
.
post
(
`/api/v1/merchant/authority/get_user_info`
,
{
//
const res = await axios.post(`/api/v1/merchant/authority/get_user_info`, {
user_id
//
user_id
})
//
})
return
res
.
result
;
//
return res.result;
}
//
}
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