Commit 524a0269 authored by 沈翠玲's avatar 沈翠玲

风控报告

parent 98fcf58a
...@@ -35,3 +35,15 @@ export const sendReport = (id) => { ...@@ -35,3 +35,15 @@ export const sendReport = (id) => {
export const getByIdcustomerReport = (id) => { export const getByIdcustomerReport = (id) => {
return request.get('/customerReport/getById?id=' + id); return request.get('/customerReport/getById?id=' + id);
}; };
// 客户报告风控审核列表
export const getriskPage = (params) => {
return request.get('/customerReport/riskPage', params);
};
// 客户报告列表
export const getcustomerReportPage = (params) => {
return request.get('/customerReport/page', params);
};
// 客户报告风控审核列表
export const getlegalPage = (params) => {
return request.get('/customerReport/legalPage', params);
};
\ No newline at end of file
...@@ -21,15 +21,15 @@ ...@@ -21,15 +21,15 @@
<tbody> <tbody>
<tr> <tr>
<td class="label">录入人</td> <td class="label">录入人</td>
<td colspan="2"><el-input class="line-input" v-model="form.inputUserName" placeholder="" /></td> <td colspan="2"><el-input class="line-input" v-model="form.inputUserName" placeholder="" disabled/></td>
<td class="label">推荐人</td> <td class="label">推荐人</td>
<td colspan="2"><el-input class="line-input" v-model="form.referee" placeholder="" /></td> <td colspan="2"><el-input class="line-input" v-model="form.referee" placeholder="" /></td>
</tr> </tr>
<tr> <tr>
<td class="label">部门</td> <td class="label">部门</td>
<td colspan="2"><el-input class="line-input" v-model="form.inputOrg" placeholder="" /></td> <td colspan="2"><el-input class="line-input" v-model="form.inputOrg" placeholder="" disabled /></td>
<td class="label">角色</td> <td class="label">角色</td>
<td colspan="2"><el-input class="line-input" v-model="form.inputRole" placeholder="" /></td> <td colspan="2"><el-input class="line-input" v-model="form.inputRole" placeholder="" disabled /></td>
</tr> </tr>
<tr> <tr>
<td class="label">姓名</td> <td class="label">姓名</td>
...@@ -386,7 +386,7 @@ const form = ref({ ...@@ -386,7 +386,7 @@ const form = ref({
"remark": "", "remark": "",
"creditCard": [], "creditCard": [],
lending: [], lending: [],
inputUserName: '', inputUserName: userStore.userInfo.username,
inputUser: userStore.userInfo, inputUser: userStore.userInfo,
"inputOrg": "", "inputOrg": "",
"inputRole": "", "inputRole": "",
......
<template> <template>
<div class="table-box"> <div class="table-box">
<ProTable ref="proTable" :config="config" :api="getCustomerPage" :paramCallback="paramCallback" :selectdList="selectdList"> <ProTable ref="proTable" :config="config" :api="getCustomerPage" :paramCallback="paramCallback">
<template #left_buttons> <template #left_buttons>
<!-- <el-button type="primary" :disabled="!selectdList || selectdList.length < 1" @click="pushCreditcard">新建信用卡</el-button> --> <!-- <el-button type="primary" :disabled="!selectdList || selectdList.length < 1" @click="pushCreditcard">新建信用卡</el-button> -->
<!-- <el-button type="primary" @click="pushCredit">新建信用卡</el-button> <!-- <el-button type="primary" @click="pushCredit">新建信用卡</el-button>
...@@ -69,7 +69,7 @@ ...@@ -69,7 +69,7 @@
sendReport(row.id).then(res => { sendReport(row.id).then(res => {
if (res.success) { if (res.success) {
router.push({ router.push({
path: '/infoGather/dangerReport/dangerReportDetail', name: 'dangerReportDetail',
query: res.result ? { id: res.result.id }: {}, //这里不能直接写成 query: JSON.stringify(item) query: res.result ? { id: res.result.id }: {}, //这里不能直接写成 query: JSON.stringify(item)
}); });
} }
...@@ -95,7 +95,7 @@ ...@@ -95,7 +95,7 @@
}, },
}, },
{ {
field: 'createBy', field: 'inputUserName',
title: '创建人', title: '创建人',
search: { el: 'input',labelWidth: 85, props: { clearable: true } }, search: { el: 'input',labelWidth: 85, props: { clearable: true } },
}, },
......
...@@ -2,18 +2,12 @@ ...@@ -2,18 +2,12 @@
<div class="card table-box" style="padding: 0 40px"> <div class="card table-box" style="padding: 0 40px">
<div class="flex justify-end mt-2"> <div class="flex justify-end mt-2">
<el-button type="warning" @click="cancel()" v-if="route.query.id">取消</el-button> <el-button type="warning" @click="cancel()" v-if="route.query.id">取消</el-button>
<el-button type="primary" @click="submit()" v-if="route.query.id">保存</el-button> <!-- <el-button type="primary" @click="submit()" v-if="route.query.id">保存</el-button> -->
<el-button type="success" @click="submit('pass')" v-if="route.query.id">通过</el-button> <el-button type="success" @click="submit('pass')" v-if="roleType !== 'view'">通过</el-button>
<el-button type="danger" @click="submit('reject')" v-if="route.query.id">拒绝</el-button> <el-button type="danger" @click="submit('reject')" v-if="roleType !== 'view'">拒绝</el-button>
</div> </div>
<p class="text-lg text-center mb-5">审核报告</p> <p class="text-lg text-center mb-5">审核报告</p>
<table> <table>
<tr>
<td colspan="4" class="label">收单单位</td>
<td colspan="3"><el-input class="line-input" v-model="form.roleDesc" placeholder=""/></td>
<td colspan="2" class="label">推荐人</td>
<td colspan="2"><el-input class="line-input" v-model="form.roleDesc" placeholder=""/></td>
</tr>
<tr> <tr>
<td colspan="4" class="label">姓名</td> <td colspan="4" class="label">姓名</td>
<td colspan="2" class="label">年龄</td> <td colspan="2" class="label">年龄</td>
...@@ -22,11 +16,12 @@ ...@@ -22,11 +16,12 @@
<td class="label">电话</td> <td class="label">电话</td>
</tr> </tr>
<tr> <tr>
<td colspan="4"><el-input class="line-input" v-model="form.roleDesc" placeholder=""/></td> <td colspan="4" class="text-center">{{form?.customer?.name}}</td>
<td colspan="2"><el-input class="line-input" v-model="form.roleDesc" placeholder=""/></td> <td colspan="2" class="text-center">{{form?.customer?.age}}</td>
<td colspan="2"><el-input class="line-input" v-model="form.roleDesc" placeholder=""/></td> <td colspan="2" class="text-center">{{form?.customer?.idCard}}</td>
<td colspan="2"><el-input class="line-input" v-model="form.roleDesc" placeholder=""/></td> <td colspan="2" class="text-center">{{form?.customer?.marriage ? Marriage?.find((v) => v.value === form?.customer?.marriage)?.label
<td><el-input class="line-input" v-model="form.roleDesc" placeholder=""/></td> : ''}}</td>
<td class="text-center">{{form?.customer?.phone}}</td>
</tr> </tr>
<tr> <tr>
<td class="header">序号</td> <td class="header">序号</td>
...@@ -36,133 +31,26 @@ ...@@ -36,133 +31,26 @@
<td class="header">风控复核</td> <td class="header">风控复核</td>
<td class="header" colspan="3" >风控复核意见</td> <td class="header" colspan="3" >风控复核意见</td>
</tr> </tr>
<tr> <tr v-for="(item, index) in form?.reportItems" :key="index">
<td class="label">1</td> <td class="label">{{index + 1}}</td>
<td class="label">贷款类型</td> <td class="label">{{item.riskType}}</td>
<td><el-input class="line-input" v-model="form.roleDesc" placeholder=""/></td>
<td colspan="3">是否为抵押类贷款,人保贷款,公积金贷款,经营贷,担保、联名担保、保证类贷款,保险类贷款(保单贷),对应名下有理财保险,分红保险,现金分期,装修贷,网贷/信用贷/信用卡与资产相关联的(如与房、车、营业执照(法人/个体)、商铺、公积金等),先息后本、按期结息自由还本
</td>
<td><el-input v-model="form.roleDesc" placeholder=""/></td>
<td><el-radio-group v-model="form.status">
<el-radio value="enable">通过</el-radio>
<el-radio value="disable">未通过</el-radio>
</el-radio-group></td>
<td colspan="3"><el-input v-model="form.roleDesc" placeholder="" type="textarea"/></td>
</tr>
<tr>
<td class="label">2</td>
<td class="label">结清总额</td>
<td><el-input class="line-input" v-model="form.roleDesc" placeholder=""/></td>
<td colspan="3">信用卡、网贷当前结清总额合计≥10万元</td>
<td><el-input v-model="form.roleDesc" placeholder=""/></td>
<td><el-radio-group v-model="form.status">
<el-radio value="enable">通过</el-radio>
<el-radio value="disable">未通过</el-radio>
</el-radio-group></td>
<td colspan="3"><el-input v-model="form.roleDesc" placeholder="" type="textarea"/></td>
</tr>
<tr>
<td class="label">3</td>
<td class="label">房产</td>
<td>
数量:<br />
<el-input class="line-input" v-model="form.roleDesc" placeholder=""/>
市值:<br />
<el-input class="line-input" v-model="form.roleDesc" placeholder=""/>
</td>
<td colspan="3">夫妻名下允许有一套全款房产(房产现金价值小于处置总额5倍,且建议过户或做其他措施)</td>
<td><el-input v-model="form.roleDesc" placeholder=""/></td>
<td><el-radio-group v-model="form.status">
<el-radio value="enable">通过</el-radio>
<el-radio value="disable">未通过</el-radio>
</el-radio-group></td>
<td colspan="3"><el-input v-model="form.roleDesc" placeholder="" type="textarea"/></td>
</tr>
<tr>
<td class="label">4</td>
<td class="label">车辆</td>
<td> <td>
数量:<br /> <template v-if="item.jsonObject">
<el-input class="line-input" v-model="form.roleDesc" placeholder=""/> <div v-for="(item1, name1, index1) in item.jsonObject" :key="index1">
市值:<br /> {{name1}}
<el-input class="line-input" v-model="form.roleDesc" placeholder=""/> {{item1}}
</td>
<td colspan="3">夫妻名下允许有一辆全款车(车辆现金价值小于处置总额50%)
</td>
<td><el-input v-model="form.roleDesc" placeholder=""/></td>
<td><el-radio-group v-model="form.status">
<el-radio value="enable">通过</el-radio>
<el-radio value="disable">未通过</el-radio>
</el-radio-group></td>
<td colspan="3"><el-input v-model="form.roleDesc" placeholder="" type="textarea"/></td>
</tr>
<tr>
<td class="label">5</td>
<td class="label">职业</td>
<td><el-input class="line-input" v-model="form.roleDesc" placeholder=""/></td>
<td colspan="3">
1.客户是否为公检法系统人员、教师、医生、律师、企业法人人员<br />
<el-input class="line-input" v-model="form.roleDesc" placeholder=""/>
2.如客户为企事业单位的,需客户本人同意纪委联系与谈话、去单位或者给单位打电话催收(建议最好不接)<br />
<div class="flex">
<div>客户是否同意:</div>
<el-input class="line-input flex-1" v-model="form.roleDesc" placeholder=""/>
</div> </div>
</template>
</td> </td>
<td><el-input v-model="form.roleDesc" placeholder=""/></td> <td colspan="3" v-html="item.riskType ? RiskType?.find((v) => v.value === item.riskType)?.label
<td><el-radio-group v-model="form.status"> : ''">
<el-radio value="enable">通过</el-radio> </td>
<el-radio value="disable">未通过</el-radio> <td>{{item.sysJudge == 'Y' ? '通过' : '不通过'}}</td>
</el-radio-group></td> <td><el-radio-group v-model="item.review" :disabled="roleType !== 'risk'">
<td colspan="3"><el-input v-model="form.roleDesc" placeholder="" type="textarea"/></td> <el-radio value="Y">通过</el-radio>
</tr> <el-radio value="N">未通过</el-radio>
<tr>
<td class="label">6</td>
<td class="label">打卡收入</td>
<td><el-input class="line-input" v-model="form.roleDesc" placeholder=""/></td>
<td colspan="3">本人打卡收入小于3000(具体看处置总额或能否做其他措施)</td>
<td><el-input v-model="form.roleDesc" placeholder=""/></td>
<td><el-radio-group v-model="form.status">
<el-radio value="enable">通过</el-radio>
<el-radio value="disable">未通过</el-radio>
</el-radio-group></td>
<td colspan="3"><el-input v-model="form.roleDesc" placeholder="" type="textarea"/></td>
</tr>
<tr>
<td class="label">7</td>
<td class="label">打卡银行</td>
<td><el-input class="line-input" v-model="form.roleDesc" placeholder=""/></td>
<td colspan="3">打卡银行与借款银行是否为同一家:</td>
<td><el-input v-model="form.roleDesc" placeholder=""/></td>
<td><el-radio-group v-model="form.status">
<el-radio value="enable">通过</el-radio>
<el-radio value="disable">未通过</el-radio>
</el-radio-group></td>
<td colspan="3"><el-input v-model="form.roleDesc" placeholder="" type="textarea"/></td>
</tr>
<tr>
<td class="label">8</td>
<td class="label">营业执照</td>
<td><el-input class="line-input" v-model="form.roleDesc" placeholder=""/></td>
<td colspan="3">不能有营业执照</td>
<td><el-input v-model="form.roleDesc" placeholder=""/></td>
<td><el-radio-group v-model="form.status">
<el-radio value="enable">通过</el-radio>
<el-radio value="disable">未通过</el-radio>
</el-radio-group></td>
<td colspan="3"><el-input v-model="form.roleDesc" placeholder="" type="textarea"/></td>
</tr>
<tr>
<td class="label">9</td>
<td class="label">子女工作政审</td>
<td><el-input class="line-input" v-model="form.roleDesc" placeholder=""/></td>
<td colspan="3">子女需要考取公检法、公职政审的不接</td>
<td><el-input v-model="form.roleDesc" placeholder=""/></td>
<td><el-radio-group v-model="form.status">
<el-radio value="enable">通过</el-radio>
<el-radio value="disable">未通过</el-radio>
</el-radio-group></td> </el-radio-group></td>
<td colspan="3"><el-input v-model="form.roleDesc" placeholder="" type="textarea"/></td> <td colspan="3"><el-input v-model="item.remark" placeholder="" type="textarea" :disabled="roleType !== 'risk'"/></td>
</tr> </tr>
<tr class="yellow"> <tr class="yellow">
<td class="text-center">10</td> <td class="text-center">10</td>
...@@ -171,7 +59,7 @@ ...@@ -171,7 +59,7 @@
<tr class="yellow"> <tr class="yellow">
<td class="text-center">信用卡数量</td> <td class="text-center">信用卡数量</td>
<td colspan="10"><div class="flex items-center"> <td colspan="10"><div class="flex items-center">
<el-input v-model="form.roleDesc" placeholder="" style="width: 200px"/> {{form?.customer?.creditCard.length}}
</div></td> </div></td>
</tr> </tr>
...@@ -185,22 +73,22 @@ ...@@ -185,22 +73,22 @@
<td class="text-center">风控审核</td> <td class="text-center">风控审核</td>
<td colspan="2" class="text-center">风控审核意见</td> <td colspan="2" class="text-center">风控审核意见</td>
</tr> </tr>
<tr class="yellow"> <tr class="yellow" v-for="(item, index) in form?.customer?.creditCard" :key="index">
<td class="text-center">1</td> <td class="text-center">{{index + 1}}</td>
<td class="text-center">中行</td> <td class="text-center">{{item.bank}}</td>
<td class="text-center"></td> <td class="text-center">{{item.debt}}</td>
<td class="text-center"></td> <td class="text-center">{{item.beOverduePeriod}}</td>
<td class="text-center" colspan="2"></td> <td class="text-center" colspan="2">{{item.sixDevUsedQuota}}</td>
<td class="text-center" colspan="2"></td> <td class="text-center" colspan="2">{{item.hasNegotiate == 'Y' ? '是' : '否'}}</td>
<td><el-radio-group v-model="form.status"> <td><el-radio-group v-model="item.review" :disabled="roleType !== 'risk'">
<el-radio value="enable">通过</el-radio> <el-radio value="Y">通过</el-radio>
<el-radio value="disable">未通过</el-radio> <el-radio value="N">未通过</el-radio>
</el-radio-group></td> </el-radio-group></td>
<td class="text-center" colspan="2"><el-input v-model="form.roleDesc" placeholder="" type="textarea"/></td> <td class="text-center" colspan="2"><el-input v-model="item.remark" placeholder="" type="textarea" :disabled="roleType !== 'risk'"/></td>
</tr> </tr>
<tr class="yellow"> <tr class="yellow">
<td>信用卡欠款合计</td> <td>信用卡欠款合计</td>
<td colspan="10"><el-input v-model="form.roleDesc" placeholder="" style="width: 200px"/></td> <td colspan="10">{{cardSUM}}</td>
</tr> </tr>
<tr class="green"> <tr class="green">
<td class="text-center">11</td> <td class="text-center">11</td>
...@@ -208,7 +96,7 @@ ...@@ -208,7 +96,7 @@
</tr> </tr>
<tr class="green"> <tr class="green">
<td class="text-center">信用贷、网贷机构数量</td> <td class="text-center">信用贷、网贷机构数量</td>
<td colspan="10"><div class="flex items-center"><el-input v-model="form.roleDesc" placeholder="" style="width: 200px"/> <td colspan="10"><div class="flex items-center">{{form?.customer?.lending.length}}
</div></td> </div></td>
</tr> </tr>
<tr class="green"> <tr class="green">
...@@ -224,39 +112,45 @@ ...@@ -224,39 +112,45 @@
<td class="text-center">风控审核</td> <td class="text-center">风控审核</td>
<td class="text-center">风控审核意见</td> <td class="text-center">风控审核意见</td>
</tr> </tr>
<tr class="green"> <tr class="green" v-for="(item, index) in form?.customer?.lending" :key="index">
<td class="text-center"></td> <td class="text-center">{{index + 1}}</td>
<td class="text-center"></td> <td class="text-center">{{item.loanPlatform}}</td>
<td class="text-center"></td> <td class="text-center">{{item.quota}}</td>
<td class="text-center"></td> <td class="text-center">{{item.lendingNum}}</td>
<td class="text-center"></td> <td class="text-center">{{item.period}}</td>
<td class="text-center"></td> <td class="text-center">{{item.repayPeriod}}</td>
<td class="text-center"></td> <td class="text-center">{{item.debt}}</td>
<td class="text-center"></td> <td class="text-center">{{item.loanStatus
<td class="text-center"></td> ? LoanStatus.value?.find((v) => v.value === item.loanStatus)?.label
<td><el-radio-group v-model="form.status"> : ''}}</td>
<el-radio value="enable">通过</el-radio> <td class="text-center">{{item.hasContinuousRepay == 'Y' ? '是' : '否'}}</td>
<el-radio value="disable">未通过</el-radio> <td><el-radio-group v-model="form.review" :disabled="roleType !== 'risk'">
<el-radio value="Y">通过</el-radio>
<el-radio value="N">未通过</el-radio>
</el-radio-group></td> </el-radio-group></td>
<td><el-input v-model="form.roleDesc" placeholder="" type="textarea"/></td> <td><el-input v-model="form.remark" placeholder="" type="textarea" :disabled="roleType !== 'risk'"/></td>
</tr> </tr>
<tr class="green"> <tr class="green">
<td>信用贷、网贷欠款合计</td> <td>信用贷、网贷欠款合计</td>
<td colspan="10"><el-input v-model="form.roleDesc" placeholder="" style="width: 200px"/></td> <td colspan="10">{{creditSUM}}</td>
</tr> </tr>
<tr> <tr>
<td colspan="2" class="label">合计欠款总额</td> <td colspan="2" class="label">合计欠款总额</td>
<td colspan="9">5555</td> <td colspan="9">{{cardSUM + creditSUM}}</td>
</tr> </tr>
<tr> <tr>
<td colspan="2" class="label">风控终审意见</td> <td colspan="2" class="label">风控终审意见</td>
<td colspan="9">风控人工填写</td> <td colspan="9"><el-input v-model="form.riskControlRemark" placeholder="" type="textarea" :disabled="roleType !== 'risk'"/></td>
</tr>
<tr>
<td colspan="2" class="label">法务终审意见</td>
<td colspan="9"><el-input v-model="form.legalAffairRemark" placeholder="" type="textarea" :disabled="roleType !== 'legal'"/></td>
</tr> </tr>
<tr> <tr>
<td colspan="2" class="label">法务分配</td> <td colspan="2" class="label">法务分配</td>
<td colspan="4">由风控人工分配;如果能有机制自动分配最好;平均分配机制</td> <td colspan="4">{{form?.riskControlUser?.username}}</td>
<td colspan="2">客户信息录入人</td> <td colspan="2">客户信息录入人</td>
<td colspan="3"></td> <td colspan="3">{{form?.customer?.inputUserName}}</td>
</tr> </tr>
</table> </table>
</div> </div>
...@@ -264,54 +158,60 @@ ...@@ -264,54 +158,60 @@
<script setup name="Customer" lang="jsx"> <script setup name="Customer" lang="jsx">
import { useTabsStore } from '@/stores/modules/tabs'; import { useTabsStore } from '@/stores/modules/tabs';
import { ElButton, ElTag, ElMessage } from 'element-plus'; import { ElButton, ElTag, ElMessage } from 'element-plus';
import { useDict } from '@/hooks/useDict';
import { useRoute } from 'vue-router'; import { useRoute } from 'vue-router';
import { useRouter } from 'vue-router'; import { useRouter } from 'vue-router';
import { getByIdcustomerReport } from '@/api/customer'; import { getByIdcustomerReport } from '@/api/customer';
import { ref, reactive, onBeforeMount } from 'vue'; import { ref, reactive, onBeforeMount, computed } from 'vue';
const { LoanStatus, Marriage, RiskType } = useDict("LoanStatus", "Marriage", "RiskType");
const form = ref({ const form = ref({
status: '' status: ''
}); });
const router = useRouter(); const router = useRouter();
const tabStore = useTabsStore(); const tabStore = useTabsStore();
const route = useRoute(); const route = useRoute();
const CreditRef = ref(); const CreditRef = ref();
const CreditcardRef = ref(); const CreditcardRef = ref();
const card = ref({ const cardSUM = computed(() => form.value?.customer?.creditCard.reduce((pre, cur) => pre + Number(cur.debt),0));
number: 3 const creditSUM = computed(() => form.value?.customer?.lending.reduce((pre, cur) => pre + Number(cur.debt),0));
}); const roleType = computed(() => {
const credit = ref({ if (route.fullPath.includes('dangerReport/dangerReportDetail')) {
number: 3 return 'view'
} else if (route.fullPath.includes('business-approval/riskReportDetail')) {
return 'risk'
}else if (route.fullPath.includes('business-approval/legalReportDetail')) {
return 'legal'
}
}); });
const cardData = ref([]);
const creditData = ref([]);
const pushCreditcard = (row, index) => {
CreditcardRef.value.openModal(row, index
);
};
const pushCredit = (row, index) => {
CreditRef.value.openModal(row, index
);
};
const changeCredit = (row) => {
}
const changeCreditcard = (row, index) => {
console.log('sss', row, index)
}
const submit = (type) => { const submit = (type) => {
console.log('route', route)
tabStore.removeTabs(route.fullPath).then(res => { tabStore.removeTabs(route.fullPath).then(res => {
router.push({ router.push({
path: 'infoGather/dangerReport' path: '/infoGather/dangerReport'
}); });
}); });
} }
const cancel = () => { const cancel = () => {
console.log('roleType', roleType)
if (roleType.value === 'view') {
tabStore.removeTabs(route.fullPath).then(res => {
router.push({
path: '/infoGather/dangerReport'
});
});
} else if (roleType.value === 'risk') {
tabStore.removeTabs(route.fullPath).then(res => {
router.push({
path: '/business-approval/riskManager'
});
});
} else if (roleType.value === 'legal') {
tabStore.removeTabs(route.fullPath).then(res => { tabStore.removeTabs(route.fullPath).then(res => {
router.push({ router.push({
path: 'infoGather/dangerReport' path: '/business-approval/legalManager'
}); });
}); });
}
} }
const query = async (type) => { const query = async (type) => {
getByIdcustomerReport(route.query.id).then(res => { getByIdcustomerReport(route.query.id).then(res => {
...@@ -325,135 +225,6 @@ onBeforeMount(async () => { ...@@ -325,135 +225,6 @@ onBeforeMount(async () => {
query() query()
} }
}) })
const cardConfig = reactive({
minHeight: 200,
columns: [
{ type: 'seq', width: 60, title: '序号', slots: {
default: ({ row, rowIndex }) => {
return (
<>
<div
onClick={() => pushCreditcard(row, rowIndex)}
className=" text-blue-400 cursor-pointer inline-block"
>
{rowIndex}
</div>
</>
);
},
}
},
{
field: 'name',
width: 100,
title: '发卡银行',
showOverflow: 'tooltip',
},
{
field: 'kinship',
width: 110,
title: '授信额度',
showOverflow: 'tooltip',
},
{
field: 'kinship',
width: 110,
title: '已用额度',
showOverflow: 'tooltip',
},{
field: 'kinship',
width: 110,
title: '合计欠款金额',
showOverflow: 'tooltip',
},{
field: 'kinship',
width: 110,
title: '大额专项欠款金额',
showOverflow: 'tooltip',
},{
field: 'kinship',
width: 110,
title: '逾期期数',
showOverflow: 'tooltip',
},{
field: 'kinship',
width: 110,
title: '近6个月平均使用额度',
showOverflow: 'tooltip',
},
{
field: 'kinship',
width: 110,
title: '有无协商方案',
showOverflow: 'tooltip',
},
{
field: 'kinship',
title: '卡片状态(逾期/正常)',
showOverflow: 'tooltip',
}
],
toolbarConfig: { enabled: false },
});
const creditConfig = reactive({
minHeight: 200,
columns: [
{ type: 'seq', width: 60, title: '序号', slots: {
default: ({ row, rowIndex }) => {
return (
<>
<div
onClick={() => pushCredit(row, rowIndex)}
className=" text-blue-400 cursor-pointer inline-block"
>
{rowIndex}
</div>
</>
);
},
}
},
{
field: 'name',
width: 100,
title: '贷款机构',
showOverflow: 'tooltip',
},
{
field: 'kinship',
width: 110,
title: '审批额度',
showOverflow: 'tooltip',
},
{
field: 'kinship',
width: 110,
title: '贷款笔数',
showOverflow: 'tooltip',
},{
field: 'kinship',
width: 110,
title: '贷款期数',
showOverflow: 'tooltip',
},{
field: 'kinship',
width: 110,
title: '已还期数',
showOverflow: 'tooltip',
},{
field: 'kinship',
width: 110,
title: '未还金额',
showOverflow: 'tooltip',
},
{
field: 'kinship',
title: '状态(逾期/正常)',
showOverflow: 'tooltip',
}
],
toolbarConfig: { enabled: false },
});
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
table { table {
......
<template> <template>
<div class="table-box"> <div class="table-box">
<div class=" bg-white pt-2 pl-2"> <!-- <div class=" bg-white pt-2 pl-2">
<el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick"> <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
<el-tab-pane <el-tab-pane
:label="item.label" :label="item.label"
...@@ -16,8 +16,8 @@ ...@@ -16,8 +16,8 @@
</template> </template>
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
</div> </div> -->
<ProTable ref="proTable" :config="config" :api="getPlatformPage" :paramCallback="paramCallback"> <ProTable ref="proTable" :config="config" :api="func" :paramCallback="paramCallback">
</ProTable> </ProTable>
</div> </div>
</template> </template>
...@@ -25,13 +25,15 @@ ...@@ -25,13 +25,15 @@
<script setup lang="jsx" name="platformManage"> <script setup lang="jsx" name="platformManage">
import { ref, reactive, onMounted } from 'vue'; import { ref, reactive, onMounted } from 'vue';
import { Plus, Delete, Edit, Setting } from '@element-plus/icons-vue'; import { Plus, Delete, Edit, Setting } from '@element-plus/icons-vue';
import { getPlatformPage, deletePlatforms } from '@/api/platform'; import { getcustomerReportPage, getriskPage, getlegalPage } from '@/api/customer';
import { getByStagesTotal } from '@/api/property';
import { ElMessageBox, ElMessage, ElButton, ElTag } from 'element-plus'; import { ElMessageBox, ElMessage, ElButton, ElTag } from 'element-plus';
import { useRouter } from 'vue-router'; import { useRouter } from 'vue-router';
import { useRoute } from 'vue-router';
const tabs = ref([]); const tabs = ref([]);
import { useDict } from '@/hooks/useDict'; import { useDict } from '@/hooks/useDict';
const { PhoneResultStatus, ReduceType, FlowStatus, FollowStatus, AuditStatus, CaseStatus } = useDict("PhoneResultStatus","ReduceType", "FlowStatus", "FollowStatus","AuditStatus", "CaseStatus"); const { PhoneResultStatus, ReduceType, FlowStatus, FollowStatus, AuditStatus, CaseStatus } = useDict("PhoneResultStatus","ReduceType", "FlowStatus", "FollowStatus","AuditStatus", "CaseStatus");
const route = useRoute();
const proTable = ref(null); const proTable = ref(null);
const selectdList = ref([]); const selectdList = ref([]);
...@@ -39,6 +41,15 @@ ...@@ -39,6 +41,15 @@
selectdList.value = row.records; selectdList.value = row.records;
}; };
const router = useRouter(); const router = useRouter();
const func = () => {
if (route.fullPath.includes('infoGather/dangerReport')) {
return getcustomerReportPage
} else if (route.fullPath.includes('/business-approval/riskManager')) {
return getriskPage
} else if (route.fullPath.includes('/business-approval/legalManager')) {
return getlegalPage
}
}
const activeName = ref('pending'); const activeName = ref('pending');
const paramCallback = (param) => { const paramCallback = (param) => {
const obj = JSON.parse(JSON.stringify(param)); const obj = JSON.parse(JSON.stringify(param));
...@@ -47,26 +58,6 @@ ...@@ -47,26 +58,6 @@
if (obj['createTime'][1]) obj['createTimeEnd'] = obj['createTime'][1]; if (obj['createTime'][1]) obj['createTimeEnd'] = obj['createTime'][1];
delete obj['createTime']; delete obj['createTime'];
} }
setTimeout(() => {
const arr = JSON.parse(JSON.stringify(FlowStatus.value))
getByStagesTotal({...obj, flowStatus: null}).then(res => {
if (res.success) {
arr.forEach(item => {
const tt = res.result.find(v => v.flowStatus === item.value)
if (tt) {
item['msg'] = tt.number
} else {
item['msg'] = 0
}
})
tabs.value = arr
} else {
tabs.value = arr
}
}).catch(e => {
tabs.value = arr
})
}, (FlowStatus.value && FlowStatus.value.length) ? 100 : 1000)
return obj; return obj;
}; };
const onCheckboxAll = (flag) => { const onCheckboxAll = (flag) => {
...@@ -82,31 +73,30 @@ ...@@ -82,31 +73,30 @@
query: row ? { id: row.id }: {}, //这里不能直接写成 query: JSON.stringify(item) query: row ? { id: row.id }: {}, //这里不能直接写成 query: JSON.stringify(item)
}); });
}; };
const pushCredit = () => { const onCellClick = ({ row, rowIndex }) => {
if (route.fullPath.includes('infoGather/dangerReport')) {
router.push({ router.push({
path: '/infoGather/customerGather/Credit', name: 'dangerReportDetail',
query: { id: 44 }, //这里不能直接写成 query: JSON.stringify(item) query: row ? { id: row.id }: {}
}); });
}; } else if (route.fullPath.includes('/business-approval/riskManager')) {
router.push({
name: 'riskReportDetail',
query: row ? { id: row.id }: {}
});
} else if (route.fullPath.includes('/business-approval/legalManager')) {
router.push({
name: 'legalReportDetail',
query: row ? { id: row.id }: {}
});
}
}
const config = reactive({ const config = reactive({
onCheckboxChange: onCheckboxChange, onCheckboxChange: onCheckboxChange,
onCheckboxAll: onCheckboxAll, onCheckboxAll: onCheckboxAll,
onCellClick: onCellClick,
columns: [ columns: [
{ field: 'id', title: '客户ID', slots: {
default: ({ row, rowIndex }) => {
return (
<>
<div
onClick={() => pushCustomer(row)}
className=" text-blue-400 cursor-pointer inline-block"
>
{row.id}
</div>
</>
);
},
}
},
{ {
field: 'createTime', field: 'createTime',
title: '创建日期', title: '创建日期',
......
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