This commit is contained in:
张运江 2025-02-27 16:33:39 +08:00
commit bf06677cad
21 changed files with 84 additions and 49 deletions

View File

@ -204,8 +204,14 @@ export default {
// -
async handleRelevance(item) {
try {
voiceCall.caseMatch({caseId: item.id, callingSessionId: this.acceptDialog.sessionId, phone: this.incomingCallPhone}).then(res => {
// console.log(res,'---')
let mainCaseId = null
if(item.jointDebt == 1){
mainCaseId = item.mainCaseId
}
else{
mainCaseId = item.id
}
voiceCall.caseMatch({caseId: mainCaseId, callingSessionId: this.acceptDialog.sessionId, phone: this.incomingCallPhone}).then(res => {
this.$router.push(`/mediation-page?sourcePage=sourcePage&caseId=${item.id}`);
})
} catch (error) {

View File

@ -139,7 +139,7 @@ let formaDate = (value, fmt) => {
let secondsToMinutes = (value) => {
if(value == 0 || value == ''|| value == null){return ''}
if(value == 0 || value == ''|| value == null){return '0秒'}
const minutes = Math.floor(value / 60);
const seconds = value % 60;
if(minutes > 0)

View File

@ -33,7 +33,7 @@
</el-table-column>
<el-table-column label="沟通时长" show-overflow-tooltip >
<template slot-scope="scope">
<span v-if="scope.linkedType == 1">通话{{scope.linkedDuration}}</span>
<span v-if="scope.row.linkedType == 1">通话{{itemrecord.linkedDuration | secondsToMinutes}}</span>
</template>
</el-table-column>
<el-table-column prop="mediator" label="操作人" show-overflow-tooltip ></el-table-column>

View File

@ -335,7 +335,7 @@
<el-table :data="fileList" :height="300">
<el-table-column type="index" label="序号" width="55"></el-table-column>
<el-table-column prop="materialType" label="材料类型" show-overflow-tooltip></el-table-column>
<el-table-column prop="name" label="文件名称" show-overflow-tooltip></el-table-column>
<!-- <el-table-column prop="name" label="文件名称" show-overflow-tooltip></el-table-column> -->
<el-table-column prop="createBy" label="上传人" show-overflow-tooltip></el-table-column>
<el-table-column label="上传时间" show-overflow-tooltip>
<template slot-scope="scope">
@ -381,9 +381,9 @@
</template>
</el-table-column>
<el-table-column prop="handleBy" label="操作人" show-overflow-tooltip></el-table-column>
<el-table-column label="操作时间" show-overflow-tooltip >
<el-table-column label="操作时间" width="230" >
<template slot-scope="scope">
<span >{{ scope.row.handleTime | formaDate("yyyy-MM-dd hh:mm:ss") }}</span>
<span style="width: 100%;display: block;">{{ scope.row.handleTime | formaDate("yyyy-MM-dd hh:mm:ss") }}</span>
</template>
</el-table-column>
@ -466,7 +466,7 @@ export default {
H: ''
}],
caseId: '',
baseInfo: {},
baseInfo: {debtorEntityList:[],casePkg:{}},
fileList: [],
fileType: [{label: '身份证件', value: 1}, {label: '金融许可证', value: 2}, {
label: '营业执照',
@ -510,8 +510,7 @@ export default {
if (this.$route.query.caseId != undefined) {
this.caseId = this.$route.query.caseId;
this.getCaseInfoById();//
this.getmediate_record()
this.getCaseLogsList()
}
},
methods: {
@ -588,16 +587,18 @@ export default {
} else {
this.caseId = res.id.toString()
}
}
this.getmediate_record()
this.getCaseLogsList()
this.getCoobligation()
this.getFileCaseList()
this.getLitigantByCaseId()
this.getplanlist()
this.getProofList()
this.getWritCaseList()
}
})
this.getCoobligation()
this.getFileCaseList()
this.getLitigantByCaseId()
this.getplanlist()
this.getProofList()
this.getWritCaseList()
},
//
@ -667,7 +668,12 @@ export default {
//
getProofList() {
this.ProofList = []
api.gettraceProof_list({caseId: this.caseId}).then(res => {
let data_json = {caseId: this.caseId}
if(this.baseInfo.jointDebt == 1){
data_json ={mainCaseId: this.baseInfo.mainCaseId}
}
api.gettraceProof_list(data_json).then(res => {
if (!res.code) {
res.forEach(item =>{
if(item.status.code == 2){ this.ProofList.push(item)}

View File

@ -75,8 +75,8 @@
<el-table-column label="操作" width="200">
<template slot-scope="scope">
<div class="flex-row align-items-center">
<el-button size="mini" v-if="scope.row.status.code == 1" @click="handleEnterqueue(scope.row)">进入外呼队列</el-button>
<el-button size="mini" v-if="scope.row.status.code == 1" @click="handleBackCase(scope.row)">取消</el-button>
<el-button size="mini" v-if="scope.row.status.code == 1 && scope.row.notCalledCount >0" @click="handleEnterqueue(scope.row)">进入外呼队列</el-button>
<el-button size="mini" v-if="scope.row.status.code == 1 && scope.row.notCalledCount >0" @click="handleBackCase(scope.row)">取消</el-button>
</div>
</template>
</el-table-column>

View File

@ -3,7 +3,7 @@
<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>
<span v-if="this.DialogDetail.id != undefined" class="f-weight500 f16 cursor-pointer" @click="$emit('update:DialogDetail', null)"><i class="el-icon-back"></i>返回</span>
<span v-if="this.DialogDetail.id != undefined" class="f-weight500 f16 cursor-pointer border-solid-lighter-1 p-8 border-radius-8" @click="$emit('update:DialogDetail', null)"><i class="el-icon-back"></i>返回</span>
</div>
<el-collapse-transition>
<el-row :gutter="56">

View File

@ -3,7 +3,7 @@
<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>
<span v-if="this.DialogDetail.id != undefined" class="f-weight500 f16 cursor-pointer" @click="$emit('update:DialogDetail', null)"><i class="el-icon-back"></i>返回</span>
<span v-if="this.DialogDetail.id != undefined" class="f-weight500 f16 cursor-pointer border-solid-lighter-1 p-8 border-radius-8" @click="$emit('update:DialogDetail', null)"><i class="el-icon-back"></i>返回</span>
</div>
<el-collapse-transition>
<el-row :gutter="56">

View File

@ -3,7 +3,7 @@
<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>
<span v-if="this.DialogDetail.id != undefined" class="f-weight500 f16 cursor-pointer" @click="$emit('update:DialogDetail', null)"><i class="el-icon-back"></i>返回</span>
<span v-if="this.DialogDetail.id != undefined" class="f-weight500 f16 cursor-pointer border-solid-lighter-1 p-8 border-radius-8" @click="$emit('update:DialogDetail', null)"><i class="el-icon-back"></i>返回</span>
</div>
<el-collapse-transition>
<el-row :gutter="56">

View File

@ -3,7 +3,7 @@
<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>
<span v-if="this.DialogDetail.id != undefined" class="f-weight500 f16 cursor-pointer" @click="$emit('update:DialogDetail', null)"><i class="el-icon-back"></i>返回</span>
<span v-if="this.DialogDetail.id != undefined" class="f-weight500 f16 cursor-pointer border-solid-lighter-1 p-8 border-radius-8" @click="$emit('update:DialogDetail', null)"><i class="el-icon-back"></i>返回</span>
</div>
<el-collapse-transition>
<el-row :gutter="56">

View File

@ -22,7 +22,7 @@
</div>
</el-col>
<el-col :span="24">
<!-- <el-col :span="24">
<div class="flex-row-center align-items-center height-40 mb-24">
<span class="tabs__search-criteria-title flex-shrink-0 pr-16" style="width:100px">签字有效时间</span>
<el-select v-model="ObjectInfo.deadNum"
@ -34,7 +34,7 @@
<el-option label="5天" value="5"></el-option>
</el-select>
</div>
</el-col>
</el-col> -->
</el-row>

View File

@ -457,6 +457,8 @@ export default {
this.mediaterecordpm.caseId = this.caseId
this.eventDialog.caseId = this.caseId
this.eventDialog.jointDebt = this.thisCaseInfo.jointDebt
this.eventDialog.mainCaseId = this.thisCaseInfo.mainCaseId
this.getCaseInfoById();//
this.getAgentList()

View File

@ -488,6 +488,7 @@ export default {
},
methods: {
handleBeforeUnload(event) {
console.log(this.sessionId,'this.sessionId')
//
if(this.calling){
window.tccc.Call.hungUp({sessionId: this.sessionId})
@ -600,7 +601,14 @@ export default {
// })
},
handleBack() {
// this.$route.query.sourcePage == 'mediationManagement'
if(this.timerInterval) { //
clearInterval(this.timerInterval); //
}
if (this.videoCallInterval) {
clearInterval(this.videoCallInterval)
}
this.handleBeforeUnload()
setTimeout(() => {
if(this.timerInterval) { //
clearInterval(this.timerInterval); //
}
@ -610,7 +618,10 @@ export default {
if(this.calling){
window.tccc.Call.hungUp({sessionId: this.sessionId})
}
this.$router.push('/mediation-management')
this.$router.push('/mediation-management')
}, 500);
// this.$route.query.sourcePage == 'mediationManagement'
// this.$router.push('/mediation-management')
},
//
getmediate_record() {
@ -625,10 +636,12 @@ export default {
handleChangeMediation(resultStatus){
let data={
id:this.caseId,
mediateStatus:resultStatus
mediateStatus:resultStatus,
caseStatus:this.baseInfo.caseStatus
}
let resultmsg = '成功'
if(resultStatus == 4){resultmsg = '失败'}
if(resultStatus == 6){resultmsg = '失败'}
this.$confirm("请确定是否将案件标记为"+resultmsg+"?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
@ -751,7 +764,7 @@ export default {
this.startTimer()
}
} catch (err) {
this.$message.error('呼叫失败' + err.message)
this.$message.error('呼叫失败,请确定是否已分配坐席!')
console.log('呼叫失败',err.message)
this.calling = false
this.callingFail()
@ -834,9 +847,9 @@ export default {
this.isMute = true
this.$message.success('已静音')
} catch (err) {
// console.log(err,'errerrerrerr')
//
this.$message.error('静音失败')
console.log(err,'静音失败')
//
this.$message.error('静音失败')
}
},
//

View File

@ -235,7 +235,12 @@ import api from "@/services/caseManagement";
})
},
getProofList(){
api.gettraceProof_list({caseId:this.eventDialog.caseId}).then(async res => {
let data_json = {caseId: this.eventDialog.caseId}
if(this.eventDialog.jointDebt == 1){
data_json ={mainCaseId: this.eventDialog.mainCaseId}
}
api.gettraceProof_list(data_json).then(async res => {
if(!res.code){
await this.getpreviewfull(res)
}

View File

@ -50,7 +50,7 @@
</div>
<!-- 电话 -->
<div v-if="itemrecord.linkedWay == 1" class="flex-row align-items-center pt-6">
<div v-if="itemrecord.linkedType == 1">通话{{itemrecord.linkedDuration}}</div>
<div v-if="itemrecord.linkedType == 1">通话{{itemrecord.linkedDuration | secondsToMinutes}}</div>
<el-divider v-if="itemrecord.linkedType == 1" direction="vertical"></el-divider>
<div class="text-center cursor-pointer" v-for="(item,index) in itemrecord.files" :key="index" @click="handleCaseShowFile(item)">
<i class="f14 el-icon-video-play"></i> 播放录音 {{index > 0 ? index : ''}}
@ -122,9 +122,8 @@
<div class="timeline-layout-w-records mt-8 mb-8">
<div class="flex-column align-items-start">
<div>
<span v-for="(itemperson,index) in itemrecord.linkedPersonInfo" :key="index">
<span v-for="(itemperson,index) in itemrecord.linkedPersonInfo" :key="index" style="float: left;margin-bottom: 2px;">
{{ itemperson.name}}
{{ itemrecord.linkedWay == 1 ? itemperson.phone :''}}
<el-tag class="mr-8" size="small" effect="plain" style="height: 22px;">{{itemperson.type}}</el-tag>
</span>
</div>

View File

@ -58,11 +58,15 @@
<a class="color-86909C f12 pt-6 pb-6">{{item.handleBy}}&nbsp;&nbsp;{{ $util.formatDate(item.handleTime, 'YYYY-MM-DD HH:mm:ss')}}</a>
<div class="flex-row align-items-center color-86909C" v-if="(item.signList.length > 0 || item.unsignList.length > 0)&&(item.signStatus != null && (item.signStatus.code != 1))">
<div>签字</div>
<div style="width: 240px; display: block;">
<div style="width: 240px; display: block;padding-top: 4px;">
<div class="flex-row" v-for="(item1, index1) in item.unsignList" :key="index1" style="float: left;margin-bottom: 5px;">
<el-tag v-if="item1.signStatus.code == 2" class="ml-4" size="small" type="success" effect="plain">{{item1.signName}}</el-tag>
<el-tag v-if="item1.signStatus.code == 0" class="ml-4" size="small" type="info" effect="plain">{{item1.signName}}</el-tag>
</div>
<div class="flex-row" v-for="(item1, index1) in item.signList" :key="index1" style="float: left;margin-bottom: 5px;">
<el-tag v-if="item1.signStatus.code == 3" class="ml-4" size="small" type="success" effect="plain">{{item1.signName}}</el-tag>
<el-tag v-if="item1.signStatus.code == 0" class="ml-4" size="small" type="info" effect="plain">{{item1.signName}}</el-tag>
</div>
</div>
<!-- <el-tag class="ml-4" size="small" type="success" effect="plain"

View File

@ -3,7 +3,7 @@
<div class="flex-row justify-content-between align-items-center pb-16 border-b-solid-lighter-1"
v-for="(item, index) in missedCallData.list" :key="index">
<div class="width70">
<div class="color-000 f-weight600 f16">{{item.contact}}</div>
<div class="color-000 f-weight600 f16">{{item.phone}}</div>
<div class="f12">来电时间:{{ formatDate(item.createAt, 'YYYY-MM-DD HH:mm:ss') }}</div>
</div>
<el-button size="small" type="primary" @click="handleMissedCallCase(item)">查看相关案件</el-button>

View File

@ -14,12 +14,12 @@
<el-col :span="24">
<div class="mb-24 officelist">
<el-checkbox-group v-model="ObjectInfo.fileTypes">
<el-checkbox border v-for="(item,index) in officeOptions" :label="item.type" :key="index" :disabled="item.documentStaus.code != 2 ? true : false">{{ item.documentType.desc }}</el-checkbox>
<el-checkbox border v-for="(item,index) in officeOptions" :label="item.type" :key="index" :disabled="item.documentStaus.code == 2 ? ((item.signStatus != null && (item.signStatus.code == 0 ||item.signStatus.code == 2 || item.signStatus.code == 3)) ? true :false) : true">{{ item.documentType.desc }}</el-checkbox>
</el-checkbox-group>
</div>
<!-- :disabled="item.documentStaus.code != 2 ? true : false" -->
</el-col>
<el-col :span="24">
<!-- <el-col :span="24">
<div class="flex-row-center align-items-center height-40">
<span class="tabs__search-criteria-title flex-shrink-0 pr-16" style="width:100px">签字有效时间</span>
<el-select v-model="ObjectInfo.deadNum" size="small"
@ -31,7 +31,7 @@
<el-option label="5天" value="5"></el-option>
</el-select>
</div>
</el-col>
</el-col> -->
</el-row>
</el-collapse-transition>
</div>

View File

@ -328,11 +328,11 @@ const caseManagementApi = {
},
// 今日呼叫统计
callingTodayCount: data => {
return service.service.post(`${apiAdmin}api/trace/calling/todayCount`, data)
return service.service.post(`${apiAdmin}api/trace/calling/todayCount`, data, {hideLoading:true})
},
// 当前调解员案件列表
callingCaseList: data => {
return service.service.post(`${apiAdmin}api/trace/calling/caseList`, data)
return service.service.post(`${apiAdmin}api/trace/calling/caseList`, data, {hideLoading:true})
},

View File

@ -6,7 +6,7 @@ const systemLogApi = {
//========================start::用户管理======================================
// 用户管理
getUserList: data => {
return service.service.post(`${apiAdmin}system/user/getUserList`, data)
return service.service.post(`${apiAdmin}system/user/getUserList`, data, {hideLoading:true})
},
// 删除用户管理
deleteUserById: data => {

View File

@ -19,7 +19,7 @@ const api = {
},
// 呼叫未接列表
notAnswerList: data => {
return service.service.post(`${apiAdmin}call/notAnswerList`, data)
return service.service.post(`${apiAdmin}call/notAnswerList`, data,{hideLoading:true})
},
}
export default api;

View File

@ -2,7 +2,7 @@
/* 防止重复点击 */
let clickTimer = 0
function clickThrottle(interval = 1500) {
function clickThrottle(interval = 500) {
let now = +new Date(); // 获取当前时间的时间戳
let timer = clickTimer; // 记录触发事件的事件戳