Commit 93d0ed80 authored by caimeng's avatar caimeng

预授信基本联调完成

parent 1df60a86
...@@ -18,3 +18,7 @@ ...@@ -18,3 +18,7 @@
.com{ .com{
padding-bottom: 20px; padding-bottom: 20px;
} }
.el-dialog__header{
border-bottom: 1px solid #ebeef5;
}
...@@ -21,32 +21,12 @@ ...@@ -21,32 +21,12 @@
:show-overflow-tooltip="!!item.overflow" :show-overflow-tooltip="!!item.overflow"
> >
<template #default="{ row }"> <template #default="{ row }">
<div v-if="item.label==='营业执照' || item.label==='小贷拍照' || item.label==='金融办批文'"> <span >{{ row[item.prop] }}</span>
<el-image
style="width: 100px; height: 75px"
:src="row[item.prop]"
fit="fit"
/>
</div>
<div v-else-if="item.label==='机构状态'">
<span>{{ row[item.prop]==="1"?'启用':'禁用' }}</span>
</div>
<span v-else>{{ row[item.prop] }}</span>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<el-pagination
style='margin-bottom: 20px'
:current-page="queryForm.current"
:layout="layout"
:page-size="queryForm.size"
:total="total"
background
@current-change="handleCurrentChange"
@size-change="handleSizeChange"
/>
</div> </div>
</template> </template>
...@@ -55,54 +35,46 @@ ...@@ -55,54 +35,46 @@
import API from '@/server/api' import API from '@/server/api'
export default { export default {
name: 'TableEdit', name: 'PreOperationLog',
props:{
logData:{
type:Array,
require:true
}
},
data() { data() {
return { return {
checkList: ["操作人员", "操作类型", "操作结果", "审批结果", "操作时间", "备注"], checkList: ["操作人员", "操作类型", "操作结果", "操作时间", "备注"],
columns: [ columns: [
{ {
order: 1, order: 1,
label: "操作人员", label: "操作人员",
prop: "tenantNo" prop: "operationName"
}, },
{ {
order: 2, order: 2,
label: "操作类型", label: "操作类型",
prop: "tenantFullName" prop: "operationTypeStr"
}, },
{ {
order: 3, order: 3,
label: "操作结果", label: "操作结果",
prop: "tenantName" prop: "operationResult"
},
{
order: 4,
label: "审批结果",
prop: "status"
}, },
{ {
order: 5, order: 5,
label: "操作时间", label: "操作时间",
prop: "businessLicenseUrl", prop: "operationDate",
overflow: true overflow: true
}, },
{ {
order: 6, order: 6,
label: "备注", label: "备注",
prop: "status" prop: "appealMemo"
} }
], ],
list: [], list: [],
listLoading: true, listLoading: true,
layout: "total, sizes, prev, pager, next, jumper",
total: 1,
queryForm: {
current: 1,
size: 9,
status: "",
tenantName: "",
tenantNo: ""
}
} }
}, },
computed: { computed: {
...@@ -114,33 +86,13 @@ ...@@ -114,33 +86,13 @@
); );
}); });
return _.sortBy(finallyArray, (item) => item.order); return _.sortBy(finallyArray, (item) => item.order);
//return finallyArray;
} }
}, },
created() { created() {
//防止三级以上路由时多次走created if(this.logData){
if (this.$route.name === this.$options.name) this.fetchData(); this.list = this.logData;
}, this.listLoading = false;
mounted() {
this.fetchData();
},
methods: {
handleSizeChange(val) {
this.queryForm.size = val;
this.fetchData();
},
handleCurrentChange(val) {
this.queryForm.current = val;
this.fetchData();
},
async fetchData() {
//this.listLoading = true;
//const result = await API.merchant_list(this.queryForm);
//const { records, total } = result.result;
//this.list = records;
//this.total = total;
//this.listLoading = false;
} }
}, }
} }
</script> </script>
<!-- 预授信申述 --> <!-- 预授信申述 -->
<template> <template>
<div> <el-dialog
<!--图钉--> :visible.sync='dialogVisible'
<el-button class='btn-fixed'>审核</el-button> :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='appealMemo' label='申述原因'>
<el-input v-model='form.appealMemo' 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.allotOpinionEnumResponseList'
:key='index'
:label='item.code'>{{ item.desc }}
</el-radio>
</el-radio-group>
</template>
</el-form-item>
</el-form>
<!--搜索--> </div>
<block-header title="申述" /> <span slot='footer' class='dialog-footer'>
<el-form label-suffix=":" label-width='120px' :model="form" class="form-inline"> <el-button type='primary' @click='onSubmit("dForm")'>确 定</el-button>
<el-form-item label="申述备注"> <el-button @click='handleClose'>取 消</el-button>
<el-input v-model="form.remarks" type="textarea" clearable placeholder="请输入申述备注" /> </span>
</el-form-item> </el-dialog>
<el-form-item label="审批意见">
<el-radio-group v-model="form.opinion">
<el-radio :label="3">备选项</el-radio>
<el-radio :label="6">备选项</el-radio>
<el-radio :label="9">备选项</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item>
<el-button icon="el-icon-search" type="primary" @click="onSubmit">提 交</el-button>
</el-form-item>
</el-form>
</div>
</template> </template>
<script> <script>
import API from "@/server/api"; import API from '@/server/api'
import _ from 'lodash'
import { mapGetters } from 'vuex'
export default { export default {
name: "PrePlead", name: 'PrePlead',
props: {
dialogVisible: {
type: Boolean,
require: true
},
//eslint-disable-next-line vue/require-default-prop
item: {
type: Object,
require: true
}
},
data() { data() {
return { return {
rules: {
appealMemo: [
{
required: true,
trigger: 'blur',
message: '请输入申述原因'
}
],
approveOpinion: [
{
required: true,
trigger: 'blur',
message: '请选择审批意见'
}
]
},
form: { form: {
remarks: 1, appealMemo: '',
opinion: 9 approveOpinion: '',
preCreditNo: '',
userId: ''
} }
}; }
},
computed: {
...mapGetters(['searchData', 'user'])
},
mounted() {
if (this.item !== null) {
this.form.preCreditNo = this.item.preCreditNo
}
}, },
methods: { methods: {
onSubmit(){} 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.preCreditPlead({
...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> </script>
<style lang="scss" scoped> <style lang='scss' scoped>
.page-fence { .page-fence {
::v-deep { ::v-deep {
i { i {
...@@ -55,7 +135,7 @@ ...@@ -55,7 +135,7 @@
padding: 20px; padding: 20px;
} }
</style> </style>
<style lang="scss"> <style lang='scss'>
.custom-table-checkbox { .custom-table-checkbox {
.el-checkbox { .el-checkbox {
display: block !important; display: block !important;
......
...@@ -61,7 +61,7 @@ export default { ...@@ -61,7 +61,7 @@ export default {
}) })
}, },
// 预授信申述 // 预授信申述
preCreditPlead(params) { preCreditPlead(data) {
return request({ return request({
url: '/credit/preSubmit', url: '/credit/preSubmit',
method: 'post', method: 'post',
......
...@@ -2,21 +2,35 @@ ...@@ -2,21 +2,35 @@
<div v-if='detail!==null' class='page'> <div v-if='detail!==null' class='page'>
<block-header title='基础信息' /> <block-header title='基础信息' />
<el-descriptions v-if='detail.preBasisInfoResponse!==null' style='margin-bottom: 20px;' border size='small' :column='3'> <el-descriptions v-if='detail.preBasisInfoResponse!==null' style='margin-bottom: 20px;' border size='small'
<el-descriptions-item label-class-name='labelCls' label='客户姓名'>{{detail.preBasisInfoResponse.realName}}</el-descriptions-item> :column='3'>
<el-descriptions-item label-class-name='labelCls' label='手机号码'>{{detail.preBasisInfoResponse.mobile}}</el-descriptions-item> <el-descriptions-item label-class-name='labelCls' label='客户姓名'>{{ detail.preBasisInfoResponse.realName }}
<el-descriptions-item label-class-name='labelCls' label='身份证号'>{{detail.preBasisInfoResponse.idCard}}</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label-class-name='labelCls' label='户籍地址'>{{detail.preBasisInfoResponse.address}}</el-descriptions-item> <el-descriptions-item label-class-name='labelCls' label='手机号码'>{{ detail.preBasisInfoResponse.mobile }}
<el-descriptions-item label-class-name='labelCls' label='申请时间'>{{detail.preBasisInfoResponse.applyDate}}</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label-class-name='labelCls' label='授信类型'>{{detail.preBasisInfoResponse.creditType}}</el-descriptions-item> <el-descriptions-item label-class-name='labelCls' label='身份证号'>{{ detail.preBasisInfoResponse.idCard }}
<el-descriptions-item label-class-name='labelCls' label='授信状态'>{{detail.preBasisInfoResponse.preState}}</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label-class-name='labelCls' label='商户区域'>{{detail.preBasisInfoResponse.regionName}}</el-descriptions-item> <el-descriptions-item label-class-name='labelCls' label='户籍地址'>{{ detail.preBasisInfoResponse.address }}
<el-descriptions-item label-class-name='labelCls' label='首次授信'>{{detail.preBasisInfoResponse.realName}}</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label-class-name='labelCls' label='申请时间'>{{ detail.preBasisInfoResponse.applyDate }}
</el-descriptions-item>
<el-descriptions-item label-class-name='labelCls' label='授信类型'>{{ detail.preBasisInfoResponse.creditTypeStr }}
</el-descriptions-item>
<el-descriptions-item label-class-name='labelCls' label='授信状态'>
<span style='margin-right: 10px'>{{ detail.preBasisInfoResponse.preStateStr }}</span>
<template v-if='detail.preBasisInfoResponse.preState === "PRE_CREDIT_REFUSE"'>
<el-button @click='handlePlead' size='mini' type='primary'>申述</el-button>
</template>
</el-descriptions-item>
<el-descriptions-item label-class-name='labelCls' label='商户区域'>{{ detail.preBasisInfoResponse.regionName }}
</el-descriptions-item>
<el-descriptions-item label-class-name='labelCls' label='首次授信'>{{ detail.preBasisInfoResponse.realName }}
</el-descriptions-item>
</el-descriptions> </el-descriptions>
<div v-if='detail.reportResponse!==null'> <div v-if='detail.reportResponse!==null'>
<block-header title='预审报告' /> <block-header title='预审报告' />
<el-descriptions style='margin-bottom: 20px;' border size='small' :column='3'> <el-descriptions style='margin-bottom: 20px;' border size='small' :column='3'>
<el-descriptions-item label-class-name='labelCls' label='规则名称'>1</el-descriptions-item> <el-descriptions-item label-class-name='labelCls' label='规则名称'>1</el-descriptions-item>
<el-descriptions-item label-class-name='labelCls' label='规则名称'>1</el-descriptions-item> <el-descriptions-item label-class-name='labelCls' label='规则名称'>1</el-descriptions-item>
...@@ -26,13 +40,16 @@ ...@@ -26,13 +40,16 @@
<!--操作日志--> <!--操作日志-->
<div v-if='detail.operationLogResponse && detail.operationLogResponse.length'> <div v-if='detail.operationLogResponse && detail.operationLogResponse.length'>
<operation-log :data='detail.operationLogResponse' /> <operation-log :logData='detail.operationLogResponse' />
</div> </div>
<!--申述操作--> <!--申述弹框-->
<pre-plead /> <pre-plead
:dialog-visible='visible'
:item='item'
@handleClose='visible = false'
@callback='init'
/>
</div> </div>
</template> </template>
...@@ -43,6 +60,9 @@ ...@@ -43,6 +60,9 @@
name: 'PreDetail', name: 'PreDetail',
data() { data() {
return { return {
visible: false,
item: null,
preCreditNo: '', preCreditNo: '',
detail: null detail: null
} }
...@@ -61,6 +81,12 @@ ...@@ -61,6 +81,12 @@
preCreditNo preCreditNo
}) })
this.detail = result.result this.detail = result.result
},
// 申述
handlePlead() {
this.item = this.detail
this.item.preCreditNo = this.preCreditNo;
this.visible = true
} }
} }
} }
......
...@@ -3,30 +3,18 @@ ...@@ -3,30 +3,18 @@
<!--搜索--> <!--搜索-->
<block-header title='搜索' /> <block-header title='搜索' />
<div class='search'> <div class='search'>
<el-form label-suffix=':' :inline='true' :model='queryForm' class='form-inline'> <el-form ref='form' label-suffix=':' :inline='true' :model='queryForm' class='form-inline'>
<el-form-item label='授信编号'> <el-form-item prop='preCreditNo' label='授信编号'>
<el-input <el-input v-model='queryForm.preCreditNo' clearable placeholder='请输入授信编号' />
v-model='queryForm.creditNo'
clearable
placeholder='请输入授信编号'
/>
</el-form-item> </el-form-item>
<el-form-item label='客户姓名'> <el-form-item prop='realName' label='客户姓名'>
<el-input <el-input v-model='queryForm.realName' clearable placeholder='请输入客户姓名' />
v-model='queryForm.realName'
clearable
placeholder='请输入客户姓名'
/>
</el-form-item> </el-form-item>
<el-form-item label='手机号码'> <el-form-item prop='mobile' label='手机号码'>
<el-input <el-input v-model='queryForm.mobile' clearable placeholder='请输入客户手机号码' />
v-model='queryForm.mobile'
clearable
placeholder='请输入客户手机号码'
/>
</el-form-item> </el-form-item>
<el-form-item label='授信状态'> <el-form-item prop='preStatus' v-if='searchData!==null' label='授信状态'>
<el-select clearable v-model='queryForm.preStatus' placeholder='请选择授信状态'> <el-select v-model='queryForm.preStatus' clearable placeholder='请选择授信状态'>
<el-option <el-option
v-for='(item,index) in searchData.preStatusList' v-for='(item,index) in searchData.preStatusList'
:label='item.preStatusStr' :label='item.preStatusStr'
...@@ -34,9 +22,7 @@ ...@@ -34,9 +22,7 @@
:value='item.preStatus'></el-option> :value='item.preStatus'></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item prop='time' label='申请时间'>
<el-form-item label='申请时间'>
<el-date-picker <el-date-picker
v-model='queryForm.time' v-model='queryForm.time'
type='datetimerange' type='datetimerange'
...@@ -51,14 +37,8 @@ ...@@ -51,14 +37,8 @@
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button <el-button icon='el-icon-search' type='primary' @click='onSubmit'>搜 索</el-button>
icon='el-icon-search' <el-button icon='el-icon-delete' type="default" @click="onReset('form')">重置</el-button>
type='primary'
@click='onSubmit'
>
搜 索
</el-button>
<!--<el-button type="default" @click="onReset">重置</el-button>-->
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
...@@ -83,15 +63,10 @@ ...@@ -83,15 +63,10 @@
:show-overflow-tooltip='!!item.overflow' :show-overflow-tooltip='!!item.overflow'
> >
<template #default='{ row }'> <template #default='{ row }'>
<div v-if="item.label==='营业执照' || item.label==='小贷拍照' || item.label==='金融办批文'"> <div v-if="item.prop==='preStatusStr'">
<el-image <el-tag v-if='row[item.prop]==="授信中"' type='warning'>{{ row[item.prop] }}</el-tag>
style='width: 100px; height: 75px' <el-tag v-else-if='row[item.prop]==="授信通过"' type='success'>{{ row[item.prop] }}</el-tag>
:src='row[item.prop]' <el-tag v-else-if='row[item.prop]==="授信拒绝"' type='danger'>{{ row[item.prop] }}</el-tag>
fit='fit'
/>
</div>
<div v-else-if="item.label==='机构状态'">
<span>{{ row[item.prop] === '1' ? '启用' : '禁用' }}</span>
</div> </div>
<span v-else>{{ row[item.prop] }}</span> <span v-else>{{ row[item.prop] }}</span>
</template> </template>
...@@ -104,10 +79,15 @@ ...@@ -104,10 +79,15 @@
> >
<template #default='{ row }'> <template #default='{ row }'>
<el-button type='text' @click='handleDetail(row)'>详情</el-button> <el-button type='text' @click='handleDetail(row)'>详情</el-button>
<template v-if='row.preStatusStr === "授信拒绝"' >
<el-button type='text' @click='handlePlead(row)'>申述</el-button>
</template>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- 分页 -->
<el-pagination <el-pagination
:current-page='queryForm.current' :current-page='queryForm.current'
layout='total, prev, pager, next' layout='total, prev, pager, next'
...@@ -116,6 +96,16 @@ ...@@ -116,6 +96,16 @@
background background
@current-change='handleCurrentChange' @current-change='handleCurrentChange'
/> />
<!-- 申述 -->
<!--申述弹框-->
<pre-plead
:dialog-visible='visible'
:item='item'
@handleClose='visible = false'
@callback='fetchData'
/>
</div> </div>
</template> </template>
...@@ -129,7 +119,11 @@ ...@@ -129,7 +119,11 @@
name: 'CreditPre', name: 'CreditPre',
data() { data() {
return { return {
checkList: ['授信编号', '客户姓名', '手机号码', '对应BD', '商户区域', '授信额度', '申请时间', '授信状态'], visible: false,
item: null,
checkList: ['授信编号', '客户姓名', '手机号码', '对应BD', '商户区域', '申请时间', '授信状态'],
columns: [ columns: [
{ {
order: 1, order: 1,
...@@ -156,15 +150,11 @@ ...@@ -156,15 +150,11 @@
label: '商户区域', label: '商户区域',
prop: 'regionName' prop: 'regionName'
}, },
{
order: 6,
label: '授信额度',
prop: 'creditLimit'
},
{ {
order: 7, order: 7,
label: '申请时间', label: '申请时间',
prop: 'applyDate' prop: 'applyDate',
width:110,
}, },
{ {
order: 8, order: 8,
...@@ -187,8 +177,7 @@ ...@@ -187,8 +177,7 @@
realName: '', realName: '',
time: '', time: '',
startTime: '', startTime: '',
endTime: '', endTime: ''
userId: ''
} }
} }
...@@ -202,16 +191,20 @@ ...@@ -202,16 +191,20 @@
) )
}) })
return _.sortBy(finallyArray, (item) => item.order) return _.sortBy(finallyArray, (item) => item.order)
//return finallyArray;
}, },
...mapGetters(['searchData']) ...mapGetters(['searchData'])
}, },
mounted() { mounted() {
this.fetchData() this.fetchData()
console.log(this.searchData, '手上')
}, },
methods: { methods: {
// 申述弹框
handlePlead(row){
this.item = row;
this.visible = true;
},
// 搜索
onSubmit() { onSubmit() {
const { time } = this.queryForm; const { time } = this.queryForm;
this.queryForm.current = 1; this.queryForm.current = 1;
......
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