Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
丽
丽人贷管理后台
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
百灵美选
丽人贷管理后台
Commits
80795587
Commit
80795587
authored
Jul 28, 2022
by
caimeng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增修改密码页面
parent
91e2a421
Changes
14
Show whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
565 additions
and
164 deletions
+565
-164
cert-img.vue
src/components/detail/cert-img.vue
+48
-17
credit-enclosure-img.vue
src/components/detail/credit-enclosure-img.vue
+49
-17
credit-img.vue
src/components/detail/credit-img.vue
+48
-17
face-img.vue
src/components/detail/face-img.vue
+48
-17
supple-enclosure-img.vue
src/components/detail/supple-enclosure-img.vue
+48
-17
user-enclosure-img.vue
src/components/detail/user-enclosure-img.vue
+48
-17
user-other-info.vue
src/components/user-other-info.vue
+69
-17
index.js
src/router/index.js
+12
-1
api.js
src/server/api.js
+8
-0
routes.js
src/store/modules/routes.js
+24
-25
index.vue
src/vab/components/Avatar/index.vue
+26
-14
pre.vue
src/views/credit/pre.vue
+11
-4
list.vue
src/views/loan/list.vue
+9
-1
edit.vue
src/views/password/edit.vue
+117
-0
No files found.
src/components/detail/cert-img.vue
View file @
80795587
...
...
@@ -86,25 +86,56 @@
methods
:
{
showImgViewer
(
item
,
type
)
{
switch
(
type
)
{
case
'idCard'
:
case
'face'
:
const
arr
=
[]
item
.
forEach
(
o
=>
{
console
.
log
(
o
,
'是啥'
)
arr
.
push
(
o
[
1
])
})
const
{
clientIdCardInfoResponse
,
creditAttachInfo
,
faceInfoResponse
,
supplAttachInfo
,
xcxSupplAttachInfo
}
=
this
.
info
console
.
log
(
arr
,
'预览图片的地址'
)
let
imgArray
=
[];
const
{
values
}
=
Object
;
this
.
imgList
=
arr
// 客户身份证
if
(
clientIdCardInfoResponse
){
for
(
let
val
of
values
(
clientIdCardInfoResponse
)){
if
(
val
)
imgArray
.
push
(
val
)
}
}
break
default
:
this
.
imgList
=
item
break
// 活体
if
(
faceInfoResponse
){
for
(
let
val
of
values
(
faceInfoResponse
)){
if
(
val
)
imgArray
.
push
(
val
)
}
}
// 授信图片
if
(
creditAttachInfo
&&
creditAttachInfo
.
length
){
creditAttachInfo
.
forEach
(
item
=>
{
imgArray
=
imgArray
.
concat
(
item
.
screenList
)
})
}
// 附件图片
if
(
supplAttachInfo
&&
supplAttachInfo
.
length
){
supplAttachInfo
.
forEach
(
item
=>
{
imgArray
=
imgArray
.
concat
(
item
.
screenList
)
})
}
// 补充图片
if
(
xcxSupplAttachInfo
&&
xcxSupplAttachInfo
.
length
){
xcxSupplAttachInfo
.
forEach
(
item
=>
{
imgArray
=
imgArray
.
concat
(
item
.
screenList
)
})
}
this
.
imgList
=
imgArray
;
this
.
imgViewerVisible
=
true
const
m
=
(
e
)
=>
{
e
.
preventDefault
()
...
...
src/components/detail/credit-enclosure-img.vue
View file @
80795587
...
...
@@ -91,25 +91,57 @@
methods
:
{
showImgViewer
(
item
,
type
)
{
switch
(
type
)
{
case
'idCard'
:
case
'face'
:
const
arr
=
[]
item
.
forEach
(
o
=>
{
console
.
log
(
o
,
'是啥'
)
arr
.
push
(
o
[
1
])
})
const
{
clientIdCardInfoResponse
,
creditAttachInfo
,
faceInfoResponse
,
supplAttachInfo
,
xcxSupplAttachInfo
}
=
this
.
info
let
imgArray
=
[];
const
{
values
}
=
Object
;
// 客户身份证
if
(
clientIdCardInfoResponse
){
for
(
let
val
of
values
(
clientIdCardInfoResponse
)){
if
(
val
)
imgArray
.
push
(
val
)
}
}
// 活体
if
(
faceInfoResponse
){
for
(
let
val
of
values
(
faceInfoResponse
)){
if
(
val
)
imgArray
.
push
(
val
)
}
}
console
.
log
(
arr
,
'预览图片的地址'
)
// 授信图片
if
(
creditAttachInfo
&&
creditAttachInfo
.
length
){
creditAttachInfo
.
forEach
(
item
=>
{
imgArray
=
imgArray
.
concat
(
item
.
screenList
)
})
}
this
.
imgList
=
arr
// 附件图片
if
(
supplAttachInfo
&&
supplAttachInfo
.
length
){
supplAttachInfo
.
forEach
(
item
=>
{
imgArray
=
imgArray
.
concat
(
item
.
screenList
)
})
}
break
default
:
this
.
imgList
=
item
break
// 补充图片
if
(
xcxSupplAttachInfo
&&
xcxSupplAttachInfo
.
length
){
xcxSupplAttachInfo
.
forEach
(
item
=>
{
imgArray
=
imgArray
.
concat
(
item
.
screenList
)
})
}
this
.
imgList
=
imgArray
;
this
.
imgViewerVisible
=
true
const
m
=
(
e
)
=>
{
e
.
preventDefault
()
...
...
src/components/detail/credit-img.vue
View file @
80795587
...
...
@@ -89,25 +89,56 @@
methods
:
{
showImgViewer
(
item
,
type
)
{
switch
(
type
)
{
case
'idCard'
:
case
'face'
:
const
arr
=
[]
item
.
forEach
(
o
=>
{
console
.
log
(
o
,
'是啥'
)
arr
.
push
(
o
[
1
])
})
const
{
clientIdCardInfoResponse
,
creditAttachInfo
,
faceInfoResponse
,
supplAttachInfo
,
xcxSupplAttachInfo
}
=
this
.
info
console
.
log
(
arr
,
'预览图片的地址'
)
let
imgArray
=
[];
const
{
values
}
=
Object
;
this
.
imgList
=
arr
// 客户身份证
if
(
clientIdCardInfoResponse
){
for
(
let
val
of
values
(
clientIdCardInfoResponse
)){
if
(
val
)
imgArray
.
push
(
val
)
}
}
break
default
:
this
.
imgList
=
item
break
// 活体
if
(
faceInfoResponse
){
for
(
let
val
of
values
(
faceInfoResponse
)){
if
(
val
)
imgArray
.
push
(
val
)
}
}
// 授信图片
if
(
creditAttachInfo
&&
creditAttachInfo
.
length
){
creditAttachInfo
.
forEach
(
item
=>
{
imgArray
=
imgArray
.
concat
(
item
.
screenList
)
})
}
// 附件图片
if
(
supplAttachInfo
&&
supplAttachInfo
.
length
){
supplAttachInfo
.
forEach
(
item
=>
{
imgArray
=
imgArray
.
concat
(
item
.
screenList
)
})
}
// 补充图片
if
(
xcxSupplAttachInfo
&&
xcxSupplAttachInfo
.
length
){
xcxSupplAttachInfo
.
forEach
(
item
=>
{
imgArray
=
imgArray
.
concat
(
item
.
screenList
)
})
}
this
.
imgList
=
imgArray
;
this
.
imgViewerVisible
=
true
const
m
=
(
e
)
=>
{
e
.
preventDefault
()
...
...
src/components/detail/face-img.vue
View file @
80795587
...
...
@@ -88,25 +88,56 @@
methods
:
{
showImgViewer
(
item
,
type
)
{
switch
(
type
)
{
case
'idCard'
:
case
'face'
:
const
arr
=
[]
item
.
forEach
(
o
=>
{
console
.
log
(
o
,
'是啥'
)
arr
.
push
(
o
[
1
])
})
const
{
clientIdCardInfoResponse
,
creditAttachInfo
,
faceInfoResponse
,
supplAttachInfo
,
xcxSupplAttachInfo
}
=
this
.
info
console
.
log
(
arr
,
'预览图片的地址'
)
let
imgArray
=
[];
const
{
values
}
=
Object
;
this
.
imgList
=
arr
// 客户身份证
if
(
clientIdCardInfoResponse
){
for
(
let
val
of
values
(
clientIdCardInfoResponse
)){
if
(
val
)
imgArray
.
push
(
val
)
}
}
break
default
:
this
.
imgList
=
item
break
// 活体
if
(
faceInfoResponse
){
for
(
let
val
of
values
(
faceInfoResponse
)){
if
(
val
)
imgArray
.
push
(
val
)
}
}
// 授信图片
if
(
creditAttachInfo
&&
creditAttachInfo
.
length
){
creditAttachInfo
.
forEach
(
item
=>
{
imgArray
=
imgArray
.
concat
(
item
.
screenList
)
})
}
// 附件图片
if
(
supplAttachInfo
&&
supplAttachInfo
.
length
){
supplAttachInfo
.
forEach
(
item
=>
{
imgArray
=
imgArray
.
concat
(
item
.
screenList
)
})
}
// 补充图片
if
(
xcxSupplAttachInfo
&&
xcxSupplAttachInfo
.
length
){
xcxSupplAttachInfo
.
forEach
(
item
=>
{
imgArray
=
imgArray
.
concat
(
item
.
screenList
)
})
}
this
.
imgList
=
imgArray
;
this
.
imgViewerVisible
=
true
const
m
=
(
e
)
=>
{
e
.
preventDefault
()
...
...
src/components/detail/supple-enclosure-img.vue
View file @
80795587
...
...
@@ -88,25 +88,56 @@
methods
:
{
showImgViewer
(
item
,
type
)
{
switch
(
type
)
{
case
'idCard'
:
case
'face'
:
const
arr
=
[]
item
.
forEach
(
o
=>
{
console
.
log
(
o
,
'是啥'
)
arr
.
push
(
o
[
1
])
})
const
{
clientIdCardInfoResponse
,
creditAttachInfo
,
faceInfoResponse
,
supplAttachInfo
,
xcxSupplAttachInfo
}
=
this
.
info
console
.
log
(
arr
,
'预览图片的地址'
)
let
imgArray
=
[];
const
{
values
}
=
Object
;
this
.
imgList
=
arr
// 客户身份证
if
(
clientIdCardInfoResponse
){
for
(
let
val
of
values
(
clientIdCardInfoResponse
)){
if
(
val
)
imgArray
.
push
(
val
)
}
}
break
default
:
this
.
imgList
=
item
break
// 活体
if
(
faceInfoResponse
){
for
(
let
val
of
values
(
faceInfoResponse
)){
if
(
val
)
imgArray
.
push
(
val
)
}
}
// 授信图片
if
(
creditAttachInfo
&&
creditAttachInfo
.
length
){
creditAttachInfo
.
forEach
(
item
=>
{
imgArray
=
imgArray
.
concat
(
item
.
screenList
)
})
}
// 附件图片
if
(
supplAttachInfo
&&
supplAttachInfo
.
length
){
supplAttachInfo
.
forEach
(
item
=>
{
imgArray
=
imgArray
.
concat
(
item
.
screenList
)
})
}
// 补充图片
if
(
xcxSupplAttachInfo
&&
xcxSupplAttachInfo
.
length
){
xcxSupplAttachInfo
.
forEach
(
item
=>
{
imgArray
=
imgArray
.
concat
(
item
.
screenList
)
})
}
this
.
imgList
=
imgArray
;
this
.
imgViewerVisible
=
true
const
m
=
(
e
)
=>
{
e
.
preventDefault
()
...
...
src/components/detail/user-enclosure-img.vue
View file @
80795587
...
...
@@ -90,25 +90,56 @@
methods
:
{
showImgViewer
(
item
,
type
)
{
switch
(
type
)
{
case
'idCard'
:
case
'face'
:
const
arr
=
[]
item
.
forEach
(
o
=>
{
console
.
log
(
o
,
'是啥'
)
arr
.
push
(
o
[
1
])
})
const
{
clientIdCardInfoResponse
,
creditAttachInfo
,
faceInfoResponse
,
supplAttachInfo
,
xcxSupplAttachInfo
}
=
this
.
info
console
.
log
(
arr
,
'预览图片的地址'
)
let
imgArray
=
[];
const
{
values
}
=
Object
;
this
.
imgList
=
arr
// 客户身份证
if
(
clientIdCardInfoResponse
){
for
(
let
val
of
values
(
clientIdCardInfoResponse
)){
if
(
val
)
imgArray
.
push
(
val
)
}
}
break
default
:
this
.
imgList
=
item
break
// 活体
if
(
faceInfoResponse
){
for
(
let
val
of
values
(
faceInfoResponse
)){
if
(
val
)
imgArray
.
push
(
val
)
}
}
// 授信图片
if
(
creditAttachInfo
&&
creditAttachInfo
.
length
){
creditAttachInfo
.
forEach
(
item
=>
{
imgArray
=
imgArray
.
concat
(
item
.
screenList
)
})
}
// 附件图片
if
(
supplAttachInfo
&&
supplAttachInfo
.
length
){
supplAttachInfo
.
forEach
(
item
=>
{
imgArray
=
imgArray
.
concat
(
item
.
screenList
)
})
}
// 补充图片
if
(
xcxSupplAttachInfo
&&
xcxSupplAttachInfo
.
length
){
xcxSupplAttachInfo
.
forEach
(
item
=>
{
imgArray
=
imgArray
.
concat
(
item
.
screenList
)
})
}
this
.
imgList
=
imgArray
;
this
.
imgViewerVisible
=
true
const
m
=
(
e
)
=>
{
e
.
preventDefault
()
...
...
src/components/user-other-info.vue
View file @
80795587
...
...
@@ -189,24 +189,76 @@
methods
:
{
showImgViewer
(
item
,
type
)
{
switch
(
type
)
{
case
'idCard'
:
case
'face'
:
const
arr
=
[]
item
.
forEach
(
o
=>
{
console
.
log
(
o
,
'是啥'
)
arr
.
push
(
o
[
1
])
})
const
{
clientIdCardInfoResponse
,
creditAttachInfo
,
faceInfoResponse
,
supplAttachInfo
,
xcxSupplAttachInfo
}
=
this
.
info
console
.
log
(
arr
,
'预览图片的地址'
)
let
imgArray
=
[];
const
{
values
}
=
Object
;
this
.
imgList
=
arr
// 客户身份证
if
(
clientIdCardInfoResponse
){
for
(
let
val
of
values
(
clientIdCardInfoResponse
)){
if
(
val
)
imgArray
.
push
(
val
)
}
}
break
default
:
this
.
imgList
=
item
break
// 活体
if
(
faceInfoResponse
){
for
(
let
val
of
values
(
faceInfoResponse
)){
if
(
val
)
imgArray
.
push
(
val
)
}
}
// 授信图片
if
(
creditAttachInfo
&&
creditAttachInfo
.
length
){
creditAttachInfo
.
forEach
(
item
=>
{
imgArray
=
imgArray
.
concat
(
item
.
screenList
)
})
}
// 附件图片
if
(
supplAttachInfo
&&
supplAttachInfo
.
length
){
supplAttachInfo
.
forEach
(
item
=>
{
imgArray
=
imgArray
.
concat
(
item
.
screenList
)
})
}
// 补充图片
if
(
xcxSupplAttachInfo
&&
xcxSupplAttachInfo
.
length
){
xcxSupplAttachInfo
.
forEach
(
item
=>
{
imgArray
=
imgArray
.
concat
(
item
.
screenList
)
})
}
this
.
imgList
=
imgArray
;
//this.data = this.info
//switch (type) {
// case 'idCard':
// case 'face':
// const arr = []
// item.forEach(o => {
// console.log(o, '是啥')
// arr.push(o[1])
// })
//
// console.log(arr, '预览图片的地址')
//
// this.imgList = arr
//
// break
// default:
// this.imgList = item
// break
//}
this
.
imgViewerVisible
=
true
const
m
=
(
e
)
=>
{
...
...
src/router/index.js
View file @
80795587
...
...
@@ -82,7 +82,18 @@ export const asyncRoutes = [
title
:
'首页'
,
affix
:
true
}
}
},
{
path
:
'/editPwd'
,
name
:
'Index'
,
component
:
()
=>
import
(
'@/views/password/edit'
),
meta
:
{
noKeepAlive
:
true
,
title
:
'修改密码'
,
affix
:
false
},
hidden
:
true
},
]
},
{
...
...
src/server/api.js
View file @
80795587
...
...
@@ -26,6 +26,14 @@ export default {
params
})
},
// 用户信息
updatePwd
(
data
)
{
return
request
({
url
:
'/user/updatePassword'
,
method
:
'post'
,
data
})
},
// 发送验证码
send_msg_code
(
data
)
{
return
request
({
...
...
src/store/modules/routes.js
View file @
80795587
/**
* @description 路由拦截状态管理,目前两种模式:all模式与intelligence模式,其中partialRoutes是菜单暂未使用
*/
import
{
asyncRoutes
,
constantRoutes
}
from
"@/router"
;
import
{
getRouterList
}
from
"@/api/router"
;
import
{
convertRouter
,
filterRoutes
}
from
"@/utils/routes"
;
import
API
from
"@/server/api"
;
import
Layout
from
"@/vab/layouts"
;
import
{
asyncRoutes
,
constantRoutes
}
from
'@/router'
import
{
getRouterList
}
from
'@/api/router'
import
{
convertRouter
,
filterRoutes
}
from
'@/utils/routes'
import
API
from
'@/server/api'
import
Layout
from
'@/vab/layouts'
const
state
=
{
routes
:
[],
partialRoutes
:
[]
}
;
const
state
=
{
routes
:
[],
partialRoutes
:
[]
}
const
getters
=
{
routes
:
(
state
)
=>
state
.
routes
,
partialRoutes
:
(
state
)
=>
state
.
partialRoutes
}
;
}
const
mutations
=
{
setRoutes
(
state
,
routes
)
{
state
.
routes
=
routes
;
state
.
routes
=
routes
},
setPartialRoutes
(
state
,
routes
)
{
state
.
partialRoutes
=
routes
;
state
.
partialRoutes
=
routes
}
}
;
}
const
actions
=
{
async
setRoutes
({
commit
},
mode
)
{
let
routes
=
asyncRoutes
;
console
.
log
(
mode
,
'路由模式'
);
if
(
mode
===
"all"
)
{
let
routes
=
asyncRoutes
console
.
log
(
mode
,
'路由模式'
)
if
(
mode
===
'all'
&&
process
.
env
.
NODE_ENV
!==
'development'
)
{
//let data = [
// {
// path: '/',
...
...
@@ -68,19 +68,18 @@ const actions = {
// ]
// }
//];
let
{
result
}
=
await
API
.
userInfo
()
;
const
data
=
result
.
menuList
;
let
{
result
}
=
await
API
.
userInfo
()
const
data
=
result
.
menuList
//console.log(data,'wori')
if
(
data
[
data
.
length
-
1
].
path
!==
"*"
)
{
data
.
push
({
path
:
"*"
,
redirect
:
"/404"
,
hidden
:
true
});
if
(
data
[
data
.
length
-
1
].
path
!==
'*'
)
{
data
.
push
({
path
:
'*'
,
redirect
:
'/404'
,
hidden
:
true
})
}
routes
=
convertRouter
(
data
)
;
routes
=
convertRouter
(
data
)
}
const
finallyRoutes
=
filterRoutes
([...
constantRoutes
,
...
routes
])
;
commit
(
"setRoutes"
,
finallyRoutes
);
return
[...
routes
]
;
const
finallyRoutes
=
filterRoutes
([...
constantRoutes
,
...
routes
])
commit
(
'setRoutes'
,
finallyRoutes
)
return
[...
routes
]
},
/**
* @description 画廊布局、综合布局设置路由
...
...
@@ -88,7 +87,7 @@ const actions = {
* @param accessedRoutes 画廊布局、综合布局设置路由
*/
setPartialRoutes
({
commit
},
accessedRoutes
)
{
commit
(
"setPartialRoutes"
,
accessedRoutes
);
commit
(
'setPartialRoutes'
,
accessedRoutes
)
}
}
;
export
default
{
state
,
getters
,
mutations
,
actions
}
;
}
export
default
{
state
,
getters
,
mutations
,
actions
}
src/vab/components/Avatar/index.vue
View file @
80795587
<
template
>
<el-dropdown
@
command=
"handleCommand"
>
<span
class=
"avatar-dropdown"
>
<img
:src=
"avatar"
alt=
""
class=
"user-avatar"
/>
<div
class=
"user-name"
>
<el-dropdown
@
command=
'handleCommand'
>
<span
class=
'avatar-dropdown'
>
<img
:src=
'avatar'
alt=
''
class=
'user-avatar'
/>
<div
class=
'user-name'
>
{{
username
}}
<vab-remix-icon
icon-class=
"arrow-down-s-line"
/>
<vab-remix-icon
icon-class=
'arrow-down-s-line'
/>
</div>
</span>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-item
command=
"logout"
>
<vab-remix-icon
icon-class=
"logout-circle-r-line"
/>
<el-dropdown-menu
slot=
'dropdown'
>
<el-dropdown-item
command=
'logout'
>
<vab-remix-icon
icon-class=
'logout-circle-r-line'
/>
{{
translateTitle
(
'退出登录'
)
}}
</el-dropdown-item>
<el-dropdown-item
command=
'editPwd'
>
<vab-remix-icon
icon-class=
'lock-password-line'
/>
<span>
修改密码
</span>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</
template
>
...
...
@@ -27,15 +31,15 @@
computed
:
{
...
mapGetters
({
avatar
:
'user/avatar'
,
username
:
'user/username'
,
})
,
username
:
'user/username'
})
},
created
()
{
this
.
initSearchData
()
},
methods
:
{
async
initSearchData
()
{
await
this
.
$store
.
dispatch
(
'common/GetSearchData'
);
await
this
.
$store
.
dispatch
(
'common/GetSearchData'
)
},
translateTitle
,
handleCommand
(
command
)
{
...
...
@@ -43,6 +47,9 @@
case
'logout'
:
this
.
logout
()
break
case
'editPwd'
:
this
.
editPwd
()
break
case
'personalCenter'
:
this
.
personalCenter
()
break
...
...
@@ -52,7 +59,7 @@
this
.
$router
.
push
(
'/personalCenter/personalCenter'
)
},
async
logout
()
{
await
this
.
$store
.
dispatch
(
'user/logout'
)
;
await
this
.
$store
.
dispatch
(
'user/logout'
)
if
(
recordRoute
)
{
const
fullPath
=
this
.
$route
.
fullPath
await
this
.
$router
.
push
(
`/login?redirect=
${
fullPath
}
`
)
...
...
@@ -60,10 +67,15 @@
await
this
.
$router
.
push
(
'/login'
)
}
},
},
async
editPwd
()
{
await
this
.
$router
.
push
({
path
:
'/editPwd'
})
}
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
'scss'
scoped
>
.avatar-dropdown
{
display
:
flex
;
align-content
:
center
;
...
...
src/views/credit/pre.vue
View file @
80795587
...
...
@@ -14,11 +14,11 @@
<el-input
v-model=
'queryForm.mobile'
clearable
placeholder=
'请输入客户手机号码'
/>
</el-form-item>
<el-form-item
v-if=
'searchData!==null'
prop=
'preStatus'
label=
'授信状态'
>
<el-select
:popper-append-to-body=
'false'
v-model=
'queryForm.preStatus
'
clearable
placeholder=
'请选择授信状态'
>
<el-select
v-model=
'queryForm.preStatus'
:popper-append-to-body=
'false
'
clearable
placeholder=
'请选择授信状态'
>
<el-option
v-for=
'(item,index) in searchData.preStatusList'
:label=
'item.preStatusStr'
:key=
'index'
:label=
'item.preStatusStr'
:value=
'item.preStatus'
></el-option>
</el-select>
</el-form-item>
...
...
@@ -92,10 +92,12 @@
<!-- 分页 -->
<el-pagination
:current-page=
'queryForm.current'
layout=
'total, prev, pager, next'
layout=
'total,sizes, prev, pager, next'
:page-sizes=
'[10,20,30,40,50,100]'
background
:page-size=
'queryForm.size'
:total=
'total'
background
@
size-change=
'handleSizeChange'
@
current-change=
'handleCurrentChange'
/>
...
...
@@ -233,6 +235,11 @@
this
.
queryForm
.
current
=
val
this
.
fetchData
()
},
// 页码变更
handleSizeChange
(
val
)
{
this
.
queryForm
.
size
=
val
this
.
fetchData
()
},
async
fetchData
()
{
this
.
listLoading
=
true
const
form
=
this
.
queryForm
...
...
src/views/loan/list.vue
View file @
80795587
...
...
@@ -124,7 +124,9 @@
<el-pagination
:current-page=
'queryForm.current'
layout=
'total, prev, pager, next'
layout=
'total,sizes, prev, pager, next'
:page-sizes=
'[10,20,30,40,50,100]'
@
size-change=
'handleSizeChange'
:page-size=
'queryForm.size'
:total=
'total'
background
...
...
@@ -336,10 +338,16 @@
console
.
log
(
row
,
type
)
},
// 页码变更
handleCurrentChange
(
val
)
{
this
.
queryForm
.
current
=
val
this
.
fetchData
()
},
// 页码变更
handleSizeChange
(
val
)
{
this
.
queryForm
.
size
=
val
this
.
fetchData
()
},
async
fetchData
()
{
this
.
listLoading
=
true
const
form
=
this
.
queryForm
...
...
src/views/password/edit.vue
0 → 100644
View file @
80795587
<
template
>
<div
class=
'page'
>
<block-header
title=
'修改密码'
/>
<el-row>
<el-col
:span=
'12'
>
<el-form
ref=
'form'
:model=
'form'
:rules=
'rules'
label-width=
'100px'
label-suffix=
':'
>
<el-form-item
prop=
'oldPassword'
label=
'原密码'
>
<el-input
v-model=
'form.oldPassword'
show-password
clearable
placeholder=
'请输入'
/>
</el-form-item>
<el-form-item
prop=
'newPassword'
label=
'新密码'
>
<el-input
v-model=
'form.newPassword'
show-password
clearable
placeholder=
'请输入'
/>
</el-form-item>
<el-form-item
prop=
'confirmPassword'
label=
'确认密码'
>
<el-input
v-model=
'form.confirmPassword'
show-password
clearable
placeholder=
'请输入'
/>
</el-form-item>
<el-form-item>
<el-button
type=
'primary'
@
click=
'handleSubmit("form")'
>
确 定
</el-button>
<el-button
@
click=
'handleCancel'
>
取 消
</el-button>
</el-form-item>
</el-form>
</el-col>
</el-row>
</div>
</
template
>
<
script
>
import
API
from
'@/server/api'
import
{
mapGetters
}
from
'vuex'
import
{
isPassword
}
from
'@/utils/validate'
import
_
from
'lodash'
import
{
recordRoute
}
from
'@/config'
export
default
{
name
:
'EditPassword'
,
data
()
{
return
{
form
:
{
oldPassword
:
''
,
newPassword
:
''
,
confirmPassword
:
''
,
loginName
:
''
,
userId
:
''
},
rules
:
{
oldPassword
:
[
{
required
:
true
,
trigger
:
'blur'
,
message
:
'请输入原密码'
}
],
newPassword
:
[
{
required
:
true
,
trigger
:
'blur'
,
message
:
'请输入新密码'
}
],
confirmPassword
:
[
{
required
:
true
,
trigger
:
'blur'
,
message
:
'请再次输入新密码'
},
{
validator
:
(
rule
,
value
,
callback
)
=>
{
const
newPwd
=
this
.
form
.
newPassword
if
(
_
.
trim
(
newPwd
)
!==
_
.
trim
(
value
))
{
callback
(
new
Error
(
'两次输入的密码不一致'
))
}
else
{
callback
()
}
},
trigger
:
'blur'
}
]
}
}
},
computed
:
{
...
mapGetters
([
'user'
])
},
methods
:
{
handleSubmit
(
formName
)
{
// 提交
this
.
$refs
[
formName
].
validate
(
async
(
valid
)
=>
{
if
(
valid
)
{
const
{
loginName
,
userId
}
=
this
.
user
this
.
form
.
loginName
=
loginName
this
.
form
.
userId
=
userId
const
form
=
this
.
form
const
res
=
await
API
.
updatePwd
({
...
form
})
if
(
res
.
success
)
{
this
.
$message
.
success
(
res
.
message
)
setTimeout
(
async
()
=>
{
await
this
.
$store
.
dispatch
(
'user/logout'
)
await
this
.
$router
.
push
(
'/login'
)
},
1500
)
}
}
})
},
handleCancel
()
{
this
.
$router
.
back
()
}
}
}
</
script
>
<
style
>
</
style
>
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