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
c58cec36
Commit
c58cec36
authored
Jun 08, 2021
by
lvweichao
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' of
https://git.yidian-inc.com:8021/bp/op-web-service
into dev
parents
af1b43f9
808dbc70
Changes
17
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
172 additions
and
130 deletions
+172
-130
app.js
app.js
+1
-1
image.js
server/controllers/image.js
+23
-13
role.js
server/controllers/role.js
+2
-0
config.js
src/components/PageHeader/config.js
+1
-1
index.vue
src/components/PageHeader/index.vue
+2
-2
pageconfig.js
src/config/pageconfig.js
+3
-4
add-role.vue
src/pages/Role/add-role.vue
+46
-19
roleInfo.vue
src/pages/Role/components/roleInfo.vue
+0
-0
manage-role.vue
src/pages/Role/manage-role.vue
+47
-17
role-detail.vue
src/pages/Role/role-detail.vue
+8
-42
user-detail.vue
src/pages/User/user-detail.vue
+1
-1
index.vue
src/pages/User/userList/index.vue
+12
-5
Pagination.vue
src/pages/components/Pagination.vue
+1
-1
index.js
src/router/index.js
+10
-3
role.js
src/service/role.js
+8
-14
index.js
src/store/index.js
+3
-3
authUtil.js
src/utils/authUtil.js
+4
-4
No files found.
app.js
View file @
c58cec36
...
@@ -12,7 +12,7 @@ const env = process.env.NODE_ENV;
...
@@ -12,7 +12,7 @@ const env = process.env.NODE_ENV;
const
app
=
new
Koa
();
const
app
=
new
Koa
();
app
.
use
(
serve
(
path
.
join
(
__dirname
,
'./public'
)));
app
.
use
(
serve
(
path
.
join
(
__dirname
,
'./public'
)));
app
.
use
(
koaBody
({
multipart
:
true
}));
app
.
use
(
koaBody
({
multipart
:
true
}));
app
.
use
(
bodyParser
());
app
.
use
(
bodyParser
());
app
.
use
(
router
.
routes
(),
router
.
allowedMethods
());
app
.
use
(
router
.
routes
(),
router
.
allowedMethods
());
...
...
server/controllers/image.js
View file @
c58cec36
...
@@ -61,19 +61,29 @@ exports.get_token = async (ctx, next) => {
...
@@ -61,19 +61,29 @@ exports.get_token = async (ctx, next) => {
exports
.
get_ks3_config
=
async
(
ctx
,
next
)
=>
{
exports
.
get_ks3_config
=
async
(
ctx
,
next
)
=>
{
console
.
log
(
8888
,
await
_get_bucket
(
ctx
,
next
))
console
.
log
(
8888
,
await
_get_bucket
(
ctx
,
next
))
const
{
result
:
{
bucket
}}
=
JSON
.
parse
(
await
_get_bucket
(
ctx
,
next
))
const
{
result
:
{
bucket
}
}
=
JSON
.
parse
(
await
_get_bucket
(
ctx
,
next
))
const
{
result
:
{
objectId
}}
=
JSON
.
parse
(
await
_get_obj_id
(
ctx
,
next
))
const
{
result
:
{
objectId
}
}
=
JSON
.
parse
(
await
_get_obj_id
(
ctx
,
next
))
console
.
log
(
888834333
,
bucket
,
objectId
)
console
.
log
(
888834333
,
bucket
,
objectId
)
const
getExpires
=
(
seconds
)
=>
{
const
getExpires
=
(
seconds
)
=>
{
return
Math
.
round
(
new
Date
().
getTime
()
/
1000
)
+
seconds
;
return
Math
.
round
(
new
Date
().
getTime
()
/
1000
)
+
seconds
;
};
};
const
policy
=
{
const
policy
=
{
"expiration"
:
new
Date
(
getExpires
(
3600
)
*
1000
).
toISOString
(),
//一小时后
"expiration"
:
new
Date
(
getExpires
(
3600
)
*
1000
).
toISOString
(),
//一小时后
"conditions"
:
[
"conditions"
:
[
[
"eq"
,
"$bucket"
,
bucket
]
[
"eq"
,
"$bucket"
,
bucket
],
[
"starts-with"
,
"$acl"
,
"public-read"
],
// ["starts-with", "$key", ""],
// ["starts-with", "$name", ""], //表单中传了name字段,也需要加到policy中
// ["starts-with", "$x-kss-meta-custom-param1",""],
// ["starts-with", "$x-kss-newfilename-in-body",""],//必须只包含小写字符
// ["starts-with", "$Cache-Control",""],
// ["starts-with", "$Expires", ""],
// ["starts-with", "$Content-Disposition", ""],
// ["starts-with", "$Content-Type",""],
// ["starts-with", "$Content-Encoding",""]
]
]
}
}
const
stringToSign
=
Ks3Util
.
Base64
.
encode
(
JSON
.
stringify
(
policy
))
const
stringToSign
=
Ks3Util
.
Base64
.
encode
(
JSON
.
stringify
(
policy
))
...
@@ -97,21 +107,21 @@ exports.upload_ks3_image = async (ctx, next) => {
...
@@ -97,21 +107,21 @@ exports.upload_ks3_image = async (ctx, next) => {
// console.log('upload_ks3_image::::::', ctx.request.files)
// console.log('upload_ks3_image::::::', ctx.request.files)
const
file
=
ctx
.
request
.
files
&&
ctx
.
request
.
files
.
file
;
const
file
=
ctx
.
request
.
files
&&
ctx
.
request
.
files
.
file
;
console
.
log
(
888899
,
await
_get_bucket
(
ctx
,
next
))
console
.
log
(
888899
,
await
_get_bucket
(
ctx
,
next
))
const
{
result
:
{
bucket
}}
=
JSON
.
parse
(
await
_get_bucket
(
ctx
,
next
))
const
{
result
:
{
bucket
}
}
=
JSON
.
parse
(
await
_get_bucket
(
ctx
,
next
))
const
{
result
:
{
objectId
}}
=
JSON
.
parse
(
await
_get_obj_id
(
ctx
,
next
))
const
{
result
:
{
objectId
}
}
=
JSON
.
parse
(
await
_get_obj_id
(
ctx
,
next
))
console
.
log
(
3334444
,
file
.
type
)
console
.
log
(
3334444
,
file
.
type
)
const
getExpires
=
(
seconds
)
=>
{
const
getExpires
=
(
seconds
)
=>
{
return
Math
.
round
(
new
Date
().
getTime
()
/
1000
)
+
seconds
;
return
Math
.
round
(
new
Date
().
getTime
()
/
1000
)
+
seconds
;
};
};
const
acl
=
'public-read'
;
const
acl
=
'public-read'
;
const
policy
=
{
const
policy
=
{
"expiration"
:
new
Date
(
getExpires
(
3600
)
*
1000
).
toISOString
(),
//一小时后
"expiration"
:
new
Date
(
getExpires
(
3600
)
*
1000
).
toISOString
(),
//一小时后
"conditions"
:
[
"conditions"
:
[
[
"eq"
,
"$bucket"
,
bucket
],
[
"eq"
,
"$bucket"
,
bucket
],
[
"starts-with"
,
"$acl"
,
"public-read"
],
[
"starts-with"
,
"$acl"
,
"public-read"
],
]
]
}
}
const
stringToSign
=
Ks3Util
.
Base64
.
encode
(
JSON
.
stringify
(
policy
))
const
stringToSign
=
Ks3Util
.
Base64
.
encode
(
JSON
.
stringify
(
policy
))
...
@@ -141,14 +151,14 @@ exports.upload_ks3_image = async (ctx, next) => {
...
@@ -141,14 +151,14 @@ exports.upload_ks3_image = async (ctx, next) => {
'x-kss-date'
:
date
,
'x-kss-date'
:
date
,
[
attrAcl
]:
acl
[
attrAcl
]:
acl
}
}
const
headerSignature
=
Ks3Util
.
generateToken
(
KS3_CONFIG
.
SK
,
bucket
,
objectId
,
'PUT'
,
file
.
type
,
headersForSign
,
date
)
const
headerSignature
=
Ks3Util
.
generateToken
(
KS3_CONFIG
.
SK
,
bucket
,
objectId
,
'PUT'
,
file
.
type
,
headersForSign
,
date
)
const
hmac
=
crypto
.
createHmac
(
'sha256'
,
KS3_CONFIG
.
SK
);
const
hmac
=
crypto
.
createHmac
(
'sha256'
,
KS3_CONFIG
.
SK
);
hmac
.
update
(
headerSignature
);
hmac
.
update
(
headerSignature
);
console
.
log
(
hmac
.
digest
(
'hex'
));
console
.
log
(
hmac
.
digest
(
'hex'
));
console
.
log
(
'headerSignature::::'
,
headerSignature
)
console
.
log
(
'headerSignature::::'
,
headerSignature
)
const
headers
=
{
const
headers
=
{
...
headersForSign
,
...
headersForSign
,
...
...
server/controllers/role.js
View file @
c58cec36
...
@@ -51,6 +51,8 @@ exports.getUpdate_role = async (ctx, next) => {
...
@@ -51,6 +51,8 @@ exports.getUpdate_role = async (ctx, next) => {
json
:
true
,
json
:
true
,
body
:
ctx
.
request
.
body
body
:
ctx
.
request
.
body
}
}
console
.
log
(
opts
,
'optsoptsoptsopts888888'
)
console
.
log
(
ctx
.
request
.
query
,
'pppp'
)
ctx
.
body
=
await
req
(
ctx
,
opts
)
ctx
.
body
=
await
req
(
ctx
,
opts
)
}
}
exports
.
getDelete_role
=
async
(
ctx
,
next
)
=>
{
exports
.
getDelete_role
=
async
(
ctx
,
next
)
=>
{
...
...
src/components/PageHeader/config.js
View file @
c58cec36
...
@@ -15,7 +15,7 @@ const headerConfig = {
...
@@ -15,7 +15,7 @@ const headerConfig = {
name
:
'企业认证管理'
name
:
'企业认证管理'
},
},
{
{
path
:
'/life
-no/life
'
,
path
:
'/life
No
'
,
name
:
'生活号管理'
name
:
'生活号管理'
},
},
{
{
...
...
src/components/PageHeader/index.vue
View file @
c58cec36
...
@@ -41,7 +41,7 @@ export default {
...
@@ -41,7 +41,7 @@ export default {
};
};
},
},
computed
:
{
computed
:
{
menuItemsWithAuth
:
function
()
{
menuItemsWithAuth
:
function
()
{
const
keys
=
Object
.
keys
(
this
.
$store
.
getters
.
subPermissions
)
const
keys
=
Object
.
keys
(
this
.
$store
.
getters
.
subPermissions
)
return
this
.
menuItems
.
filter
(
ele
=>
keys
.
includes
(
ele
.
key
))
return
this
.
menuItems
.
filter
(
ele
=>
keys
.
includes
(
ele
.
key
))
},
},
...
@@ -50,7 +50,7 @@ export default {
...
@@ -50,7 +50,7 @@ export default {
return
this
.
$route
.
path
;
return
this
.
$route
.
path
;
},
},
},
},
beforeMount
()
{
beforeMount
()
{
},
},
methods
:
{},
methods
:
{},
};
};
...
...
src/config/pageconfig.js
View file @
c58cec36
...
@@ -38,10 +38,11 @@ export const PAGEMODULE_PERMISSIONNAME = {
...
@@ -38,10 +38,11 @@ export const PAGEMODULE_PERMISSIONNAME = {
enterprise
:
'enterprise_certification_management'
,
enterprise
:
'enterprise_certification_management'
,
lifeNo
:
'life_official_account_management'
,
lifeNo
:
'life_official_account_management'
,
role
:
'role_management'
,
role
:
'role_management'
,
// roleAddRole: 'role_addRole',
user
:
'user_management'
user
:
'user_management'
}
}
export
const
PERMISSIONNAME_PAGEMODULE
=
(
function
()
{
export
const
PERMISSIONNAME_PAGEMODULE
=
(
function
()
{
const
obj
=
{}
const
obj
=
{}
for
(
let
ele
in
PAGEMODULE_PERMISSIONNAME
)
{
for
(
let
ele
in
PAGEMODULE_PERMISSIONNAME
)
{
obj
[
PAGEMODULE_PERMISSIONNAME
[
ele
]]
=
ele
obj
[
PAGEMODULE_PERMISSIONNAME
[
ele
]]
=
ele
...
@@ -57,10 +58,8 @@ export const PATH_PERMISSION_NAME = {
...
@@ -57,10 +58,8 @@ export const PATH_PERMISSION_NAME = {
'/enterprise/certification'
:
'enterprise_certification_management'
,
'/enterprise/certification'
:
'enterprise_certification_management'
,
'/enterprise/audit'
:
'enterprise_certification_management.audit'
,
'/enterprise/audit'
:
'enterprise_certification_management.audit'
,
'/enterprise/establish'
:
'enterprise_certification_management.create'
,
'/enterprise/establish'
:
'enterprise_certification_management.create'
,
'/lifeNo'
:
'life_official_account_management'
,
'/lifeNo'
:
'life_official_account_management'
,
'/roleManageRole'
:
'role_management'
,
'/roleManageRole'
:
'role_management'
,
// '/roleAddRole': 'role_addRole',
'/user'
:
'user_management'
'/user'
:
'user_management'
}
}
\ No newline at end of file
src/pages/Role/add-role.vue
View file @
c58cec36
<
template
>
<
template
>
<div
class=
"addRole"
>
<div
class=
"addRole"
>
<el-button
type=
"primary"
@
click=
"newAddRole"
>
新增
</el-button>
<el-button
type=
"primary"
v-if=
"permission.get('create')"
@
click=
"newAddRole"
>
新增
</el-button
>
<!-- 角色列表 -->
<!-- 角色列表 -->
<el-table
<el-table
:data=
"roleDataList"
:data=
"roleDataList"
...
@@ -28,7 +33,7 @@
...
@@ -28,7 +33,7 @@
<el-form>
<el-form>
<!-- 编辑 -->
<!-- 编辑 -->
<div
v-if=
"edit"
>
<div
v-if=
"edit"
>
<role
Detail
:role_info_detail=
"role_info_detail"
/>
<role
Info
:role_info_detail=
"role_info_detail"
/>
</div>
</div>
<!-- 新增 -->
<!-- 新增 -->
<el-form-item
label=
"角色名称"
:label-width=
"formLabelWidth"
>
<el-form-item
label=
"角色名称"
:label-width=
"formLabelWidth"
>
...
@@ -57,7 +62,7 @@
...
@@ -57,7 +62,7 @@
</template>
</template>
<
script
>
<
script
>
import
page
from
"../components/Pagination"
import
page
from
"../components/Pagination"
import
role
Detail
from
'./components/roleDetail
'
import
role
Info
from
'./components/roleInfo
'
import
{
import
{
getRole_list
as
reqGetRole_list
,
getAdd_role
as
reqGetAdd_role
,
getRole_list
as
reqGetRole_list
,
getAdd_role
as
reqGetAdd_role
,
getAll_role_list
as
reqGetAll_role_list
,
getAll_role_list
as
reqGetAll_role_list
,
...
@@ -66,20 +71,27 @@ import {
...
@@ -66,20 +71,27 @@ import {
}
from
"../../service/role"
;
}
from
"../../service/role"
;
import
{
ElMessage
}
from
'element-plus'
import
{
ElMessage
}
from
'element-plus'
export
default
{
export
default
{
name
:
'KeepaddRole'
,
components
:
{
components
:
{
page
,
page
,
roleDetail
roleInfo
},
computed
:
{
permission
()
{
const
modulePermissions
=
this
.
$store
.
getters
.
moduleSubPermissions
(
'role'
)
||
[];
return
new
Map
(
modulePermissions
.
map
(
ele
=>
[
ele
.
name
,
true
]))
},
},
},
data
()
{
data
()
{
return
{
return
{
parmas
:
{
parmas
:
{
page
:
1
,
page
:
1
,
page_size
:
1
0
page_size
:
2
0
},
},
user_info
:
{
user_info
:
{
user_
name
:
"jianghaiming"
,
name
:
"jianghaiming"
,
user_
email
:
"jianghaiming@126.com"
,
email
:
"jianghaiming@126.com"
,
op_cur_user
:
"jianghaiming@yidian-inc.com"
,
//
op_cur_user: "jianghaiming@yidian-inc.com",
},
},
roleDataList
:
[],
roleDataList
:
[],
totalNum
:
null
,
totalNum
:
null
,
...
@@ -120,8 +132,9 @@ export default {
...
@@ -120,8 +132,9 @@ export default {
this
.
$router
.
push
({
name
:
'RoleDetail'
,
query
:
{
roleId
:
row
.
role_id
}
});
this
.
$router
.
push
({
name
:
'RoleDetail'
,
query
:
{
roleId
:
row
.
role_id
}
});
},
},
getPermissionsAll
()
{
getPermissionsAll
()
{
let
{
user_name
,
user_email
}
=
this
.
user_info
// this.user_info = this.$store.state.userInfo
reqGetAll_role_list
(
user_name
,
user_email
).
then
(
res
=>
{
let
{
email
}
=
this
.
user_info
reqGetAll_role_list
(
email
).
then
(
res
=>
{
this
.
permissionsAll
=
res
this
.
permissionsAll
=
res
})
})
},
},
...
@@ -131,11 +144,16 @@ export default {
...
@@ -131,11 +144,16 @@ export default {
this
.
roleTitle
=
'新增角色'
this
.
roleTitle
=
'新增角色'
this
.
edit
=
false
this
.
edit
=
false
this
.
roleName
=
""
this
.
roleName
=
""
this
.
selectedOptions
=
[]
},
},
//获取角色列表
//获取角色列表
getGetRole_list
()
{
getGetRole_list
()
{
let
{
page
,
page_size
}
=
this
.
parmas
let
{
page
,
page_size
}
=
this
.
parmas
reqGetRole_list
(
page
,
page_size
).
then
(
res
=>
{
let
parmasRole_list
=
{
page
,
page_size
,
}
reqGetRole_list
(
parmasRole_list
).
then
(
res
=>
{
this
.
roleDataList
=
res
.
result
this
.
roleDataList
=
res
.
result
this
.
totalNum
=
res
.
count
this
.
totalNum
=
res
.
count
})
})
...
@@ -152,8 +170,13 @@ export default {
...
@@ -152,8 +170,13 @@ export default {
this
.
checkFn
()
this
.
checkFn
()
return
false
return
false
}
}
let
role_name
=
this
.
roleName
,
permissions
=
this
.
currentRolePrivilege
let
{
email
}
=
this
.
$store
.
state
.
userInfo
//当前登陆人
reqGetAdd_role
(
role_name
,
permissions
).
then
(
res
=>
{
let
parmasAdd_role
=
{
op_cur_user
:
email
,
role_name
:
this
.
roleName
,
permissions
:
this
.
currentRolePrivilege
}
reqGetAdd_role
(
parmasAdd_role
).
then
(
res
=>
{
if
(
res
.
status
===
"success"
)
{
if
(
res
.
status
===
"success"
)
{
this
.
dialogFormVisible
=
false
this
.
dialogFormVisible
=
false
this
.
getGetRole_list
()
this
.
getGetRole_list
()
...
@@ -205,7 +228,6 @@ export default {
...
@@ -205,7 +228,6 @@ export default {
}
}
})
})
this
.
selectedOptions
=
selectData
this
.
selectedOptions
=
selectData
console
.
log
(
this
.
selectedOptions
,
'00008u989'
)
},
},
//编辑角色
//编辑角色
getUpdate_role
()
{
getUpdate_role
()
{
...
@@ -213,10 +235,16 @@ export default {
...
@@ -213,10 +235,16 @@ export default {
this
.
checkFn
()
this
.
checkFn
()
return
false
return
false
}
}
let
{
role_name
,
role_id
,
role_status
}
=
this
.
role_info_detail
let
{
role_id
,
role_status
}
=
this
.
role_info_detail
let
{
op_cur_user
}
=
this
.
user_info
let
{
email
}
=
this
.
$store
.
state
.
userInfo
//当前登陆人
role_name
=
this
.
roleName
let
parmasUpdate_role
=
{
reqGetUpdate_role
(
op_cur_user
,
role_name
,
role_id
,
role_status
,
this
.
permissionsUpdate
).
then
(
res
=>
{
op_cur_user
:
email
,
role_name
:
this
.
roleName
,
role_id
,
role_status
,
permissions
:
this
.
permissionsUpdate
}
reqGetUpdate_role
(
parmasUpdate_role
).
then
(
res
=>
{
if
(
res
.
status
===
"success"
)
{
if
(
res
.
status
===
"success"
)
{
this
.
dialogFormVisible
=
false
this
.
dialogFormVisible
=
false
this
.
edit
=
true
this
.
edit
=
true
...
@@ -233,7 +261,6 @@ export default {
...
@@ -233,7 +261,6 @@ export default {
}
}
},
},
parentCateChange
(
id
)
{
parentCateChange
(
id
)
{
console
.
log
(
id
,
'000'
)
this
.
getSelectedOptions
(
id
)
this
.
getSelectedOptions
(
id
)
},
},
getSelectedOptions
(
selectedOptions
)
{
getSelectedOptions
(
selectedOptions
)
{
...
...
src/pages/Role/components/role
Detail
.vue
→
src/pages/Role/components/role
Info
.vue
View file @
c58cec36
File moved
src/pages/Role/manage-role.vue
View file @
c58cec36
...
@@ -35,9 +35,10 @@
...
@@ -35,9 +35,10 @@
></el-table-column>
></el-table-column>
<el-table-column
<el-table-column
label=
"状态"
label=
"状态"
prop=
"role_status
"
:formatter=
"hasStatusFormat
"
align=
"center"
align=
"center"
></el-table-column>
>
</el-table-column>
<el-table-column
<el-table-column
label=
"最后修改日期"
label=
"最后修改日期"
prop=
"update_time"
prop=
"update_time"
...
@@ -51,7 +52,10 @@
...
@@ -51,7 +52,10 @@
<el-table-column
label=
"操作"
align=
"center"
>
<el-table-column
label=
"操作"
align=
"center"
>
<template
#
default=
"scope"
>
<template
#
default=
"scope"
>
<el-button
<el-button
v-if=
"!(scope.row.role_status == 2 || scope.row.role_status == 3)"
v-if=
"
!(scope.row.role_status == 2 || scope.row.role_status == 3) &&
permission.get('edit')
"
size=
"mini"
size=
"mini"
@
click
.
stop=
"handelModify(scope.row)"
@
click
.
stop=
"handelModify(scope.row)"
type=
"primary"
type=
"primary"
...
@@ -59,18 +63,21 @@
...
@@ -59,18 +63,21 @@
>
>
<el-button
<el-button
size=
"mini"
size=
"mini"
v-if=
"permission.get('delete')"
@
click
.
stop=
"handelDelete(scope.row)"
@
click
.
stop=
"handelDelete(scope.row)"
type=
"warning"
type=
"warning"
>
删除
</el-button
>
删除
</el-button
>
>
<el-button
<el-button
size=
"mini"
size=
"mini"
v-if=
"permission.get('disable')"
@
click
.
stop=
"handelDisable(scope.row)"
@
click
.
stop=
"handelDisable(scope.row)"
type=
"danger"
type=
"danger"
>
禁用
</el-button
>
禁用
</el-button
>
>
<el-button
<el-button
size=
"mini"
size=
"mini"
v-if=
"permission.get('enable')"
@
click
.
stop=
"handelEnable(scope.row)"
@
click
.
stop=
"handelEnable(scope.row)"
type=
"success"
type=
"success"
>
启用
</el-button
>
启用
</el-button
...
@@ -116,11 +123,17 @@ import {
...
@@ -116,11 +123,17 @@ import {
getDelete_role
as
reqGetDelete_role
getDelete_role
as
reqGetDelete_role
}
from
"../../service/role"
;
}
from
"../../service/role"
;
export
default
{
export
default
{
name
:
'RoleManagement'
,
name
:
'
Keep
RoleManagement'
,
components
:
{
components
:
{
Layout
,
Layout
,
page
,
page
,
},
},
computed
:
{
permission
()
{
const
modulePermissions
=
this
.
$store
.
getters
.
moduleSubPermissions
(
'role'
)
||
[];
return
new
Map
(
modulePermissions
.
map
(
ele
=>
[
ele
.
name
,
true
]))
},
},
data
()
{
data
()
{
return
{
return
{
searchForm
:
{
searchForm
:
{
...
@@ -128,13 +141,13 @@ export default {
...
@@ -128,13 +141,13 @@ export default {
roleStatus
:
''
roleStatus
:
''
},
},
user_info
:
{
user_info
:
{
user_name
:
this
.
$store
.
state
.
name
,
name
:
"jianghaiming@yidian-inc.com"
,
op_cur_user
:
"jianghaiming@yidian-inc.com"
,
//
op_cur_user: "jianghaiming@yidian-inc.com",
user_
email
:
"jianghaiming@126.com"
,
email
:
"jianghaiming@126.com"
,
},
},
parmas
:
{
parmas
:
{
page
:
1
,
page
:
1
,
page_size
:
1
0
page_size
:
2
0
},
},
totalNum
:
null
,
totalNum
:
null
,
props
:
{
props
:
{
...
@@ -160,19 +173,29 @@ export default {
...
@@ -160,19 +173,29 @@ export default {
this
.
getPermissionsAll
()
this
.
getPermissionsAll
()
},
},
methods
:
{
methods
:
{
hasStatusFormat
(
row
)
{
let
statusText
=
[
'正常'
,
'禁用'
,
'删除'
]
return
statusText
[
row
.
role_status
-
1
]
},
toRoleDetail
(
row
)
{
toRoleDetail
(
row
)
{
this
.
$router
.
push
({
name
:
'RoleDetail'
,
query
:
{
roleId
:
row
.
role_id
}
});
this
.
$router
.
push
({
name
:
'RoleDetail'
,
query
:
{
roleId
:
row
.
role_id
}
});
},
},
getPermissionsAll
()
{
getPermissionsAll
()
{
let
{
user_name
,
user_
email
}
=
this
.
user_info
let
{
email
}
=
this
.
user_info
reqGetAll_role_list
(
user_name
,
user_
email
).
then
(
res
=>
{
reqGetAll_role_list
(
email
).
then
(
res
=>
{
this
.
permissionsAll
=
res
this
.
permissionsAll
=
res
})
})
},
},
//获取角色列表
//获取角色列表
getGetRole_list
()
{
getGetRole_list
()
{
let
{
page
,
page_size
}
=
this
.
parmas
let
{
page
,
page_size
}
=
this
.
parmas
reqGetRole_list
(
page
,
page_size
,
this
.
searchForm
.
roleStatus
,
this
.
searchForm
.
roleName
).
then
(
res
=>
{
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
.
managementList
=
res
.
result
this
.
totalNum
=
res
.
count
this
.
totalNum
=
res
.
count
})
})
...
@@ -228,7 +251,7 @@ export default {
...
@@ -228,7 +251,7 @@ export default {
role_name
,
role_name
,
}
}
this
.
permissionsUpdate
=
permissions
this
.
permissionsUpdate
=
permissions
let
{
op_cur_user
}
=
this
.
user_info
let
{
email
}
=
this
.
$store
.
state
.
userInfo
//当前用户
let
role_status
let
role_status
if
(
type
===
"disable"
)
{
if
(
type
===
"disable"
)
{
role_status
=
2
role_status
=
2
...
@@ -242,7 +265,7 @@ export default {
...
@@ -242,7 +265,7 @@ export default {
role_status
=
""
role_status
=
""
}
}
if
(
type
!==
"modify"
)
{
if
(
type
!==
"modify"
)
{
this
.
getUpdate_role
(
op_cur_user
,
role_name
,
role_id
,
role_status
,
permissions
)
this
.
getUpdate_role
(
email
,
role_name
,
role_id
,
role_status
,
permissions
)
}
}
})
})
},
},
...
@@ -284,8 +307,15 @@ export default {
...
@@ -284,8 +307,15 @@ export default {
this
.
openBounced
(
"disable"
,
row
.
role_id
)
this
.
openBounced
(
"disable"
,
row
.
role_id
)
},
},
//编辑列表操作
//编辑列表操作
getUpdate_role
(
op_cur_user
,
role_name
,
role_id
,
role_status
,
permissions
)
{
getUpdate_role
(
email
,
role_name
,
role_id
,
role_status
,
permissions
)
{
reqGetUpdate_role
(
op_cur_user
,
role_name
,
role_id
,
role_status
,
permissions
).
then
(
res
=>
{
let
parmasUpdate_role
=
{
op_cur_user
:
email
,
role_name
:
role_name
,
role_id
,
role_status
,
permissions
,
}
reqGetUpdate_role
(
parmasUpdate_role
).
then
(
res
=>
{
if
(
res
.
status
===
"success"
)
{
if
(
res
.
status
===
"success"
)
{
this
.
dialogVisible
=
false
this
.
dialogVisible
=
false
this
.
getGetRole_list
()
this
.
getGetRole_list
()
...
@@ -305,10 +335,10 @@ export default {
...
@@ -305,10 +335,10 @@ export default {
},
},
//确认修改
//确认修改
confirm
()
{
confirm
()
{
let
{
op_cur_user
}
=
this
.
user_i
nfo
let
{
email
}
=
this
.
$store
.
state
.
userI
nfo
let
{
role_id
,
role_name
}
=
this
.
role_info_detail
let
{
role_id
,
role_name
}
=
this
.
role_info_detail
let
role_status
=
''
let
role_status
=
''
this
.
getUpdate_role
(
op_cur_user
,
role_name
,
role_id
,
role_status
,
this
.
currentRolePrivilege
)
this
.
getUpdate_role
(
email
,
role_name
,
role_id
,
role_status
,
this
.
currentRolePrivilege
)
},
},
parentCateChange
(
id
)
{
parentCateChange
(
id
)
{
this
.
getSelectedOptions
(
id
)
this
.
getSelectedOptions
(
id
)
...
...
src/pages/Role/role-detail.vue
View file @
c58cec36
...
@@ -20,7 +20,7 @@
...
@@ -20,7 +20,7 @@
</el-descriptions-item>
</el-descriptions-item>
<el-descriptions-item>
<el-descriptions-item>
<
template
#
label
>
创建人账号
</
template
>
<
template
#
label
>
创建人账号
</
template
>
{{ role_info_detail.
upd
ate_user_name }}
{{ role_info_detail.
cre
ate_user_name }}
</el-descriptions-item>
</el-descriptions-item>
<el-descriptions-item>
<el-descriptions-item>
<
template
#
label
>
创建时间
</
template
>
<
template
#
label
>
创建时间
</
template
>
...
@@ -42,18 +42,6 @@
...
@@ -42,18 +42,6 @@
<div
class=
"tree"
v-if=
"selectedOptions"
>
<div
class=
"tree"
v-if=
"selectedOptions"
>
<h5
style=
"margin-bottom: 10px"
>
角色范围
</h5>
<h5
style=
"margin-bottom: 10px"
>
角色范围
</h5>
<div
class=
"content"
>
<div
class=
"content"
>
<!-- <el-tree
:data="permissionsAll"
show-checkbox
:default-checked-keys="checkedKeys"
:default-expanded-keys="expandedKeys"
node-key="id"
ref="tree"
highlight-current
:props="defaultProps"
:expand-on-click-node="false"
>
</el-tree> -->
<el-cascader
<el-cascader
v-model=
"selectedOptions"
v-model=
"selectedOptions"
:options=
"permissionsAll"
:options=
"permissionsAll"
...
@@ -73,13 +61,9 @@ export default {
...
@@ -73,13 +61,9 @@ export default {
data
()
{
data
()
{
return
{
return
{
roleId
:
this
.
$route
.
query
.
roleId
,
roleId
:
this
.
$route
.
query
.
roleId
,
defaultProps
:
{
children
:
'sub_permissions'
,
label
:
'desc'
},
user_info
:
{
user_info
:
{
user_
name
:
"jianghaiming"
,
name
:
"jianghaiming"
,
user_
email
:
"jianghaiming@126.com"
,
email
:
"jianghaiming@126.com"
,
},
},
props
:
{
props
:
{
multiple
:
true
,
//设置为多选
multiple
:
true
,
//设置为多选
...
@@ -88,8 +72,6 @@ export default {
...
@@ -88,8 +72,6 @@ export default {
children
:
'sub_permissions'
//children值和哪个值绑定
children
:
'sub_permissions'
//children值和哪个值绑定
},
},
selectedOptions
:
[],
selectedOptions
:
[],
checkedKeys
:
[],
expandedKeys
:
[],
permissionsAll
:
[],
permissionsAll
:
[],
role_info_detail
:
{
//详情非编辑项
role_info_detail
:
{
//详情非编辑项
role_id
:
""
,
role_id
:
""
,
...
@@ -99,19 +81,15 @@ export default {
...
@@ -99,19 +81,15 @@ export default {
update_user_name
:
""
,
update_user_name
:
""
,
create_time
:
""
,
create_time
:
""
,
create_user_name
:
""
create_user_name
:
""
}
,
}
}
}
},
},
created
()
{
created
()
{
let
{
user_name
,
user_email
}
=
this
.
user_info
// this.user_info = this.$store.state.userInfo
reqGetAll_role_list
(
user_name
,
user_email
).
then
(
res
=>
{
this
.
roleId
=
this
.
$route
.
query
.
roleId
let
{
email
}
=
this
.
user_info
reqGetAll_role_list
(
email
).
then
(
res
=>
{
this
.
permissionsAll
=
res
this
.
permissionsAll
=
res
// this.permissionsAll.forEach(item => {
// item.disabled = true
// item.sub_permissions.forEach(element => {
// element.disabled = true
// })
// })
})
})
reqGet_role_info
(
this
.
roleId
).
then
((
res
)
=>
{
reqGet_role_info
(
this
.
roleId
).
then
((
res
)
=>
{
const
{
role_id
,
role_name
,
role_status
,
update_time
,
update_user_name
,
create_time
,
create_user_name
,
permissions
}
=
res
const
{
role_id
,
role_name
,
role_status
,
update_time
,
update_user_name
,
create_time
,
create_user_name
,
permissions
}
=
res
...
@@ -133,18 +111,6 @@ export default {
...
@@ -133,18 +111,6 @@ export default {
},
},
//遍历回显值selectedOptions
//遍历回显值selectedOptions
editEchoData
(
permissions
)
{
editEchoData
(
permissions
)
{
// let childArr = [], selectExpandedKeys = []
// permissions.forEach(item => {
// selectExpandedKeys.push(item.id)
// if (item.sub_permissions) {
// item.sub_permissions.forEach(element => {
// childArr.push(element.id)
// })
// }
// })
// this.checkedKeys = childArr
// this.expandedKeys = selectExpandedKeys
// console.log(this.checkedKeys, this.expandedKeys, ' this.expandedKeys ')
let
selectData
=
[]
let
selectData
=
[]
permissions
.
map
(
item
=>
{
permissions
.
map
(
item
=>
{
let
one
=
{
id
:
item
.
id
}
let
one
=
{
id
:
item
.
id
}
...
...
src/pages/User/user-detail.vue
View file @
c58cec36
...
@@ -53,7 +53,7 @@ import { getUser_detail as reqGetUser_detail } from "../../service/user";
...
@@ -53,7 +53,7 @@ import { getUser_detail as reqGetUser_detail } from "../../service/user";
export
default
{
export
default
{
data
()
{
data
()
{
return
{
return
{
user_id
:
'1'
,
user_id
:
this
.
$route
.
query
.
userId
,
user_info
:
{},
user_info
:
{},
role_list
:
[]
//角色池
role_list
:
[]
//角色池
}
}
...
...
src/pages/User/userList/index.vue
View file @
c58cec36
...
@@ -31,7 +31,9 @@
...
@@ -31,7 +31,9 @@
<el-form-item
class=
"func-btn"
>
<el-form-item
class=
"func-btn"
>
<el-button
type=
"primary"
@
click=
"getUserList"
>
查询
</el-button>
<el-button
type=
"primary"
@
click=
"getUserList"
>
查询
</el-button>
<el-button
@
click=
"onReset"
>
重置
</el-button>
<el-button
@
click=
"onReset"
>
重置
</el-button>
<el-button
@
click=
"createUser"
:disabled=
"!permission.get('create')"
>
新建用户
</el-button>
<el-button
@
click=
"createUser"
:disabled=
"!permission.get('create')"
>
新建用户
</el-button
>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
<el-table
:data=
"renderUserList"
border
style=
"width: 100%"
>
<el-table
:data=
"renderUserList"
border
style=
"width: 100%"
>
...
@@ -50,7 +52,11 @@
...
@@ -50,7 +52,11 @@
<el-button
type=
"text"
size=
"small"
@
click=
"checkUser(scope.row)"
<el-button
type=
"text"
size=
"small"
@
click=
"checkUser(scope.row)"
>
查看
</el-button
>
查看
</el-button
>
>
<el-button
@
click=
"editUser(scope.row)"
type=
"text"
size=
"small"
:disabled=
"!permission.get('edit')"
<el-button
@
click=
"editUser(scope.row)"
type=
"text"
size=
"small"
:disabled=
"!permission.get('edit')"
>
修改
</el-button
>
修改
</el-button
>
>
<el-button
<el-button
...
@@ -143,9 +149,10 @@ export default {
...
@@ -143,9 +149,10 @@ export default {
},
},
computed
:
{
computed
:
{
permission
()
{
permission
()
{
const
modulePermissions
=
this
.
$store
.
getters
.
moduleSubPermissions
(
'user'
)
||
[];
const
modulePermissions
=
console
.
log
(
'Current page func-permissions:'
,
modulePermissions
);
this
.
$store
.
getters
.
moduleSubPermissions
(
"user"
)
||
[];
return
new
Map
(
modulePermissions
.
map
(
ele
=>
[
ele
.
name
,
true
]))
console
.
log
(
"Current page func-permissions:"
,
modulePermissions
);
return
new
Map
(
modulePermissions
.
map
((
ele
)
=>
[
ele
.
name
,
true
]));
},
},
renderUserList
()
{
renderUserList
()
{
...
...
src/pages/components/Pagination.vue
View file @
c58cec36
...
@@ -18,7 +18,7 @@ export default {
...
@@ -18,7 +18,7 @@ export default {
data
()
{
data
()
{
return
{
return
{
currentPage
:
1
,
currentPage
:
1
,
page_size
:
1
0
page_size
:
2
0
}
}
},
},
methods
:
{
methods
:
{
...
...
src/router/index.js
View file @
c58cec36
...
@@ -63,6 +63,9 @@ const routes = [
...
@@ -63,6 +63,9 @@ const routes = [
path
:
'/lifeNo'
,
path
:
'/lifeNo'
,
name
:
'LifeNo'
,
name
:
'LifeNo'
,
component
:
LifeNo
,
component
:
LifeNo
,
meta
:
{
requireAuth
:
true
}
},
},
{
{
path
:
'/lifeNoDetail'
,
path
:
'/lifeNoDetail'
,
...
@@ -78,7 +81,7 @@ const routes = [
...
@@ -78,7 +81,7 @@ const routes = [
{
{
path
:
'/userDetail'
,
path
:
'/userDetail'
,
name
:
'UserDetail'
,
name
:
'UserDetail'
,
component
:
UserDetail
,
component
:
UserDetail
},
},
//角色管理
//角色管理
{
{
...
@@ -86,13 +89,17 @@ const routes = [
...
@@ -86,13 +89,17 @@ const routes = [
name
:
'AddRole'
,
name
:
'AddRole'
,
component
:
AddRole
,
component
:
AddRole
,
meta
:
{
meta
:
{
requireAuth
:
true
,
requireAuth
:
true
}
}
},
},
{
{
path
:
'/roleManageRole'
,
path
:
'/roleManageRole'
,
name
:
'ManageRole'
,
name
:
'ManageRole'
,
component
:
ManageRole
component
:
ManageRole
,
meta
:
{
requireAuth
:
true
,
keepAlive
:
true
}
},
},
{
{
path
:
'/roleRoleDetail'
,
path
:
'/roleRoleDetail'
,
...
...
src/service/role.js
View file @
c58cec36
import
axios
from
'../utils/request'
;
import
axios
from
'../utils/request'
;
// import qs from 'qs';
// import qs from 'qs';
//角色列表
//角色列表
export
async
function
getRole_list
(
page
,
page_size
,
role_status
,
role_name
)
{
export
async
function
getRole_list
(
parmasRole_list
)
{
const
res
=
await
axios
.
post
(
"/api/v1/merchant/authority/role_list"
,
{
const
res
=
await
axios
.
post
(
"/api/v1/merchant/authority/role_list"
,
parmasRole_list
)
page
,
page_size
,
role_status
,
role_name
})
return
res
;
return
res
;
}
}
//添加角色
//添加角色
export
async
function
getAdd_role
(
role_name
,
permissions
)
{
export
async
function
getAdd_role
(
parmasAdd_role
)
{
const
res
=
await
axios
.
post
(
"/api/v1/merchant/authority/add_role"
,
{
const
res
=
await
axios
.
post
(
"/api/v1/merchant/authority/add_role"
,
parmasAdd_role
)
role_name
,
permissions
})
return
res
;
return
res
;
}
}
//角色编辑
//角色编辑
export
async
function
getUpdate_role
(
op_cur_user
,
role_name
,
role_id
,
role_status
,
permissions
)
{
export
async
function
getUpdate_role
(
parmasUpdate_role
)
{
const
res
=
await
axios
.
post
(
"/api/v1/merchant/authority/update_role"
,
{
const
res
=
await
axios
.
post
(
"/api/v1/merchant/authority/update_role"
,
parmasUpdate_role
)
op_cur_user
,
role_name
,
role_id
,
role_status
,
permissions
})
return
res
;
return
res
;
}
}
//角色详情
//角色详情
...
@@ -37,9 +31,9 @@ export async function getDelete_role (role_id) {
...
@@ -37,9 +31,9 @@ export async function getDelete_role (role_id) {
}
}
//权限列表
//权限列表
export
async
function
getAll_role_list
(
user_
name
,
user_
email
)
{
export
async
function
getAll_role_list
(
user_email
)
{
const
res
=
await
axios
.
post
(
"/api/v1/merchant/authority/get_role_list"
,
{
const
res
=
await
axios
.
post
(
"/api/v1/merchant/authority/get_role_list"
,
{
user_
name
,
user_
email
user_email
})
})
return
res
.
permissions
;
return
res
.
permissions
;
}
}
src/store/index.js
View file @
c58cec36
...
@@ -8,15 +8,15 @@ export default createStore({
...
@@ -8,15 +8,15 @@ export default createStore({
userInfo
:
null
,
userInfo
:
null
,
},
},
mutations
:
{
mutations
:
{
updateUserPermission
(
state
,
payload
)
{
updateUserPermission
(
state
,
payload
)
{
state
.
permissions
=
payload
;
state
.
permissions
=
payload
;
},
},
updateUserInfo
(
state
,
payload
)
{
updateUserInfo
(
state
,
payload
)
{
state
.
userInfo
=
payload
;
state
.
userInfo
=
payload
;
}
}
},
},
actions
:
{
actions
:
{
async
updateUserPermission
({
commit
},
payload
)
{
async
updateUserPermission
({
commit
},
payload
)
{
const
{
permissions
=
[]
}
=
await
getPermissions
(
payload
.
email
);
const
{
permissions
=
[]
}
=
await
getPermissions
(
payload
.
email
);
console
.
log
(
"VUEX action updateUserPermission::"
,
permissions
);
console
.
log
(
"VUEX action updateUserPermission::"
,
permissions
);
commit
(
'updateUserPermission'
,
permissions
)
commit
(
'updateUserPermission'
,
permissions
)
...
...
src/utils/authUtil.js
View file @
c58cec36
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
import
store
from
'../store'
import
store
from
'../store'
import
{
PATH_PERMISSION_NAME
}
from
'../config/pageconfig'
import
{
PATH_PERMISSION_NAME
}
from
'../config/pageconfig'
function
getPermissionObj
()
{
function
getPermissionObj
()
{
// 支持到二级权限
// 支持到二级权限
const
permissions
=
store
.
state
.
permissions
||
[];
const
permissions
=
store
.
state
.
permissions
||
[];
const
authObj
=
{};
const
authObj
=
{};
...
@@ -23,8 +23,8 @@ function getPermissionObj() {
...
@@ -23,8 +23,8 @@ function getPermissionObj() {
* @param {*} path
* @param {*} path
* @returns
* @returns
*/
*/
export
function
checkPathAuth
(
path
)
{
export
function
checkPathAuth
(
path
)
{
const
authObj
=
getPermissionObj
();
const
authObj
=
getPermissionObj
();
if
(
path
in
PATH_PERMISSION_NAME
)
{
if
(
path
in
PATH_PERMISSION_NAME
)
{
const
authArr
=
PATH_PERMISSION_NAME
[
path
].
split
(
'.'
);
const
authArr
=
PATH_PERMISSION_NAME
[
path
].
split
(
'.'
);
...
@@ -58,4 +58,4 @@ export function checkPathAuth(path) {
...
@@ -58,4 +58,4 @@ export function checkPathAuth(path) {
// const authObj = getPermissionObj();
// const authObj = getPermissionObj();
// const modules = Object.keys(authObj).map(ele => PERMISSIONNAME_PAGEMODULE[ele])
// const modules = Object.keys(authObj).map(ele => PERMISSIONNAME_PAGEMODULE[ele])
// return modules.filter(ele => !!ele)
// return modules.filter(ele => !!ele)
// }
// }
\ No newline at end of file
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