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
9b8d688c
Commit
9b8d688c
authored
Jun 13, 2022
by
caimeng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
稽核弹框那啥
parent
3db3ba08
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
366 additions
and
48 deletions
+366
-48
loan-audit.vue
src/components/loan-audit.vue
+154
-0
user-base-info.vue
src/components/user-base-info.vue
+5
-1
user-other-info.vue
src/components/user-other-info.vue
+22
-16
user-project-info.vue
src/components/user-project-info.vue
+4
-0
index.js
src/minix/index.js
+13
-0
audit.vue
src/views/loan/audit.vue
+24
-5
detail.vue
src/views/loan/detail.vue
+144
-26
No files found.
src/components/loan-audit.vue
0 → 100644
View file @
9b8d688c
<!-- 预授信申述 -->
<
template
>
<el-dialog
:visible
.
sync=
'dialogVisible'
:before-close=
'handleClose'
:destroy-on-close=
'true'
width=
'38%'
title=
'申述'
>
<div
class=
'page'
>
<!--搜索-->
<el-form
ref=
'dForm'
label-suffix=
':'
label-width=
'90px'
:rules=
'rules'
:model=
'form'
class=
'form-inline'
>
<el-form-item
prop=
'memo'
label=
'备注'
>
<el-input
v-model=
'form.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>
</div>
<span
slot=
'footer'
class=
'dialog-footer'
>
<el-button
type=
'primary'
@
click=
'onSubmit("dForm")'
>
确 定
</el-button>
<el-button
@
click=
'handleClose'
>
取 消
</el-button>
</span>
</el-dialog>
</template>
<
script
>
import
API
from
'@/server/api'
import
_
from
'lodash'
import
{
mapGetters
}
from
'vuex'
export
default
{
name
:
'LoanAudit'
,
props
:
{
dialogVisible
:
{
type
:
Boolean
,
require
:
true
},
//eslint-disable-next-line vue/require-default-prop
item
:
{
type
:
Object
,
require
:
true
}
},
data
()
{
return
{
rules
:
{
memo
:
[
{
required
:
true
,
trigger
:
'blur'
,
message
:
'请输入备注'
}
],
approveOpinion
:
[
{
required
:
true
,
trigger
:
'blur'
,
message
:
'请选择审批意见'
}
]
},
form
:
{
memo
:
''
,
approveOpinion
:
''
,
currentAction
:
''
,
orderNo
:
''
,
stepsNo
:
''
,
userId
:
''
}
}
},
computed
:
{
...
mapGetters
([
'searchData'
,
'user'
])
},
created
()
{
console
.
log
(
this
.
item
,
'nash '
)
if
(
this
.
item
!==
null
)
{
this
.
form
.
orderNo
=
this
.
item
.
orderNo
;
this
.
form
.
stepsNo
=
this
.
item
.
stepsNo
;
this
.
form
.
currentAction
=
this
.
item
.
currentAction
;
}
},
methods
:
{
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
,
'取消申述了'
)
})
}
})
},
handleClose
()
{
this
.
$emit
(
'handleClose'
)
}
}
}
</
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
;
}
</
style
>
src/components/user-base-info.vue
View file @
9b8d688c
...
...
@@ -11,7 +11,7 @@
<el-descriptions-item
label-class-name=
'labelCls'
label=
'身份证号'
>
{{
baseInfo
.
idCard
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'学历'
>
{{
baseInfo
.
applyDate
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'学历'
>
{{
baseInfo
.
workIndustryStr
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'婚姻状况'
>
{{
baseInfo
.
marriageStr
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'年龄(周岁)'
>
{{
baseInfo
.
applyDate
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'工作行业'
>
{{
baseInfo
.
workIndustryStr
}}
</el-descriptions-item>
...
...
@@ -48,6 +48,10 @@
baseInfo
:{
type
:
Object
,
require
:
true
},
isLoan
:{
type
:
Boolean
,
require
:
false
}
}
};
...
...
src/components/user-other-info.vue
View file @
9b8d688c
...
...
@@ -66,24 +66,26 @@
</el-row>
</
template
>
<!--机审报告-->
<block-header
title=
'机审报告'
/>
<
template
v-if=
'reportResponse!==null'
>
<mch-report
:report=
reportResponse
/>
</
template
>
<block-header
title=
'第三方报告'
/>
<
template
v-if=
'thirdPartyReport && thirdPartyReport !==null'
>
<t-dun-report
:report=
thirdPartyReport
/>
</
template
>
<
template
v-if=
'!isLoan'
>
<!--机审报告-->
<block-header
title=
'机审报告'
/>
<template
v-if=
'reportResponse!==null'
>
<mch-report
:report=
reportResponse
/>
</
template
>
<block-header
title=
'第三方报告'
/>
<
template
v-if=
'thirdPartyReport && thirdPartyReport !==null'
>
<t-dun-report
:report=
thirdPartyReport
/>
</
template
>
<!--审批结果-->
<block-header
title=
'审批结果'
/>
<
template
v-if=
'approvalResultResponse!==null'
>
<approval-result
:result=
'approvalResultResponse'
/>
</
template
>
<!--审批结果-->
<block-header
title=
'审批结果'
/>
<
template
v-if=
'approvalResultResponse!==null'
>
<approval-result
:result=
'approvalResultResponse'
/>
</template>
<!-- 图片预览-->
<el-image-viewer
v-if=
'imgViewerVisible'
:on-close=
'closeImgViewer'
:url-list=
'imgList'
/>
...
...
@@ -97,6 +99,10 @@
info
:
{
type
:
Object
,
require
:
true
},
isLoan
:
{
type
:
Boolean
,
require
:
false
}
},
data
()
{
...
...
@@ -136,7 +142,7 @@
this
.
supplAttachInfo
=
supplAttachInfo
// 附件信息
//this.supplAttachInfo = [] // 附件信息
console
.
log
(
this
.
thirdPartyReport
,
'第三方报告'
)
console
.
log
(
this
.
thirdPartyReport
,
'第三方报告'
)
},
methods
:
{
...
...
src/components/user-project-info.vue
View file @
9b8d688c
...
...
@@ -24,6 +24,10 @@
projectInfo
:{
type
:
Object
,
require
:
true
},
isLoan
:{
type
:
Boolean
,
require
:
false
}
},
data
(){
...
...
src/minix/index.js
View file @
9b8d688c
...
...
@@ -2,6 +2,7 @@ import BlockHeader from '@/components/blockHeader'
import
OperationLog
from
'@/components/pre-operation-log'
import
PreReport
from
'@/components/pre-report'
import
PrePlead
from
'@/components/pre-plead'
import
LoanAudit
from
'@/components/loan-audit'
import
Plead
from
'@/components/plead'
import
Approval
from
'@/components/approval'
import
UserOtherInfo
from
'@/components/user-other-info'
...
...
@@ -27,10 +28,22 @@ export default {
UserBaseInfo
,
UserProjectInfo
,
Approval
,
LoanAudit
,
'el-image-viewer'
:
()
=>
import
(
'element-ui/packages/image/src/image-viewer'
)
},
data
(){
return
{
CS
:
{
'text-align'
:
'center'
,
//文本居中
'min-width'
:
'250px'
,
//最小宽度
'word-break'
:
'break-all'
//过长时自动换行
},
LS
:
{
'text-align'
:
'center'
,
'height'
:
'40px'
,
'min-width'
:
'110px'
,
'word-break'
:
'keep-all'
},
datePickerOptions
:{
shortcuts
:
[
{
...
...
src/views/loan/audit.vue
View file @
9b8d688c
...
...
@@ -83,11 +83,10 @@
label=
'操作'
>
<
template
#
default=
'{ row }'
>
<el-button
type=
'text'
@
click=
'handleDetail(row)'
>
详情
</el-button>
<template
v-if=
'row.loanStatus==="SUBMITED" && row.stepsNo==="002"'
>
<el-button
type=
'text'
@
click=
'handleDetail
(row)'
>
稽核
</el-button>
<el-button
size=
'mini'
type=
'primary'
@
click=
'handleAudit
(row)'
>
稽核
</el-button>
</
template
>
<el-button
size=
'mini'
type=
'default'
@
click=
'handleDetail(row)'
>
详情
</el-button>
</template>
</el-table-column>
</el-table>
...
...
@@ -100,6 +99,17 @@
background
@
current-change=
'handleCurrentChange'
/>
<!--稽核弹框-->
<
template
v-if=
'visible'
>
<loan-audit
:dialog-visible=
'visible'
:item=
'item'
@
handleClose=
'visible = false'
@
callback=
'fetchData'
/>
</
template
>
</div>
</template>
...
...
@@ -109,9 +119,12 @@
import
API
from
'@/server/api'
export
default
{
name
:
'
Loan
Audit'
,
name
:
'Audit'
,
data
()
{
return
{
visible
:
false
,
item
:
null
,
checkList
:
[
'订单编号'
,
'项目名称'
,
'客户信息'
,
'借款金额'
,
'借款期数'
,
'BD姓名'
,
'商户区域'
,
'创建时间'
,
'借款状态'
,
'资金渠道'
],
columns
:
[
{
...
...
@@ -126,7 +139,7 @@
},
{
order
:
3
,
width
:
1
05
,
width
:
1
10
,
label
:
'客户信息'
,
prop
:
'realName'
},
...
...
@@ -236,6 +249,12 @@
this
.
list
=
records
this
.
total
=
total
this
.
listLoading
=
false
},
// 稽核审批
handleAudit
(
row
)
{
console
.
log
(
row
,
'点击了'
)
this
.
visible
=
true
this
.
item
=
row
}
}
}
...
...
src/views/loan/detail.vue
View file @
9b8d688c
<
template
>
<div
v-if=
'detail!==null'
class=
'page'
>
<block-header
title=
'项目信息'
/>
<el-descriptions
style=
'margin-bottom: 20px;'
border
size=
'small'
:column=
'3'
>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'借款编号'
>
{{
baseInfo
.
applyDate
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'项目名称'
>
{{
baseInfo
.
creditTypeStr
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'借款申请时间'
>
{{
baseInfo
.
creditStatusStr
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'借款状态'
>
{{
baseInfo
.
realName
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'医院名称'
>
{{
baseInfo
.
mobile
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'项目金额(元)'
>
{{
baseInfo
.
idCard
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'借款金额(元)'
>
{{
baseInfo
.
applyDate
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'申请期数'
>
{{
baseInfo
.
applyDate
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'申请项目'
>
{{
baseInfo
.
applyDate
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'还款方式'
>
{{
baseInfo
.
applyDate
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'还款来源'
>
{{
baseInfo
.
applyDate
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'是否绿通'
>
{{
baseInfo
.
companyName
}}
</el-descriptions-item>
<el-descriptions-item
label-class-name=
'labelCls'
label=
'手术时间'
>
{{
baseInfo
.
liveAddress
}}
</el-descriptions-item>
</el-descriptions>
<block-header
title=
'客户信息'
/>
<block-header
title=
'资方信息'
/>
<block-header
title=
'收款账户信息'
/>
<block-header
title=
'还款账户信息'
/>
<block-header
title=
'客户经理信息(BD)'
/>
<!--用户项目信息-->
<template
v-if=
'project!==null'
>
<block-header
title=
'项目信息'
/>
<el-descriptions
style=
'margin-bottom: 20px;'
:content-style=
'CS'
:label-style=
'LS'
border
size=
'small'
:column=
'3'
>
<el-descriptions-item
project
label=
'订单编号'
>
{{
orderNo
}}
</el-descriptions-item>
<el-descriptions-item
project
label=
'项目名称'
>
{{
project
.
loanName
}}
</el-descriptions-item>
<el-descriptions-item
project
label=
'申请时间'
>
{{
project
.
loanApplyDate
}}
</el-descriptions-item>
<el-descriptions-item
project
label=
'借款状态'
>
<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
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.loanIntentionAmount) }}元
</el-descriptions-item>
<el-descriptions-item
project
label=
'申请期数'
>
{{ project.loanIntentionNum }}
</el-descriptions-item>
<el-descriptions-item
project
label=
'申请项目'
>
{{ project.projectName }}
</el-descriptions-item>
<el-descriptions-item
project
label=
'还款方式'
>
{{ project.projectTime }}
</el-descriptions-item>
<el-descriptions-item
project
label=
'还款来源'
>
{{ project.projectTime }}
</el-descriptions-item>
<el-descriptions-item
project
label=
'手术时间'
>
{{ project.projectTime }}
</el-descriptions-item>
</el-descriptions>
</template>
<!--用户基础信息-->
<
template
v-if=
'client!==null'
>
<block-header
title=
'客户信息'
/>
<el-descriptions
style=
'margin-bottom: 20px;'
:content-style=
'CS'
:label-style=
'LS'
border
size=
'small'
:column=
'3'
>
<el-descriptions-item
project
label=
'客户姓名'
>
{{
client
.
realName
}}
</el-descriptions-item>
<el-descriptions-item
project
label=
'身份证号'
>
{{
client
.
idCard
}}
</el-descriptions-item>
<el-descriptions-item
project
label=
'手机号码'
>
{{
client
.
mobile
}}
</el-descriptions-item>
<el-descriptions-item
project
label=
'学历'
>
{{
client
.
educationCodeStr
}}
</el-descriptions-item>
<el-descriptions-item
project
label=
'婚姻状况'
>
{{
client
.
marriageStr
}}
</el-descriptions-item>
<el-descriptions-item
project
label=
'工作行业'
>
{{
client
.
workIndustryStr
}}
</el-descriptions-item>
<el-descriptions-item
project
label=
'工作城市'
>
{{
client
.
companyAddress
}}
</el-descriptions-item>
<el-descriptions-item
project
label=
'公司全称'
>
{{
client
.
companyName
}}
</el-descriptions-item>
<el-descriptions-item
project
label=
'QQ/微信'
>
{{
client
.
qqWechar
}}
</el-descriptions-item>
<el-descriptions-item
project
label=
'合同展示地址'
>
{{
client
.
address
}}
</el-descriptions-item>
<el-descriptions-item
project
label=
'月收入'
>
{{
client
.
selfMonthIncomeStr
}}
</el-descriptions-item>
<el-descriptions-item
project
label=
'紧急联系人姓名'
>
{{
client
.
firstName
}}
</el-descriptions-item>
<el-descriptions-item
project
label=
'紧急联系人关系'
>
{{
client
.
firstRelationStr
}}
</el-descriptions-item>
<el-descriptions-item
project
label=
'紧急联系人电话'
>
{{
client
.
firstPhone
}}
</el-descriptions-item>
</el-descriptions>
</
template
>
<!--资金方-->
<
template
v-if=
'capitalName!==null'
>
<block-header
title=
'资方信息'
/>
<el-descriptions
style=
'margin-bottom: 20px;'
:content-style=
'CS'
:label-style=
'LS'
border
size=
'small'
:column=
'3'
>
<el-descriptions-item
project
label=
'资金方'
>
{{
capitalName
}}
</el-descriptions-item>
</el-descriptions>
</
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信息-->
<
template
v-if=
'bdInfoResponse!==null'
>
<block-header
title=
'BD信息'
/>
<el-descriptions
style=
'margin-bottom: 20px;'
direction=
'vertical'
:content-style=
'CS'
:label-style=
'LS'
border
size=
'small'
:column=
'4'
>
<el-descriptions-item
project
label=
'BD编号'
>
{{
bdInfoResponse
.
bdNo
}}
</el-descriptions-item>
<el-descriptions-item
project
label=
'BD名称'
>
{{
bdInfoResponse
.
bdName
}}
</el-descriptions-item>
<el-descriptions-item
project
label=
'部门信息'
>
{{
bdInfoResponse
.
regionName
}}
</el-descriptions-item>
<el-descriptions-item
project
label=
'BD用户名'
>
{{
bdInfoResponse
.
loginName
}}
</el-descriptions-item>
</el-descriptions>
</
template
>
<!--其它信息-->
<user-other-info
:is-loan=
'isLoan'
:info=
'detail'
/>
<!--操作日志-->
<
template
v-if=
'detail.operationLogResponse!==null'
>
<operation-log
:log=
'detail.operationLogResponse'
/>
</
template
>
<!--申述操作-->
<
template
v-if=
'false'
>
<pre-plead
/>
</
template
>
</div>
</template>
...
...
@@ -36,8 +121,16 @@
name
:
'LoanDetail'
,
data
()
{
return
{
isLoan
:
true
,
orderNo
:
''
,
detail
:
null
detail
:
null
,
project
:
null
,
client
:
null
,
bdInfoResponse
:
null
,
collectionAccountResponse
:
null
,
// 收款方
capitalName
:
null
// 资金方
}
},
async
created
()
{
...
...
@@ -54,7 +147,32 @@
const
result
=
await
API
.
loanDetail
({
orderNo
})
this
.
detail
=
result
.
result
const
data
=
result
.
result
const
{
bdInfoResponse
,
clientDetail
,
capitalName
,
clientIdCardInfoResponse
,
collectionAccountResponse
,
creditAttachInfo
,
faceInfoResponse
,
operationLogResponse
,
projectInfoResponse
,
repayAccountResponse
,
reportResponse
,
supplAttachInfo
,
thirdPartyReport
,
xcxSupplAttachInfo
}
=
data
this
.
project
=
projectInfoResponse
this
.
client
=
clientDetail
this
.
capitalName
=
capitalName
// 资金方
this
.
collectionAccountResponse
=
collectionAccountResponse
;
// 收款方信息
this
.
repayAccountResponse
=
repayAccountResponse
;
// 还款方信息
this
.
bdInfoResponse
=
bdInfoResponse
;
// 还款方信息
this
.
detail
=
data
}
}
}
...
...
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