This commit is contained in:
张运江 2025-03-03 17:13:09 +08:00
commit da149c0e1f
27 changed files with 73 additions and 49 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -836,7 +836,7 @@ html{
border-radius: 3px;
margin: 0 5px;
}
// 调解进度 承诺客户重点客户
// 调解进度进度标签 承诺客户重点客户
.case-status0{
background-color: #ecf5ff;
border-color: #d9ecff;

View File

@ -11,6 +11,8 @@
<img v-if="fileType == 'image'" :src="`${fileObj.fullUrl}`" />
<video v-else-if="fileType == 'video'" width="100%" height="100%" :src="`${fileObj.fullUrl}`" preload="auto" autoplay="autoplay"
controls="" controlsList="nodownload noremote footbar"></video>
<video v-else-if="fileType == 'audio'" width="100%" :src="`${fileObj.fullUrl}`" preload="auto" autoplay="autoplay"
controls="" controlsList="nodownload noremote footbar"></video>
<iframe v-else :src="`${fileObj.fullUrl}`" frameborder="0" width="100%" height="100%"></iframe>
</div>

View File

@ -8,7 +8,7 @@
:show-file-list="false"
:http-request="httpRequest">
<div class="upload-file">
<i class="el-icon-plus uploader-file-icon"></i>上传模板
<i class="el-icon-plus uploader-file-icon"></i>上传文件
</div>
</el-upload>
<!-- <div class="f12 text-center color-text-regular line-height-20">{{uploadName}}</div> -->

View File

@ -14,7 +14,11 @@
<el-table-column type="index" label="序号" width="55"></el-table-column>
<el-table-column label="外呼/呼入类型" show-overflow-tooltip >
<template slot-scope="scope">
<span >{{ scope.row.callWay == 1 ? '呼出':'呼入' }}</span>
<span >{{ scope.row.callWay == 1 ? '呼入':'呼出' }}</span>
<!-- incoming(1, "来电"),
outgoing(2, "去电"),
video(3, "视频"); -->
</template>
</el-table-column>
<el-table-column label="呼叫对象" width="300" show-overflow-tooltip >

View File

@ -46,7 +46,9 @@
<officeWriteDialog v-if="activeName == '5'" :eventTraDialog="eventTraDialog" />
<!-- 文书送达追踪明细 -->
<officeDeliveryDialogDetail v-if="activeName == '6'" :DialogDetail="eventTraDialog" />
<!-- <officeDeliveryDialogDetail v-if="activeName == '6'" :DialogDetail="eventTraDialog" /> -->
<officeDeliveryDialog v-if="activeName == '6'" :eventTraDialog="eventTraDialog" />
<!-- 还款计划 -->
<!-- <RepaymentDialog v-if="activeName == '7'" :eventTraDialog.sync="repaymentDialog" /> -->
<!-- eventDialog:{caseId:this.$route.query.caseId}, -->
@ -75,7 +77,9 @@ import api from "@/services/caseManagement";
CalllogDialog: () => import('./CalllogDialog.vue'),//
voideDialog: () => import('../../event-tracing/components/voideDialog.vue'),//
officeDeliveryDialog: () => import('../../event-tracing/components/officeDeliveryDialog.vue'),//
officeDeliveryDialogDetail: () => import('../../event-tracing/dtraceDetail/officeDeliveryDialogDetail.vue'),//
officeDialogDetail: () => import('../../event-tracing/dtraceDetail/officeDialogDetail.vue'),//
officeWDialogDetail: () => import('../../event-tracing/dtraceDetail/officeWDialogDetail.vue'),//
officeWriteDialog: () => import('../../event-tracing/components/officeWriteDialog.vue'),//

View File

@ -99,7 +99,7 @@
<!-- {{$util.getTelephoneTypeData(scope.row.linkedSituation).label}} -->
</template>
</el-table-column>
<el-table-column label="调解进度" width="140">
<el-table-column label="进度标签" width="140">
<template slot-scope="scope">
{{scope.row.mediateStatus != null ? materialTypeOptions.find(item => item.value == scope.row.mediateStatus).label : ''}}
<!-- {{ materialTypeOptions.find(item => item.value == scope.row.mediateStatus).label }} -->
@ -368,14 +368,16 @@
<el-table-column label="是否签章" show-overflow-tooltip>
<template slot-scope="scope">
<div class="flex-row align-items-center">
<span>{{ scope.row.sealStatus == null ? '否':'是' }}</span>
<span v-if="scope.row.sealStatus == null "></span>
<span v-else class="color-48b928"></span>
</div>
</template>
</el-table-column>
<el-table-column label="是否完成签字" show-overflow-tooltip>
<template slot-scope="scope">
<div class="flex-row align-items-center">
<span>{{ (scope.row.signStatus != null && scope.row.signStatus.code == 3) ? '是':'否' }}</span>
<span v-if="scope.row.signStatus != null && scope.row.signStatus.code == 3" class="color-48b928"></span>
<span v-else></span>
</div>
</template>
</el-table-column>

View File

@ -3,8 +3,7 @@
<div class="navigation-bar flex-row mb-16">
<img src="../../assets/image/Link.png" height="22" alt="">
<a>/</a>
<a>案件包列表</a><a>/</a>
<a>案件列表</a>
<a class="f16">案件列表</a>
</div>
<div class="layout-tabs-content-box background-color-fff border-radius-4">
<div class="pt-8 border-b-solid-lighter-1">
@ -101,9 +100,9 @@
</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>
<span class="tabs__search-criteria-title flex-shrink-0 pr-16">进度标签</span>
<el-select v-model="queryParam.mediateRecordStatus"
clearable placeholder="请选择调解进度"
clearable placeholder="请选择进度标签"
@keydown.enter.native="handleSearch"
:multiple="true" :multiple-limit="3"
class="width100">
@ -375,7 +374,7 @@ import { values } from "lodash";
CaseStatusEnum:[{label:'在办',value:1},{label:'办结',value:2}],
//
PartCaseStatusEnum:[{label:'待分案',value:false},{label:'已分案',value:true}],
//
//
MediateProgEnum:this.$util.getMediationprogress(),
//
MediateStatusEnum:this.$util.getMediationType(),

View File

@ -3,7 +3,7 @@
<div class="navigation-bar flex-row mb-16">
<img src="../../assets/image/Link.png" height="22" alt="">
<a>/</a>
<a>案件包列表</a>
<a class="f16">案件包列表</a>
</div>
<div class="layout-tabs-content-box background-color-fff border-radius-4">

View File

@ -19,7 +19,7 @@
<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.caseNo"
<el-input v-model.trim="queryParam.caseNo" :disabled="queryParam.caseId != undefined ? true:false"
clearable placeholder="请输入案件编号"
@keydown.enter.native="handleSearch">
</el-input>
@ -152,6 +152,9 @@ import api from "@/services/eventTracingApi";
methods: {
initializeQuery(){
this.queryParam.caseNo = this.eventTraDialog.caseNo
if (this.eventTraDialog.caseId != undefined && this.eventTraDialog.caseId != '') {
this.queryParam.caseId = this.eventTraDialog.caseId
}
},
handleChangeDate() {
this.activeUsage = ''

View File

@ -1,13 +1,13 @@
<template>
<div>
<div class="layout-header-wrap flex-row">
<div class="layou-header-left-box flex-row align-items-center" style="width: 300px;">
<div class="layou-header-left-box flex-row align-items-center" style="width: 400px;">
<div class="flex-row">
<img src="../../../assets/image/header-logo1.png" height="30" alt="">
<span class="f20 color-fff ml-8">金桥云调</span>
</div>
<el-divider direction="vertical"></el-divider>
<span class="f20 color-fff ">互联网民调解</span>
<span class="f20 color-fff ">互联网商事案件调解平台</span>
</div>
<div class="layou-header-left-box flex-row align-items-center">
@ -468,7 +468,7 @@ export default {
// background: url('~@/assets/image/header-bg-1920.png') no-repeat ;
background-size: cover;
// background-color: #C66A5B;
background-color: #5d7eeac7;
background-color: #5dafeac7;
.el-badge__content {
height: $height20;

View File

@ -4,7 +4,7 @@
<div class="navigation-bar flex-row mb-16">
<img src="../../assets/image/Link.png" height="22" alt="">
<a>/</a>
<a>调解管理</a>
<a class="f16">调解管理</a>
</div>
@ -115,9 +115,9 @@
<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>
<span class="tabs__search-criteria-title flex-shrink-0 pr-16">进度标签</span>
<el-select v-model="queryParam.mediateRecordStatus"
clearable placeholder="请选择调解进度"
clearable placeholder="请选择进度标签"
@keydown.enter.native="handleSearch"
:multiple="true" :multiple-limit="3"
class="width100">
@ -405,7 +405,7 @@ import { values } from "lodash";
CaseStatusEnum:[{label:'在办',value:1},{label:'办结',value:2}],
//
PartCaseStatusEnum:[{label:'待分案',value:false},{label:'已分案',value:true}],
//
//
MediateProgEnum:this.$util.getMediationprogress(),
//
MediateStatusEnum:this.$util.getMediationType(),
@ -461,7 +461,6 @@ import { values } from "lodash";
//
selectionData: {
handler(v) {
console.log(this.enabledDataList,'this.enabledDataList')
if (this.enabledDataList.length) {
let checkedCount = v.length;
this.isCheck = checkedCount === this.enabledDataList.length;

View File

@ -3,7 +3,7 @@
<div class="navigation-bar flex-row mb-16">
<img src="../../assets/image/Link.png" height="22" alt="">
<a>/</a>
<a>案件包列表</a>
<a class="f16">案件包列表</a>
</div>
<div class="layout-tabs-content-box background-color-fff border-radius-4">

View File

@ -48,7 +48,7 @@
<img v-if="baseInfo.mediateStatus == 6" src="../../../assets/image/mediate/mediatefail.png" />
<img v-if="baseInfo.mediateStatus == 5" src="../../../assets/image/mediate/mediatesuccess.png" />
</div>
<div class="f16 f-weight600 descriptions-t-title">基本信息</div>
<div class="f22 f-weight600 descriptions-t-title">基本信息</div>
<div class="flex-row descriptions-t-item">
<div class="descriptions-t-item-l color-86909C">案件包名称:</div>
<div class="descriptions-t-item-r" v-if="caseInfo.casePkg != undefined">{{caseInfo.casePkg.pkgName}}</div>
@ -110,7 +110,7 @@
</div>
<div class="descriptions-t mt-16">
<div class="f16 f-weight600 descriptions-t-title">债务信息</div>
<div class="f22 f-weight600 descriptions-t-title">债务信息</div>
<div class="flex-row descriptions-t-item">
<div class="descriptions-t-item-l color-86909C">当前逾期金额:</div>
<div class="descriptions-t-item-r color-F53F3F">{{caseInfo.fields.find(item => item.fieldKey == 'moneyAmount').fieldValue}}</div>
@ -124,7 +124,7 @@
</div>
<div class="descriptions-t mt-16">
<div class="f16 f-weight600 descriptions-t-title">案件信息</div>
<div class="f22 f-weight600 descriptions-t-title">案件信息</div>
<div class="flex-row descriptions-t-item">
<div class="descriptions-t-item-l color-86909C">案件包名称:</div>
<div class="descriptions-t-item-r" v-if="caseInfo.casePkg != undefined">{{caseInfo.casePkg.pkgName}}</div>
@ -147,7 +147,7 @@
</div>
</div>
<div class="descriptions-t mt-16">
<div class="f16 f-weight600 descriptions-t-title">代理人信息</div>
<div class="f22 f-weight600 descriptions-t-title">代理人信息</div>
<div v-for="(item,index) in AgentData" :key="index">
<div class="flex-row descriptions-t-item">
<div class="descriptions-t-item-l color-86909C">姓名:</div>
@ -228,6 +228,7 @@
<el-option label="全部沟通" value=""></el-option>
<el-option label="电话沟通" value="1"></el-option>
<el-option label="视频沟通" value="2"></el-option>
<el-option label="微信沟通" value="3"></el-option>
</el-select>
<span>
<el-button plain icon="el-icon-plus" @click="visiblemediatRecord = true;visiblemediatRecordObj = null">新增沟通记录</el-button>
@ -261,9 +262,9 @@
</div>
<!-- 电话 -->
<div class="text-center icon-bg icon-phone" v-if="itemrecord.linkedWay == 1">
<i v-if="itemrecord.callWay == 1 || itemrecord.callWay == null" class="callphone-icon"></i>
<i v-if="itemrecord.callWay == 0 && itemrecord.linkedSituation != 1" class="callbackphone-icon"></i>
<i v-if="itemrecord.callWay == 0 && itemrecord.linkedSituation == 1" class="nocallphone-icon"></i>
<i v-if="itemrecord.callWay == 2 || itemrecord.callWay == null" class="callphone-icon"></i>
<i v-if="itemrecord.callWay == 1 && itemrecord.linkedSituation != 1" class="callbackphone-icon"></i>
<i v-if="itemrecord.callWay == 1 && itemrecord.linkedSituation == 1" class="nocallphone-icon"></i>
</div>
<span v-if="itemrecord.linkedWay == 1 && itemrecord.linkedSituation != null" class="case-lable">
<a :class="'case-status'+ $util.getTelephoneTypeData(itemrecord.linkedSituation).key">{{$util.getTelephoneTypeData(itemrecord.linkedSituation).label}}</a>

View File

@ -67,7 +67,7 @@
placeholder="请输入内容" v-model="mrObj.communicationRemarks" maxlength="100">
</el-input>
</div>
<span class="f16 f-weight500 mt-8">调解进度</span>
<span class="f16 f-weight500 mt-8">进度标签</span>
<div class="mt-8 mr—schedule">
<span :class="mrObj.mediateStatus == item.value ? 'active':''" v-for="(item,index) in materialTypeOptions" :key="index" @click="mrObj.mediateStatus = item.value">{{item.label}}</span>
</div>

View File

@ -722,10 +722,16 @@ export default {
callingQueue() {
api.callingQueue({}).then(res => {
this.queueList = res.queue || []
this.caseId = String(res.queue[0].caseId) || ''
let nocalllist = res.queue.filter(item =>{return item.status.code == 1})
// scope.row.status.code === 1
this.caseId = String(nocalllist[0].caseId) || ''
this.queueList.forEach((item,index) =>{
if(item.caseId == this.caseId){this.index = index}
})
this.getCaseInfoById()
})
},
//
startCall () {
if (!this.$clickThrottle(1000)) {
return
@ -834,12 +840,15 @@ export default {
const that = this
that.index ++
setTimeout(() => {
if(!that.isPause)
{
if (that.index <= that.queueList.length - 1) {
that.caseId = String(that.queueList[that.index].caseId) || ''
that.getCaseInfoById()
console.log('将会自动拨打下一个会话====',that.queueList[that.index])
that.startOutboundCall({phone:that.queueList[that.index].phone,contactId:that.queueList[that.index].contactId,queueName:this.queueList[that.index].queueName})
that.startOutboundCall({phone:that.queueList[that.index].phone,contactId:that.queueList[that.index].contactId,queueName:that.queueList[that.index].queueName})
}
}
}, 5000)
},
//

View File

@ -1,7 +1,7 @@
<template>
<div class="case-repayment-certificate">
<div class="mb-16 flex-row justify-content-between">
<span class="f-weight500 f18">还款凭证</span>
<span class="f-weight500 f22">还款凭证</span>
<span class="cursor-pointer" @click="AddFlag = true;repaymentObj = {mediaPath:[]}"><i class="el-icon-plus"></i> 添加还款凭证</span>
</div>
<div v-if="AddFlag" class="case-detail-des flex-column mb-16 p-16 border-radius-8">

View File

@ -1,7 +1,7 @@
<template>
<div class="case-repayment-certificate">
<div class="mb-16 flex-row justify-content-between">
<span class="f-weight500 f18">还款计划</span>
<span class="f-weight500 f22">还款计划</span>
<span class="cursor-pointer" v-if="planList.length == 0" @click="updateFlag = true"><i class="el-icon-plus"></i> 添加还款计划</span>
<span class="cursor-pointer" v-else @click="UpdatePlanClick"><i class="el-icon-plus"></i> 编辑还款计划</span>
</div>

View File

@ -30,9 +30,9 @@
</div>
<!-- 电话 -->
<div class="text-center icon-bg icon-phone" v-if="itemrecord.linkedWay == 1">
<i v-if="itemrecord.callWay == 1 || itemrecord.callWay == null" class="callphone-icon"></i>
<i v-if="itemrecord.callWay == 0 && itemrecord.linkedSituation != 1" class="callbackphone-icon"></i>
<i v-if="itemrecord.callWay == 0 && itemrecord.linkedSituation == 1" class="nocallphone-icon"></i>
<i v-if="itemrecord.callWay == 2 || itemrecord.callWay == null" class="callphone-icon"></i>
<i v-if="itemrecord.callWay == 1 && itemrecord.linkedSituation != 1" class="callbackphone-icon"></i>
<i v-if="itemrecord.callWay == 1 && itemrecord.linkedSituation == 1" class="nocallphone-icon"></i>
</div>
</div>
<!-- <span class="cursor-pointer"><i class="ml-8 f14 el-icon-edit"></i></span> -->
@ -131,7 +131,7 @@
</div>
<!-- 视频 -->
<div v-if="itemrecord.linkedWay == 2" 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 : ''}}

View File

@ -1,7 +1,7 @@
<template>
<div>
<div class="mb-16 flex-row justify-content-between">
<span class="f-weight500 f18">案件材料</span>
<span class="f-weight500 f22">案件材料</span>
<span class="cursor-pointer" @click="caseFileVisible={caseId:caseId}">
<i class="el-icon-plus"></i> 上传案件材料
</span>

View File

@ -1,7 +1,7 @@
<template>
<div>
<div class="mb-16 flex-row justify-content-between">
<span class="f-weight500 f18">案件文书</span>
<span class="f-weight500 f22">案件文书</span>
<div class="case-office-btn">
<span v-if="tableData.find(item =>{ return (item.documentStaus.code == 2 && item.signStatus != null && item.signStatus.code != 1 && item.signStatus.code != 3) })" class="cursor-pointer border-E5E6EB" @click="CancelSignatureClick"><i class="el-icon-edit-outline"></i> 撤销签字</span>

View File

@ -1,7 +1,7 @@
<template>
<div>
<div class="mb-16 flex-row justify-content-between">
<span class="f-weight500 f18">联系人信息</span>
<span class="f-weight500 f22">联系人信息</span>
<span class="cursor-pointer color-274ea4" v-if="personnelTypeActive !== '申请人'" @click="handleContactAdd">
<i class="el-icon-plus"></i> 添加联系人
</span>

View File

@ -85,7 +85,7 @@
</div>
<div class="right-wrap-left-content">
<div class="hx-1-content" v-if="rightActive == 1">
<div class="f12 pl-16 pt-16 pb-6">人物画像</div>
<div class="f12 pl-16 pt-16 pb-6">被申请人 <a class="f16">{{portraitInfo.name}}</a> </div>
<el-scrollbar :style="'height:'+`${CommunicationcontentHeight}`+'px'">
<div class="p-16" :class="(portraitInfo.gender == 'male'||portraitInfo.gender == '') ? 'personghximg':'personghximgw'">
<!-- 基本信息 -->
@ -668,19 +668,20 @@ export default {
font-size: 12px;
}
.character-info-details{
margin-bottom: 2px;
margin-bottom: 5px;
font-size: 10px;
.character-info-details-label{
width: 40%;
text-align: right;
line-height: 16px;
padding-right: 4px;
// padding-right: 4px;
padding: 2px 4px 2px 0px;
}
.character-info-details-text{
width: 60%;
text-align: left;
line-height: 16px;
padding-left: 4px;
padding: 2px 0px 2px 4px;
}
}
}

View File

@ -3,7 +3,7 @@
<div class="navigation-bar flex-row mb-16">
<img src="../../assets/image/Link.png" height="22" alt="">
<a>/</a>
<a>还款凭证</a>
<a class="f16">还款凭证</a>
</div>
<div class="layout-tabs-content-box background-color-fff border-radius-4">
<div class="pt-8 border-b-solid-lighter-1">

View File

@ -25,7 +25,7 @@
const service = axios.create({
// baseURL: projectConfig.netHost,
// baseURL: 'https://lz.dev.trydotec.com:8416/miniapp',
timeout: 30000,
timeout: 60000,
});
// 请求拦截器

View File

@ -462,7 +462,7 @@ const util = {
}
},
/**
* 调解进度枚举
* 调解进度枚举 进度标签
*/
getMediationprogress() {
return [