This commit is contained in:
张运江 2025-02-26 09:20:17 +08:00
commit 8018b9745c
22 changed files with 211 additions and 140 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

View File

@ -74,7 +74,7 @@ import api from "@/services/caseManagement";
}
else if(this.$util.getFileType(url) === 'audio') {
//
this.fileType = 'video'
this.fileType = 'audio'
}
else
{

View File

@ -17,7 +17,11 @@
<span v-else>-</span>
</template>
</el-table-column>
<el-table-column prop="paybackTime" label="还款日期" show-overflow-tooltip ></el-table-column>
<el-table-column label="还款日期" show-overflow-tooltip >
<template slot-scope="scope">
<span >{{ scope.row.paybackTime | formaDate("yyyy-MM-dd") }}</span>
</template>
</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 >

View File

@ -368,7 +368,7 @@
<el-table-column label="是否完成签字" show-overflow-tooltip>
<template slot-scope="scope">
<div class="flex-row align-items-center">
<span>{{ scope.row.signStatus == 2 ? '是':'否' }}</span>
<span>{{ (scope.row.signStatus != null && scope.row.signStatus.code == 3) ? '是':'否' }}</span>
</div>
</template>
</el-table-column>

View File

@ -63,7 +63,7 @@
<!-- <el-table-column type="selection" width="55" ></el-table-column> -->
<el-table-column prop="pkgName" label="案件包名称" show-overflow-tooltip ></el-table-column>
<el-table-column prop="caseNo" label="案件编号" width="280" show-overflow-tooltip ></el-table-column>
<el-table-column prop="documentType" label="文书类型" show-overflow-tooltip ></el-table-column>
<el-table-column prop="documentType.desc" label="文书类型" show-overflow-tooltip ></el-table-column>
<el-table-column prop="status" label="签章状态" show-overflow-tooltip>
<template slot-scope="scope">
<span>{{ scope.row.status.desc }}</span>
@ -86,8 +86,8 @@
<el-table-column label="操作" width="180">
<template slot-scope="scope">
<div class="flex-row align-items-center">
<el-button size="mini" v-if="scope.row.status.code !== 4 && scope.row.status.code !== 2" @click="handleAgain(scope.row)">重试</el-button>
<el-button size="mini" v-if="scope.row.status.code !== 4 && scope.row.status.code !== 2" @click="handleCancel(scope.row)">取消</el-button>
<el-button size="mini" v-if="scope.row.status.code !== 5 && scope.row.status.code !== 4 && scope.row.status.code !== 2" @click="handleAgain(scope.row)">重试</el-button>
<el-button size="mini" v-if="scope.row.status.code !== 5 && scope.row.status.code !== 4 && scope.row.status.code !== 2" @click="handleCancel(scope.row)">取消</el-button>
</div>
</template>
</el-table-column>

View File

@ -94,8 +94,8 @@
<template slot-scope="scope">
<div class="flex-row align-items-center">
<el-button size="mini" @click="handleDetail(scope)">明细</el-button>
<el-button v-if="scope.row.status.code !== 4 && scope.row.status.code !== 2 && scope.row.status.code !== 1" size="mini" @click="handleAgain(scope.row)">重试</el-button>
<el-button v-if="scope.row.status.code !== 4 && scope.row.status.code !== 2 && scope.row.status.code !== 1" size="mini" @click="handleCancel(scope.row)">取消</el-button>
<el-button v-if="scope.row.status.code !== 4 && scope.row.status.code !== 5 && scope.row.status.code !== 2 && scope.row.status.code !== 1" size="mini" @click="handleAgain(scope.row)">重试</el-button>
<el-button v-if="scope.row.status.code !== 4 && scope.row.status.code !== 5 && scope.row.status.code !== 2 && scope.row.status.code !== 1" size="mini" @click="handleCancel(scope.row)">取消</el-button>
</div>
</template>
</el-table-column>

View File

@ -71,7 +71,11 @@
</el-table-column> -->
<!-- <el-table-column prop="deadline" label="还款截止日期" show-overflow-tooltip ></el-table-column>
<el-table-column prop="payableAmount" label="应还金额" show-overflow-tooltip ></el-table-column> -->
<el-table-column prop="actualPayDate" label="实际还款日期" show-overflow-tooltip ></el-table-column>
<el-table-column prop="planType" label="实际还款日期" show-overflow-tooltip >
<template slot-scope="scope">
<span>{{ scope.row.actualPayDate | formaDate("yyyy-MM-dd") }}</span>
</template>
</el-table-column>
<el-table-column prop="amount" label="实际还款金额" show-overflow-tooltip >
<template slot-scope="scope">
<span v-if="scope.row.amount > 0">{{ scope.row.amount }}</span>

View File

@ -59,7 +59,8 @@
<el-table-column prop="updateByName" label="发起人" show-overflow-tooltip ></el-table-column>
<el-table-column label="状态" show-overflow-tooltip >
<template slot-scope="scope">
<span >{{ scope.row.signStatus.desc }}</span>
<span v-if="scope.row.status.code != 3 && scope.row.status.code != 4 && scope.row.status.code != 5">{{ scope.row.signStatus.desc }}</span>
<span v-else>{{ scope.row.status.desc }}</span>
</template>
</el-table-column>
<el-table-column label="操作时间" show-overflow-tooltip >

View File

@ -30,7 +30,7 @@
}
},
mounted() {
console.log(this.menu,'menu')
// console.log(this.menu,'menu')
},
methods: {
handleRoute(menu) {

View File

@ -538,9 +538,15 @@ import { values } from "lodash";
})
let caseCllIds = caseCllList.map(item =>{ return item.id})
api.callingBatchcall({caseIdList: caseCllIds}).then(res => {
let caseIdList = []
this.selectionData.forEach(item =>{
if(caseCllIds.find(item1 =>{return item1 == item}))
{
caseIdList.push(item)
}
})
api.callingBatchcall({caseIdList: caseIdList}).then(res => {
this.$message.success("智能外呼成功");
// this.getCaseInfoList(1)
this.jumpUrl(`/mediation-page?sourcePage=sourcePage&caseId=${this.selectionData[0]}&queue=1`)
})

View File

@ -192,8 +192,7 @@
<!-- 案件材料 -->
<div v-if="leftActive == 3" class="case-materials-person">
<caseMaterialLeft :caseId="caseId" />
<caseMaterialLeft :caseId="thisCaseInfo.id" />
</div>
<!-- 案件文书 -->
@ -455,6 +454,7 @@ export default {
},
},
async created() {
this.mediaterecordpm.caseId = this.caseId
this.eventDialog.caseId = this.caseId

View File

@ -761,7 +761,7 @@ export default {
//
async callingFail () {
try {
let res = await api.callingFail({caseId: this.caseId,contactId: this.contactId,callingSessionId:this.sessionId})
// let res = await api.callingFail({caseId: this.caseId,contactId: this.contactId,callingSessionId:this.sessionId})
} catch (err) { }
},
//

View File

@ -142,9 +142,7 @@
</el-form-item>
<!-- 枚举备注: ALL :一次性全部回款 STAGES :全部分期 MIX :混合部分先还加分期 OTHER :其他 -->
<el-form-item v-if="repaymentObj.type == 'MIX'" label="分期前偿还金额" prop="partAmount"
:rules="[
{ required: true, validator: validatePass2, trigger: 'change'},
]">
>
<el-input class="inputpaddingtop2"
size="small"
placeholder="请输入分期前偿还金额"
@ -154,9 +152,7 @@
</el-input>
</el-form-item>
<el-form-item v-if="repaymentObj.type == 'MIX'" label="先还日期" prop="partDate"
:rules="[
{ required: true, message: '请选择分期前偿还日期', trigger: 'change',},
]">
>
<el-date-picker class="width100" size="small"
v-model="repaymentObj.partDate"
type="date"
@ -176,10 +172,7 @@
</el-input>
</el-form-item>
<el-form-item v-if="repaymentObj.type == 'STAGES' || repaymentObj.type == 'MIX'" label="分期期数" prop="stagesNum"
:rules="[
{ required: true, message: '请输入分期期数', trigger: 'change',},
{ pattern: /^[1-9]\d*$/, message: '只能输入正整数', trigger: ['blur', 'change']}
]">
>
<el-input
size="small"
placeholder="请输入分期期数"
@ -208,10 +201,7 @@
</el-select>
</el-form-item>
<el-form-item v-if="repaymentObj.type == 'ALL' || repaymentObj.type == 'STAGES' || repaymentObj.type == 'MIX'" label="还款截止日期" prop="paybackDate"
:rules="[
{ required: true, message: '请选择还款截止日期', trigger: 'change',},
{ required: true, validator: validatePass3, trigger: 'change',},
]">
>
<el-date-picker class="width100" size="small"
v-model="repaymentObj.paybackDate"
type="date"
@ -276,6 +266,9 @@ import api from "@/services/caseManagement";
{
callback(new Error('还款截止日期不能小于分期前偿还日期!'));
}
else{
callback();
}
} else {
callback();
}
@ -298,23 +291,23 @@ import api from "@/services/caseManagement";
{ pattern: /^[1-9]\d*(,\d{3})*(\.\d{1,2})?$|^0.\d{1,2}$/, message: '请输入2位小数金额', trigger: ['blur', 'change']}
],
// paybackDate: [
// { required: true, validator: validatePass3, trigger: 'change',},
// ],
// stagesDay: [
// { required: true, message: '', trigger: 'change',},
// ],
paybackDate: [
{ required: true, validator: validatePass3, trigger: 'change',},
],
stagesDay: [
{ required: true, message: '请选择每期还款日期', trigger: 'change',},
],
// partAmount: [
// { required: true, validator: validatePass2, trigger: 'change'},
// ],
// partDate: [
// { required: true, message: '', trigger: 'change',},
// ],
// stagesNum: [
// { required: true, message: '', trigger: 'change',},
// { pattern: /^[1-9]\d*$/, message: '', trigger: ['blur', 'change']}
// ],
partAmount: [
{ required: true, validator: validatePass2, trigger: 'change'},
],
partDate: [
{ required: true, message: '请选择分期前偿还日期', trigger: 'change',},
],
stagesNum: [
{ required: true, message: '请输入分期期数', trigger: 'change',},
{ pattern: /^[1-9]\d*$/, message: '只能输入正整数', trigger: ['blur', 'change']}
],
},
planList:[],
oldrepaymentObj:{},
@ -325,39 +318,9 @@ import api from "@/services/caseManagement";
this.getplanlist()
},
methods: {
validatePass2(rule, value, callback){
if (value === '') {
callback(new Error('请输入分期前偿还金额'));
} else if (!/^[1-9]\d*(,\d{3})*(\.\d{1,2})?$|^0.\d{1,2}$/.test(value)) {
callback(new Error('只能输入2位小数金额'));
} else if (value*1 > this.repaymentObj.totalAmount*1) {
callback(new Error('分期前偿还金额不能大于还款金额!'));
} else {
callback();
}
},
validatePass3 (rule, value, callback){
if (value === '') {
callback(new Error('请选择还款截止日期'));
} else if (this.repaymentObj.partDate != '' && this.repaymentObj.partDate != undefined) {
let date1 = new Date(value);//
let date2 = new Date(this.repaymentObj.partDate);//
let timestamp1 = date1.getTime();
let timestamp2 = date2.getTime();
if(timestamp2 > timestamp1)
{
callback(new Error('还款截止日期不能小于分期前偿还日期!'));
}
} else {
callback();
}
},
handleSubmitRepayment(){
console.log(1,'handleSubmitRepayment')
this.$refs.ruleFormRepayment.validate((valid) => {
this.$refs.ruleFormRepayment.validate((valid,obj) => {
if (valid){
console.log(2,'handleSubmitRepayment')
this.repaymentObj.caseId = this.eventDialog.caseId
api.getcase_payback_save(this.repaymentObj).then(res => {
if(!res.code){
@ -366,16 +329,17 @@ import api from "@/services/caseManagement";
}
})
}
else{
console.log(valid,'valid')
}
})
},
getplanlist(){
api.getcase_payback_planlist({caseId:this.eventDialog.caseId}).then(res => {
if(!res.code){
this.planList = res
if(this.planList.length > 0 ){this.repaymentObj = this.planList[0]}
if(this.planList.length > 0 )
{
this.repaymentObj = this.planList[0]
this.inputChange()
}
}
})
},
@ -394,6 +358,7 @@ import api from "@/services/caseManagement";
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)
this.repaymentObj.moneyAmount = (this.repaymentObj.totalAmount*1 - this.repaymentObj.partAmount*1).toFixed(2)
}
}
},
@ -424,3 +389,8 @@ import api from "@/services/caseManagement";
}
}
</style>
<style lang="scss">
.case-repayment-certificate{
.el-form-item__error{ padding-top:1px !important ;}
}
</style>

