联系人

This commit is contained in:
tdg930622 2024-12-27 17:49:05 +08:00
parent 3913d7c40e
commit 60b862fc23

View File

@ -7,14 +7,17 @@
<a>案件列表</a><a>/</a>
<a>案件详情</a>
</div>
<div class="layout-tabs-content-box case-detail-nav flex-row background-color-fff border-radius-4 mb-16 flex-row-center">
<div
class="layout-tabs-content-box case-detail-nav flex-row background-color-fff border-radius-4 mb-16 flex-row-center">
<span :class="navactive == 1 ?'active':''" @click="navactive=1">案件信息</span>
<span :class="navactive == 2 ?'active':''" @click="navactive=2">案件材料</span>
<span :class="navactive == 3 ?'active':''" @click="navactive=3">案件日志</span>
</div>
<div v-if="navactive == 1 " class="layout-tabs-content-box flex-row padding-0 f14">
<div class="pt-8 border-b-solid-lighter-1 background-color-fff border-radius-4 p-16" style="width: calc(100% - 370px);">
<div class="case-detail-title f18">被申请人<a v-for="(item,index) in baseInfo.debtorEntityList" :key="index">{{index == 0 ?'':','}}{{item.name}}</a></div>
<div class="pt-8 border-b-solid-lighter-1 background-color-fff border-radius-4 p-16"
style="width: calc(100% - 370px);">
<div class="case-detail-title f18">被申请人<a v-for="(item,index) in baseInfo.debtorEntityList"
:key="index">{{ index == 0 ? '' : ',' }}{{ item.name }}</a></div>
<div class="flex-column">
<div class="case-detail-label f-weight500 f16">基本信息</div>
<div class="case-detail-des">
@ -22,12 +25,18 @@
<span><a>委案机构</a><a>{{ baseInfo.financialOrgName }}</a></span>
<span><a>委案开始日期</a><a>{{ baseInfo.planStartTime }}</a></span>
<span><a>委案到期日期</a><a>{{ baseInfo.planStartTime }}</a></span>
<span><a>债务人姓名</a><a v-for="(item,index) in baseInfo.debtorEntityList" :key="index">{{index == 0 ?'':','}}{{item.name}}</a></span>
<span><a>债务人手机号码</a><a>{{ debtorEntityCardNo(baseInfo.debtorEntityList,25).phone }} {{ baseInfo.debtorEntityList.length > 25 ? '...':'' }}</a></span>
<span><a>债务人姓名</a><a v-for="(item,index) in baseInfo.debtorEntityList"
:key="index">{{ index == 0 ? '' : ',' }}{{ item.name }}</a></span>
<span><a>债务人手机号码</a><a>{{
debtorEntityCardNo(baseInfo.debtorEntityList, 25).phone
}} {{ baseInfo.debtorEntityList.length > 25 ? '...' : '' }}</a></span>
<span><a>委案期限</a><a></a></span>
<span><a>委案渠道</a><a></a></span>
<span><a>身份证号</a><a> {{ debtorEntityCardNo(baseInfo.debtorEntityList,25).cardNo }} {{ baseInfo.debtorEntityList.length > 25 ? '...':'' }}</a></span>
<span><a>户籍地址</a><a v-for="(item,index) in baseInfo.debtorEntityList" :key="index">{{index == 0 ?'':','}}{{item.name}}</a></span>
<span><a>身份证号</a><a> {{
debtorEntityCardNo(baseInfo.debtorEntityList, 25).cardNo
}} {{ baseInfo.debtorEntityList.length > 25 ? '...' : '' }}</a></span>
<span><a>户籍地址</a><a v-for="(item,index) in baseInfo.debtorEntityList"
:key="index">{{ index == 0 ? '' : ',' }}{{ item.name }}</a></span>
<span><a>案件编号</a><a>{{ baseInfo.caseNo }}</a></span>
</div>
@ -56,15 +65,10 @@
</div>
<div class="case-detail-label f-weight500 f16">联系人信息</div>
<div class="case-detail-des flex-column">
<div>
<span><a>联系人</a><a>李新华</a></span>
<span><a>与债务人关系</a><a>本人</a></span>
<span><a>联系人手机</a><a>15138026046</a></span>
</div>
<div>
<span><a>联系人</a><a>秦大伟</a></span>
<span><a>与债务人关系</a><a>其他</a></span>
<span><a>联系人手机</a><a>15939186663</a></span>
<div v-for="(item, index) in contactPersonList" :key="index">
<span><a>姓名</a><a>{{item.name}}</a></span>
<span><a>与债务人关系</a><a>{{item.type}}</a></span>
<span><a>联系人手机</a><a>{{item.phone}}</a></span>
</div>
</div>
<div class="case-detail-label f-weight500 f16">案件办理信息</div>
@ -146,7 +150,8 @@
<template slot="append"></template>
</el-input>
</el-form-item>
<el-form-item v-if="repaymentObj.type == 'STAGES' || repaymentObj.type == 'MIX'" label="分期期数" prop="stagesNum">
<el-form-item v-if="repaymentObj.type == 'STAGES' || repaymentObj.type == 'MIX'" label="分期期数"
prop="stagesNum">
<el-input
size="small" disabled
placeholder="请输入分期期数"
@ -154,7 +159,8 @@
@input="inputChange($event)">
</el-input>
</el-form-item>
<el-form-item v-if="repaymentObj.type == 'STAGES' || repaymentObj.type == 'MIX'" label="每期还款金额" prop="stagesAmount">
<el-form-item v-if="repaymentObj.type == 'STAGES' || repaymentObj.type == 'MIX'"
label="每期还款金额" prop="stagesAmount">
<el-input class="inputpaddingtop2"
size="small"
disabled
@ -163,7 +169,8 @@
<template slot="append"></template>
</el-input>
</el-form-item>
<el-form-item v-if="repaymentObj.type == 'STAGES' || repaymentObj.type == 'MIX'" label="每期还款日期" prop="stagesDay">
<el-form-item v-if="repaymentObj.type == 'STAGES' || repaymentObj.type == 'MIX'"
label="每期还款日期" prop="stagesDay">
<el-select v-model="repaymentObj.stagesDay" class="width100" disabled
placeholder="请选择每期还款日期" size="small">
<el-option
@ -174,7 +181,9 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item v-if="repaymentObj.type == 'ALL' || repaymentObj.type == 'STAGES' || repaymentObj.type == 'MIX'" label="还款截止日期" prop="paybackDate">
<el-form-item
v-if="repaymentObj.type == 'ALL' || repaymentObj.type == 'STAGES' || repaymentObj.type == 'MIX'"
label="还款截止日期" prop="paybackDate">
<el-date-picker class="width100" size="small" disabled
v-model="repaymentObj.paybackDate"
type="date"
@ -198,7 +207,8 @@
</el-tab-pane>
<el-tab-pane>
<span slot="label"><i v-if="ProofList.length > 0" class="el-icon-s-flag"></i> 回款凭证</span>
<span class="f16">总计待还金额{{ProofStatistics.total || 0}}总计已还金额{{ProofStatistics.payback || 0}}</span>
<span
class="f16">总计待还金额{{ ProofStatistics.total || 0 }}总计已还金额{{ ProofStatistics.payback || 0 }}</span>
<el-table :data="ProofList" :height="300">
<el-table-column type="index" label="序号" width="55"></el-table-column>
<el-table-column prop="paybackTime" label="凭证时间" show-overflow-tooltip></el-table-column>
@ -240,28 +250,36 @@
<span>案件事项追踪</span>
</div>
<div class="case-pk-cont">
<div class="flex-row justify-content-between cursor-pointer" @click="CaseTraceDialog = {activeName:'1',title:'短信发送记录',caseNo:baseInfo.caseNo,caseId:baseInfo.id}">
<div class="flex-row justify-content-between cursor-pointer"
@click="CaseTraceDialog = {activeName:'1',title:'短信发送记录',caseNo:baseInfo.caseNo,caseId:baseInfo.id}">
<span>短信发送追踪</span><span></span>
</div>
<div class="flex-row justify-content-between cursor-pointer" @click="CaseTraceDialog = {activeName:'2',title:'电话呼叫记录',caseNo:baseInfo.caseNo,caseId:baseInfo.id}">
<div class="flex-row justify-content-between cursor-pointer"
@click="CaseTraceDialog = {activeName:'2',title:'电话呼叫记录',caseNo:baseInfo.caseNo,caseId:baseInfo.id}">
<span>电话呼叫追踪</span><span></span>
</div>
<div class="flex-row justify-content-between cursor-pointer" @click="CaseTraceDialog = {activeName:'3',title:'视频调解记录',caseNo:baseInfo.caseNo,caseId:baseInfo.id}">
<div class="flex-row justify-content-between cursor-pointer"
@click="CaseTraceDialog = {activeName:'3',title:'视频调解记录',caseNo:baseInfo.caseNo,caseId:baseInfo.id}">
<span>视频调解追踪</span><span></span>
</div>
<div class="flex-row justify-content-between cursor-pointer" @click="CaseTraceDialog = {activeName:'4',title:'文书生成记录',caseNo:baseInfo.caseNo,caseId:baseInfo.id}">
<div class="flex-row justify-content-between cursor-pointer"
@click="CaseTraceDialog = {activeName:'4',title:'文书生成记录',caseNo:baseInfo.caseNo,caseId:baseInfo.id}">
<span>文书生成追踪</span><span></span>
</div>
<div class="flex-row justify-content-between cursor-pointer" @click="CaseTraceDialog = {activeName:'5',title:'文书签字记录',caseNo:baseInfo.caseNo,caseId:baseInfo.id}">
<div class="flex-row justify-content-between cursor-pointer"
@click="CaseTraceDialog = {activeName:'5',title:'文书签字记录',caseNo:baseInfo.caseNo,caseId:baseInfo.id}">
<span>文书签字追踪</span><span></span>
</div>
<div class="flex-row justify-content-between cursor-pointer" @click="CaseTraceDialog = {activeName:'6',title:'文书送达记录',caseNo:baseInfo.caseNo,caseId:baseInfo.id}">
<div class="flex-row justify-content-between cursor-pointer"
@click="CaseTraceDialog = {activeName:'6',title:'文书送达记录',caseNo:baseInfo.caseNo,caseId:baseInfo.id}">
<span>文书送达追踪</span><span></span>
</div>
<div class="flex-row justify-content-between cursor-pointer" @click="CaseTraceDialog = {activeName:'7',title:'还款计划',caseNo:baseInfo.caseNo,caseId:baseInfo.id}">
<div class="flex-row justify-content-between cursor-pointer"
@click="CaseTraceDialog = {activeName:'7',title:'还款计划',caseNo:baseInfo.caseNo,caseId:baseInfo.id}">
<span>还款计划追踪</span><span></span>
</div>
<div class="flex-row justify-content-between cursor-pointer" @click="CaseTraceDialog = {activeName:'8',title:'还款凭证',caseNo:baseInfo.caseNo,caseId:baseInfo.id}">
<div class="flex-row justify-content-between cursor-pointer"
@click="CaseTraceDialog = {activeName:'8',title:'还款凭证',caseNo:baseInfo.caseNo,caseId:baseInfo.id}">
<span>还款凭证追踪</span><span></span>
</div>
</div>
@ -269,7 +287,6 @@
</div>
</div>
</div>
<div v-if="navactive == 2 " class="layout-tabs-content-box flex-row padding-0 f14">
@ -353,8 +370,10 @@
</template>
<script>
import api from "@/services/caseManagement";
import contactPerson from "@/services/contactPerson";
import {stubString} from "lodash";
import {subtract} from "lodash";
export default {
components: {
showFile: () => import('../../../components/showFile.vue'),//
@ -367,19 +386,46 @@ import { subtract } from "lodash";
eventTraDialog: null,
navactive: 1,
Qualitydesc: '结清应还金额16776.74逾期未还费用2486.88',
tableData:[{H:'电话调解',A:'一次性全部还款',B:'承诺账户',C:'钟华丽-本人-188****2929',D:'CS',E:'回款金额:14289.86,回款时间:2024-12-05',F:'2024-12-05 09:13:29',G:'孟利'}],
tableData: [{
H: '电话调解',
A: '一次性全部还款',
B: '承诺账户',
C: '钟华丽-本人-188****2929',
D: 'CS',
E: '回款金额:14289.86,回款时间:2024-12-05',
F: '2024-12-05 09:13:29',
G: '孟利'
}],
tableData1: [{A: '一次性全部回款', B: '14,289.86元', C: '2024-12-05', D: '无', E: '', F: '', G: '', H: ''}],
tableData2:[{A:'2024-12-05 00:00:00',B:'14,289.86元',C:'孟利',D:'2024-12-05 14:13:56',E:'',F:'',G:'',H:''}],
tableData2: [{
A: '2024-12-05 00:00:00',
B: '14,289.86元',
C: '孟利',
D: '2024-12-05 14:13:56',
E: '',
F: '',
G: '',
H: ''
}],
caseId: '',
baseInfo: {},
fileList: [],
fileType:[{label:'身份证件',value:1},{label:'金融许可证',value:2},{label:'营业执照',value:3},{label:'法定代表人身份证明',value:4},
{label:'起诉状',value:5},{label:'证据清单',value:6},{label:'合约',value:7},{label:'申领表',value:8},{label:'交易明细',value:9}
fileType: [{label: '身份证件', value: 1}, {label: '金融许可证', value: 2}, {
label: '营业执照',
value: 3
}, {label: '法定代表人身份证明', value: 4},
{label: '起诉状', value: 5}, {label: '证据清单', value: 6}, {label: '合约', value: 7}, {
label: '申领表',
value: 8
}, {label: '交易明细', value: 9}
, {label: '其他证据', value: 10}],
contactPersonList: [],
//
repaymentObj: {},
RepaymentOptions:[{label:'一次性还款',value:'ALL'},{label:'全部分期',value:'STAGES'},{label:'部分先还加分期',value:'MIX'},{label:'其他',value:'OTHER'}],
RepaymentOptions: [{label: '一次性还款', value: 'ALL'}, {
label: '全部分期',
value: 'STAGES'
}, {label: '部分先还加分期', value: 'MIX'}, {label: '其他', value: 'OTHER'}],
//
ProofList: [],
ProofStatistics: {
@ -415,9 +461,7 @@ import { subtract } from "lodash";
handleCaseShow(scope, filelist) {
if (filelist == undefined) {
this.fileDialog = {showfile: {url: scope.row.proofUrl}, filelist: []}
}
else
{
} else {
this.fileDialog = {showfile: scope.row, filelist: filelist}
}
},
@ -428,8 +472,7 @@ import { subtract } from "lodash";
if (index == 0) {
datacardno = item.cardNo
dataphone = item.phone
}
else{
} else {
datacardno += ',' + item.cardNo
dataphone += ',' + item.phone
}
@ -456,15 +499,31 @@ import { subtract } from "lodash";
}
})
this.getLitigantByCaseId()
this.getplanlist()
this.getProofList()
},
getLitigantByCaseId() {
let dataJson = {
size: 9999,
current: 1,
caseId: this.caseId
}
contactPerson.debtorPage(dataJson).then(res => {
if (!res.code) {
// console.log(res, '---getLitigantByCaseId')
this.contactPersonList = res.records;
}
})
},
//
getplanlist() {
console.log(111, {caseId: this.caseId})
api.getcase_payback_planlist({caseId: this.caseId}).then(res => {
if (!res.code) {
if(res.length > 0 ){this.repaymentObj = res[0]}
if (res.length > 0) {
this.repaymentObj = res[0]
}
}
})
},
@ -486,18 +545,14 @@ import { subtract } from "lodash";
},
//
inputChange() {
if(this.repaymentObj.type == 'STAGES')
{
if(this.repaymentObj.totalAmount !='' &&this.repaymentObj.stagesNum !='' && this.repaymentObj.totalAmount !=undefined &&this.repaymentObj.stagesNum !=undefined)
{
if (this.repaymentObj.type == 'STAGES') {
if (this.repaymentObj.totalAmount != '' && this.repaymentObj.stagesNum != '' && this.repaymentObj.totalAmount != undefined && this.repaymentObj.stagesNum != undefined) {
this.repaymentObj.stagesAmount = ((this.repaymentObj.totalAmount * 1) / (this.repaymentObj.stagesNum * 1)).toFixed(2)
}
}
if(this.repaymentObj.type == 'MIX')
{
if(this.repaymentObj.totalAmount !='' &&this.repaymentObj.stagesNum !='' && this.repaymentObj.totalAmount !=undefined &&this.repaymentObj.stagesNum !=undefined)
{
if (this.repaymentObj.type == 'MIX') {
if (this.repaymentObj.totalAmount != '' && this.repaymentObj.stagesNum != '' && this.repaymentObj.totalAmount != undefined && this.repaymentObj.stagesNum != undefined) {
this.repaymentObj.stagesAmount = ((this.repaymentObj.totalAmount * 1 - this.repaymentObj.partAmount * 1) / (this.repaymentObj.stagesNum * 1)).toFixed(2)
}
}
@ -509,15 +564,29 @@ import { subtract } from "lodash";
<style scoped lang="scss">
.case-detail {
.case-detail-nav {
span{ width: 100px;font-size: 18px; color: #86909C;cursor: pointer;}
span:hover{ color: #C66A5B;}
span.active{ color: #C66A5B;}
span {
width: 100px;
font-size: 18px;
color: #86909C;
cursor: pointer;
}
span:hover {
color: #C66A5B;
}
span.active {
color: #C66A5B;
}
}
.case-detail-title {
border-bottom: solid 2px #C66A5B99;
}
.case-detail-label {
margin: 15px 0;
a {
font-size: 14px;
color: #C66A5B;
@ -531,30 +600,57 @@ import { subtract } from "lodash";
background-color: #F7F8FA;
padding: 10px 15px;
color: #86909C;
span {
width: 25%;
display: inline-block;
margin: 5px 0;
}
span a:first-child{width: 160px;display: inline-block;}
span a:last-child{color:#1D2129;}
.el-form-item{ margin-bottom: 2px;}
.inputpaddingtop2{padding-top:3px}
span a:first-child {
width: 160px;
display: inline-block;
}
span a:last-child {
color: #1D2129;
}
.el-form-item {
margin-bottom: 2px;
}
.inputpaddingtop2 {
padding-top: 3px
}
}
.case-repayment-des {
padding: 10px 15px;
color: #86909C;
.el-form-item{ margin-bottom: 2px;}
.inputpaddingtop2{padding-top:3px}
.el-form-item {
margin-bottom: 2px;
}
.case-detail-right-label{margin: 0px 0 15px 0;}
.case-detail-right-des{background-color: #F7F8FA;padding:10px;}
.inputpaddingtop2 {
padding-top: 3px
}
}
.case-detail-right-label {
margin: 0px 0 15px 0;
}
.case-detail-right-des {
background-color: #F7F8FA;
padding: 10px;
}
.item-trace {
border-radius: 8px;
.case-pk-title {
span:first-child {
font-size: 18px;
@ -562,9 +658,11 @@ import { subtract } from "lodash";
font-weight: 500;
}
}
.case-pk-cont {
padding: 10px 0 0px 0;
position: relative;
.resultplan {
font-size: 32px;
position: absolute;
@ -577,6 +675,7 @@ import { subtract } from "lodash";
width: 165px;
text-align: center;
}
div {
margin-top: 5px;
margin-bottom: 10px;
@ -584,9 +683,11 @@ import { subtract } from "lodash";
background-color: #F7F8FA;
padding: 12px;
border-radius: 2px;
a {
font-weight: 600;
}
a:first-child {
color: #E8535A;
}
@ -605,9 +706,11 @@ import { subtract } from "lodash";
.el-tabs--border-card > .el-tabs__header .el-tabs__item.is-active {
color: #C66A5B;
}
.el-tabs--border-card > .el-tabs__header .el-tabs__item:hover {
color: #C66A5B !important;
}
.el-tabs--border-card > .el-tabs__header .el-tabs__item i {
color: red !important;
}