This commit is contained in:
liuxi 2024-12-24 16:39:54 +08:00
parent d2149fcd5f
commit 81f5abdabe
4 changed files with 183 additions and 40 deletions

View File

@ -146,6 +146,8 @@ import api from "@/services/caseManagement";
}
.dialog-case-trace .zd-el-tabs-custom span{
font-size: 16px;
font-weight: 400;
}
.dialog-case-trace .case-trace-cont
{

View File

@ -92,14 +92,109 @@
</el-table>
</el-tab-pane>
<el-tab-pane>
<span slot="label"><i class="el-icon-s-flag"></i> 回款计划</span>
<el-table :data="tableData1" :height="300" >
<el-table-column type="index" label="序号" width="55"></el-table-column>
<el-table-column prop="A" label="回款类型" show-overflow-tooltip ></el-table-column>
<el-table-column prop="B" label="约定还款金额" show-overflow-tooltip ></el-table-column>
<el-table-column prop="C" label="约定还款时间" show-overflow-tooltip ></el-table-column>
<el-table-column prop="D" label="备注信息" show-overflow-tooltip ></el-table-column>
</el-table>
<span slot="label"><i v-if="repaymentObj.type != undefined" class="el-icon-s-flag"></i> 还款计划</span>
<div class="case-repayment-des flex-column mb-16 p-16 border-radius-8">
<div class="flex-column justify-content-between">
<el-form ref="ruleFormRepayment"
label-width="130px">
<el-form-item label="还款方式" prop="type">
<el-select v-model="repaymentObj.type" class="width100" disabled
placeholder="请选择还款方式" size="small">
<el-option
v-for="(item,index) in RepaymentOptions"
:key="index"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="还款金额" prop="totalAmount">
<el-input class="inputpaddingtop2" disabled
size="small"
placeholder="请输入还款金额"
v-model="repaymentObj.totalAmount"
@input="inputChange($event)">
<template slot="append"></template>
</el-input>
</el-form-item>
<!-- 枚举备注: ALL :一次性全部回款 STAGES :全部分期 MIX :混合部分先还加分期 OTHER :其他 -->
<el-form-item v-if="repaymentObj.type == 'MIX'" label="分期前偿还金额" prop="partAmount">
<el-input class="inputpaddingtop2" disabled
size="small"
placeholder="请输入分期前偿还金额"
v-model="repaymentObj.partAmount"
@input="inputChange($event)">
<template slot="append"></template>
</el-input>
</el-form-item>
<el-form-item v-if="repaymentObj.type == 'MIX'" label="先还日期" prop="partDate">
<el-date-picker class="width100" size="small" disabled
v-model="repaymentObj.partDate"
type="date"
placeholder="选择先还日期"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
<el-form-item v-if="repaymentObj.type == 'MIX'" label="分期部分金额" prop="productTypeId">
<el-input class="inputpaddingtop2"
size="small"
disabled
placeholder="分期部分金额"
v-model="repaymentObj.moneyAmount">
<template slot="append"></template>
</el-input>
</el-form-item>
<el-form-item v-if="repaymentObj.type == 'STAGES' || repaymentObj.type == 'MIX'" label="分期期数" prop="stagesNum">
<el-input
size="small" disabled
placeholder="请输入分期期数"
v-model="repaymentObj.stagesNum"
@input="inputChange($event)">
</el-input>
</el-form-item>
<el-form-item v-if="repaymentObj.type == 'STAGES' || repaymentObj.type == 'MIX'" label="每期还款金额" prop="stagesAmount">
<el-input class="inputpaddingtop2"
size="small"
disabled
placeholder="每期还款金额"
v-model="repaymentObj.stagesAmount">
<template slot="append"></template>
</el-input>
</el-form-item>
<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
v-for="(item, index) in 31"
:key="index"
:label="(index+1)+'日'"
:value="(index+1)">
</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-date-picker class="width100" size="small" disabled
v-model="repaymentObj.paybackDate"
type="date"
placeholder="选择日期"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
<el-form-item label="备注说明" prop="remark">
<el-input disabled
size="small"
clearable
placeholder="请输入备注说明"
v-model="repaymentObj.remark">
</el-input>
</el-form-item>
</el-form>
</div>
</div>
</el-tab-pane>
<el-tab-pane>
<span slot="label"><i class="el-icon-s-flag"></i> 回款凭证</span>
@ -145,26 +240,29 @@
<span>案件事项追踪</span>
</div>
<div class="case-pk-cont">
<div class="flex-row justify-content-between cursor-pointer" @click="eventTraDialog={traceType:0,title:'短信发送追踪',caseNo:'1'}">
<span>短信发送追踪</span><span><a>1</a>/<a>2</a></span>
<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="eventTraDialog={traceType:2,title:'视频调解追踪',caseNo:'1'}">
<span>视频调解追踪</span><span><a>1</a>/<a>2</a></span>
<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="eventTraDialog={traceType:3,title:'文书生成追踪',caseNo:'1'}">
<span>文书生成追踪</span><span><a>1</a>/<a>2</a></span>
<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="eventTraDialog={traceType:4,title:'文书签字追踪',caseNo:'1'}">
<span>文书签字追踪</span><span><a>1</a>/<a>2</a></span>
<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="eventTraDialog={traceType:5,title:'文书签章追踪',caseNo:'1'}">
<span>文书签追踪</span><span><a>1</a>/<a>2</a></span>
<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="eventTraDialog={traceType:6,title:'文书送达追踪',caseNo:'1'}">
<span>文书送达追踪</span><span><a>1</a>/<a>2</a></span>
<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="eventTraDialog={traceType:7,title:'还款凭证登记',caseNo:'1'}">
<span>还款凭证登记</span><span><a>1</a>/<a>2</a></span>
<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}">
<span>还款凭证追踪</span><span></span>
</div>
</div>
</div>
@ -246,9 +344,9 @@
</el-timeline>
</div>
</div>
<!-- 事项追踪 -->
<eventTracingDialog v-if="eventTraDialog" :eventTraDialog.sync="eventTraDialog" />
<!-- 各种案件追踪记录 -->
<CaseTraceDialog v-if="CaseTraceDialog" :eventTraDialog.sync="CaseTraceDialog" />
<!-- 文件预览 -->
<showFile v-if="fileDialog" :fileDialog.sync="fileDialog" />
</div>
@ -259,11 +357,12 @@ import { stubString } from "lodash";
import { subtract } from "lodash";
export default {
components: {
eventTracingDialog: () => import('../../event-tracing/index.vue'),//
showFile: () => import('../../../components/showFile.vue'),//
showFile: () => import('../../../components/showFile.vue'),//
CaseTraceDialog: () => import('../components/CaseTraceDialog.vue'),//
},
data() {
return {
CaseTraceDialog:null,
fileDialog:null,
eventTraDialog:null,
navactive:1,
@ -278,6 +377,10 @@ import { subtract } from "lodash";
{label:'起诉状',value:5},{label:'证据清单',value:6},{label:'合约',value:7},{label:'申领表',value:8},{label:'交易明细',value:9}
,{label:'其他证据',value:10}],
//
repaymentObj:{},
RepaymentOptions:[{label:'一次性还款',value:'ALL'},{label:'全部分期',value:'STAGES'},{label:'部分先还加分期',value:'MIX'},{label:'其他',value:'OTHER'}],
}
},
computed:{
@ -342,6 +445,33 @@ import { subtract } from "lodash";
}
})
this.getplanlist()
},
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]}
}
})
},
//
inputChange(){
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)
{
this.repaymentObj.stagesAmount = ((this.repaymentObj.totalAmount*1 - this.repaymentObj.partAmount*1)/(this.repaymentObj.stagesNum*1)).toFixed(2)
}
}
},
}
@ -379,7 +509,18 @@ import { subtract } from "lodash";
}
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}
}
.case-detail-right-label{margin: 0px 0 15px 0;}
.case-detail-right-des{background-color: #F7F8FA;padding:10px;}

View File

@ -277,35 +277,35 @@
</span>
</div>
<div class="flex-row justify-content-between case-bg">
<span class="cursor-pointer" @click="CaseTraceDialog = {activeName:'1',title:'短信发送记录',caseNo:'123'}">
<span class="cursor-pointer" @click="CaseTraceDialog = {activeName:'1',title:'短信发送记录',caseNo:scope.row.caseNo,caseId:scope.row.id}">
<p>短信</p>
<p class="color-000"><a class="color-274ea4">成功{{scope.row.statistics.SMS}}1</a>/发送1</p>
</span>
<span class="cursor-pointer" @click="CaseTraceDialog = {activeName:'2',title:'电话呼叫记录',caseNo:'123'}">
<span class="cursor-pointer" @click="CaseTraceDialog = {activeName:'2',title:'电话呼叫记录',caseNo:scope.row.caseNo,caseId:scope.row.id}">
<p>外呼</p>
<p class="color-000"><a class="color-274ea4">接通0</a>/外呼0</p>
</span>
<span class="cursor-pointer" @click="CaseTraceDialog = {activeName:'3',title:'视频调解记录'}">
<span class="cursor-pointer" @click="CaseTraceDialog = {activeName:'3',title:'视频调解记录',caseNo:scope.row.caseNo,caseId:scope.row.id}">
<p>调解视频</p>
<p class="color-000"><a class="color-274ea4">结束0</a>/预约0</p>
</span>
<span class="cursor-pointer" @click="CaseTraceDialog = {activeName:'4',title:'文书生成记录',caseNo:'123'}">
<span class="cursor-pointer" @click="CaseTraceDialog = {activeName:'4',title:'文书生成记录',caseNo:scope.row.caseNo,caseId:scope.row.id}">
<p>文书</p>
<p class="color-000">0</p>
</span>
<span class="cursor-pointer" @click="CaseTraceDialog = {activeName:'5',title:'文书签字记录',caseNo:'123'}">
<span class="cursor-pointer" @click="CaseTraceDialog = {activeName:'5',title:'文书签字记录',caseNo:scope.row.caseNo,caseId:scope.row.id}">
<p>文书签字</p>
<p class="color-000"><a class="color-274ea4">成功0</a>/发起0</p>
</span>
<span class="cursor-pointer" @click="CaseTraceDialog = {activeName:'6',title:'文书送达记录',caseNo:'123'}">
<span class="cursor-pointer" @click="CaseTraceDialog = {activeName:'6',title:'文书送达记录',caseNo:scope.row.caseNo,caseId:scope.row.id}">
<p>文书送达</p>
<p class="color-000">0</p>
</span>
<span class="cursor-pointer" @click="CaseTraceDialog = {activeName:'7',title:'还款计划',caseNo:'123'}">
<span class="cursor-pointer" @click="CaseTraceDialog = {activeName:'7',title:'还款计划',caseNo:scope.row.caseNo,caseId:scope.row.id}">
<p>还款计划</p>
<p class="color-000"><a class="color-274ea4">已设置</a></p>
</span>
<span class="cursor-pointer" @click="CaseTraceDialog = {activeName:'8',title:'还款凭证',caseNo:'123'}">
<span class="cursor-pointer" @click="CaseTraceDialog = {activeName:'8',title:'还款凭证',caseNo:scope.row.caseNo,caseId:scope.row.id}">
<p>还款凭证</p>
<p class="color-000"><a class="color-274ea4">已填0</a></p>
</span>

View File

@ -3,7 +3,7 @@
<div v-if="!DialogDetail">
<div class="pt-8 border-b-solid-lighter-1">
<div class="height-30 flex-row align-items-center justify-content-between mb-24">
<div class="f18 color-text-primary">筛选</div>
<div class="f18 color-text-primary">筛选1</div>
</div>
<el-collapse-transition>
<el-row :gutter="56">
@ -66,10 +66,10 @@
<el-table-column prop="bookingEndTime" label="预约结束时间" show-overflow-tooltip ></el-table-column>
<el-table-column prop="status" label="状态" show-overflow-tooltip ></el-table-column>
<el-table-column prop="invitee" label="受邀人" show-overflow-tooltip ></el-table-column>
<el-table-column prop="channel" label="操作人" show-overflow-tooltip ></el-table-column>
<el-table-column prop="planStartTime" label="操作时间" show-overflow-tooltip >
<el-table-column prop="createByName" label="操作人" show-overflow-tooltip ></el-table-column>
<el-table-column prop="createAt" label="操作时间" show-overflow-tooltip >
<template slot-scope="scope">
<span >{{ scope.row.planStartTime | formaDate("yyyy-MM-dd hh:mm:ss") }}</span>
<span >{{ scope.row.createAt | formaDate("yyyy-MM-dd hh:mm:ss") }}</span>
</template>
</el-table-column>
@ -132,7 +132,7 @@ import api from "@/services/eventTracingApi";
},
mounted () {
this.queryParam.caseNo = this.eventTraDialog.caseNo
this.getList()
this.getList(1)
},
methods: {
handleChangeDate() {