View File

@ -10,7 +10,7 @@
label-width="130px">
<el-row :gutter="56">
<el-col :span="24">
<el-form-item label="当事人" prop="litigants">
<el-form-item label="当事人">
<el-select v-model="repaymentObj.litigants" multiple collapse-tags filterable
placeholder="请选择" class="width100">
<el-option
@ -141,12 +141,13 @@ export default {
},
rulesClientRule: {
litigants: [
{ type: 'array', required: true, message: '请选择', trigger: 'change' }
{ type: 'array', required: false, message: '请选择', trigger: 'change' }
],
},
};
},
mounted() {
this.repaymentObj.id = this.eventDialog.id
this.getLitigantByCaseId();
},
methods: {
@ -168,12 +169,18 @@ export default {
},
handleSubmit() {
if(!this.$clickThrottle()) { return }//
this.$refs.ruleFormRepayment.validate((valid) => {
if (valid) {
// identity ,name ,phone
const resultArr = this.litigantsOptions
.filter(item => this.repaymentObj.litigants.includes(item.id))
.map(({name, phone, identity}) => ({name, phone, identity}));
if(resultArr.length == 0 && this.repaymentObj.members.length == 0){
this.$message.warning("请添加或选择需要邀请的人员!");
return false
}
this.$refs.ruleFormRepayment.validate((valid) => {
if (valid) {
// identity ,name ,phone
videoTelephone.videoInvite({...this.repaymentObj, litigants: resultArr}).then(res => {
this.handleClose()
this.$message.success("邀请成功");

View File

@ -48,6 +48,8 @@
<a class="case-status0" v-if="item.documentStaus.code == 2 && item.signStatus != null && item.signStatus.code == 2">签字中</a>
<a class="case-status3" v-if="item.documentStaus.code == 2 && item.signStatus != null && item.signStatus.code == 3">已签字</a>
<a class="result-status0" v-if="item.documentStaus.code == 2 && item.signStatus != null && item.signStatus.code == 1">签字失败</a>
<a class="case-status3" v-if="item.documentStaus.code == 2 && item.signStatus != null && item.signStatus.code == 3 && item.sealStatus != null && item.sealStatus.code == 2">已签章</a>
<a class="result-status0" v-if="item.documentStaus.code == 2 && item.signStatus != null && item.signStatus.code == 3 && item.sealStatus != null && item.sealStatus.code == 3">签章失败</a>
</span>
</a>
<!-- sealStatus 签章状态

View File

@ -28,34 +28,42 @@
<span class="case-pro1">
<p>案件总量</p>
<p><a>{{caseprogressObj.caseTotal}}</a></p>
<img src="../../../assets/image/workbench/progress1.png">
</span>
<span class="case-pro2">
<p>已办结案件</p>
<p><a>{{caseprogressObj.finishTotal}}</a></p>
<img src="../../../assets/image/workbench/progress8.png">
</span>
<span class="case-pro3">
<p>未触达</p>
<p><a>{{caseprogressObj.notReachTotal}}</a></p>
<img src="../../../assets/image/workbench/progress3.png">
</span>
<span class="case-pro1">
<span class="case-pro4">
<p>调解中</p>
<p><a>{{caseprogressObj.mediatingTotal}}</a></p>
<img src="../../../assets/image/workbench/progress2.png">
</span>
<span class="case-pro2">
<span class="case-pro5">
<p>调解成功</p>
<p><a>{{caseprogressObj.mediateSuccess}}</a></p>
<img src="../../../assets/image/workbench/progress5.png">
</span>
<span class="case-pro3">
<span class="case-pro6">
<p>已签署协议</p>
<p><a>{{caseprogressObj.signTotal}}</a></p>
<img src="../../../assets/image/workbench/progress6.png">
</span>
<span class="case-pro1">
<span class="case-pro7">
<p>已司法确认</p>
<p><a>{{caseprogressObj.judicialTotal}}</a></p>
<img src="../../../assets/image/workbench/progress4.png">
</span>
<span class="case-pro2">
<span class="case-pro8">
<p>已赋强公证</p>
<p><a>{{caseprogressObj.notarizationTotal}}</a></p>
<img src="../../../assets/image/workbench/progress7.png">
</span>
</div>
</div>
@ -88,16 +96,32 @@
</div>
<div class="case-follow-cont flex-row ">
<div class="donotfollowup1">
<span class="flex-column cursor-pointer" @click="jumpUrl('/mediation-management')"><a class="f20 mb-32">今日待跟进案件</a><a class="f48">{{statisticCasesData.todayCasesToFollowUp == undefined ? 0 : statisticCasesData.todayCasesToFollowUp}}</a></span>
<span class="flex-column cursor-pointer" @click="jumpUrl('/mediation-management')">
<a><img src="../../../assets/image/workbench/Follow4.png" width="80"></a>
<a class="f24 mt-16 mb-16">今日待跟进案件</a>
<a class="f48 color-165DFF">{{statisticCasesData.todayCasesToFollowUp == undefined ? 0 : statisticCasesData.todayCasesToFollowUp}}</a>
</span>
</div>
<div class="donotfollowup2">
<span class="flex-column cursor-pointer" @click="jumpUrl('/mediation-management')"><a class="f20 mb-32">超3天未跟进案件</a><a class="f48">{{statisticCasesData.overThreeDaysUnfollowedCases == undefined ? 0 : statisticCasesData.overThreeDaysUnfollowedCases}}</a></span>
<span class="flex-column cursor-pointer" @click="jumpUrl('/mediation-management')">
<a><img src="../../../assets/image/workbench/Follow1.png" width="80"></a>
<a class="f24 mt-16 mb-16">超3天未跟进案件</a>
<a class="f48 color-165DFF">{{statisticCasesData.overThreeDaysUnfollowedCases == undefined ? 0 : statisticCasesData.overThreeDaysUnfollowedCases}}</a>
</span>
</div>
<div class="donotfollowup3">
<span class="flex-column cursor-pointer" @click="jumpUrl('/mediation-management')"><a class="f20 mb-32">超5天未跟进案件</a><a class="f48">{{statisticCasesData.overFiveDaysUnfollowedCases == undefined ? 0 : statisticCasesData.overFiveDaysUnfollowedCases}}</a></span>
<span class="flex-column cursor-pointer" @click="jumpUrl('/mediation-management')">
<a><img src="../../../assets/image/workbench/Follow2.png" width="80"></a>
<a class="f24 mt-16 mb-16">超5天未跟进案件</a>
<a class="f48 color-165DFF">{{statisticCasesData.overFiveDaysUnfollowedCases == undefined ? 0 : statisticCasesData.overFiveDaysUnfollowedCases}}</a>
</span>
</div>
<div class="donotfollowup4">
<span class="flex-column cursor-pointer" @click="jumpUrl('/mediation-management')"><a class="f20 mb-32">新案未跟进案件</a><a class="f48">{{statisticCasesData.newUnfollowedCases == undefined ? 0 : statisticCasesData.newUnfollowedCases}}</a></span>
<span class="flex-column cursor-pointer" @click="jumpUrl('/mediation-management')">
<a><img src="../../../assets/image/workbench/Follow3.png" width="80"></a>
<a class="f24 mt-16 mb-16">新案未跟进案件</a>
<a class="f48 color-165DFF">{{statisticCasesData.newUnfollowedCases == undefined ? 0 : statisticCasesData.newUnfollowedCases}}</a>
</span>
</div>
</div>
</div>
@ -118,29 +142,29 @@
<span>事项追踪</span>
</div>
<div class="case-pk-cont">
<div class="flex-row justify-content-between cursor-pointer" @click="eventTraDialog={traceType:0,title:'短信发送追踪'}">
<span>短信发送追踪</span><span><a>{{traceData.smsTrackingCount.failed ? traceData.smsTrackingCount.failed :'0'}}</a>/<a>{{traceData.smsTrackingCount.total}}</a></span>
<div class="flex-row justify-content-between cursor-pointer" @click="eventTraDialog={traceType:0,title:'发送短信追踪'}">
<span><i class="el-icon-message f16 mr-4"></i>发送短信</span><span><a>{{traceData.smsTrackingCount.failed ? traceData.smsTrackingCount.failed :'0'}}</a>/<a>{{traceData.smsTrackingCount.total}}</a></span>
</div>
<div class="flex-row justify-content-between cursor-pointer" @click="eventTraDialog={traceType:1,title:'外呼事项追踪'}">
<span>外呼事项追踪</span><span><a>{{traceData.intelligentCallTrackingCount.failed ? traceData.intelligentCallTrackingCount.failed :'0'}}</a>/<a>{{traceData.intelligentCallTrackingCount.total}}</a></span>
<div class="flex-row justify-content-between cursor-pointer" @click="eventTraDialog={traceType:1,title:'智能电话外呼追踪'}">
<span><i class="el-icon-service f16 mr-4"></i>智能电话外呼</span><span><a>{{traceData.intelligentCallTrackingCount.failed ? traceData.intelligentCallTrackingCount.failed :'0'}}</a>/<a>{{traceData.intelligentCallTrackingCount.total}}</a></span>
</div>
<div class="flex-row justify-content-between cursor-pointer" @click="eventTraDialog={traceType:2,title:'视频调解追踪'}">
<span>视频调解追踪</span><span><a>{{traceData.videoAppointmentTrackingCount.failed ? traceData.videoAppointmentTrackingCount.failed :'0'}}</a>/<a>{{traceData.videoAppointmentTrackingCount.total}}</a></span>
<div class="flex-row justify-content-between cursor-pointer" @click="eventTraDialog={traceType:2,title:'在线视频调解追踪'}">
<span><i class="el-icon-video-camera f16 mr-4"></i>在线视频调解</span><span><a>{{traceData.videoAppointmentTrackingCount.failed ? traceData.videoAppointmentTrackingCount.failed :'0'}}</a>/<a>{{traceData.videoAppointmentTrackingCount.total}}</a></span>
</div>
<div class="flex-row justify-content-between cursor-pointer" @click="eventTraDialog={traceType:3,title:'文书生成追踪'}">
<span>文书生成追踪</span><span><a>{{traceData.documentGenerationTrackingCount.failed ? traceData.documentGenerationTrackingCount.failed :'0'}}</a>/<a>{{traceData.documentGenerationTrackingCount.total}}</a></span>
<span><i class="el-icon-document-checked f16 mr-4"></i>文书生成</span><span><a>{{traceData.documentGenerationTrackingCount.failed ? traceData.documentGenerationTrackingCount.failed :'0'}}</a>/<a>{{traceData.documentGenerationTrackingCount.total}}</a></span>
</div>
<div class="flex-row justify-content-between cursor-pointer" @click="eventTraDialog={traceType:4,title:'文书签字追踪'}">
<span>文书签字追踪</span><span><a>{{traceData.documentSignatureTrackingCount.failed ? traceData.documentSignatureTrackingCount.failed :'0'}}</a>/<a>{{traceData.documentSignatureTrackingCount.total}}</a></span>
<span><i class="el-icon-reading f16 mr-4"></i>文书签字</span><span><a>{{traceData.documentSignatureTrackingCount.failed ? traceData.documentSignatureTrackingCount.failed :'0'}}</a>/<a>{{traceData.documentSignatureTrackingCount.total}}</a></span>
</div>
<div class="flex-row justify-content-between cursor-pointer" @click="eventTraDialog={traceType:5,title:'文书签章追踪'}">
<span>文书签章追踪</span><span><a>{{traceData.electronicSealTrackingCount.failed ? traceData.electronicSealTrackingCount.failed :'0'}}</a>/<a>{{traceData.electronicSealTrackingCount.total}}</a></span>
<div class="flex-row justify-content-between cursor-pointer" @click="eventTraDialog={traceType:5,title:'协议文书签章追踪'}">
<span><i class="el-icon-coordinate f16 mr-4"></i>协议文书签章</span><span><a>{{traceData.electronicSealTrackingCount.failed ? traceData.electronicSealTrackingCount.failed :'0'}}</a>/<a>{{traceData.electronicSealTrackingCount.total}}</a></span>
</div>
<div class="flex-row justify-content-between cursor-pointer" @click="eventTraDialog={traceType:6,title:'文书送达追踪'}">
<span>文书送达追踪</span><span><a>{{traceData.documentDeliveryTrackingCount.failed ? traceData.documentDeliveryTrackingCount.failed :'0'}}</a>/<a>{{traceData.documentDeliveryTrackingCount.total}}</a></span>
<span><i class="el-icon-mobile-phone f16 mr-4"></i>文书送达</span><span><a>{{traceData.documentDeliveryTrackingCount.failed ? traceData.documentDeliveryTrackingCount.failed :'0'}}</a>/<a>{{traceData.documentDeliveryTrackingCount.total}}</a></span>
</div>
<div class="flex-row justify-content-between cursor-pointer" @click="eventTraDialog={traceType:7,title:'还款凭证登记'}">
<span>还款凭证登记</span><span><a>{{traceData.repaymentRecordTrackingCount.failed ? traceData.repaymentRecordTrackingCount.failed :'0'}}</a>/<a>{{traceData.repaymentRecordTrackingCount.total}}</a></span>
<span><i class="el-icon-school f16 mr-4"></i>还款凭证登记</span><span><a>{{traceData.repaymentRecordTrackingCount.failed ? traceData.repaymentRecordTrackingCount.failed :'0'}}</a>/<a>{{traceData.repaymentRecordTrackingCount.total}}</a></span>
</div>
</div>
</div>
@ -399,8 +423,8 @@
show: false
},
data: [
{ value: this.mediation_success_rate.mediateFail, name: '调解失败',itemStyle:{color:'#FFE7E0'} },
{ value: this.mediation_success_rate.mediateSuccess, name: '调解成功' ,itemStyle:{color:'#E4F3CE'}},
{ value: this.mediation_success_rate.mediateFail, name: '调解失败',itemStyle:{color:'#a7e054'} },
{ value: this.mediation_success_rate.mediateSuccess, name: '调解成功' ,itemStyle:{color:'#bee18adb'}},
]
}
]
@ -453,8 +477,8 @@
show: false
},
data: [
{ value: 0, name: '未触达债务人数',itemStyle:{color:'#E1EDF4'} },
{ value: 0, name: '已触达债务人数' ,itemStyle:{color:'#E4F3CE'}},
{ value: 0, name: '未触达债务人数',itemStyle:{color:'#c0def0'} },
{ value: 0, name: '已触达债务人数' ,itemStyle:{color:'#cdeaa2'}},
]
}
]
@ -533,7 +557,7 @@
background:url(../../../assets/image/workbench/work-left-bg.png) no-repeat;
background-size: 100% 100%;
// min-height:496px;
width: 400px;
width: 412px;
padding: 20px;
.case-title{
height: 60px;
@ -545,13 +569,14 @@
.case-progress-cont{
background-color: #fff;
border-radius: 5px;
font-size: 18px;
}
.case-progress{
background:url(../../../assets/image/workbench/icon-bg.png) no-repeat;
// background:url(../../../assets/image/workbench/icon-bg.png) no-repeat;
background-size: 100% 100%;
height: 460px;
margin: auto;
color: #4E5969;
color: #fff;
span{
padding: 15px 0 0px 15px;
width: 153px;
@ -564,12 +589,56 @@
margin-left: 20px;
}
span p{padding: 0;margin: 0;}
span a{color: #1D2129;font-size: 22px;}
span a{color: #fff;font-size: 22px;}
.case-pro1,.case-pro2,.case-pro3,.case-pro4,.case-pro5,.case-pro6,
.case-pro7,.case-pro8
{
width: 157px;height: 105px;
position: relative;
border-radius: 8px;
img{
width:50px ;
right:10px;
position:absolute;
}
}
.case-pro1
{
background-image: linear-gradient(to right,#0fdfdc,pink)
}
.case-pro2
{
background-image: linear-gradient(to right,pink,#ffd900)
}
.case-pro3
{
background-image: linear-gradient(to right,#ffd900,#ff0000cb)
}
.case-pro4
{
background-image: linear-gradient(to right,#ff0000cb,#59a8ff)
}
.case-pro5
{
background-image: linear-gradient(to right,#59a8ff,#b0d65e)
}
.case-pro6
{
background-image: linear-gradient(to right,#b0d65e,#dbf41e)
}
.case-pro7
{
background-image: linear-gradient(to right,#dbf41e,#df5964a7)
}
.case-pro8
{
background-image: linear-gradient(to right,#df5964a7,#df313fc2)
}
}
.case-pro1{width: 155px;height: 105px;}
}
.casework-1{
background-color: #fff;
background-color: #ec9dd82b;
border-radius: 8px;
margin-top: 15px;
@ -603,7 +672,7 @@
}
.casework2{
width: calc(100% - 830px);
width: calc(100% - 850px);
.casework2-1{
background-color: #E1EDF4;
min-height:496px;
@ -636,17 +705,21 @@
background-size: 100% 100%;
width: calc(50% - 10px);
height: 462px;
padding-top: 140px;
padding-top: 100px;
text-align: center;
float: left;
margin-top: 20px;
// .ollowupimg{
// background:url(../../../assets/image/workbench/donotfollowup1.png) no-repeat;
// }
}
.donotfollowup2{
background:url(../../../assets/image/workbench/donotfollowup2.png) no-repeat;
background-size: 100% 100%;
width: calc(50% - 10px);
height: 462px;
padding-top: 140px;
padding-top: 100px;
text-align: center;
float: left;
margin-left: 20px;
@ -657,7 +730,7 @@
background-size: 100% 100%;
width: calc(50% - 10px);
height: 462px;
padding-top: 140px;
padding-top: 100px;
text-align: center;
float: left;
margin-left: 20px;
@ -668,7 +741,7 @@
background-size: 100% 100%;
width: calc(50% - 10px);
height: 462px;
padding-top: 140px;
padding-top: 100px;
text-align: center;
float: left;
margin-left: 20px;
@ -681,7 +754,7 @@
}
.casework2-2{
background-color: #fff;
background-color: #e2eb5321;
border-radius: 8px;
margin-top: 15px;
}
@ -694,7 +767,7 @@
.pie-chart{
margin-top: 18px;
padding: 18px;
background-color: #fff;
background-color: #ef806d42;
border-radius: 8px;
.case-pk-title{
@ -725,8 +798,8 @@
}
.item-trace{
padding: 18px;
background-color: #fff;
padding: 14px 18px;
background-color: #d1f1dc4f;
border-radius: 8px;
.case-pk-title{
span:first-child{
@ -737,7 +810,7 @@
}
.case-pk-cont{
padding: 21px 0 0px 0;
padding: 20px 0 0px 0;
position: relative;
.resultplan{
font-size: 32px;
@ -764,6 +837,7 @@
a:first-child{
color: #E8535A;
}
span i{color: red;}
}
}
}
@ -776,6 +850,6 @@ position: relative;
.caseworkicon1{background: linear-gradient(165.96deg, #FFFFFF 0%, rgba(255, 255, 255, 0) 100%);
opacity: 0.1;width: 80px;
}
.casework1 img,.casework2 img,.casework3 img,.casework4 img{position: absolute;right:25px;top:45px}
.casework1 img,.casework3 img,.casework4 img{position: absolute;right:25px;top:45px}
</style>

View File

@ -251,6 +251,8 @@
queryParamJZ: {
pkgName:'',//
id:'',
allCase:true
},
caseprogressObj:{},
queryParamFP: {
@ -363,7 +365,7 @@
},
//
getCaseapkStatistics(){
workApi.getmy_case_pkg_statistics({id:this.queryParamJZ.id}).then(res => {
workApi.getmy_case_pkg_statistics({id:this.queryParamJZ.id,allCase:true}).then(res => {
if (!res.code) {
this.caseprogressObj = res;
}
@ -449,7 +451,7 @@
},
//
async drawCharts () {
this.mediation_success_rate = await workApi.getmy_case_pkg_statistics({id:this.queryParamCGL.id})
this.mediation_success_rate = await workApi.getmy_case_pkg_statistics({id:this.queryParamCGL.id,allCase:true})
if (this.myEcharts) {
this.myEcharts.clear();
}
@ -492,8 +494,8 @@
show: false
},
data: [
{ value: this.mediation_success_rate.mediateFail, name: '调解失败',itemStyle:{color:'#FFE7E0'} },
{ value: this.mediation_success_rate.mediateSuccess, name: '调解成功' ,itemStyle:{color:'#E4F3CE'}},
{ value: this.mediation_success_rate.mediateFail, name: '调解失败',itemStyle:{color:'#a7e054'} },
{ value: this.mediation_success_rate.mediateSuccess, name: '调解成功' ,itemStyle:{color:'#bee18adb'}},
]
}
]
@ -677,35 +679,35 @@
}
.case-pro1
{
background-color: #0fdfdc;
background-image: linear-gradient(to right,#0fdfdc,pink)
}
.case-pro2
{
background-color: #ffd900;
background-image: linear-gradient(to right,pink,#ffd900)
}
.case-pro3
{
background-color: #59a8ff;
background-image: linear-gradient(to right,#ffd900,#ff0000cb)
}
.case-pro4
{
background-color: #ff87b1;
background-image: linear-gradient(to right,#ff0000cb,#59a8ff)
}
.case-pro5
{
background-color: #978bff;
background-image: linear-gradient(to right,#59a8ff,#b0d65e)
}
.case-pro6
{
background-color: #ffb048;
background-image: linear-gradient(to right,#b0d65e,#dbf41e)
}
.case-pro7
{
background-color: #df5965;
background-image: linear-gradient(to right,#dbf41e,#df5964a7)
}
.case-pro8
{
background-color: #d69a5e;
background-image: linear-gradient(to right,#df5964a7,#df313fc2)
}
}

View File

@ -211,6 +211,7 @@ const util = {
case 'xlsx':
return require('../assets/image/util/excel_img.jpg');
case 'mp3':
return require('../assets/image/util/audio_img.jpg');
case 'm3u8':
case 'mp4':
return require('../assets/image/util/video_img.jpg');