Commit f24aa8b9 authored by caimeng's avatar caimeng

优化修改

parent 2e696f3b
...@@ -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
......
<!-- 客户身份证 -->
<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>
<!-- 附件 -->
<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>
<!-- 图片信息 -->
<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>
<!-- 图片信息 -->
<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>
<!-- 图片信息 -->
<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>
<!-- 附件 -->
<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>
...@@ -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: {
......
...@@ -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>
......
...@@ -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: []
......
...@@ -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 }}
......
...@@ -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')
}, },
......
...@@ -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"
}
})
} }
} }
} }
......
...@@ -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()
} }
} }
} }
......
...@@ -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) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment