Commit da00a9b3 authored by 沈翠玲's avatar 沈翠玲

客户信息

parent ac78a234
......@@ -2,11 +2,11 @@
<div class="card table-box" style="padding: 0 40px">
<div class="flex justify-end mt-2">
<!-- <template> -->
<el-button type="warning" plain size="mini" v-print="printContent" id="printbtn" style="display: none"
>打印客户详情
<el-button type="warning" plain size="mini" v-print="printContent"
>打印客户信息
</el-button>
<el-button type="warning" plain size="mini" id="printbtn" @click="handlePrint"
>打印客户详情
<el-button type="warning" plain size="mini" v-print="printContentWd"
>打印网贷信息
</el-button>
<!-- </template> -->
<el-button type="primary" @click="submit()">保存</el-button>
......@@ -252,20 +252,23 @@
ref="CreditcardRef"
@success="changeCreditcard"
></Creditcard>
<!-- <div style="overflow: hidden;width: 0;height: 0;"> -->
<div id="customerStatic" style="padding: 10px">
<div style="overflow: hidden;width: 0;height: 0;">
<div id="customerStatic" style="padding: 10px">
<table>
<customerPrint :data="form"></customerPrint>
<cardAndCredit :data="form"></cardAndCredit>
<!-- <productOrderDetail :workOrderTable="workOrderTable[index]" style="page-break-after:always"></productOrderDetail> -->
</table>
<!-- <div id="productOrderDetail">
<div v-for="(item, index) in productionSolutionTable" :key="'productionSolutionTable' + index">
<productOrderSpecification :productionSolutionTable="form" style="page-break-after:always"></productOrderSpecification>
<productOrderDetail :workOrderTable="workOrderTable[index]" style="page-break-after:always"></productOrderDetail>
<div id="customerStaticWd">
<div v-for="(item, index) in form.lending" :key="'lending' + index">
<table>
<customerPrint :data="form"></customerPrint>
<creditPrint :data="item" :index="index" :sum="form.lending.length" style="page-break-after:always"></creditPrint>
</table>
</div>
</div> -->
</div>
</div>
</div>
</div>
</template>
......@@ -279,6 +282,7 @@
import Creditcard from './Creditcard.vue';
import customerPrint from './customerPrint.vue';
import cardAndCredit from './cardAndCredit.vue';
import creditPrint from './creditPrint.vue';
import { ref, computed, reactive, onBeforeMount } from 'vue';
import { useDict } from '@/hooks/useDict';
const { LoanStatus } = useDict("LoanStatus");
......@@ -287,7 +291,19 @@ const printContent = ref({
// preview: true, // 预览工具是否启用
// previewTitle: '储能服务费结算单', // 预览页面的标题
popTitle: '',
extraHead: `<h1 style="text-align: center;font-size: 20px">客户信息收集表</h1>`,
extraHead: `<h1 style="text-align: center;font-size: 20px">信用卡、网贷状况统计表</h1>`,
isRetainOriginData: true, // 是否保留原始数据
preview: false, // 是否开启预览
beforeOpenCallback: () => {
console.log('开始打印之前的callback')
}
})
const printContentWd = ref({
id: 'customerStaticWd',
// preview: true, // 预览工具是否启用
// previewTitle: '储能服务费结算单', // 预览页面的标题
popTitle: '',
extraHead: `<h1 style="text-align: center;font-size: 20px">客户信息收集表(信用贷、网贷版)</h1>`,
isRetainOriginData: true, // 是否保留原始数据
preview: false, // 是否开启预览
beforeOpenCallback: () => {
......@@ -360,6 +376,7 @@ const changeCredit = (row, index, del) => {
const arr = JSON.parse(JSON.stringify(creditArr.value))
arr.splice(index, 1)
creditArr.value = arr
form.value.lending = arr
return
}
if (index || index === 0) {
......@@ -369,12 +386,15 @@ const changeCredit = (row, index, del) => {
} else {
creditArr.value.push(row)
}
form.value.lending = creditArr.value
}
const changeCreditcard = (row, index, del) => {
if (del) {
const arr = JSON.parse(JSON.stringify(cardConfig.data))
arr.splice(index, 1)
cardConfig.data = arr
form.value.creditCard = arr
return
}
if (index || index === 0) {
......@@ -384,6 +404,7 @@ const changeCreditcard = (row, index, del) => {
} else {
cardConfig.data.push(row)
}
form.value.creditCard = cardConfig.data
}
const submit = () => {
saveCustomer({...form.value, creditCard: cardConfig.data, lending:creditArr.value}).then(res => {
......
......@@ -4,7 +4,7 @@
</tr>
<tr>
<td>信用卡数量</td>
<td colspan="9"></td>
<td colspan="9">{{props.data.creditCard.length}}</td>
</tr>
<tr>
<td>序号</td>
......@@ -18,25 +18,27 @@
<td>有无<br/>协商方案</td>
<td>卡片状态<br/>逾期/正常</td>
</tr>
<tr>
<td>第1张</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<tr v-for="(item, index) in props.data.creditCard" :key="index">
<td>{{index + 1}}</td>
<td>{{item.bank}}</td>
<td>{{item.quota}}</td>
<td>{{item.usedQuota}}</td>
<td>{{item.debt}}</td>
<td>{{item.bigQuotaStagesAmount}}</td>
<td>{{item.beOverduePeriod}}</td>
<td>{{item.sixDevUsedQuota}}</td>
<td>{{item.hasNegotiate == 'Y' ? '是' : '否'}}</td>
<td>{{item.creditCardStatus
? LoanStatus?.find((v) => v.value === item.creditCardStatus)?.label
: ''}}</td>
</tr>
<tr>
<td>信用卡欠款合计</td>
<td colspan="9"></td>
<td colspan="9">{{cardSUM}}</td>
</tr>
<tr>
<td>信用贷、网贷机构数量</td>
<td colspan="9"></td>
<td colspan="9">{{props.data.lending.length}}</td>
</tr>
<tr>
<td rowspan="2">序号</td>
......@@ -51,23 +53,25 @@
<tr>
<td>逾期/正常</td>
</tr>
<tr>
<td>第1家</td>
<td colspan="2"></td>
<td colspan="2"></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<tr v-for="(item, index) in props.data.creditCard" :key="index">
<td>{{index + 1}}</td>
<td colspan="2">{{item.loanPlatform}}</td>
<td colspan="2">{{item.quota}}</td>
<td>{{item.lendingNum}}</td>
<td>{{item.period}}</td>
<td>{{item.repayPeriod}}</td>
<td>{{item.debt}}</td>
<td>{{item.loanStatus
? LoanStatus?.find((v) => v.value === item.loanStatus)?.label
: ''}}</td>
</tr>
<tr>
<td>信用贷、网贷欠款合计</td>
<td colspan="9"></td>
<td colspan="9">{{creditSUM}}</td>
</tr>
<tr>
<td>合计欠款总额</td>
<td colspan="9"></td>
<td colspan="9">{{cardSUM + creditSUM}}</td>
</tr>
<tr>
<td>服务费金额</td>
......@@ -83,9 +87,14 @@
</tr>
</template>
<script setup lang="jsx" name="caseDetail">
import { useDict } from '@/hooks/useDict';
import { ref, computed, reactive, onBeforeMount } from 'vue';
const props = defineProps({
data: Object
})
const { LoanStatus } = useDict("LoanStatus");
const cardSUM = computed(() => props.data.creditCard.reduce((pre, cur) => pre + Number(cur.debt),0));
const creditSUM = computed(() => props.data.lending.reduce((pre, cur) => pre + Number(cur.debt),0));
</script>
<style lang="scss" scoped>
table {
......
<template>
<tr>
<td colspan="10" style="background: #bdd6ec;color: #db0039;text-align:left">网贷状况统计*(涉及金额部分单位为:元)</td>
</tr>
<tr>
<td colspan="10">本人网贷共{{props.sum}}家,本页是第{{props.index + 1}}</td>
</tr>
<tr>
<td class="label" colspan="2">贷款机构</td>
<td colspan="3">{{props.data.loanPlatform}}</td>
<td class="label" colspan="2">贷款所属银行名称</td>
<td colspan="3">{{props.data.bank}}</td>
</tr>
<tr>
<td class="label" colspan="2">网贷状态(正常/逾期)</td>
<td colspan="3">{{props.data.loanPlatform}}</td>
<td class="label" colspan="2">贷款审批额度</td>
<td colspan="3">{{props.data.loanPlatform}}</td>
</tr>
<tr>
<td class="label" colspan="2">网贷类型</td>
<td colspan="3">{{props.data.loanPlatform}}</td>
<td class="label" colspan="2">还款方式</td>
<td colspan="3">{{props.data.loanPlatform}}</td>
</tr>
<tr>
<td class="label" colspan="2">欠款金额</td>
<td colspan="3">{{props.data.loanPlatform}}</td>
<td class="label" colspan="2">贷款到账金额</td>
<td colspan="3">{{props.data.loanPlatform}}</td>
</tr>
<tr>
<td class="label" colspan="2">贷款期数</td>
<td colspan="3">{{props.data.loanPlatform}}</td>
<td class="label" colspan="2">已还期数</td>
<td colspan="3">{{props.data.loanPlatform}}</td>
</tr>
<tr>
<td class="label" colspan="2">贷款笔数</td>
<td colspan="3">{{props.data.loanPlatform}}</td>
<td class="label" colspan="2">逾期期数</td>
<td colspan="3">{{props.data.loanPlatform}}</td>
</tr>
<tr>
<td class="label" colspan="2">是否被代偿或起诉</td>
<td colspan="3">{{props.data.loanPlatform}}</td>
<td class="label" colspan="2">还款日</td>
<td colspan="3">{{props.data.loanPlatform}}</td>
</tr>
<tr>
<td class="label" colspan="2">代扣银行及卡号</td>
<td colspan="3">{{props.data.loanPlatform}}</td>
<td class="label" colspan="2">贷款支付密码</td>
<td colspan="3">{{props.data.loanPlatform}}</td>
</tr>
<tr>
<td class="label" colspan="2">最后一次还款时间</td>
<td colspan="3">{{props.data.loanPlatform}}</td>
<td class="label" colspan="2">最后一次还款金额</td>
<td colspan="3">{{props.data.loanPlatform}}</td>
</tr>
<tr>
<td class="label" colspan="2">贷款担保人姓名</td>
<td colspan="3">{{props.data.loanPlatform}}</td>
<td class="label" colspan="2">贷款担保人关系</td>
<td colspan="3">{{props.data.loanPlatform}}</td>
</tr>
<tr>
<td class="label" colspan="2">贷款担保人联系方式</td>
<td colspan="3">{{props.data.loanPlatform}}</td>
<td class="label" colspan="2">紧急联系人姓名</td>
<td colspan="3">{{props.data.loanPlatform}}</td>
</tr>
<tr>
<td class="label" colspan="2">银行预留手机号码</td>
<td colspan="3">{{props.data.loanPlatform}}</td>
<td class="label" colspan="2">催收情况</td>
<td colspan="3">{{props.data.loanPlatform}}</td>
</tr>
<tr>
<td class="label" colspan="2">逾期后是否有过协商方案</td>
<td colspan="3">{{props.data.loanPlatform}}</td>
<td class="label" colspan="2">负债情况</td>
<td colspan="3">{{props.data.loanPlatform}}</td>
</tr>
<tr>
<td class="label" colspan="2">是否连续还款</td>
<td colspan="8">{{props.data.loanPlatform}}</td>
</tr>
</template>
<script setup lang="jsx" name="caseDetail">
import { useDict } from '@/hooks/useDict';
import { ref, computed, reactive, onBeforeMount } from 'vue';
const props = defineProps({
data: Object,
index: Number,
sum: Number
})
const { LoanStatus } = useDict("LoanStatus");
</script>
<style lang="scss" scoped>
table {
width: calc(100%);
border-collapse: collapse;
}
td {
border: 1px solid #000;
background: #fff;
width: 240px;
line-height: 11px;
height: 40px;
font-size: 14px;
padding-left: 5px;
color: #000;
text-align: center;
-webkit-print-color-adjust: exact;
&.label {
-webkit-print-color-adjust: exact;
background-color: rgb(222, 233, 244);
font-weight: 400 !important;
}
}
</style>
\ No newline at end of file
<template>
<tr>
<td class="label" colspan="3">收单单位</td>
<td class="label" colspan="2">收单单位</td>
<td colspan="4"></td>
<td class="label">收单时间</td>
<td class="label" colspan="2">收单时间</td>
<td colspan="2"></td>
</tr>
<tr>
<td class="label" colspan="3">录入人</td>
<td colspan="3">{{form.inputUserName}}</td>
<td class="label">推荐人</td>
<td colspan="3">{{form.referee}}</td>
<td class="label" colspan="2">录入人</td>
<td colspan="3">{{props.data.inputUserName}}</td>
<td class="label" colspan="2">推荐人</td>
<td colspan="3">{{props.data.referee}}</td>
</tr>
<tr>
<td class="label" colspan="3">部门</td>
<td colspan="3">{{form.referee}}</td>
<td class="label">角色</td>
<td colspan="3">{{form.inputRole}}</td>
<td class="label" colspan="2">部门</td>
<td colspan="3">{{props.data.referee}}</td>
<td class="label" colspan="2">角色</td>
<td colspan="3">{{props.data.inputRole}}</td>
</tr>
<tr>
<td class="label" colspan="3">姓名</td>
<td class="label" colspan="2">姓名</td>
<td class="label">年龄</td>
<td colspan="2" class="label">身份证号</td>
<td class="label">属相</td>
<td class="label">婚姻状况</td>
<td class="label" colspan="2">婚姻状况</td>
<td colspan="2" class="label">电话</td>
</tr>
<tr>
<td colspan="3">{{form.name}}</td>
<td>{{form.age}}</td>
<td colspan="2">{{form.idCard}}</td>
<td>{{form.zodiac}}</td>
<td>{{form.marriage}}</td>
<td colspan="2">{{form.phone}}</td>
<td colspan="2">{{props.data.name}}</td>
<td>{{props.data.age}}</td>
<td colspan="2">{{props.data.idCard}}</td>
<td>{{props.data.zodiac}}</td>
<td colspan="2">{{props.data.marriage}}</td>
<td colspan="2">{{props.data.phone}}</td>
</tr>
<tr>
<td class="label" colspan="3">学历</td>
<td class="label" colspan="2">学历</td>
<td class="label">职业</td>
<td colspan="2" class="label">电子邮箱</td>
<td class="label">月收入</td>
<td class="label">预留工作单位</td>
<td class="label" colspan="2">预留工作单位</td>
<td colspan="2" class="label">预留家庭住址</td>
</tr>
<tr>
<td colspan="3">{{form.qualification}}</td>
<td>{{form.career}}</td>
<td colspan="2">{{form.email}}</td>
<td>{{form.monthlyIncome}}</td>
<td>{{form.reserveWorkUnit}}</td>
<td colspan="2">{{form.reserveAddress}}</td>
<td colspan="2">{{props.data.qualification}}</td>
<td>{{props.data.career}}</td>
<td colspan="2">{{props.data.email}}</td>
<td>{{props.data.monthlyIncome}}</td>
<td colspan="2">{{props.data.reserveWorkUnit}}</td>
<td colspan="2">{{props.data.reserveAddress}}</td>
</tr>
<tr>
<td rowspan="2" class="label" colspan="3">起诉案件</td>
<td rowspan="2" class="label" colspan="2">起诉案件</td>
<td rowspan="2" class="label">案件类型</td>
<td rowspan="2" class="label">打卡收入</td>
<td rowspan="2" class="label">打卡银行</td>
<td colspan="2" class="label"></td>
<td colspan="3" class="label" ></td>
<td colspan="2" class="label">夫妻房产</td>
</tr>
<tr>
<td class="label">数量</td>
<td class="label">市值</td>
<td class="label" colspan="2">市值</td>
<td class="label">数量(套)</td>
<td class="label">市值</td>
</tr>
<tr>
<td colspan="3">{{form.sueCaseId}}</td>
<td>{{form.caseType}}</td>
<td>{{form.checkInIncome}}</td>
<td>{{form.checkInBank}}</td>
<td>{{form.carNum}}</td>
<td>{{form.carPrice}}</td>
<td>{{form.houseNum}}</td>
<td>{{form.housePrice}}</td>
<td colspan="2">{{props.data.sueCaseId}}</td>
<td>{{props.data.caseType}}</td>
<td>{{props.data.checkInIncome}}</td>
<td>{{props.data.checkInBank}}</td>
<td>{{props.data.carNum}}</td>
<td colspan="2">{{props.data.carPrice}}</td>
<td>{{props.data.houseNum}}</td>
<td>{{props.data.housePrice}}</td>
</tr>
<tr>
<td class="label" colspan="3">公积金及金额</td>
<td class="label" colspan="2">公积金及金额</td>
<td colspan="2" 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">备注<br />(个人情况说明)</td>
</tr>
<tr>
<td colspan="3">{{form.providentFund}}</td>
<td colspan="2">{{form.insurance}}</td>
<td>{{form.hasBusinessLicense}}</td>
<td>{{form.needPoliticalReview}}</td>
<td>{{form.hasLoan}}</td>
<td colspan="2">{{form.remark}}</td>
<td colspan="2">{{props.data.providentFund}}</td>
<td colspan="2">{{props.data.insurance}}</td>
<td>{{props.data.hasBusinessLicense == 'Y' ? '是' : '否'}}</td>
<td>{{props.data.needPoliticalReview == 'Y' ? '是' : '否'}}</td>
<td colspan="2">{{props.data.hasLoan == 'Y' ? '是' : '不是'}}抵押类贷款,人保贷款,公积金贷款,经营贷,担保、联名担保、保证类贷款,保险类贷款(保单贷),对应名下有理财保险,分红保险,现金分期,装修贷,网贷/信用贷/信用卡与资产相关联的(如与房、车、营业执照(法人/个体)、商铺、公积金等),先息后本、按期结息自由还本</td>
<td colspan="2">{{props.data.remark}}</td>
</tr>
</template>
<script setup lang="jsx" name="caseDetail">
......
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