Commit 4cb1372c authored by 沈翠玲's avatar 沈翠玲

风控报告

parent b34fa970
...@@ -39,6 +39,10 @@ export const getByIdcustomerReport = (id) => { ...@@ -39,6 +39,10 @@ export const getByIdcustomerReport = (id) => {
export const getriskPage = (params) => { export const getriskPage = (params) => {
return request.get('/customerReport/riskPage', params); return request.get('/customerReport/riskPage', params);
}; };
// 客户报告风控审核统计
export const riskFlowStatusTotal = (params) => {
return request.get('/customerReport/riskFlowStatusTotal', params);
};
// 客户报告列表 // 客户报告列表
export const getcustomerReportPage = (params) => { export const getcustomerReportPage = (params) => {
return request.get('/customerReport/page', params); return request.get('/customerReport/page', params);
...@@ -47,6 +51,10 @@ export const getcustomerReportPage = (params) => { ...@@ -47,6 +51,10 @@ export const getcustomerReportPage = (params) => {
export const getlegalPage = (params) => { export const getlegalPage = (params) => {
return request.get('/customerReport/legalPage', params); return request.get('/customerReport/legalPage', params);
}; };
// 客户报告法务审核统计
export const legalFlowStatusTotal = (params) => {
return request.get('/customerReport/legalFlowStatusTotal', params);
};
// 审核风控 // 审核风控
export const savecustomerReport = (flowType, data) => { export const savecustomerReport = (flowType, data) => {
return request.post('/customerReport/save?flowType='+flowType, data); return request.post('/customerReport/save?flowType='+flowType, data);
......
<template> <template>
<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">
<!-- <template> --> <template v-if="route.query.id">
<el-button type="warning" plain size="mini" v-print="printContent" <el-button type="warning" plain size="mini" v-print="printContent"
>打印客户信息 >打印客户信息
</el-button> </el-button>
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
<el-button type="warning" plain size="mini" v-print="printContentXyk" :disabled="!form.creditCard.length" <el-button type="warning" plain size="mini" v-print="printContentXyk" :disabled="!form.creditCard.length"
>打印信用卡信息 >打印信用卡信息
</el-button> </el-button>
<!-- </template> --> </template>
<el-button type="primary" @click="submit()">保存</el-button> <el-button type="primary" @click="submit()">保存</el-button>
<!-- <template v-if="route.query.id"> --> <!-- <template v-if="route.query.id"> -->
</div> </div>
...@@ -87,7 +87,13 @@ ...@@ -87,7 +87,13 @@
<td class="label">电子邮箱</td> <td class="label">电子邮箱</td>
<td colspan="2"><el-input class="line-input" v-model="form.email" placeholder="" /></td> <td colspan="2"><el-input class="line-input" v-model="form.email" placeholder="" /></td>
<td class="label">性别</td> <td class="label">性别</td>
<td colspan="2"><el-input class="line-input" v-model="form.email" placeholder="" /></td> <td colspan="2"><el-select v-model="form.sex" class="line-input" placeholder="">
<el-option
:label="item.label"
v-for="(item, index) in Sex" :key="index"
:value="item.value"
/>
</el-select></td>
</tr> </tr>
<tr> <tr>
<td class="label">预留工作单位</td> <td class="label">预留工作单位</td>
...@@ -98,13 +104,13 @@ ...@@ -98,13 +104,13 @@
<tr> <tr>
<td class="label">是否有起诉案件</td> <td class="label">是否有起诉案件</td>
<td colspan="2"> <td colspan="2">
<el-radio-group v-model="form.sueCaseId"> <el-radio-group v-model="form.hasSueCase">
<el-radio value="Y"></el-radio> <el-radio value="Y"></el-radio>
<el-radio value="N"></el-radio> <el-radio value="N"></el-radio>
</el-radio-group> </el-radio-group>
</td> </td>
<td class="label">案件描述</td> <td class="label">案件描述</td>
<td colspan="2"><el-input class="line-input" v-model="form.caseType" placeholder="" /></td> <td colspan="2"><el-input class="line-input" v-model="form.caseDesc" placeholder="" /></td>
</tr> </tr>
<tr> <tr>
<td class="label">打卡收入</td> <td class="label">打卡收入</td>
...@@ -150,7 +156,7 @@ ...@@ -150,7 +156,7 @@
</el-radio-group> </el-radio-group>
</td> </td>
<td class="label">具体描述</td> <td class="label">具体描述</td>
<td colspan="2"><el-input class="line-input" v-model="form.insurance" placeholder="" /></td> <td colspan="2"><el-input class="line-input" v-model="form.bigQuotaDesc" placeholder="" /></td>
</tr> </tr>
<tr> <tr>
<td class="label">是否有营业执照</td> <td class="label">是否有营业执照</td>
...@@ -320,7 +326,7 @@ ...@@ -320,7 +326,7 @@
import { ref, computed, reactive, onBeforeMount } from 'vue'; import { ref, computed, reactive, onBeforeMount } from 'vue';
import { useDict } from '@/hooks/useDict'; import { useDict } from '@/hooks/useDict';
const userStore = useUserStore(); const userStore = useUserStore();
const { LoanStatus, Marriage } = useDict("LoanStatus", "Marriage"); const { LoanStatus, Marriage,Sex } = useDict("LoanStatus", "Marriage", "Sex");
const idCardModelRef = ref() const idCardModelRef = ref()
const printContent = ref({ const printContent = ref({
id: 'customerStatic', id: 'customerStatic',
...@@ -364,6 +370,7 @@ const form = ref({ ...@@ -364,6 +370,7 @@ const form = ref({
"age": 0, "age": 0,
"idCard": "", "idCard": "",
"zodiac": "", "zodiac": "",
"sex": "",
"marriage": "", "marriage": "",
"phone": "", "phone": "",
"qualification": "", "qualification": "",
...@@ -374,8 +381,8 @@ const form = ref({ ...@@ -374,8 +381,8 @@ const form = ref({
"email": "", "email": "",
"monthlyIncome": 0, "monthlyIncome": 0,
"reserveAddress": "", "reserveAddress": "",
"sueCaseId": "N", "hasSueCase": "N",
"caseType": "", "caseDesc": "",
"checkInIncome": 0, "checkInIncome": 0,
"checkInBank": "", "checkInBank": "",
"borrowCheckInBank": "N", "borrowCheckInBank": "N",
...@@ -384,7 +391,7 @@ const form = ref({ ...@@ -384,7 +391,7 @@ const form = ref({
"houseNum": 0, "houseNum": 0,
"housePrice": 0, "housePrice": 0,
"providentFund": 0, "providentFund": 0,
"insurance": 0, "bigQuotaDesc": 0,
"hasBusinessLicense": "N", "hasBusinessLicense": "N",
"needPoliticalReview": "N", "needPoliticalReview": "N",
"hasLoan": "N", "hasLoan": "N",
...@@ -727,13 +734,3 @@ td { ...@@ -727,13 +734,3 @@ td {
} }
} }
</style> </style>
\ No newline at end of file
<style >
@media print {
.label {
text-align: center;
background: #dfeaf5;
color: #000;
}
}
</style>
\ No newline at end of file
...@@ -16,7 +16,8 @@ ...@@ -16,7 +16,8 @@
<td class="label">年龄</td> <td class="label">年龄</td>
<td colspan="2" class="label">身份证号</td> <td colspan="2" class="label">身份证号</td>
<td class="label">属相</td> <td class="label">属相</td>
<td class="label" colspan="2">婚姻状况</td> <td class="label">性别</td>
<td class="label">婚姻状况</td>
<td colspan="2" class="label">电话</td> <td colspan="2" class="label">电话</td>
</tr> </tr>
<tr> <tr>
...@@ -24,7 +25,10 @@ ...@@ -24,7 +25,10 @@
<td>{{props.data.age}}</td> <td>{{props.data.age}}</td>
<td colspan="2">{{props.data.idCard}}</td> <td colspan="2">{{props.data.idCard}}</td>
<td>{{props.data.zodiac}}</td> <td>{{props.data.zodiac}}</td>
<td colspan="2">{{props.data.marriage <td>{{props.data.sex
? Sex?.find((v) => v.value === props.data.sex)?.label
: ''}}</td>
<td>{{props.data.marriage
? Marriage?.find((v) => v.value === props.data.marriage)?.label ? Marriage?.find((v) => v.value === props.data.marriage)?.label
: ''}}</td> : ''}}</td>
<td colspan="2">{{props.data.phone}}</td> <td colspan="2">{{props.data.phone}}</td>
...@@ -60,8 +64,8 @@ ...@@ -60,8 +64,8 @@
<td class="label">总价值</td> <td class="label">总价值</td>
</tr> </tr>
<tr> <tr>
<td colspan="2">{{props.data.sueCaseId == 'Y' ? '是' : '否'}}</td> <td colspan="2">{{props.data.hasSueCase == 'Y' ? '是' : '否'}}</td>
<td>{{props.data.caseType}}</td> <td>{{props.data.caseDesc}}</td>
<td>{{props.data.checkInIncome}}</td> <td>{{props.data.checkInIncome}}</td>
<td>{{props.data.checkInBank}}</td> <td>{{props.data.checkInBank}}</td>
<td>{{props.data.carNum}}</td> <td>{{props.data.carNum}}</td>
...@@ -71,8 +75,8 @@ ...@@ -71,8 +75,8 @@
</tr> </tr>
<tr> <tr>
<td class="label" colspan="2">公积金及金额</td> <td class="label" colspan="2">公积金及金额</td>
<td colspan="2" class="label">是否有理财型保单 、股票 、基金 、大额存款</td> <td class="label">是否有理财型保单 、股票 、基金 、大额存款</td>
<td colspan="2" class="label">具体描述</td> <td class="label">具体描述</td>
<td class="label">是否有营业执照</td> <td class="label">是否有营业执照</td>
<td class="label">子女工作是否需要政审</td> <td class="label">子女工作是否需要政审</td>
<td class="label" colspan="2">贷款类型</td> <td class="label" colspan="2">贷款类型</td>
...@@ -80,8 +84,8 @@ ...@@ -80,8 +84,8 @@
</tr> </tr>
<tr> <tr>
<td colspan="2">{{props.data.providentFund}}</td> <td colspan="2">{{props.data.providentFund}}</td>
<td colspan="2">{{props.data.hasBigQuota == 'Y' ? '是' : '否'}}</td> <td >{{props.data.hasBigQuota == 'Y' ? '是' : '否'}}</td>
<td colspan="2">{{props.data.insurance}}</td> <td >{{props.data.bigQuotaDesc}}</td>
<td>{{props.data.hasBusinessLicense == 'Y' ? '是' : '否'}}</td> <td>{{props.data.hasBusinessLicense == 'Y' ? '是' : '否'}}</td>
<td>{{props.data.needPoliticalReview == 'Y' ? '是' : '否'}}</td> <td>{{props.data.needPoliticalReview == 'Y' ? '是' : '否'}}</td>
<td colspan="2">{{props.data.hasLoan == 'Y' ? '是' : '不是'}}抵押类贷款,人保贷款,公积金贷款,经营贷,担保、联名担保、保证类贷款,保险类贷款(保单贷),对应名下有理财保险,分红保险,现金分期,装修贷,网贷/信用贷/信用卡与资产相关联的(如与房、车、营业执照(法人/个体)、商铺、公积金等),先息后本、按期结息自由还本</td> <td colspan="2">{{props.data.hasLoan == 'Y' ? '是' : '不是'}}抵押类贷款,人保贷款,公积金贷款,经营贷,担保、联名担保、保证类贷款,保险类贷款(保单贷),对应名下有理财保险,分红保险,现金分期,装修贷,网贷/信用贷/信用卡与资产相关联的(如与房、车、营业执照(法人/个体)、商铺、公积金等),先息后本、按期结息自由还本</td>
...@@ -90,7 +94,7 @@ ...@@ -90,7 +94,7 @@
</template> </template>
<script setup lang="jsx" name="caseDetail"> <script setup lang="jsx" name="caseDetail">
import { useDict } from '@/hooks/useDict'; import { useDict } from '@/hooks/useDict';
const { Marriage } = useDict("Marriage"); const { Marriage, Sex } = useDict("Marriage", "Sex");
const props = defineProps({ const props = defineProps({
data: Object data: Object
}) })
......
<template> <template>
<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" plain size="mini" v-print="printContent"
>打印审核报告
</el-button>
<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="roleType !== 'view'">通过</el-button> <el-button type="success" @click="submit('pass')" v-if="roleType !== 'view'">通过</el-button>
<el-button type="danger" @click="submit('reject')" v-if="roleType !== 'view'">拒绝</el-button> <el-button type="danger" @click="submit('fail')" 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>
...@@ -153,9 +156,16 @@ ...@@ -153,9 +156,16 @@
<td colspan="3">{{form?.customer?.inputUserName}}</td> <td colspan="3">{{form?.customer?.inputUserName}}</td>
</tr> </tr>
</table> </table>
<div style="overflow: hidden;width: 0;height: 0;">
<div id="reportStatic" style="padding: 0;margin:0;">
<h1 style="text-align: center;font-size: 20px">风控审核报告</h1>
<reportPrint :data="form"></reportPrint>
</div>
</div>
</div> </div>
</template> </template>
<script setup name="Customer" lang="jsx"> <script setup name="Customer" lang="jsx">
import reportPrint from './reportPrint.vue';
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 { useDict } from '@/hooks/useDict';
...@@ -167,7 +177,18 @@ const { LoanStatus, Marriage, RiskType } = useDict("LoanStatus", "Marriage", "Ri ...@@ -167,7 +177,18 @@ const { LoanStatus, Marriage, RiskType } = useDict("LoanStatus", "Marriage", "Ri
const form = ref({ const form = ref({
status: '' status: ''
}); });
const printContent = ref({
id: 'reportStatic',
// preview: true, // 预览工具是否启用
// previewTitle: '储能服务费结算单', // 预览页面的标题
popTitle: '',
extraHead: ``,
isRetainOriginData: true, // 是否保留原始数据
preview: false, // 是否开启预览
beforeOpenCallback: () => {
console.log('开始打印之前的callback')
}
})
const router = useRouter(); const router = useRouter();
const tabStore = useTabsStore(); const tabStore = useTabsStore();
const route = useRoute(); const route = useRoute();
...@@ -234,8 +255,9 @@ onBeforeMount(async () => { ...@@ -234,8 +255,9 @@ onBeforeMount(async () => {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
table { table {
width: calc(100%); width: 100%;
border-collapse: collapse; border-collapse: collapse;
border:1px solid rgba(5, 5, 5, 0.06);
} }
td { td {
border: 1px solid rgba(5, 5, 5, 0.06); border: 1px solid rgba(5, 5, 5, 0.06);
......
<template>
<table style="table-layout:fixed; page-break-after:always">
<tr>
<td colspan="4" class="label">姓名</td>
<td colspan="2" class="label">年龄</td>
<td colspan="2" class="label">身份证号</td>
<td colspan="2" class="label">婚姻状况</td>
<td class="label">电话</td>
</tr>
<tr>
<td colspan="4" class="text-center">{{props.data?.customer?.name}}</td>
<td colspan="2" class="text-center">{{props.data?.customer?.age}}</td>
<td colspan="2" class="text-center">{{props.data?.customer?.idCard}}</td>
<td colspan="2" class="text-center">{{props.data?.customer?.marriage ? Marriage?.find((v) => v.value === props.data?.customer?.marriage)?.label
: ''}}</td>
<td class="text-center">{{props.data?.customer?.phone}}</td>
</tr>
<tr>
<td class="header">序号</td>
<td colspan="4" class="header">客户信息</td>
<td colspan="3" class="header">判定标准</td>
<td class="header">判定结果</td>
<td class="header">风控复核</td>
<td class="header" >风控复核意见</td>
</tr>
<tr v-for="(item, index) in props.data?.reportItems" :key="index">
<td class="label">{{index + 1}}</td>
<td class="label" colspan="2">{{item.riskType}}</td>
<td colspan="2">
<template v-if="item.jsonObject">
<div v-for="(item1, name1, index1) in item.jsonObject" :key="index1">
{{name1}}
{{item1}}
</div>
</template>
</td>
<td colspan="3" v-html="item.riskType ? RiskType?.find((v) => v.value === item.riskType)?.label
: ''">
</td>
<td>{{item.sysJudge == 'Y' ? '通过' : '不通过'}}</td>
<td>{{item.review == 'Y' ? '通过' : '不通过'}}</td>
<td>{{item.remark}}</td>
</tr>
<tr class="yellow">
<td class="text-center">10</td>
<td colspan="10" class="text-center">信用卡*<span class=" text-red-500">(涉及金额部分单位为:元)</span></td>
</tr>
<tr class="yellow">
<td class="text-center">信用卡数量</td>
<td colspan="10"><div class="flex items-center">
{{props.data?.customer?.creditCard.length}}
</div></td>
</tr>
<tr class="yellow">
<td class="text-center">序号</td>
<td class="text-center">发卡银行</td>
<td class="text-center">当前欠款金额</td>
<td class="text-center">逾期期数</td>
<td colspan="2" class="text-center">近6个月平均使用额度</td>
<td colspan="2" class="text-center">有无协商方案</td>
<td class="text-center">风控审核</td>
<td colspan="2" class="text-center">风控审核意见</td>
</tr>
<tr class="yellow" v-for="(item, index) in props.data?.customer?.creditCard" :key="index">
<td class="text-center">{{index + 1}}</td>
<td class="text-center">{{item.bank}}</td>
<td class="text-center">{{item.debt}}</td>
<td class="text-center">{{item.beOverduePeriod}}</td>
<td class="text-center" colspan="2">{{item.sixDevUsedQuota}}</td>
<td class="text-center" colspan="2">{{item.hasNegotiate == 'Y' ? '是' : '否'}}</td>
<td>{{item.review == 'Y' ? '通过' : '不通过'}}</td>
<td colspan="2">{{item.remark}}</td>
</tr>
<tr class="yellow">
<td>信用卡欠款合计</td>
<td colspan="10">{{cardSUM}}</td>
</tr>
<tr class="green">
<td class="text-center">11</td>
<td colspan="10" class="text-center">网贷*<span class=" text-red-500">(涉及金额部分单位为:元)</span></td>
</tr>
<tr class="green">
<td class="text-center">信用贷、网贷机构数量</td>
<td colspan="10"><div class="flex items-center">{{props.data?.customer?.lending.length}}
</div></td>
</tr>
<tr class="green">
<td class="text-center">序号</td>
<td class="text-center">贷款机构</td>
<td class="text-center">审批额度</td>
<td class="text-center">贷款笔数</td>
<td class="text-center">贷款期数</td>
<td class="text-center">已还期数</td>
<td class="text-center">未还金额</td>
<td class="text-center">状态<br />逾期/正常</td>
<td class="text-center">是否连续还款</td>
<td class="text-center">风控审核</td>
<td class="text-center">风控审核意见</td>
</tr>
<tr class="green" v-for="(item, index) in props.data?.customer?.lending" :key="index">
<td class="text-center">{{index + 1}}</td>
<td class="text-center">{{item.loanPlatprops.data}}</td>
<td class="text-center">{{item.quota}}</td>
<td class="text-center">{{item.lendingNum}}</td>
<td class="text-center">{{item.period}}</td>
<td class="text-center">{{item.repayPeriod}}</td>
<td class="text-center">{{item.debt}}</td>
<td class="text-center">{{item.loanStatus
? LoanStatus.value?.find((v) => v.value === item.loanStatus)?.label
: ''}}</td>
<td class="text-center">{{item.hasContinuousRepay == 'Y' ? '是' : '否'}}</td>
<td>{{item.review == 'Y' ? '通过' : '不通过'}}</td>
<td >{{item.remark}}</td>
</tr>
<tr class="green">
<td>信用贷、网贷欠款合计</td>
<td colspan="10">{{creditSUM}}</td>
</tr>
<tr>
<td colspan="2" class="label">合计欠款总额</td>
<td colspan="9">{{cardSUM + creditSUM}}</td>
</tr>
<tr>
<td colspan="2" class="label">风控终审意见</td>
<td colspan="9">{{props.data.riskControlRemark}}</td>
</tr>
<tr>
<td colspan="2" class="label">法务终审意见</td>
<td colspan="9">{{props.data.legalAffairRemark}}</td>
</tr>
<tr>
<td colspan="2" class="label">法务分配</td>
<td colspan="4">{{props.data?.riskControlUser?.username}}</td>
<td colspan="2">客户信息录入人</td>
<td colspan="3">{{props.data?.customer?.inputUserName}}</td>
</tr>
</table>
</template>
<script setup lang="jsx" name="caseDetail">
import { useDict } from '@/hooks/useDict';
import { computed } from 'vue';
const { LoanStatus, Marriage, RiskType } = useDict("LoanStatus", "Marriage", "RiskType");
const props = defineProps({
data: Object
})
const cardSUM = computed(() => props.data?.customer?.creditCard.reduce((pre, cur) => pre + Number(cur.debt),0));
const creditSUM = computed(() => props.data?.customer?.lending.reduce((pre, cur) => pre + Number(cur.debt),0));
</script>
<style lang="scss" scoped>
table {
width: 100%;
border-collapse: collapse;
}
tr {
width: 100%;
}
td {
border: 1px solid rgb(5, 5, 5);
background: #fff;
color: #000000;
width: 180px !important;
line-height: 11px;
height: 40px;
font-size: 14px;
word-wrap:break-word;
word-break:break-all;
-webkit-print-color-adjust: exact;
&.label {
text-align: center;
background: #dfeaf5;
-webkit-print-color-adjust: exact;
color: #000;
}
&.header {
background: #bdd6ec;
-webkit-print-color-adjust: exact;
text-align: center;
}
}
tr {
&.yellow {
td {
background: #fff3cc7d;
-webkit-print-color-adjust: exact;
}
}
&.green {
td {
background: #e1f1d985;
-webkit-print-color-adjust: exact;
}
}
}
@media print {
#reportStatic {
table {
border: 1px solid #000;
width: 90%;
}
}
@page {
margin: 10px;
size: auto;
// padding: 0;
}
}
</style>
\ No newline at end of file
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
<script setup lang="jsx" name="platformManage"> <script setup lang="jsx" name="platformManage">
import { ref, reactive, onMounted, computed } from 'vue'; import { ref, reactive, onMounted, computed } from 'vue';
import { Plus, Delete, Edit, Setting } from '@element-plus/icons-vue'; import { Plus, Delete, Edit, Setting } from '@element-plus/icons-vue';
import { getcustomerReportPage, getriskPage, getlegalPage } from '@/api/customer'; import { getcustomerReportPage, getriskPage, getlegalPage, riskFlowStatusTotal, legalFlowStatusTotal } from '@/api/customer';
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'; import { useRoute } from 'vue-router';
...@@ -73,27 +73,29 @@ ...@@ -73,27 +73,29 @@
} else if (roleType.value === 'legal') { } else if (roleType.value === 'legal') {
obj['legalAffairStatus'] = activeName.value; obj['legalAffairStatus'] = activeName.value;
} }
if (roleType.value === 'risk' || roleType.value === 'legal') {
let totalFunc = roleType.value === 'risk' ? riskFlowStatusTotal : legalFlowStatusTotal
setTimeout(() => { setTimeout(() => {
const arr = JSON.parse(JSON.stringify(FlowStatus.value)) const arr = JSON.parse(JSON.stringify(FlowStatus.value))
// getRepairApplyTotal({...obj, flowStatus: null}).then(res => { totalFunc({...obj}).then(res => {
// if (res.success) { if (res.success) {
// arr.forEach(item => { arr.forEach(item => {
// const tt = res.result.find(v => v.flowStatus === item.value) const tt = res.result.find(v => v.flowStatus === item.value)
// if (tt) { if (tt) {
// item['msg'] = tt.number item['msg'] = tt.number
// } else { } else {
// item['msg'] = 0 item['msg'] = 0
// } }
// }) })
// tabs.value = arr tabs.value = arr
// } else { } else {
// tabs.value = arr
// }
// }).catch(e => {
// tabs.value = arr
// })
tabs.value = arr tabs.value = arr
}
}).catch(e => {
tabs.value = arr
})
}, (FlowStatus.value && FlowStatus.value.length) ? 100 : 1000) }, (FlowStatus.value && FlowStatus.value.length) ? 100 : 1000)
}
paramObj.value = obj paramObj.value = obj
return obj; return obj;
}; };
...@@ -133,24 +135,26 @@ ...@@ -133,24 +135,26 @@
onCheckboxAll: onCheckboxAll, onCheckboxAll: onCheckboxAll,
onCellClick: onCellClick, onCellClick: onCellClick,
columns: [ columns: [
{ field: 'customer.name', title: '客户名称', search: { labelWidth: 85, el: 'input' } }, { field: 'customer.name', title: '客户名称', search: { labelWidth: 85, el: 'input' }, key: 'customer' },
{ {
field: 'customer.createTime', field: 'customer.createTime',
title: '创建日期', title: '创建日期',
search: { // search: {
el: 'date-picker', // el: 'date-picker',
labelWidth: 85, // labelWidth: 85,
props: { type: 'daterange', valueFormat: 'YYYY-MM-DD' }, // props: { type: 'daterange', valueFormat: 'YYYY-MM-DD' },
}, // },
}, },
{ {
field: 'customer.inputUserName', field: 'customer.inputUserName',
title: '创建人', title: '创建人',
search: { el: 'input',labelWidth: 85, props: { clearable: true } }, // search: { el: 'input',labelWidth: 85, props: { clearable: true } },
}, },
{ field: 'customer.idCard', title: '身份证号', search: { labelWidth: 85, el: 'input' } }, { field: 'customer.idCard', title: '身份证号', search: { labelWidth: 85, el: 'input', key: 'idCard' } },
{ field: 'customer.phone', title: '手机', search: { labelWidth: 85, el: 'input' } }, { field: 'customer.phone', title: '手机', search: { labelWidth: 85, el: 'input', key: 'phone' } },
{ field: 'customer.email', title: '电子邮箱', search: { labelWidth: 85, el: 'input' } }, { field: 'legalAffairsUser.username', title: '法务人员', search: { labelWidth: 85, el: 'input', key: 'legalAffairsUserName' } },
{ field: 'riskControlUser.username', title: '风控人员', search: { labelWidth: 85, el: 'input', key: 'riskControlUserName' } },
{ field: 'customer.email', title: '电子邮箱' },
{ field: 'maxStagesNum', title: '信用卡数量', slots: { { field: 'maxStagesNum', title: '信用卡数量', slots: {
default: ({ row, rowIndex }) => { default: ({ row, rowIndex }) => {
return ( return (
...@@ -178,7 +182,7 @@ ...@@ -178,7 +182,7 @@
); );
}, },
}, }, }, },
{ field: 'legalAffairRemark', title: '备注', search: { labelWidth: 85, el: 'input' } }, { field: 'legalAffairRemark', title: '备注' },
{ field: 'riskControlStatus', slots: { { field: 'riskControlStatus', slots: {
default: ({ row }) => { default: ({ row }) => {
return ( return (
......
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