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
f24aa8b9
Commit
f24aa8b9
authored
Jul 27, 2022
by
caimeng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
优化修改
parent
2e696f3b
Changes
15
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
1305 additions
and
87 deletions
+1305
-87
approval.vue
src/components/approval.vue
+40
-2
cert-img.vue
src/components/detail/cert-img.vue
+172
-0
credit-enclosure-img.vue
src/components/detail/credit-enclosure-img.vue
+177
-0
credit-img.vue
src/components/detail/credit-img.vue
+175
-0
face-img.vue
src/components/detail/face-img.vue
+174
-0
supple-enclosure-img.vue
src/components/detail/supple-enclosure-img.vue
+174
-0
user-enclosure-img.vue
src/components/detail/user-enclosure-img.vue
+176
-0
loan-audit.vue
src/components/loan-audit.vue
+1
-24
mch-report.vue
src/components/mch-report.vue
+7
-1
operation-log.vue
src/components/operation-log.vue
+6
-1
user-base-info.vue
src/components/user-base-info.vue
+3
-1
index.js
src/minix/index.js
+14
-0
audit.vue
src/views/loan/audit.vue
+33
-5
detail.vue
src/views/loan/detail.vue
+128
-50
list.vue
src/views/loan/list.vue
+25
-3
No files found.
src/components/approval.vue
View file @
f24aa8b9
...
@@ -20,8 +20,25 @@
...
@@ -20,8 +20,25 @@
<el-row>
<el-row>
<el-col
:span=
'10'
>
<el-col
:span=
'10'
>
<el-form-item
prop=
'loanIntentionNum'
label=
'申请期数(期)'
>
<el-input
v-model=
'form.loanIntentionNum'
disabled
style=
'width: 100%;'
clearable
/>
<template
v-if=
'riskResult!==null && form.capitalCode==="FENGSHENGBUSINESS" '
>
<el-form-item
prop=
'loanIntentionNum'
label=
'申请期数(期)'
>
<el-row>
<el-col
:span=
'14'
>
<span>
{{
loanIntentionNum
}}
月
</span>
</el-col>
</el-row>
</el-form-item>
</
template
>
<el-form-item
v-else
prop=
'loanIntentionNum'
label=
'申请期数(期)'
>
<el-select
v-model=
"form.loanIntentionNum"
style=
'width: 100%;'
placeholder=
"请选择期数"
>
<el-option
v-for=
"item in options"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
</el-row>
</el-row>
...
@@ -123,6 +140,24 @@
...
@@ -123,6 +140,24 @@
},
},
data
()
{
data
()
{
return
{
return
{
options
:
[{
value
:
'选项1'
,
label
:
'黄金糕'
},
{
value
:
'选项2'
,
label
:
'双皮奶'
},
{
value
:
'选项3'
,
label
:
'蚵仔煎'
},
{
value
:
'选项4'
,
label
:
'龙须面'
},
{
value
:
'选项5'
,
label
:
'北京烤鸭'
}],
rules
:
{
rules
:
{
approveStatus
:
[
approveStatus
:
[
{
{
...
@@ -216,6 +251,7 @@
...
@@ -216,6 +251,7 @@
this
.
creditNo
=
creditNo
this
.
creditNo
=
creditNo
this
.
form
.
loanIntentionNum
=
loanIntentionNum
this
.
form
.
loanIntentionNum
=
loanIntentionNum
this
.
manualAmount
=
manualAmount
this
.
manualAmount
=
manualAmount
this
.
loanIntentionNum
=
loanIntentionNum
this
.
form
.
perAllotAmount
=
manualAmount
this
.
form
.
perAllotAmount
=
manualAmount
this
.
form
.
creditNo
=
creditNo
this
.
form
.
creditNo
=
creditNo
this
.
form
.
creditType
=
creditType
this
.
form
.
creditType
=
creditType
...
@@ -251,8 +287,10 @@
...
@@ -251,8 +287,10 @@
const
{
capitalCode
,
loanSign
}
=
item
const
{
capitalCode
,
loanSign
}
=
item
if
(
capitalCode
===
'FENGSHENGBUSINESS'
)
{
if
(
capitalCode
===
'FENGSHENGBUSINESS'
)
{
this
.
$refs
[
'dForm'
].
clearValidate
(
'perAllotAmount'
)
this
.
$refs
[
'dForm'
].
clearValidate
(
'perAllotAmount'
)
this
.
$refs
[
'dForm'
].
clearValidate
(
'loanIntentionNum'
)
if
(
this
.
hasRisk
){
if
(
this
.
hasRisk
){
this
.
form
.
perAllotAmount
=
this
.
manualAmount
;
this
.
form
.
perAllotAmount
=
this
.
manualAmount
;
this
.
form
.
loanIntentionNum
=
this
.
loanIntentionNum
;
}
}
}
}
this
.
form
.
capitalCode
=
capitalCode
this
.
form
.
capitalCode
=
capitalCode
...
...
src/components/detail/cert-img.vue
0 → 100644
View file @
f24aa8b9
<!-- 客户身份证 -->
<
template
>
<div>
<block-header
title=
'客户身份证信息'
/>
<template
v-if=
'clientIdCardInfoResponse.length'
>
<el-row
:gutter=
'20'
>
<el-col
v-for=
'(o, index) in clientIdCardInfoResponse'
:key=
'index'
:span=
'4'
>
<el-card
:body-style=
"
{ padding: '10px' }">
<el-image
class=
'el-card-image'
:src=
'o[1]'
@
click
.
native=
'showImgViewer(clientIdCardInfoResponse,"idCard")'
></el-image>
<div
class=
'el-card-intro'
>
<span
v-if=
'o[0]==="frontImgPath"'
>
身份证正面
</span>
<span
v-else
>
身份证反面
</span>
</div>
</el-card>
</el-col>
</el-row>
</
template
>
<no-data
v-else
/>
<!-- 图片预览-->
<el-image-viewer
v-if=
'imgViewerVisible'
:on-close=
'closeImgViewer'
:url-list=
'imgList'
/>
</div>
</template>
<
script
>
export
default
{
name
:
'UserOtherInfo'
,
props
:
{
info
:
{
type
:
Object
,
require
:
true
},
isLoan
:
{
type
:
Boolean
,
require
:
false
}
},
data
()
{
return
{
data
:
''
,
approvalResultResponse
:
null
,
faceInfoResponse
:
[],
creditAttachInfo
:
[],
clientIdCardInfoResponse
:
[],
reportResponse
:
null
,
thirdPartyReport
:
null
,
supplAttachInfo
:
[],
imgViewerVisible
:
false
,
imgList
:
[],
xcxSupplAttachInfo
:
null
}
},
created
()
{
const
{
approvalResultResponse
,
clientIdCardInfoResponse
,
creditAttachInfo
,
faceInfoResponse
,
reportResponse
,
thirdPartyReport
,
supplAttachInfo
,
xcxSupplAttachInfo
}
=
this
.
info
this
.
data
=
this
.
info
this
.
approvalResultResponse
=
approvalResultResponse
this
.
clientIdCardInfoResponse
=
Object
.
entries
(
clientIdCardInfoResponse
)
this
.
faceInfoResponse
=
Object
.
entries
(
faceInfoResponse
)
this
.
creditAttachInfo
=
creditAttachInfo
// 授信图片信息
this
.
reportResponse
=
reportResponse
this
.
thirdPartyReport
=
JSON
.
parse
(
thirdPartyReport
)
this
.
supplAttachInfo
=
supplAttachInfo
// 附件信息
//this.supplAttachInfo = [] // 附件信息
if
(
xcxSupplAttachInfo
&&
xcxSupplAttachInfo
.
length
>
0
)
{
this
.
xcxSupplAttachInfo
=
xcxSupplAttachInfo
}
//console.log(this.thirdPartyReport, '第三方报告')
},
methods
:
{
showImgViewer
(
item
,
type
)
{
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
)
=>
{
e
.
preventDefault
()
}
document
.
body
.
style
.
overflow
=
'hidden'
document
.
addEventListener
(
'touchmove'
,
m
,
false
)
// 禁止页面滑动
},
closeImgViewer
()
{
this
.
imgViewerVisible
=
false
const
m
=
(
e
)
=>
{
e
.
preventDefault
()
}
document
.
body
.
style
.
overflow
=
'auto'
document
.
removeEventListener
(
'touchmove'
,
m
,
true
)
}
}
}
</
script
>
<
style
lang=
'scss'
scoped
>
.page-fence
{
::v-deep
{
i
{
cursor
:
pointer
;
}
}
box-sizing
:
border-box
;
padding
:
20px
;
}
</
style
>
<
style
lang=
'scss'
>
.custom-table-checkbox
{
.el-checkbox
{
display
:
block
!
important
;
margin
:
0
0
$base-padding
/
4
0
;
}
}
.action-bar
{
margin-bottom
:
15px
;
}
.el-card-image
{
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
width
:
100%
;
height
:
100px
;
max-height
:
100px
;
background
:
#f5f7fa
;
}
.el-card-intro
{
box-sizing
:
border-box
;
height
:
56px
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
padding
:
20px
5px
;
overflow
:
hidden
;
}
</
style
>
src/components/detail/credit-enclosure-img.vue
0 → 100644
View file @
f24aa8b9
<!-- 附件 -->
<
template
>
<div>
<block-header
title=
'授信附件信息'
/>
<template
v-if=
'creditAttachInfo.length'
>
<el-row
:gutter=
'20'
>
<el-col
v-for=
'(o, index) in creditAttachInfo'
:key=
'index'
:span=
'4'
>
<el-card
:body-style=
"
{ padding: '10px' }">
<el-image
class=
'el-card-image'
:src=
'o.screenList[0]'
@
click
.
native=
'showImgViewer(o.screenList,"annex")'
>
<div
slot=
"error"
class=
"image-slot"
>
<span>
未上传
</span>
</div>
</el-image>
<div
class=
'el-card-intro'
>
<span>
{{
o
.
attachTypeStr
}}
</span>
</div>
</el-card>
</el-col>
</el-row>
</
template
>
<no-data
v-else
/>
<!-- 图片预览-->
<el-image-viewer
v-if=
'imgViewerVisible'
:on-close=
'closeImgViewer'
:url-list=
'imgList'
/>
</div>
</template>
<
script
>
export
default
{
name
:
'UserOtherInfo'
,
props
:
{
info
:
{
type
:
Object
,
require
:
true
},
isLoan
:
{
type
:
Boolean
,
require
:
false
}
},
data
()
{
return
{
data
:
''
,
approvalResultResponse
:
null
,
faceInfoResponse
:
[],
creditAttachInfo
:
[],
clientIdCardInfoResponse
:
[],
reportResponse
:
null
,
thirdPartyReport
:
null
,
supplAttachInfo
:
[],
imgViewerVisible
:
false
,
imgList
:
[],
xcxSupplAttachInfo
:
null
}
},
created
()
{
const
{
approvalResultResponse
,
clientIdCardInfoResponse
,
creditAttachInfo
,
faceInfoResponse
,
reportResponse
,
thirdPartyReport
,
supplAttachInfo
,
xcxSupplAttachInfo
}
=
this
.
info
this
.
data
=
this
.
info
this
.
approvalResultResponse
=
approvalResultResponse
this
.
clientIdCardInfoResponse
=
Object
.
entries
(
clientIdCardInfoResponse
)
this
.
faceInfoResponse
=
Object
.
entries
(
faceInfoResponse
)
this
.
creditAttachInfo
=
creditAttachInfo
// 授信图片信息
this
.
reportResponse
=
reportResponse
this
.
thirdPartyReport
=
JSON
.
parse
(
thirdPartyReport
)
this
.
supplAttachInfo
=
supplAttachInfo
// 附件信息
//this.supplAttachInfo = [] // 附件信息
if
(
xcxSupplAttachInfo
&&
xcxSupplAttachInfo
.
length
>
0
)
{
this
.
xcxSupplAttachInfo
=
xcxSupplAttachInfo
}
//console.log(this.thirdPartyReport, '第三方报告')
},
methods
:
{
showImgViewer
(
item
,
type
)
{
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
)
=>
{
e
.
preventDefault
()
}
document
.
body
.
style
.
overflow
=
'hidden'
document
.
addEventListener
(
'touchmove'
,
m
,
false
)
// 禁止页面滑动
},
closeImgViewer
()
{
this
.
imgViewerVisible
=
false
const
m
=
(
e
)
=>
{
e
.
preventDefault
()
}
document
.
body
.
style
.
overflow
=
'auto'
document
.
removeEventListener
(
'touchmove'
,
m
,
true
)
}
}
}
</
script
>
<
style
lang=
'scss'
scoped
>
.page-fence
{
::v-deep
{
i
{
cursor
:
pointer
;
}
}
box-sizing
:
border-box
;
padding
:
20px
;
}
</
style
>
<
style
lang=
'scss'
>
.custom-table-checkbox
{
.el-checkbox
{
display
:
block
!
important
;
margin
:
0
0
$base-padding
/
4
0
;
}
}
.action-bar
{
margin-bottom
:
15px
;
}
.el-card-image
{
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
width
:
100%
;
height
:
100px
;
max-height
:
100px
;
background
:
#f5f7fa
;
}
.el-card-intro
{
box-sizing
:
border-box
;
height
:
56px
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
padding
:
20px
5px
;
overflow
:
hidden
;
}
</
style
>
src/components/detail/credit-img.vue
0 → 100644
View file @
f24aa8b9
<!-- 图片信息 -->
<
template
>
<div>
<block-header
title=
'授信附件信息'
/>
<template
v-if=
'creditAttachInfo.length'
>
<el-row
:gutter=
'20'
>
<el-col
v-for=
'(o, index) in creditAttachInfo'
:key=
'index'
:span=
'4'
>
<el-card
:body-style=
"
{ padding: '10px' }">
<el-image
class=
'el-card-image'
:src=
'o.screenList[0]'
@
click
.
native=
'showImgViewer(o.screenList,"annex")'
>
<div
slot=
"error"
class=
"image-slot"
>
<span>
未上传
</span>
</div>
</el-image>
<div
class=
'el-card-intro'
>
<span>
{{
o
.
attachTypeStr
}}
</span>
</div>
</el-card>
</el-col>
</el-row>
</
template
>
<no-data
v-else
/>
<!-- 图片预览-->
<el-image-viewer
v-if=
'imgViewerVisible'
:on-close=
'closeImgViewer'
:url-list=
'imgList'
/>
</div>
</template>
<
script
>
export
default
{
name
:
'UserOtherInfo'
,
props
:
{
info
:
{
type
:
Object
,
require
:
true
},
isLoan
:
{
type
:
Boolean
,
require
:
false
}
},
data
()
{
return
{
data
:
''
,
approvalResultResponse
:
null
,
faceInfoResponse
:
[],
creditAttachInfo
:
[],
clientIdCardInfoResponse
:
[],
reportResponse
:
null
,
thirdPartyReport
:
null
,
supplAttachInfo
:
[],
imgViewerVisible
:
false
,
imgList
:
[],
xcxSupplAttachInfo
:
null
}
},
created
()
{
const
{
approvalResultResponse
,
clientIdCardInfoResponse
,
creditAttachInfo
,
faceInfoResponse
,
reportResponse
,
thirdPartyReport
,
supplAttachInfo
,
xcxSupplAttachInfo
}
=
this
.
info
this
.
data
=
this
.
info
this
.
approvalResultResponse
=
approvalResultResponse
this
.
clientIdCardInfoResponse
=
Object
.
entries
(
clientIdCardInfoResponse
)
this
.
faceInfoResponse
=
Object
.
entries
(
faceInfoResponse
)
this
.
creditAttachInfo
=
creditAttachInfo
// 授信图片信息
this
.
reportResponse
=
reportResponse
this
.
thirdPartyReport
=
JSON
.
parse
(
thirdPartyReport
)
this
.
supplAttachInfo
=
supplAttachInfo
// 附件信息
//this.supplAttachInfo = [] // 附件信息
if
(
xcxSupplAttachInfo
&&
xcxSupplAttachInfo
.
length
>
0
)
{
this
.
xcxSupplAttachInfo
=
xcxSupplAttachInfo
}
//console.log(this.thirdPartyReport, '第三方报告')
},
methods
:
{
showImgViewer
(
item
,
type
)
{
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
)
=>
{
e
.
preventDefault
()
}
document
.
body
.
style
.
overflow
=
'hidden'
document
.
addEventListener
(
'touchmove'
,
m
,
false
)
// 禁止页面滑动
},
closeImgViewer
()
{
this
.
imgViewerVisible
=
false
const
m
=
(
e
)
=>
{
e
.
preventDefault
()
}
document
.
body
.
style
.
overflow
=
'auto'
document
.
removeEventListener
(
'touchmove'
,
m
,
true
)
}
}
}
</
script
>
<
style
lang=
'scss'
scoped
>
.page-fence
{
::v-deep
{
i
{
cursor
:
pointer
;
}
}
box-sizing
:
border-box
;
padding
:
20px
;
}
</
style
>
<
style
lang=
'scss'
>
.custom-table-checkbox
{
.el-checkbox
{
display
:
block
!
important
;
margin
:
0
0
$base-padding
/
4
0
;
}
}
.action-bar
{
margin-bottom
:
15px
;
}
.el-card-image
{
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
width
:
100%
;
height
:
100px
;
max-height
:
100px
;
background
:
#f5f7fa
;
}
.el-card-intro
{
box-sizing
:
border-box
;
height
:
56px
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
padding
:
20px
5px
;
overflow
:
hidden
;
}
</
style
>
src/components/detail/face-img.vue
0 → 100644
View file @
f24aa8b9
<!-- 图片信息 -->
<
template
>
<div>
<block-header
title=
'人脸信息'
/>
<template
v-if=
'faceInfoResponse.length'
>
<el-row
:gutter=
'20'
>
<el-col
v-for=
'(o, index) in faceInfoResponse'
:key=
'index'
:span=
'4'
>
<el-card
:body-style=
"
{ padding: '10px' }">
<el-image
class=
'el-card-image'
:src=
'o[1]'
@
click
.
native=
'showImgViewer(faceInfoResponse,"face")'
></el-image>
<div
class=
'el-card-intro'
>
<span
v-if=
'o[0]==="panoramaImgPath"'
>
全景照
</span>
<span
v-else-if=
'o[0]==="randomImgPath"'
>
随机照
</span>
<span
v-else
>
最佳人脸照
</span>
</div>
</el-card>
</el-col>
</el-row>
</
template
>
<no-data
v-else
/>
<!-- 图片预览-->
<el-image-viewer
v-if=
'imgViewerVisible'
:on-close=
'closeImgViewer'
:url-list=
'imgList'
/>
</div>
</template>
<
script
>
export
default
{
name
:
'UserOtherInfo'
,
props
:
{
info
:
{
type
:
Object
,
require
:
true
},
isLoan
:
{
type
:
Boolean
,
require
:
false
}
},
data
()
{
return
{
data
:
''
,
approvalResultResponse
:
null
,
faceInfoResponse
:
[],
creditAttachInfo
:
[],
clientIdCardInfoResponse
:
[],
reportResponse
:
null
,
thirdPartyReport
:
null
,
supplAttachInfo
:
[],
imgViewerVisible
:
false
,
imgList
:
[],
xcxSupplAttachInfo
:
null
}
},
created
()
{
const
{
approvalResultResponse
,
clientIdCardInfoResponse
,
creditAttachInfo
,
faceInfoResponse
,
reportResponse
,
thirdPartyReport
,
supplAttachInfo
,
xcxSupplAttachInfo
}
=
this
.
info
this
.
data
=
this
.
info
this
.
approvalResultResponse
=
approvalResultResponse
this
.
clientIdCardInfoResponse
=
Object
.
entries
(
clientIdCardInfoResponse
)
this
.
faceInfoResponse
=
Object
.
entries
(
faceInfoResponse
)
this
.
creditAttachInfo
=
creditAttachInfo
// 授信图片信息
this
.
reportResponse
=
reportResponse
this
.
thirdPartyReport
=
JSON
.
parse
(
thirdPartyReport
)
this
.
supplAttachInfo
=
supplAttachInfo
// 附件信息
//this.supplAttachInfo = [] // 附件信息
if
(
xcxSupplAttachInfo
&&
xcxSupplAttachInfo
.
length
>
0
)
{
this
.
xcxSupplAttachInfo
=
xcxSupplAttachInfo
}
//console.log(this.thirdPartyReport, '第三方报告')
},
methods
:
{
showImgViewer
(
item
,
type
)
{
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
)
=>
{
e
.
preventDefault
()
}
document
.
body
.
style
.
overflow
=
'hidden'
document
.
addEventListener
(
'touchmove'
,
m
,
false
)
// 禁止页面滑动
},
closeImgViewer
()
{
this
.
imgViewerVisible
=
false
const
m
=
(
e
)
=>
{
e
.
preventDefault
()
}
document
.
body
.
style
.
overflow
=
'auto'
document
.
removeEventListener
(
'touchmove'
,
m
,
true
)
}
}
}
</
script
>
<
style
lang=
'scss'
scoped
>
.page-fence
{
::v-deep
{
i
{
cursor
:
pointer
;
}
}
box-sizing
:
border-box
;
padding
:
20px
;
}
</
style
>
<
style
lang=
'scss'
>
.custom-table-checkbox
{
.el-checkbox
{
display
:
block
!
important
;
margin
:
0
0
$base-padding
/
4
0
;
}
}
.action-bar
{
margin-bottom
:
15px
;
}
.el-card-image
{
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
width
:
100%
;
height
:
100px
;
max-height
:
100px
;
background
:
#f5f7fa
;
}
.el-card-intro
{
box-sizing
:
border-box
;
height
:
56px
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
padding
:
20px
5px
;
overflow
:
hidden
;
}
</
style
>
src/components/detail/supple-enclosure-img.vue
0 → 100644
View file @
f24aa8b9
<!-- 图片信息 -->
<
template
>
<div>
<block-header
title=
'补充附件信息'
/>
<template
v-if=
'xcxSupplAttachInfo!==null && xcxSupplAttachInfo.length'
>
<el-row
:gutter=
'20'
>
<el-col
v-for=
'(o, index) in xcxSupplAttachInfo'
:key=
'index'
:span=
'4'
>
<el-card
:body-style=
"
{ padding: '10px' }">
<el-image
class=
'el-card-image'
:src=
'o.screenList[0]'
@
click
.
native=
'showImgViewer(o.screenList,"annex")'
>
<div
slot=
"error"
class=
"image-slot"
>
<span>
未上传
</span>
</div>
</el-image>
<div
class=
'el-card-intro'
>
<span>
{{
o
.
attachTypeStr
}}
</span>
</div>
</el-card>
</el-col>
</el-row>
</
template
>
<no-data
v-else
/>
<!-- 图片预览-->
<el-image-viewer
v-if=
'imgViewerVisible'
:on-close=
'closeImgViewer'
:url-list=
'imgList'
/>
</div>
</template>
<
script
>
export
default
{
name
:
'UserOtherInfo'
,
props
:
{
info
:
{
type
:
Object
,
require
:
true
},
isLoan
:
{
type
:
Boolean
,
require
:
false
}
},
data
()
{
return
{
data
:
''
,
approvalResultResponse
:
null
,
faceInfoResponse
:
[],
creditAttachInfo
:
[],
clientIdCardInfoResponse
:
[],
reportResponse
:
null
,
thirdPartyReport
:
null
,
supplAttachInfo
:
[],
imgViewerVisible
:
false
,
imgList
:
[],
xcxSupplAttachInfo
:
null
}
},
created
()
{
const
{
approvalResultResponse
,
clientIdCardInfoResponse
,
creditAttachInfo
,
faceInfoResponse
,
reportResponse
,
thirdPartyReport
,
supplAttachInfo
,
xcxSupplAttachInfo
}
=
this
.
info
this
.
data
=
this
.
info
this
.
approvalResultResponse
=
approvalResultResponse
this
.
clientIdCardInfoResponse
=
Object
.
entries
(
clientIdCardInfoResponse
)
this
.
faceInfoResponse
=
Object
.
entries
(
faceInfoResponse
)
this
.
creditAttachInfo
=
creditAttachInfo
// 授信图片信息
this
.
reportResponse
=
reportResponse
this
.
thirdPartyReport
=
JSON
.
parse
(
thirdPartyReport
)
this
.
supplAttachInfo
=
supplAttachInfo
// 附件信息
//this.supplAttachInfo = [] // 附件信息
if
(
xcxSupplAttachInfo
&&
xcxSupplAttachInfo
.
length
>
0
)
{
this
.
xcxSupplAttachInfo
=
xcxSupplAttachInfo
}
//console.log(this.thirdPartyReport, '第三方报告')
},
methods
:
{
showImgViewer
(
item
,
type
)
{
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
)
=>
{
e
.
preventDefault
()
}
document
.
body
.
style
.
overflow
=
'hidden'
document
.
addEventListener
(
'touchmove'
,
m
,
false
)
// 禁止页面滑动
},
closeImgViewer
()
{
this
.
imgViewerVisible
=
false
const
m
=
(
e
)
=>
{
e
.
preventDefault
()
}
document
.
body
.
style
.
overflow
=
'auto'
document
.
removeEventListener
(
'touchmove'
,
m
,
true
)
}
}
}
</
script
>
<
style
lang=
'scss'
scoped
>
.page-fence
{
::v-deep
{
i
{
cursor
:
pointer
;
}
}
box-sizing
:
border-box
;
padding
:
20px
;
}
</
style
>
<
style
lang=
'scss'
>
.custom-table-checkbox
{
.el-checkbox
{
display
:
block
!
important
;
margin
:
0
0
$base-padding
/
4
0
;
}
}
.action-bar
{
margin-bottom
:
15px
;
}
.el-card-image
{
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
width
:
100%
;
height
:
100px
;
max-height
:
100px
;
background
:
#f5f7fa
;
}
.el-card-intro
{
box-sizing
:
border-box
;
height
:
56px
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
padding
:
20px
5px
;
overflow
:
hidden
;
}
</
style
>
src/components/detail/user-enclosure-img.vue
0 → 100644
View file @
f24aa8b9
<!-- 附件 -->
<
template
>
<div>
<block-header
title=
'客户附件信息'
/>
<template
v-if=
'supplAttachInfo && supplAttachInfo.length'
>
<el-row
:gutter=
'20'
>
<el-col
v-for=
'(o, index) in supplAttachInfo'
:key=
'index'
:span=
'4'
>
<el-card
:body-style=
"
{ padding: '10px' }">
<el-image
class=
'el-card-image'
:src=
'o.screenList[0]'
@
click
.
native=
'showImgViewer(o.screenList,"annex")'
>
<div
slot=
"error"
class=
"image-slot"
>
<span>
未上传
</span>
</div>
</el-image>
<div
class=
'el-card-intro'
>
<span>
{{
o
.
attachTypeStr
}}
</span>
</div>
</el-card>
</el-col>
</el-row>
</
template
>
<no-data
v-else
/>
<!-- 图片预览-->
<el-image-viewer
v-if=
'imgViewerVisible'
:on-close=
'closeImgViewer'
:url-list=
'imgList'
/>
</div>
</template>
<
script
>
export
default
{
name
:
'UserOtherInfo'
,
props
:
{
info
:
{
type
:
Object
,
require
:
true
},
isLoan
:
{
type
:
Boolean
,
require
:
false
}
},
data
()
{
return
{
data
:
''
,
approvalResultResponse
:
null
,
faceInfoResponse
:
[],
creditAttachInfo
:
[],
clientIdCardInfoResponse
:
[],
reportResponse
:
null
,
thirdPartyReport
:
null
,
supplAttachInfo
:
[],
imgViewerVisible
:
false
,
imgList
:
[],
xcxSupplAttachInfo
:
null
}
},
created
()
{
const
{
approvalResultResponse
,
clientIdCardInfoResponse
,
creditAttachInfo
,
faceInfoResponse
,
reportResponse
,
thirdPartyReport
,
supplAttachInfo
,
xcxSupplAttachInfo
}
=
this
.
info
this
.
data
=
this
.
info
this
.
approvalResultResponse
=
approvalResultResponse
this
.
clientIdCardInfoResponse
=
Object
.
entries
(
clientIdCardInfoResponse
)
this
.
faceInfoResponse
=
Object
.
entries
(
faceInfoResponse
)
this
.
creditAttachInfo
=
creditAttachInfo
// 授信图片信息
this
.
reportResponse
=
reportResponse
this
.
thirdPartyReport
=
JSON
.
parse
(
thirdPartyReport
)
this
.
supplAttachInfo
=
supplAttachInfo
// 附件信息
//this.supplAttachInfo = [] // 附件信息
if
(
xcxSupplAttachInfo
&&
xcxSupplAttachInfo
.
length
>
0
)
{
this
.
xcxSupplAttachInfo
=
xcxSupplAttachInfo
}
//console.log(this.thirdPartyReport, '第三方报告')
},
methods
:
{
showImgViewer
(
item
,
type
)
{
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
)
=>
{
e
.
preventDefault
()
}
document
.
body
.
style
.
overflow
=
'hidden'
document
.
addEventListener
(
'touchmove'
,
m
,
false
)
// 禁止页面滑动
},
closeImgViewer
()
{
this
.
imgViewerVisible
=
false
const
m
=
(
e
)
=>
{
e
.
preventDefault
()
}
document
.
body
.
style
.
overflow
=
'auto'
document
.
removeEventListener
(
'touchmove'
,
m
,
true
)
}
}
}
</
script
>
<
style
lang=
'scss'
scoped
>
.page-fence
{
::v-deep
{
i
{
cursor
:
pointer
;
}
}
box-sizing
:
border-box
;
padding
:
20px
;
}
</
style
>
<
style
lang=
'scss'
>
.custom-table-checkbox
{
.el-checkbox
{
display
:
block
!
important
;
margin
:
0
0
$base-padding
/
4
0
;
}
}
.action-bar
{
margin-bottom
:
15px
;
}
.el-card-image
{
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
width
:
100%
;
height
:
100px
;
max-height
:
100px
;
background
:
#f5f7fa
;
}
.el-card-intro
{
box-sizing
:
border-box
;
height
:
56px
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
padding
:
20px
5px
;
overflow
:
hidden
;
}
</
style
>
src/components/loan-audit.vue
View file @
f24aa8b9
...
@@ -52,30 +52,7 @@
...
@@ -52,30 +52,7 @@
},
},
data
()
{
data
()
{
return
{
return
{
rules
:
{
memo
:
[
{
required
:
true
,
trigger
:
'blur'
,
message
:
'请输入备注'
}
],
approveOpinion
:
[
{
required
:
true
,
trigger
:
'blur'
,
message
:
'请选择审批意见'
}
]
},
form
:
{
memo
:
''
,
approveOpinion
:
''
,
currentAction
:
''
,
orderNo
:
''
,
stepsNo
:
''
,
userId
:
''
}
}
}
},
},
computed
:
{
computed
:
{
...
...
src/components/mch-report.vue
View file @
f24aa8b9
...
@@ -19,7 +19,13 @@
...
@@ -19,7 +19,13 @@
:show-overflow-tooltip=
'!!item.overflow'
:show-overflow-tooltip=
'!!item.overflow'
>
>
<template
#
default=
'
{ row }'>
<template
#
default=
'
{ row }'>
<span>
{{
row
[
item
.
prop
]
}}
</span>
<template
v-if=
'item.label==="审批建议"'
>
<el-tag
v-if=
'row.ruleResult==="REJECT"'
size=
'mini'
type=
'danger'
>
{{
row
.
ruleResultStr
}}
</el-tag>
<el-tag
v-else-if=
'row.ruleResult==="RETRIAL"'
size=
'mini'
type=
'warning'
>
{{
row
.
ruleResultStr
}}
</el-tag>
<el-tag
v-else-if=
'row.ruleResult==="PASS"'
size=
'mini'
type=
'success'
>
{{
row
.
ruleResultStr
}}
</el-tag>
<el-tag
v-else
size=
'mini'
>
{{
row
.
ruleResultStr
}}
</el-tag>
</
template
>
<span
v-else
>
{{ row[item.prop] }}
</span>
</template>
</template>
</el-table-column>
</el-table-column>
...
...
src/components/operation-log.vue
View file @
f24aa8b9
...
@@ -43,7 +43,7 @@
...
@@ -43,7 +43,7 @@
},
},
data
()
{
data
()
{
return
{
return
{
checkList
:
[
"操作人员"
,
"操作类型"
,
"操作结果"
,
"操作时间"
,
"备注"
],
checkList
:
[
"操作人员"
,
"操作类型"
,
"操作结果"
,
"操作时间"
,
"备注"
,
'资方'
],
columns
:
[
columns
:
[
{
{
order
:
1
,
order
:
1
,
...
@@ -70,6 +70,11 @@
...
@@ -70,6 +70,11 @@
order
:
6
,
order
:
6
,
label
:
"备注"
,
label
:
"备注"
,
prop
:
"appealMemo"
prop
:
"appealMemo"
},
{
order
:
7
,
label
:
"资方"
,
prop
:
"capitalCode"
}
}
],
],
list
:
[]
list
:
[]
...
...
src/components/user-base-info.vue
View file @
f24aa8b9
...
@@ -46,7 +46,9 @@
...
@@ -46,7 +46,9 @@
<el-descriptions-item
label-class-name=
'labelCls'
label=
'客户GPS'
>
{{
baseInfo
.
lat
}}
,
{{
baseInfo
.
lng
}}
<el-descriptions-item
label-class-name=
'labelCls'
label=
'客户GPS'
>
{{
baseInfo
.
lat
}}
,
{{
baseInfo
.
lng
}}
</el-descriptions-item>
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'首次授信'
>
{{
baseInfo
.
isFirstCredit
?
'是'
:
'否'
}}
<el-descriptions-item
label-class-name=
'labelCls'
label=
'首次授信'
>
<el-tag
v-if=
'baseInfo.isFirstCredit'
size=
'mini'
>
是
</el-tag>
<el-tag
v-else
size=
'mini'
type=
'danger'
>
否
</el-tag>
</el-descriptions-item>
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'BD用户名'
>
{{
baseInfo
.
loginName
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'BD用户名'
>
{{
baseInfo
.
loginName
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'办单模式'
>
{{
baseInfo
.
orderProcessingMode
}}
<el-descriptions-item
label-class-name=
'labelCls'
label=
'办单模式'
>
{{
baseInfo
.
orderProcessingMode
}}
...
...
src/minix/index.js
View file @
f24aa8b9
...
@@ -11,6 +11,14 @@ import MchReport from '@/components/mch-report'
...
@@ -11,6 +11,14 @@ import MchReport from '@/components/mch-report'
import
TDunReport
from
'@/components/tdun-report'
import
TDunReport
from
'@/components/tdun-report'
import
UserBaseInfo
from
'@/components/user-base-info'
import
UserBaseInfo
from
'@/components/user-base-info'
import
UserProjectInfo
from
'@/components/user-project-info'
import
UserProjectInfo
from
'@/components/user-project-info'
import
CertImg
from
'@/components/detail/cert-img'
import
CreditImg
from
'@/components/detail/credit-img'
import
CreditEnclosureImg
from
'@/components/detail/credit-enclosure-img'
import
UserEnclosureImg
from
'@/components/detail/user-enclosure-img'
import
FaceImg
from
'@/components/detail/face-img'
import
SupplEnclosureImg
from
'@/components/detail/supple-enclosure-img'
import
NoData
from
'@/components/NoData'
;
import
NoData
from
'@/components/NoData'
;
import
moment
from
'moment'
import
moment
from
'moment'
...
@@ -30,6 +38,12 @@ export default {
...
@@ -30,6 +38,12 @@ export default {
UserProjectInfo
,
UserProjectInfo
,
Approval
,
Approval
,
LoanAudit
,
LoanAudit
,
CertImg
,
CreditImg
,
CreditEnclosureImg
,
UserEnclosureImg
,
FaceImg
,
SupplEnclosureImg
,
NoData
,
NoData
,
'el-image-viewer'
:
()
=>
import
(
'element-ui/packages/image/src/image-viewer'
)
'el-image-viewer'
:
()
=>
import
(
'element-ui/packages/image/src/image-viewer'
)
},
},
...
...
src/views/loan/audit.vue
View file @
f24aa8b9
...
@@ -18,6 +18,22 @@
...
@@ -18,6 +18,22 @@
</el-form-item>
</el-form-item>
<template
v-if=
'searchData!==null'
>
<el-form-item
prop=
'approvalResult'
label=
'审批结果'
>
<el-select
v-model=
'queryForm.approvalResult'
:popper-append-to-body=
'false'
style=
'width: 100%;'
clearable
>
<el-option
v-for=
'(item,index) in searchData.approvalResultResponseList'
:key=
'index'
:value=
'item.approvalResult'
:label=
'item.approvalResultStr'
>
</el-option>
</el-select>
</el-form-item>
</
template
>
<el-form-item
prop=
'time'
label=
'申请时间'
>
<el-form-item
prop=
'time'
label=
'申请时间'
>
<el-date-picker
<el-date-picker
v-model=
'queryForm.time'
v-model=
'queryForm.time'
...
@@ -117,6 +133,7 @@
...
@@ -117,6 +133,7 @@
import
_
from
'lodash'
import
_
from
'lodash'
import
{
doDelete
,
getList
}
from
'@/api/table'
import
{
doDelete
,
getList
}
from
'@/api/table'
import
API
from
'@/server/api'
import
API
from
'@/server/api'
import
{
mapGetters
}
from
'vuex'
export
default
{
export
default
{
name
:
'Audit'
,
name
:
'Audit'
,
...
@@ -193,6 +210,7 @@
...
@@ -193,6 +210,7 @@
size
:
10
,
size
:
10
,
approvalResult
:
''
,
mobile
:
''
,
mobile
:
''
,
orderNo
:
''
,
orderNo
:
''
,
loanName
:
''
,
loanName
:
''
,
...
@@ -214,7 +232,8 @@
...
@@ -214,7 +232,8 @@
})
})
return
_
.
sortBy
(
finallyArray
,
(
item
)
=>
item
.
order
)
return
_
.
sortBy
(
finallyArray
,
(
item
)
=>
item
.
order
)
//return finallyArray
//return finallyArray
}
},
...
mapGetters
([
'searchData'
,
'user'
])
},
},
mounted
()
{
mounted
()
{
this
.
fetchData
()
this
.
fetchData
()
...
@@ -236,7 +255,9 @@
...
@@ -236,7 +255,9 @@
const
{
orderNo
}
=
row
const
{
orderNo
}
=
row
this
.
$router
.
push
({
this
.
$router
.
push
({
path
:
'/loan/detail'
,
path
:
'/loan/detail'
,
query
:
{
orderNo
}
query
:
{
orderNo
}
})
})
},
},
handleCurrentChange
(
val
)
{
handleCurrentChange
(
val
)
{
...
@@ -256,9 +277,16 @@
...
@@ -256,9 +277,16 @@
},
},
// 稽核审批
// 稽核审批
handleAudit
(
row
)
{
handleAudit
(
row
)
{
console
.
log
(
row
,
'点击了'
)
this
.
visible
=
true
const
{
orderNo
}
=
row
this
.
item
=
row
this
.
$router
.
push
({
path
:
'/loan/detail'
,
query
:
{
orderNo
,
type
:
"audit"
}
})
}
}
}
}
}
}
...
...
src/views/loan/detail.vue
View file @
f24aa8b9
...
@@ -11,10 +11,6 @@
...
@@ -11,10 +11,6 @@
<el-descriptions-item
project
label=
'申请时间'
>
{{
project
.
loanApplyDate
}}
</el-descriptions-item>
<el-descriptions-item
project
label=
'申请时间'
>
{{
project
.
loanApplyDate
}}
</el-descriptions-item>
<el-descriptions-item
project
label=
'借款状态'
>
<el-descriptions-item
project
label=
'借款状态'
>
<span>
{{
project
.
loanStatusStr
}}
</span>
<span>
{{
project
.
loanStatusStr
}}
</span>
<!--
<template
v-if=
'project.loanStatus==="SUBMITED" && project.stepsNo==="002"'
>
-->
<!--
<el-button
style=
'margin-left: 10px'
type=
'primary'
size=
'mini'
@
click=
'handleAudit(project)'
>
稽核
</el-button>
-->
<!--
</
template
>
-->
</el-descriptions-item>
</el-descriptions-item>
<el-descriptions-item
project
label=
'医院名称'
>
{{
project
.
regName
}}
</el-descriptions-item>
<el-descriptions-item
project
label=
'医院名称'
>
{{
project
.
regName
}}
</el-descriptions-item>
<el-descriptions-item
project
label=
'项目金额(元)'
>
{{
money
(
project
.
projectAmount
)
}}
元
</el-descriptions-item>
<el-descriptions-item
project
label=
'项目金额(元)'
>
{{
money
(
project
.
projectAmount
)
}}
元
</el-descriptions-item>
...
@@ -50,9 +46,11 @@
...
@@ -50,9 +46,11 @@
</
template
>
</
template
>
<!--
其它信息
-->
<!--
客户身份证
-->
<
user-other-info
:is-loan=
'isLoan'
:info=
'detail'
/>
<
cert-img
:info=
'detail'
/>
<!--补充附件信息-->
<suppl-enclosure-img
:info=
'detail'
/>
<!--资金方-->
<!--资金方-->
<
template
v-if=
'capitalName!==null'
>
<
template
v-if=
'capitalName!==null'
>
...
@@ -63,34 +61,6 @@
...
@@ -63,34 +61,6 @@
</el-descriptions>
</el-descriptions>
</
template
>
</
template
>
<!--收款账户信息-->
<
template
v-if=
'collectionAccountResponse!==null'
>
<block-header
title=
'收款账户信息'
/>
<el-descriptions
style=
'margin-bottom: 20px;'
direction=
'vertical'
:content-style=
'CS'
:label-style=
'LS'
border
size=
'small'
:column=
'5'
>
<el-descriptions-item
project
label=
'收款金额'
>
{{
money
(
collectionAccountResponse
.
collectionAmount
)
}}
元
</el-descriptions-item>
<el-descriptions-item
project
label=
'收款方类型'
>
{{
collectionAccountResponse
.
collectionType
}}
</el-descriptions-item>
<el-descriptions-item
project
label=
'收款方名称'
>
{{
collectionAccountResponse
.
clientName
}}
</el-descriptions-item>
<el-descriptions-item
project
label=
'开户行'
>
{{
collectionAccountResponse
.
bankName
}}
</el-descriptions-item>
<el-descriptions-item
project
label=
'收款账户'
>
{{
collectionAccountResponse
.
bankCard
}}
</el-descriptions-item>
</el-descriptions>
</
template
>
<!--还款账户信息-->
<
template
v-if=
'repayAccountResponse!==null'
>
<block-header
title=
'还款账户信息'
/>
<el-descriptions
style=
'margin-bottom: 20px;'
direction=
'vertical'
:content-style=
'CS'
:label-style=
'LS'
border
size=
'small'
:column=
'3'
>
<el-descriptions-item
project
label=
'还款人姓名'
>
{{
repayAccountResponse
.
clientName
}}
</el-descriptions-item>
<el-descriptions-item
project
label=
'银行名称'
>
{{
repayAccountResponse
.
openBankName
}}
</el-descriptions-item>
<el-descriptions-item
project
label=
'还款卡号'
>
{{
repayAccountResponse
.
bankAccount
}}
</el-descriptions-item>
</el-descriptions>
</
template
>
<!--BD信息-->
<!--BD信息-->
<
template
v-if=
'bdInfoResponse!==null'
>
<
template
v-if=
'bdInfoResponse!==null'
>
<block-header
title=
'BD信息'
/>
<block-header
title=
'BD信息'
/>
...
@@ -105,27 +75,59 @@
...
@@ -105,27 +75,59 @@
</
template
>
</
template
>
<el-collapse
style=
'margin: 15px 0'
v-model=
'activeNames'
@
change=
'handleChange'
>
<el-collapse-item
title=
'人脸信息'
name=
'1'
>
<!--人脸 默认折叠-->
<face-img
:info=
'detail'
/>
</el-collapse-item>
<el-collapse-item
title=
'授信附件信息'
name=
'2'
>
<!--授信附件 默认折叠 -->
<credit-enclosure-img
:info=
'detail'
/>
</el-collapse-item>
<el-collapse-item
title=
'客户附件信息'
name=
'3'
>
<!--客户附件 默认折叠 -->
<user-enclosure-img
:info=
'detail'
/>
</el-collapse-item>
</el-collapse>
<!--操作日志-->
<!--操作日志-->
<block-header
title=
'操作日志'
/>
<
template
v-if=
'detail.operationLogResponse!==null'
>
<
template
v-if=
'detail.operationLogResponse!==null'
>
<operation-log
:log=
'detail.operationLogResponse'
/>
<operation-log
:log=
'detail.operationLogResponse'
/>
</
template
>
</
template
>
<!--申述操作-->
<
template
v-if=
'false'
>
<pre-plead
/>
</
template
>
<!--稽核弹框-->
<!--稽核弹框-->
<
template
v-if=
'visible'
>
<
template
v-if=
'visible'
>
<loan-audit
<block-header
title=
'稽核审批'
/>
:dialog-visible=
'visible'
<!--搜索-->
:item=
'item'
<el-form
ref=
'dForm'
label-suffix=
':'
label-width=
'90px'
:rules=
'dRules'
:model=
'dForm'
class=
'form-inline'
>
@
handleClose=
'visible = false'
<el-form-item
prop=
'memo'
label=
'备注'
>
@
callback=
'init'
<el-input
v-model=
'dForm.memo'
type=
'textarea'
clearable
placeholder=
'请输入备注'
/>
/>
</el-form-item>
<el-form-item
prop=
'approveOpinion'
label=
'审批意见'
>
<template
v-if=
'searchData!==null'
>
<el-radio-group
v-model=
'form.approveOpinion'
>
<el-radio
v-for=
'(item,index) in searchData.opinionEnumResponses'
:key=
'index'
:label=
'item.code'
>
{{
item
.
desc
}}
</el-radio>
</el-radio-group>
</
template
>
</el-form-item>
<el-form-item>
<el-button
type=
'primary'
@
click=
'onSubmit("dForm")'
>
确 定
</el-button>
<el-button
type=
'default'
@
click=
'onBack'
>
取 消
</el-button>
</el-form-item>
</el-form>
</template>
</template>
</div>
</div>
...
@@ -139,6 +141,35 @@
...
@@ -139,6 +141,35 @@
data
()
{
data
()
{
return
{
return
{
dRules
:
{
memo
:
[
{
required
:
true
,
trigger
:
'blur'
,
message
:
'请输入备注'
}
],
approveOpinion
:
[
{
required
:
true
,
trigger
:
'blur'
,
message
:
'请选择审批意见'
}
]
},
dForm
:
{
memo
:
''
,
approveOpinion
:
''
,
currentAction
:
''
,
orderNo
:
''
,
stepsNo
:
''
,
userId
:
''
},
activeNames
:
''
,
// 稽核审批
visible
:
false
,
visible
:
false
,
item
:
null
,
item
:
null
,
...
@@ -158,14 +189,12 @@
...
@@ -158,14 +189,12 @@
if
(
query
&&
query
.
orderNo
)
{
if
(
query
&&
query
.
orderNo
)
{
this
.
orderNo
=
query
.
orderNo
this
.
orderNo
=
query
.
orderNo
await
this
.
init
()
await
this
.
init
()
}
}
},
},
methods
:
{
methods
:
{
handleAudit
(
row
)
{
// 初始化详情
this
.
visible
=
true
this
.
item
=
row
},
async
init
()
{
async
init
()
{
const
orderNo
=
this
.
orderNo
const
orderNo
=
this
.
orderNo
const
result
=
await
API
.
loanDetail
({
const
result
=
await
API
.
loanDetail
({
...
@@ -197,6 +226,55 @@
...
@@ -197,6 +226,55 @@
this
.
bdInfoResponse
=
bdInfoResponse
// 还款方信息
this
.
bdInfoResponse
=
bdInfoResponse
// 还款方信息
this
.
detail
=
data
this
.
detail
=
data
if
(
this
.
$route
.
query
&&
this
.
$route
.
query
.
type
)
{
this
.
visible
=
true
this
.
item
=
data
}
},
// 手风琴折叠那啥
handleChange
(
val
)
{
this
.
activeNames
=
val
},
// 稽核审批提交
onSubmit
(
formName
)
{
console
.
log
(
this
.
item
,
this
.
form
,
'数据呢'
)
this
.
$refs
[
formName
].
validate
(
async
(
valid
)
=>
{
if
(
valid
)
{
this
.
$confirm
(
'是否确认提交?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(
async
(
res
)
=>
{
console
.
log
(
res
,
'是啥'
)
const
form
=
this
.
form
form
.
userId
=
this
.
user
.
userId
console
.
log
(
form
,
'表单数据'
)
const
result
=
await
API
.
loanAuditSubmit
({
...
form
})
if
(
result
.
success
)
{
this
.
$message
({
type
:
'success'
,
message
:
'操作成功!'
})
this
.
$emit
(
'handleClose'
)
this
.
$emit
(
'callback'
)
}
}).
catch
((
e
)
=>
{
console
.
log
(
e
,
'取消申述了'
)
})
}
})
},
// 返回
onBack
()
{
this
.
$router
.
back
()
}
}
}
}
}
}
...
...
src/views/loan/list.vue
View file @
f24aa8b9
...
@@ -20,7 +20,8 @@
...
@@ -20,7 +20,8 @@
<template
v-if=
'searchData!==null'
>
<template
v-if=
'searchData!==null'
>
<el-form-item
prop=
'capitalCodeLoanSign'
label=
'资金渠道'
>
<el-form-item
prop=
'capitalCodeLoanSign'
label=
'资金渠道'
>
<el-select
v-model=
'queryForm.capitalCodeLoanSign'
:popper-append-to-body=
'false'
style=
'width: 100%;'
clearable
>
<el-select
v-model=
'queryForm.capitalCodeLoanSign'
:popper-append-to-body=
'false'
style=
'width: 100%;'
clearable
>
<el-option
<el-option
v-for=
'(item,index) in searchData.financierResponseList'
v-for=
'(item,index) in searchData.financierResponseList'
:key=
'index'
:key=
'index'
...
@@ -32,6 +33,21 @@
...
@@ -32,6 +33,21 @@
</el-form-item>
</el-form-item>
</
template
>
</
template
>
<
template
v-if=
'searchData!==null'
>
<el-form-item
prop=
'loanConfirmResult'
label=
'放款确认结果'
>
<el-select
v-model=
'queryForm.loanConfirmResult'
:popper-append-to-body=
'false'
style=
'width: 100%;'
clearable
>
<el-option
v-for=
'(item,index) in searchData.loanConfirmResultResponseList'
:key=
'index'
:value=
'item.loanConfirmResult'
:label=
'item.loanConfirmResultStr'
>
</el-option>
</el-select>
</el-form-item>
</
template
>
<el-form-item
prop=
'time'
label=
'申请时间'
>
<el-form-item
prop=
'time'
label=
'申请时间'
>
<el-date-picker
<el-date-picker
v-model=
'queryForm.time'
v-model=
'queryForm.time'
...
@@ -158,7 +174,7 @@
...
@@ -158,7 +174,7 @@
payChannelApiResponses
:
[],
payChannelApiResponses
:
[],
checkList
:
[
'订单编号'
,
'项目名称'
,
'客户姓名'
,
'手机号码'
,
'借款金额'
,
'借款期数'
,
'BD姓名'
,
'商户区域'
,
'创建时间'
,
'放款状态
'
,
'资金渠道'
],
checkList
:
[
'订单编号'
,
'项目名称'
,
'客户姓名'
,
'手机号码'
,
'借款金额'
,
'借款期数'
,
'BD姓名'
,
'商户区域'
,
'创建时间'
,
'放款状态'
,
'放款确认结果
'
,
'资金渠道'
],
columns
:
[
columns
:
[
{
{
order
:
1
,
order
:
1
,
...
@@ -215,6 +231,11 @@
...
@@ -215,6 +231,11 @@
order
:
11
,
order
:
11
,
label
:
'资金渠道'
,
label
:
'资金渠道'
,
prop
:
'loanSignStr'
prop
:
'loanSignStr'
},
{
order
:
12
,
label
:
'放款确认结果'
,
prop
:
'loanSignStr'
}
}
],
],
list
:
[],
list
:
[],
...
@@ -242,6 +263,7 @@
...
@@ -242,6 +263,7 @@
size
:
10
,
size
:
10
,
loanConfirmResult
:
''
,
mobile
:
''
,
mobile
:
''
,
orderNo
:
''
,
orderNo
:
''
,
loanName
:
''
,
loanName
:
''
,
...
@@ -311,7 +333,7 @@
...
@@ -311,7 +333,7 @@
this
.
DialogVisible
=
true
this
.
DialogVisible
=
true
this
.
DialogTitle
=
type
===
'confirm'
?
'确认放款'
:
'取消放款'
this
.
DialogTitle
=
type
===
'confirm'
?
'确认放款'
:
'取消放款'
console
.
log
(
row
,
type
);
console
.
log
(
row
,
type
)
},
},
handleCurrentChange
(
val
)
{
handleCurrentChange
(
val
)
{
...
...
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