材料详情

This commit is contained in:
liuxi 2024-12-24 15:41:44 +08:00
parent faf59203b7
commit d2149fcd5f
15 changed files with 167 additions and 521 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

View File

@ -3,15 +3,15 @@
<el-dialog title="查看文件" :visible="true" width="1200px" append-to-body :close-on-click-modal="false"
@close="handleClose()" :modal="false">
<div class="dialog-content dialog-file">
<div class="pt-8 flex-row justify-content-between m-16">
<div class="previous-file text-center" @click="previousClick">
<div class="pt-8 flex-row flex-row-center m-16">
<div v-if="this.fileDialog.filelist.length > 1" class="previous-file text-center" @click="previousClick">
<span><i class="el-icon-arrow-left f48 f-weight600 "></i></span>
</div>
<div class="show-file">
<img v-if="fileType == 'image'" :src="`/mediate/minio/preview/${fileObj.url}`" />
<iframe v-else :src="`/mediate/minio/preview/${fileObj.url}`" frameborder="0" width="100%" height="100%"></iframe>
</div>
<div class="next-file text-center" @click="nextClick">
<div v-if="this.fileDialog.filelist.length > 1" class="next-file text-center" @click="nextClick">
<span><i class="el-icon-arrow-right f48 f-weight600"></i></span>
</div>
</div>

View File

@ -1,52 +1,5 @@
<template>
<div>
<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>
<el-collapse-transition>
<el-row :gutter="56">
<el-col :span="6">
<div class="flex-row-center align-items-center height-40 mb-24">
<span class="tabs__search-criteria-title flex-shrink-0 pr-16">短信接收人</span>
<el-input v-model.trim="queryParam.pkgName"
clearable placeholder="请输入案件包名称"
@keydown.enter.native="handleSearch">
</el-input>
</div>
</el-col>
<el-col :span="6">
<div class="flex-row-center align-items-center height-40 mb-24">
<span class="tabs__search-criteria-title flex-shrink-0 pr-16">电话号码</span>
<el-input v-model.trim="queryParam.pkgName"
clearable placeholder="请输入案件包名称"
@keydown.enter.native="handleSearch">
</el-input>
</div>
</el-col>
<el-col :span="8">
<div class="justify-content-start align-items-center height-40 mb-24">
<span class="tabs__search-criteria-title flex-shrink-0 pr-16">操作时间</span>
<el-date-picker
v-model="queryDate"
type="daterange"
clearable
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
@change="handleChangeDate">
</el-date-picker>
</div>
</el-col>
<el-col :span="4">
<div class="flex-row align-items-center justify-content-end">
<el-button @click="hanldeReset">重置</el-button>
<el-button type="primary" @click="handleSearch">搜索</el-button>
</div>
</el-col>
</el-row>
</el-collapse-transition>
</div>
<!-- table -->
<div class="pt-8">
<div class="height-56 flex-row align-items-center justify-content-between">
@ -57,7 +10,7 @@
</div>
<div class="case-table">
<el-table :data="tableData" :height="`${contentHeight}`" >
<el-table :data="tableData" height="370" >
<el-table-column type="index" label="序号" width="55"></el-table-column>
<el-table-column prop="pkgName" label="外呼/呼入类型" show-overflow-tooltip ></el-table-column>
<el-table-column prop="planStartTime" label="外呼/呼入时间" show-overflow-tooltip >

View File

@ -1,6 +1,6 @@
<template>
<div>
<el-dialog :visible="true" width="80%" class="dialog-case-record" append-to-body :close-on-click-modal="false"
<el-dialog :visible="true" width="1300px" class="dialog-case-record" append-to-body :close-on-click-modal="false"
@close="handleClose()">
<div class="dialog-content dialog-case-trace">
@ -31,7 +31,7 @@
</el-tab-pane>
</el-tabs>
<div class="mt-16 case-trace-cont">
<div class=" case-trace-cont">
<!-- 短信发送追踪明细 -->
<smsDialogDetail v-if="activeName == '1'" :DialogDetail="eventTraDialog" />
<!-- 呼叫记录 -->
@ -45,9 +45,12 @@
<!-- 文书送达追踪明细 -->
<officeDeliveryDialogDetail v-if="activeName == '6'" :DialogDetail="eventTraDialog" />
<!-- 还款计划 -->
<RepaymentDialog v-if="activeName == '7'" :eventTraDialog.sync="repaymentDialog" />
<!-- <RepaymentDialog v-if="activeName == '7'" :eventTraDialog.sync="repaymentDialog" /> -->
<!-- eventDialog:{caseId:this.$route.query.caseId}, -->
<RepaymentSchedule v-if="activeName == '7'" :eventDialog.sync="eventTraDialog" class="mt-16" />
<!-- 还款凭证 -->
<RepaymentRecordDialog v-if="activeName == '8'" :eventTraDialog.sync="repaymentlogDialog" />
<RepaymentRecordDialog v-if="activeName == '8'" :eventTraDialog.sync="eventTraDialog" />
</div>
</div>
<span slot="footer" class="dialog-footer">
@ -61,7 +64,7 @@ import api from "@/services/caseManagement";
export default {
components: {
eventTracingDialog: () => import('../../event-tracing/index.vue'),//
RepaymentDialog: () => import('./RepaymentDialog.vue'),//
RepaymentSchedule: () => import('../../mediation-page/components/RepaymentSchedule.vue'),//
RepaymentRecordDialog: () => import('./RepaymentRecordDialog.vue'),//
@ -96,7 +99,6 @@ import api from "@/services/caseManagement";
};
},
mounted () {
this.activeName = this.eventTraDialog.activeName
},
methods: {

View File

@ -1,245 +0,0 @@
<template>
<div>
<!-- <el-dialog :title="eventTraDialog.title" :visible="true" width="1300px" append-to-body :close-on-click-modal="false"
@close="handleClose">
<div class="dialog-content repayment-trace"> -->
<div class="pt-8 border-b-solid-lighter-1">
<div class="height-30 flex-row align-items-center justify-content-between mb-8">
<div class="f18 color-text-primary">债务信息</div>
</div>
<el-collapse-transition>
<el-row :gutter="56">
<el-col :span="6">
<div class="flex-row-center align-items-center height-40 mb-8">
<span class="tabs__search-criteria-title flex-shrink-0 pr-16 repayment-width">当前逾期金额</span>
<el-input v-model.trim="queryParam.pkgName" disabled>
</el-input>
</div>
</el-col>
<el-col :span="6">
<div class="flex-row-center align-items-center height-40 mb-8">
<span class="tabs__search-criteria-title flex-shrink-0 pr-16 repayment-width">最低还款额</span>
<el-input v-model.trim="queryParam.pkgName" disabled>
</el-input>
</div>
</el-col>
<el-col :span="6">
<div class="flex-row-center align-items-center height-40 mb-8">
<span class="tabs__search-criteria-title flex-shrink-0 pr-16 repayment-width">放款金额/本金</span>
<el-input v-model.trim="queryParam.pkgName" disabled>
</el-input>
</div>
</el-col>
<el-col :span="6">
<div class="flex-row-center align-items-center height-40 mb-8">
<span class="tabs__search-criteria-title flex-shrink-0 pr-16 repayment-width">欠款本金</span>
<el-input v-model.trim="queryParam.pkgName" disabled>
</el-input>
</div>
</el-col>
</el-row>
</el-collapse-transition>
<div class="height-30 flex-row align-items-center justify-content-between mb-8">
<div class="f18 color-text-primary">还款方案</div>
</div>
<el-collapse-transition>
<el-row :gutter="56">
<el-col :span="6">
<div class="flex-row-center align-items-center height-40 mb-8">
<span class="tabs__search-criteria-title flex-shrink-0 pr-16 repayment-width">还款方式</span>
<el-select v-model="queryParam.repaymethod"
clearable placeholder="请选择还款方式"
class="width100">
<el-option
v-for="item in repaymentTypeOptions"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</div>
</el-col>
<el-col :span="6">
<div class="flex-row-center align-items-center height-40 mb-8">
<span class="tabs__search-criteria-title flex-shrink-0 pr-16 repayment-width">还款金额</span>
<el-input v-model.trim="queryParam.pkgName"></el-input>
</div>
</el-col>
<el-col v-if="queryParam.repaymethod == 2" :span="6">
<div class="flex-row-center align-items-center height-40 mb-8">
<span class="tabs__search-criteria-title flex-shrink-0 pr-16 repayment-width">分期前偿还金额</span>
<el-input v-model.trim="queryParam.pkgName"></el-input>
</div>
</el-col>
<el-col v-if="queryParam.repaymethod == 2" :span="6">
<div class="flex-row-center align-items-center height-40 mb-8">
<span class="tabs__search-criteria-title flex-shrink-0 pr-16 repayment-width">先还日期</span>
<el-input v-model.trim="queryParam.pkgName"></el-input>
</div>
</el-col>
<el-col v-if="queryParam.repaymethod == 2" :span="6">
<div class="flex-row-center align-items-center height-40 mb-8">
<span class="tabs__search-criteria-title flex-shrink-0 pr-16 repayment-width">分期部分金额</span>
<el-input v-model.trim="queryParam.pkgName"></el-input>
</div>
</el-col>
<el-col v-if="queryParam.repaymethod == 0 || queryParam.repaymethod == 2" :span="6">
<div class="flex-row-center align-items-center height-40 mb-8">
<span class="tabs__search-criteria-title flex-shrink-0 pr-16 repayment-width">还款日期</span>
<el-input v-model.trim="queryParam.pkgName"></el-input>
</div>
</el-col>
<el-col v-if="queryParam.repaymethod == 1 || queryParam.repaymethod == 2" :span="6">
<div class="flex-row-center align-items-center height-40 mb-8">
<span class="tabs__search-criteria-title flex-shrink-0 pr-16 repayment-width">分期期数</span>
<el-input v-model.trim="queryParam.pkgName"></el-input>
</div>
</el-col>
<el-col v-if="queryParam.repaymethod == 1 || queryParam.repaymethod == 2" :span="6">
<div class="flex-row-center align-items-center height-40 mb-8">
<span class="tabs__search-criteria-title flex-shrink-0 pr-16 repayment-width">每期还款金额</span>
<el-input v-model.trim="queryParam.pkgName"></el-input>
</div>
</el-col>
<el-col v-if="queryParam.repaymethod == 1 || queryParam.repaymethod == 2" :span="6">
<div class="flex-row-center align-items-center height-40 mb-8">
<span class="tabs__search-criteria-title flex-shrink-0 pr-16 repayment-width">每期还款日期</span>
<el-input v-model.trim="queryParam.pkgName"></el-input>
</div>
</el-col>
<el-col v-if="queryParam.repaymethod == 1 || queryParam.repaymethod == 2" :span="6">
<div class="flex-row-center align-items-center height-40 mb-8">
<span class="tabs__search-criteria-title flex-shrink-0 pr-16 repayment-width">第一期还款日期</span>
<el-input v-model.trim="queryParam.pkgName"></el-input>
</div>
</el-col>
</el-row>
</el-collapse-transition>
<el-collapse-transition>
<el-row :gutter="56">
<el-col :span="20">
<div class="flex-row-center align-items-center height-40 mb-8">
<span class="tabs__search-criteria-title flex-shrink-0 pr-16 repayment-width">备注说明</span>
<el-input v-model.trim="queryParam.pkgName">
</el-input>
</div>
</el-col>
<el-col :span="4">
<div class="flex-row align-items-center justify-content-end">
<el-button type="primary" @click="handleSearch">保存</el-button>
</div>
</el-col>
</el-row>
</el-collapse-transition>
</div>
<!-- table -->
<div class="pt-8">
<div class="height-56 flex-row align-items-center justify-content-between">
<div class="f18 color-text-primary">还款计划列表</div>
<div class="flex-row">
</div>
</div>
<div class="case-table">
<el-table :data="tableData" :height="`${contentHeight}`" >
<el-table-column type="index" label="序号" width="55"></el-table-column>
<el-table-column prop="pkgName" label="回款类型" show-overflow-tooltip ></el-table-column>
<el-table-column prop="planStartTime" label="回款策略" show-overflow-tooltip >
<template slot-scope="scope">
<span >{{ scope.row.planStartTime }}
一次还清
全部分期还款金额分期期数每期还款金额每期还款日期还款截止日期
部分先还加分期还款金额分期钱偿还金额先还日期分期部分金额分期期数每期还款金额每期还款日期还款截止日期
其他还款金额
</span>
</template>
</el-table-column>
<el-table-column prop="entrustingAgencyName" label="约定还款金额" show-overflow-tooltip ></el-table-column>
<el-table-column prop="channel" label="约定还款日期" show-overflow-tooltip ></el-table-column>
<el-table-column prop="channel" 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 >
<template slot-scope="scope">
<span >{{ scope.row.planStartTime | formaDate("yyyy-MM-dd hh:mm:ss") }}</span>
</template>
</el-table-column>
<el-table-column label="操作" width="120">
<template slot-scope="scope">
<div class="flex-row align-items-center">
<el-button size="mini" @click="handleDelete(scope)">编辑</el-button>
<el-button size="mini" @click="handleBackCase(scope)">删除</el-button>
</div>
</template>
</el-table-column>
</el-table>
</div>
<div class="text-center pt-16">
<el-pagination
@size-change="getCaseInfoList"
@current-change="getCaseInfoList"
:current-page="queryParam.current"
:page-size="queryParam.size"
layout="total, prev, pager, next, jumper"
:total="total">
</el-pagination>
</div>
</div>
<!-- </div>
<span slot="footer" class="dialog-footer">
<el-button @click="handleClose()">关闭</el-button>
</span>
</el-dialog> -->
</div>
</template>
<script>
import api from "@/services/caseManagement";
export default {
components: {
},
props: {
eventTraDialog: {
type: Object,
default: () => {
return {}
},
},
},
data() {
return {
queryParam:{},
tableData:[],
total:0,
repaymentTypeOptions:[{label:'一次还清',value:'0'},{label:'全部分期',value:'1'},{label:'部分先还加分期',value:'2'},{label:'其他',value:'3'}]
};
},
mounted () {
console.log(this.eventTraDialog,'eventTraDialog')
},
methods: {
handleClose() {
this.$emit('update:eventTraDialog', null)
},
}
};
</script>
<style scoped lang="scss">
.repayment-trace{
padding: 0px 20px 16px 20px;
max-height:800px
}
.repayment-width{width: 120px;}
</style>

View File

@ -1,105 +1,50 @@
<template>
<div>
<!-- <el-dialog :title="eventTraDialog.title" :visible="true" width="80%" append-to-body :close-on-click-modal="false"
@close="handleClose">
<div class="dialog-content dialog-trace"> -->
<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>
<el-collapse-transition>
<el-row :gutter="56">
<el-col :span="8">
<div class="justify-content-start align-items-center height-40 mb-24">
<span class="tabs__search-criteria-title flex-shrink-0 pr-16">操作时间</span>
<el-date-picker
v-model="queryDate"
type="daterange"
clearable
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
@change="handleChangeDate">
</el-date-picker>
</div>
</el-col>
<el-col :span="12">
<div class="flex-row align-items-center justify-content-end">
&nbsp;
</div>
</el-col>
<el-col :span="4">
<div class="flex-row align-items-center justify-content-end">
<el-button @click="hanldeReset">重置</el-button>
<el-button type="primary" @click="handleSearch">搜索</el-button>
</div>
</el-col>
</el-row>
</el-collapse-transition>
</div>
<!-- table -->
<div class="pt-8">
<div class="height-56 flex-row align-items-center justify-content-between">
<div class="f18 color-text-primary">还款凭证列表</div>
<div class="flex-row">
</div>
</div>
<!-- table -->
<div class="pt-8">
<div class="height-56 flex-row align-items-center justify-content-between">
<div class="f18 color-text-primary">还款凭证列表</div>
<div class="flex-row">
<div class="case-table">
<el-table :data="tableData" :height="`${contentHeight}`" >
<el-table-column prop="pkgName" label="案件包名称" show-overflow-tooltip ></el-table-column>
<el-table-column prop="entrustingAgencyName" label="案件编号" show-overflow-tooltip ></el-table-column>
<el-table-column prop="channel" label="被申请人" show-overflow-tooltip ></el-table-column>
<el-table-column prop="channel" label="还款方案" show-overflow-tooltip ></el-table-column>
<el-table-column prop="channel" label="还款截止日期" show-overflow-tooltip ></el-table-column>
<el-table-column prop="channel" label="应还金额" show-overflow-tooltip ></el-table-column>
<el-table-column prop="channel" label="实际还款日期" show-overflow-tooltip ></el-table-column>
<el-table-column prop="channel" 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 >
<template slot-scope="scope">
<span >{{ scope.row.planStartTime | formaDate("yyyy-MM-dd hh:mm:ss") }}</span>
</template>
</el-table-column>
<el-table-column label="操作" width="120">
<template slot-scope="scope">
<div class="flex-row align-items-center">
<el-button size="mini" @click="handleDelete(scope)">查看</el-button>
<el-button size="mini" @click="handleBackCase(scope)">效验</el-button>
</div>
</template>
</el-table-column>
</el-table>
</div>
<div class="text-center pt-16">
<el-pagination
@size-change="getCaseInfoList"
@current-change="getCaseInfoList"
:current-page="queryParam.current"
:page-size="queryParam.size"
layout="total, prev, pager, next, jumper"
:total="total">
</el-pagination>
</div>
</div>
<!-- </div>
<span slot="footer" class="dialog-footer">
<el-button @click="handleClose()">取消</el-button>
<el-button type="primary" @click="handleSubmit()">确认</el-button>
</span>
</el-dialog> -->
</div>
<div class="case-table">
<el-table :data="tableData" height="390" >
<el-table-column prop="amount" label="凭证金额" show-overflow-tooltip >
<template slot-scope="scope">
<span >{{ scope.row.amount }}</span>
</template>
</el-table-column>
<el-table-column prop="paybackTime" label="还款日期" show-overflow-tooltip ></el-table-column>
<el-table-column prop="remark" label="备注说明" show-overflow-tooltip ></el-table-column>
<el-table-column prop="uploaderName" label="上传者" show-overflow-tooltip ></el-table-column>
<el-table-column prop="createAt" label="操作时间" show-overflow-tooltip >
<template slot-scope="scope">
<span >{{ scope.row.createAt | formaDate("yyyy-MM-dd hh:mm:ss") }}</span>
</template>
</el-table-column>
<el-table-column label="操作" width="170">
<template slot-scope="scope">
<div class="flex-row align-items-center">
<el-button size="mini" @click="handleCaseShow(scope)">查看凭证</el-button>
<el-button size="mini" @click="handleBackCase(scope)">效验</el-button>
</div>
</template>
</el-table-column>
</el-table>
</div>
</div>
<!-- 文件预览 -->
<showFile v-if="fileDialog" :fileDialog.sync="fileDialog" />
</div>
</template>
<script>
import api from "@/services/caseManagement";
export default {
components: {
showFile: () => import('../../../components/showFile.vue'),//
},
props: {
eventTraDialog: {
@ -111,7 +56,7 @@ import api from "@/services/caseManagement";
},
data() {
return {
fileDialog:null,
queryParam:{},
tableData:[],
total:0,
@ -119,10 +64,20 @@ import api from "@/services/caseManagement";
};
},
mounted () {
console.log(this.eventTraDialog,'eventTraDialog')
console.log(this.eventTraDialog,'this.eventTraDialog')
this.getProofList()
},
methods: {
getProofList(){
api.gettraceProof_list({caseId:this.eventTraDialog.caseId}).then(res => {
if(!res.code){
this.tableData = res
}
})
},
handleCaseShow(scope){
this.fileDialog = {showfile:{url:scope.row.proofUrl},filelist:[]}
},
handleClose() {
this.$emit('update:eventTraDialog', null)
},

View File

@ -181,10 +181,17 @@
<div class="case-detail-des">
<el-table :data="fileList" :height="300" >
<el-table-column type="index" label="序号" width="55"></el-table-column>
<el-table-column prop="name" label="材料类型" show-overflow-tooltip ></el-table-column>
<el-table-column label="材料类型" width="170">
<template slot-scope="scope">
<div class="flex-row align-items-center">
{{ getfileType(scope.row) }}
</div>
</template>
</el-table-column>
<el-table-column prop="name" label="文件名称" show-overflow-tooltip ></el-table-column>
<el-table-column prop="url" label="上传时间" show-overflow-tooltip ></el-table-column>
<el-table-column prop="url" label="上传人" show-overflow-tooltip ></el-table-column>
<el-table-column prop="createAt" label="上传时间" show-overflow-tooltip ></el-table-column>
<!-- <el-table-column prop="url" label="上传人" show-overflow-tooltip ></el-table-column> -->
<el-table-column label="操作" width="170">
<template slot-scope="scope">
<div class="flex-row align-items-center">
@ -267,8 +274,9 @@ import { subtract } from "lodash";
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}
,{label:'其他证据',value:10}],
}
},
@ -288,6 +296,14 @@ import { subtract } from "lodash";
}
},
methods: {
getfileType(row){
let item = this.fileType.find(item =>{
return item.code === row.materialType
})
if(item != undefined) return item.label
return '-'
},
handleCaseShow(scope,filelist){
this.fileDialog = {showfile:scope.row,filelist:filelist}
},
@ -317,11 +333,11 @@ import { subtract } from "lodash";
//
// console.log('',res.caseFileEntityList)
let caseFileEntityList = []
res.caseFileEntityList.forEach((item)=>{
caseFileEntityList.push({name:item.name,fileName:item.name,url:item.url})
})
_that.fileList = caseFileEntityList
// let caseFileEntityList = []
// res.caseFileEntityList.forEach((item)=>{
// caseFileEntityList.push({name:item.name,fileName:item.name,url:item.url})
// })
_that.fileList = res.caseFileEntityList
}

View File

@ -15,7 +15,7 @@
</el-input>
</div>
</el-col>
<el-col :span="6">
<el-col :span="5">
<div class="flex-row-center align-items-center height-40 mb-24">
<span class="tabs__search-criteria-title flex-shrink-0 pr-16">电话号码</span>
<el-input v-model.trim="queryParam.phone"
@ -24,7 +24,7 @@
</el-input>
</div>
</el-col>
<el-col :span="8">
<el-col :span="9">
<div class="justify-content-start align-items-center height-40 mb-24">
<span class="tabs__search-criteria-title flex-shrink-0 pr-16">操作时间</span>
<el-date-picker
@ -59,7 +59,7 @@
<div class="case-table">
<el-table :data="tableData" height="340" >
<el-table-column type="index" label="序号" width="55"></el-table-column>
<el-table-column prop="pkgName" label="案件包名称" show-overflow-tooltip ></el-table-column>
<!-- <el-table-column prop="pkgName" label="案件包名称" show-overflow-tooltip ></el-table-column> -->
<el-table-column prop="caseNo" label="案件编号" width="200" show-overflow-tooltip ></el-table-column>
<el-table-column prop="channel" label="短信模板" show-overflow-tooltip ></el-table-column>
<el-table-column prop="receiver" label="短信接收人" show-overflow-tooltip ></el-table-column>

