Commit 93d0ed80 authored by caimeng's avatar caimeng

预授信基本联调完成

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