View File

@ -3,7 +3,7 @@
<LayoutHeader />
<div class="layout-bottom-wrap">
<!-- <SideMenu /> -->
<div class="layout-bottom-right-content" :class="currentName == '/workbench' ? '':' p-16'">
<div class="layout-bottom-right-content" :class="(currentName == '/workbench' || currentName == '/workbenchcm') ? '':' p-16'">
<el-scrollbar :style="'height:'+`${contentHeight}`+'px'">
<router-view></router-view>
</el-scrollbar>

View File

@ -99,13 +99,13 @@
</el-col>
<el-col :span="6">
<div class="flex-row-center align-items-center height-40 mb-24">
<span class="tabs__search-criteria-title flex-shrink-0 pr-16">分案状态</span>
<el-select v-model="queryParam.dispatch"
clearable placeholder="请选择分案状态"
<span class="tabs__search-criteria-title flex-shrink-0 pr-16">跟进状态</span>
<el-select v-model="queryParam.FollowStatus"
clearable placeholder="请选择跟进状态"
@keydown.enter.native="handleSearch"
class="width100">
<el-option
v-for="item in PartCaseStatusEnum"
v-for="item in FollowStatusEnum"
:key="item.label"
:label="item.label"
:value="item.value">
@ -113,6 +113,7 @@
</el-select>
</div>
</el-col>
<el-col :span="6">
<div class="flex-row-center align-items-center height-40 mb-24">
<span class="tabs__search-criteria-title flex-shrink-0 pr-16">调解进度</span>
@ -182,22 +183,7 @@
</el-input>
</div>
</el-col>
<el-col :span="6">
<div class="flex-row-center align-items-center height-40 mb-24">
<span class="tabs__search-criteria-title flex-shrink-0 pr-16">跟进状态</span>
<el-select v-model="queryParam.FollowStatus"
clearable placeholder="请选择跟进状态"
@keydown.enter.native="handleSearch"
class="width100">
<el-option
v-for="item in FollowStatusEnum"
:key="item.label"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</div>
</el-col>
</el-row>
<el-row :gutter="56">
<el-col :span="18">
@ -311,35 +297,35 @@
</span>
</div>
<div class="flex-row justify-content-between case-bg">
<span class="cursor-pointer" @click="CaseTraceDialog = {activeName:'1',title:'短信发送记录',caseNo:scope.row.caseNo}">
<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:scope.row.caseNo}">
<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:'视频调解记录',caseNo:scope.row.caseNo}">
<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:scope.row.caseNo}">
<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:scope.row.caseNo}">
<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:scope.row.caseNo}">
<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:scope.row.caseNo}">
<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:scope.row.caseNo}">
<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

@ -58,7 +58,7 @@
<el-form v-if="updateRow != index" label-width="130px">
<div class="flex-row justify-content-between mb-8">
<div class="pt-8 flex-column">
<span class="color-86909C">上传者<a></a></span>
<span class="color-86909C">上传者{{ proofitem.uploaderName }}<a></a></span>
<span class="color-86909C mt-8">上传时间<a>{{ proofitem.createAt }}</a></span>
<span class="color-86909C mt-8">凭证金额<a>{{ proofitem.amount }}</a></span>
<span class="color-86909C mt-8">还款日期<a>{{ proofitem.paybackTime | formaDate('yyyy-MM-dd hh:mm:ss') }}</a></span>
@ -153,7 +153,6 @@ import api from "@/services/caseManagement";
repaymentObj:{
mediaPath:[]
},
RepaymentOptions:[{label:'一次性还款',value:'ALL'},{label:'全部分期',value:'STAGES'},{label:'部分先还加分期',value:'MIX'},{label:'其他',value:'OTHER'}],
rulesClientRepayment:{
amount: [
{ required: true, message: '请输入还款金额', trigger: 'change',},

View File

@ -61,62 +61,21 @@
</div>
<div class="border-radius-4 flex-column casework2">
<div class="flex-row justify-content-between case-pk-title">
<span>待分配案件包</span>
<div class="flex-row">
<span>
<el-select v-model="queryParam.pkgName"
clearable placeholder="请选择案件包"
@change="handleSearch()"
class="width100" size="mini">
<el-option
v-for="item in casePkOptions"
:key="item.pkgName"
:label="item.pkgName"
:value="item.pkgName">
</el-option>
</el-select>
</span>
<span class="case-pk-btn ml-16" @click="handleImport"><i class="el-icon-upload2"></i>批量导入</span>
<span class="case-pk-btn"><i class="el-icon-plus"></i>添加案件</span>
</div>
<span>待办案件跟进状态</span>
</div>
<div class="case-pk-cont flex-column">
<el-scrollbar :style="'height:'+`${leftContentHeight}`+'px'">
<div v-for="(item,index) in tableData" :key="index" class="case-pk-list">
<div class="flex-row justify-content-between mb-8">
<span class="f20 f-weight500">{{item.pkgName}}</span>
<span class="cursor-pointer" @click="jumpUrl(`/case-management?dataKey=casepack&pkgId=${item.id}`)">查看详情&nbsp;></span>
</div>
<div class="flex-row mb-16">
<span>{{item.entrustingAgencyName}}</span>
<span class="ml-16">委案日期{{item.planStartTime | formaDate('yyyy-MM-dd')}}</span>
</div>
<div class="flex-row justify-content-between case-pk-num mb-16">
<span>
<p><a>{{item.caseTotal}}</a></p>
案件总量
</span>
<span>
<p><a>{{item.assignTotal}}</a></p>
已分案件数
</span>
<span>
<p><a>{{item.caseTotal - item.assignTotal}}</a></p>
待分案件数
</span>
<span>
<p><a>{{item.months}}</a>个月</p>
委案期限
</span>
</div>
<div class="flex-row justify-content-end mb-8">
<el-button size="mini" type="primary" @click="handleCaseAllocation(item)">案件分配</el-button>
<!-- <el-button size="mini" @click="handleEdit(scope)">预设还款方案</el-button> -->
<el-button size="mini" @click="handleDelete(item)">删除</el-button>
</div>
</div>
</el-scrollbar>
<div class="case-follow-cont">
<div class="donotfollowup1">
<span class="flex-column cursor-pointer"><a class="f48">{{statisticCasesData.todayCasesToFollowUp}}</a><a class="f16">今日待跟进案件</a></span>
</div>
<div class="donotfollowup2">
<span class="flex-column cursor-pointer"><a class="f48">{{statisticCasesData.overThreeDaysUnfollowedCases}}</a><a class="f16">超3天未跟进案件</a></span>
</div>
<div class="donotfollowup3">
<span class="flex-column cursor-pointer"><a class="f48">{{statisticCasesData.overFiveDaysUnfollowedCases}}</a><a class="f16">超5天未跟进案件</a></span>
</div>
<div class="donotfollowup4">
<span class="flex-column cursor-pointer"><a class="f48">{{statisticCasesData.newUnfollowedCases}}</a><a class="f16">新案未跟进案件</a></span>
</div>
</div>
</div>
<div class="border-radius-4 flex-column casework3">
@ -261,6 +220,7 @@
"failed": 0
}
},
statisticCasesData:{}
};
},
@ -326,7 +286,7 @@
getstatisticcases(){
workApi.statistic_cases({current:1,size:100}).then(res => {
if (!res.code) {
this.tableData = res.records;
this.statisticCasesData = res;
}
})
},
@ -517,33 +477,53 @@
}
}
.case-pk-cont{
.case-pk-list{
background-color: #fff;
padding: 16px;
border-radius: 8px;
.case-follow-cont{
.donotfollowup1{
background:url(../../../assets/image/workbench/donotfollowup1.png) no-repeat;
background-size: 100% 100%;
width: calc(50% - 10px);
height: 400px;
padding-top: 140px;
text-align: center;
float: left;
margin-right: 10px;
margin-top: 20px;
}
.donotfollowup2{
background:url(../../../assets/image/workbench/donotfollowup2.png) no-repeat;
background-size: 100% 100%;
width: calc(50% - 10px);
height: 400px;
padding-top: 140px;
text-align: center;
float: left;
margin-left: 10px;
margin-top: 20px;
}
.donotfollowup3{
background:url(../../../assets/image/workbench/donotfollowup3.png) no-repeat;
background-size: 100% 100%;
width: calc(50% - 10px);
height: 400px;
padding-top: 140px;
text-align: center;
float: left;
margin-right: 10px;
margin-top: 20px;
}
.donotfollowup4{
background:url(../../../assets/image/workbench/donotfollowup4.png) no-repeat;
background-size: 100% 100%;
width: calc(50% - 10px);
height: 400px;
padding-top: 140px;
text-align: center;
float: left;
margin-left: 10px;
margin-top: 20px;
.case-pk-num{
background-color: #F7F8FA;
height:85px ;
padding-top: 20px;
span{
width: 25%;
text-align: center;
border-right: solid 2px #e5e6e8;
height: 45px;
p{margin: 0;
a{
font-size: 22px;
}
}
}
span:last-child{border-right: 0;}
}
}
}