This commit is contained in:
张运江 2025-01-20 15:59:32 +08:00
commit 58d24c5434
14 changed files with 65 additions and 55 deletions

View File

@ -90,7 +90,7 @@
</div> </div>
<div v-else class="flex-row justify-content-between align-items-center p-16 big-bottom-empty"> <div v-else class="flex-row justify-content-between align-items-center p-16 big-bottom-empty">
<div class="color-FF7D00"><i class="el-icon-warning f16 color-FF7D00"></i>未找到相关案件</div> <div class="color-FF7D00"><i class="el-icon-warning f16 color-FF7D00"></i>未找到相关案件</div>
<div class="color-4E5969 flex-row align-items-center cursor-pointer"> <div class="color-4E5969 flex-row align-items-center cursor-pointer" @click="handleMarkers">
<svg-icon icon-class="bmld" className="tabs-svg-bmld" /> <svg-icon icon-class="bmld" className="tabs-svg-bmld" />
<span>标记为不明来电</span> <span>标记为不明来电</span>
</div> </div>
@ -181,13 +181,15 @@ export default {
} }
}, },
// //
async handleMarkers(item) { async handleMarkers() {
try { try {
// voiceCall.caseMatchList(this.queryParam).then(res => { let jsonData = {
// if (!res.code) { callingSessionId: this.acceptDialog.sessionId,
// this.tableData = res; phone: this.incomingCallPhone,
// } }
// }) voiceCall.markUnknow(jsonData).then(res => {
this.$message.success('标记成功!')
})
} catch (error) { } catch (error) {
console.error(`${error}`) console.error(`${error}`)
} }

View File

@ -295,7 +295,7 @@
</span> </span>
<span class="cursor-pointer" @click="CaseTraceDialog = {activeName:'5',title:'文书签字记录',caseNo:scope.row.caseNo,caseId:scope.row.id}"> <span class="cursor-pointer" @click="CaseTraceDialog = {activeName:'5',title:'文书签字记录',caseNo:scope.row.caseNo,caseId:scope.row.id}">
<p>文书签字</p> <p>文书签字</p>
<p class="color-000"><a class="color-274ea4">成功{{scope.row.statistics.sign.success}}</a>/发起{{scope.row.statistics.sign.launch}}</p> <p class="color-000"><a class="color-274ea4">成功{{scope.row.statistics.sign.success}}</a>/发起{{scope.row.statistics.sign.total}}</p>
</span> </span>
<span class="cursor-pointer" @click="CaseTraceDialog = {activeName:'6',title:'文书送达记录',caseNo:scope.row.caseNo,caseId:scope.row.id}"> <span class="cursor-pointer" @click="CaseTraceDialog = {activeName:'6',title:'文书送达记录',caseNo:scope.row.caseNo,caseId:scope.row.id}">
<p>文书送达</p> <p>文书送达</p>

View File

@ -310,7 +310,7 @@
</span> </span>
<span class="cursor-pointer" @click="CaseTraceDialog = {activeName:'5',title:'文书签字记录',caseNo:scope.row.caseNo,caseId:scope.row.id}"> <span class="cursor-pointer" @click="CaseTraceDialog = {activeName:'5',title:'文书签字记录',caseNo:scope.row.caseNo,caseId:scope.row.id}">
<p>文书签字</p> <p>文书签字</p>
<p class="color-000"><a class="color-274ea4">成功{{scope.row.statistics.sign.success}}</a>/发起{{scope.row.statistics.sign.launch}}</p> <p class="color-000"><a class="color-274ea4">成功{{scope.row.statistics.sign.success}}</a>/发起{{scope.row.statistics.sign.total == undefined ? 0 : scope.row.statistics.sign.total}}</p>
</span> </span>
<span class="cursor-pointer" @click="CaseTraceDialog = {activeName:'6',title:'文书送达记录',caseNo:scope.row.caseNo,caseId:scope.row.id}"> <span class="cursor-pointer" @click="CaseTraceDialog = {activeName:'6',title:'文书送达记录',caseNo:scope.row.caseNo,caseId:scope.row.id}">
<p>文书送达</p> <p>文书送达</p>

View File

@ -10,31 +10,31 @@
</span> </span>
<span class="separation"></span> <span class="separation"></span>
<span class="left-img-info flex-column" :class="leftActive == 1 ?'active':''" @click="leftActive = 1"> <span class="left-img-info flex-column" :class="leftActive == 1 ?'active':''" @mouseenter="leftActive = 1">
<img src="../../../assets/image/mediate/m-info1.png"/> <img src="../../../assets/image/mediate/m-info1.png"/>
<a>基本信息</a> <a>基本信息</a>
</span> </span>
<span class="left-img-info flex-column" :class="leftActive == 8 ?'active':''" @click="leftActive = 8"> <span class="left-img-info flex-column" v-if="baseInfo.jointDebt == 1" :class="leftActive == 8 ?'active':''" @mouseenter="leftActive = 8">
<img src="../../../assets/image/mediate/m-info8.png"/> <img src="../../../assets/image/mediate/m-info8.png"/>
<a>共债</a> <a>共债</a>
</span> </span>
<span class="left-img-info flex-column" :class="leftActive == 2 ?'active':''" @click="leftActive = 2"> <span class="left-img-info flex-column" :class="leftActive == 2 ?'active':''" @mouseenter="leftActive = 2">
<img src="../../../assets/image/mediate/m-info2.png"/> <img src="../../../assets/image/mediate/m-info2.png"/>
<a>联系人</a> <a>联系人</a>
</span> </span>
<span class="left-img-info flex-column" :class="leftActive == 3 ?'active':''" @click="leftActive = 3"> <span class="left-img-info flex-column" :class="leftActive == 3 ?'active':''" @mouseenter="leftActive = 3">
<img src="../../../assets/image/mediate/m-info3.png"/> <img src="../../../assets/image/mediate/m-info3.png"/>
<a>案件材料</a> <a>案件材料</a>
</span> </span>
<span class="left-img-info flex-column" :class="leftActive == 4 ?'active':''" @click="leftActive = 4"> <span class="left-img-info flex-column" :class="leftActive == 4 ?'active':''" @mouseenter="leftActive = 4">
<img src="../../../assets/image/mediate/m-info4.png"/> <img src="../../../assets/image/mediate/m-info4.png"/>
<a>案件文书</a> <a>案件文书</a>
</span> </span>
<span class="left-img-info flex-column" :class="leftActive == 5 ?'active':''" @click="leftActive = 5"> <span class="left-img-info flex-column" :class="leftActive == 5 ?'active':''" @mouseenter="leftActive = 5">
<img src="../../../assets/image/mediate/m-info5.png"/> <img src="../../../assets/image/mediate/m-info5.png"/>
<a>还款计划</a> <a>还款计划</a>
</span> </span>
<span class="left-img-info flex-column" :class="leftActive == 6 ?'active':''" @click="leftActive = 6"> <span class="left-img-info flex-column" :class="leftActive == 6 ?'active':''" @mouseenter="leftActive = 6">
<img src="../../../assets/image/mediate/m-info6.png"/> <img src="../../../assets/image/mediate/m-info6.png"/>
<a>还款凭证</a> <a>还款凭证</a>
</span> </span>

View File

@ -546,7 +546,7 @@ export default {
handleChangeMediation(resultStatus){ handleChangeMediation(resultStatus){
let data={ let data={
id:this.caseId, id:this.caseId,
resultStatus:resultStatus mediateStatus:resultStatus
} }
let resultmsg = '成功' let resultmsg = '成功'
if(resultStatus == 4){resultmsg = '失败'} if(resultStatus == 4){resultmsg = '失败'}

View File

@ -17,7 +17,7 @@
class="demo-ruleForm"> class="demo-ruleForm">
<el-row type="flex" align="middle"> <el-row type="flex" align="middle">
<el-col :span="24"> <el-col :span="24">
<el-form-item label="区域名称" prop="name"> <el-form-item label="团队名称" prop="name">
<el-input <el-input
v-model.trim="deptInfo.name" v-model.trim="deptInfo.name"
placeholder="请输入" maxlength="20" placeholder="请输入" maxlength="20"
@ -28,7 +28,7 @@
</el-row> </el-row>
<el-row type="flex" align="middle"> <el-row type="flex" align="middle">
<el-col :span="24"> <el-col :span="24">
<el-form-item label="区域描述" prop="remark"> <el-form-item label="团队描述" prop="remark">
<el-input <el-input
type="textarea" type="textarea"
:rows="3" :rows="3"
@ -38,9 +38,9 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row type="flex" align="middle"> <el-row v-if="Object.keys(this.addOrEditAreaConfig.data).length>0" type="flex" align="middle">
<el-col :span="24"> <el-col :span="24">
<el-form-item label="区域负责人" prop="remark"> <el-form-item label="团队负责人" prop="remark">
<el-select v-model="deptInfo.directorIds" multiple placeholder="请选择" class="width100" :multiple-limit="5"> <el-select v-model="deptInfo.directorIds" multiple placeholder="请选择" class="width100" :multiple-limit="5">
<el-option <el-option
v-for="item in usersOptions" v-for="item in usersOptions"
@ -124,7 +124,7 @@ import systemManageApi from "@/services/systemManage";
}, },
getUserList(val){ getUserList(val){
if(val!=undefined){this.queryData.current = val} if(val!=undefined){this.queryData.current = val}
systemManageApi.getUserList({current: 1,size: 500,}).then(res => { systemManageApi.getUserList({current: 1,size: 500,deptId:this.addOrEditAreaConfig.data.id}).then(res => {
if (!res.code) { if (!res.code) {
this.usersOptions = res.records; this.usersOptions = res.records;
} }

View File

@ -17,7 +17,7 @@
class="demo-ruleForm"> class="demo-ruleForm">
<el-row type="flex" align="middle"> <el-row type="flex" align="middle">
<el-col :span="24"> <el-col :span="24">
<el-form-item label="部门名称" prop="name"> <el-form-item label="团队名称" prop="name">
<el-input <el-input
v-model.trim="deptInfo.name" v-model.trim="deptInfo.name"
placeholder="请输入" maxlength="20" placeholder="请输入" maxlength="20"
@ -28,7 +28,7 @@
</el-row> </el-row>
<el-row type="flex" align="middle"> <el-row type="flex" align="middle">
<el-col :span="24"> <el-col :span="24">
<el-form-item label="部门描述" prop="remark"> <el-form-item label="团队描述" prop="remark">
<el-input <el-input
type="textarea" type="textarea"
:rows="3" :rows="3"
@ -38,7 +38,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row type="flex" align="middle"> <el-row v-if="Object.keys(this.addOrEditDeptConfig.data).length>0 && this.addOrEditDeptConfig.data.pid != 0" type="flex" align="middle">
<el-col :span="24"> <el-col :span="24">
<el-form-item label="区域负责人" prop="remark"> <el-form-item label="区域负责人" prop="remark">
<el-select v-model="deptInfo.directorIds" multiple placeholder="请选择" class="width100" :multiple-limit="5"> <el-select v-model="deptInfo.directorIds" multiple placeholder="请选择" class="width100" :multiple-limit="5">
@ -81,18 +81,18 @@ import systemManageApi from "@/services/systemManage";
data() { data() {
return { return {
deptInfo:{ deptInfo:{
pid:this.addOrEditDeptConfig.data.id,//1 pid:this.addOrEditDeptConfig.data.id,//1
name:'',// name:'',//
remark:'',// remark:'',//
companyId:this.$store.state.userinfo.companyId,//id 0 companyId:this.$store.state.userinfo.companyId,//id 0
directorId:[] directorId:[]
}, },
rulesClient: { rulesClient: {
name: [ name: [
{ required: true, message: '请输入部门名称', trigger: 'change',}, { required: true, message: '请输入团队名称', trigger: 'change',},
], ],
remark: [ remark: [
{ required: false, message: '请输入部门描述', trigger: 'change',}, { required: false, message: '请输入团队描述', trigger: 'change',},
], ],
}, },
usersOptions:[] usersOptions:[]
@ -100,7 +100,7 @@ import systemManageApi from "@/services/systemManage";
}; };
}, },
async created() { async created() {
// //
if(Object.keys(this.addOrEditDeptConfig.data).length>0 && this.addOrEditDeptConfig.data.pid != 0){ if(Object.keys(this.addOrEditDeptConfig.data).length>0 && this.addOrEditDeptConfig.data.pid != 0){
this.getDeptById() this.getDeptById()
} }
@ -125,7 +125,7 @@ import systemManageApi from "@/services/systemManage";
}, },
getUserList(val){ getUserList(val){
if(val!=undefined){this.queryData.current = val} if(val!=undefined){this.queryData.current = val}
systemManageApi.getUserList({current: 1,size: 500,}).then(res => { systemManageApi.getUserList({current: 1,size: 500,deptId:this.addOrEditDeptConfig.data.id}).then(res => {
if (!res.code) { if (!res.code) {
this.usersOptions = res.records; this.usersOptions = res.records;
} }
@ -144,7 +144,7 @@ import systemManageApi from "@/services/systemManage";
systemManageApi.updateDeptById(_this.deptInfo).then(res => { systemManageApi.updateDeptById(_this.deptInfo).then(res => {
this.$message({ this.$message({
showClose: true, showClose: true,
message: '编辑部门成功!', message: '编辑团队成功!',
type: 'success' type: 'success'
}); });
this.$parent.getDeptList(1,this.addOrEditDeptConfig.data.pid) this.$parent.getDeptList(1,this.addOrEditDeptConfig.data.pid)
@ -156,7 +156,7 @@ import systemManageApi from "@/services/systemManage";
systemManageApi.addDept(_this.deptInfo).then(res => { systemManageApi.addDept(_this.deptInfo).then(res => {
this.$message({ this.$message({
showClose: true, showClose: true,
message: '新增部门成功!', message: '新增团队成功!',
type: 'success' type: 'success'
}); });
this.$parent.getDeptList(1,this.addOrEditDeptConfig.data.id) this.$parent.getDeptList(1,this.addOrEditDeptConfig.data.id)

View File

@ -16,7 +16,7 @@
> >
</el-input> </el-input>
</div> </div>
<el-button type="primary" @click="handleAddForm" size="small">新增区域</el-button> <el-button type="primary" @click="handleAddForm" size="small">新增团队</el-button>
</div> </div>
</div> </div>
</div> </div>
@ -32,7 +32,7 @@
:tree-props="{children: 'children', hasChildren: 'hasChildren'}" :tree-props="{children: 'children', hasChildren: 'hasChildren'}"
> >
<el-table-column prop="name" label="团队名称" width="250"></el-table-column> <el-table-column prop="name" label="团队名称" width="250"></el-table-column>
<el-table-column label="区域负责人"> <el-table-column label="团队负责人">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="flex-row"> <div class="flex-row">
{{ListToString(scope.row.masterName)}} {{ListToString(scope.row.masterName)}}
@ -51,9 +51,9 @@
<el-table-column label="操作" width="190"> <el-table-column label="操作" width="190">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="flex-row"> <div class="flex-row">
<div class="f14 color-1960F4 cursor-pointer mr-8" v-if="scope.row.pid == 0" @click="handleAddDeptForm(scope)">添加部门</div> <div class="f14 color-1960F4 cursor-pointer mr-8" v-if="scope.row.pid == 0" @click="handleAddDeptForm(scope,1)">添加团队</div>
<div class="f14 color-1960F4 cursor-pointer mr-8" v-if="scope.row.pid == 0" @click="handleAddForm(scope)">编辑</div> <div class="f14 color-1960F4 cursor-pointer mr-8" v-if="scope.row.pid == 0" @click="handleAddForm(scope)">编辑</div>
<div class="f14 color-1960F4 cursor-pointer mr-8" v-else @click="handleAddDeptForm(scope)">编辑</div> <div class="f14 color-1960F4 cursor-pointer mr-8" v-else @click="handleAddDeptForm(scope,0)">编辑</div>
<div class="f14 color-1960F4 cursor-pointer" @click="handleDelete(scope)">删除</div> <div class="f14 color-1960F4 cursor-pointer" @click="handleDelete(scope)">删除</div>
</div> </div>
</template> </template>
@ -107,7 +107,7 @@
methods: { methods: {
// //
handleAddForm(scope){ handleAddForm(scope){
let title = scope.row?'编辑区域':'新增区域' let title = scope.row?'编辑团队':'新增团队'
let data = scope.row?scope.row:'' let data = scope.row?scope.row:''
this.addOrEditAreaConfig={ this.addOrEditAreaConfig={
title:title, title:title,
@ -115,8 +115,8 @@
} }
}, },
// //
handleAddDeptForm(scope){ handleAddDeptForm(scope,type){
let title = '新增部门' let title = type == 0?'编辑团队':'新增团队'
let data = scope.row let data = scope.row
this.addOrEditDeptConfig={ this.addOrEditDeptConfig={
title:title, title:title,

View File

@ -11,7 +11,7 @@
<span>案件进展情况</span> <span>案件进展情况</span>
<span> <span>
<el-select v-model="queryParamJZ.id" <el-select v-model="queryParamJZ.id"
clearable placeholder="请选择案件包" placeholder="请选择案件包"
class="width100" size="mini" @change="JZChange"> class="width100" size="mini" @change="JZChange">
<el-option <el-option
v-for="item in casePkOptions" v-for="item in casePkOptions"
@ -65,16 +65,16 @@
</div> </div>
<div class="case-follow-cont"> <div class="case-follow-cont">
<div class="donotfollowup1"> <div class="donotfollowup1">
<span class="flex-column cursor-pointer"><a class="f48">{{statisticCasesData.todayCasesToFollowUp}}</a><a class="f16">今日待跟进案件</a></span> <span class="flex-column cursor-pointer" @click="jumpUrl('/mediation-management')"><a class="f48">{{statisticCasesData.todayCasesToFollowUp}}</a><a class="f16">今日待跟进案件</a></span>
</div> </div>
<div class="donotfollowup2"> <div class="donotfollowup2">
<span class="flex-column cursor-pointer"><a class="f48">{{statisticCasesData.overThreeDaysUnfollowedCases}}</a><a class="f16">超3天未跟进案件</a></span> <span class="flex-column cursor-pointer" @click="jumpUrl('/mediation-management')"><a class="f48">{{statisticCasesData.overThreeDaysUnfollowedCases}}</a><a class="f16">超3天未跟进案件</a></span>
</div> </div>
<div class="donotfollowup3"> <div class="donotfollowup3">
<span class="flex-column cursor-pointer"><a class="f48">{{statisticCasesData.overFiveDaysUnfollowedCases}}</a><a class="f16">超5天未跟进案件</a></span> <span class="flex-column cursor-pointer" @click="jumpUrl('/mediation-management')"><a class="f48">{{statisticCasesData.overFiveDaysUnfollowedCases}}</a><a class="f16">超5天未跟进案件</a></span>
</div> </div>
<div class="donotfollowup4"> <div class="donotfollowup4">
<span class="flex-column cursor-pointer"><a class="f48">{{statisticCasesData.newUnfollowedCases}}</a><a class="f16">新案未跟进案件</a></span> <span class="flex-column cursor-pointer" @click="jumpUrl('/mediation-management')"><a class="f48">{{statisticCasesData.newUnfollowedCases}}</a><a class="f16">新案未跟进案件</a></span>
</div> </div>
</div> </div>
</div> </div>
@ -85,7 +85,7 @@
<div class="flex-row"> <div class="flex-row">
<span> <span>
<el-select v-model="queryParamCGL.id" <el-select v-model="queryParamCGL.id"
clearable placeholder="请选择案件包" placeholder="请选择案件包"
class="width100" size="mini" @change="SuccessRateChange"> class="width100" size="mini" @change="SuccessRateChange">
<el-option <el-option
v-for="item in casePkOptions" v-for="item in casePkOptions"

View File

@ -11,7 +11,7 @@
<span>案件进展情况</span> <span>案件进展情况</span>
<span> <span>
<el-select v-model="queryParamJZ.id" <el-select v-model="queryParamJZ.id"
clearable placeholder="请选择案件包" placeholder="请选择案件包"
class="width100" size="mini" @change="progressChange"> class="width100" size="mini" @change="progressChange">
<el-option <el-option
v-for="item in casePkOptions" v-for="item in casePkOptions"
@ -126,7 +126,7 @@
<div class="flex-row"> <div class="flex-row">
<span> <span>
<el-select v-model="queryParamCGL.id" <el-select v-model="queryParamCGL.id"
clearable placeholder="请选择案件包" placeholder="请选择案件包"
class="width100" size="mini" @change="SuccessRateChange"> class="width100" size="mini" @change="SuccessRateChange">
<el-option <el-option
v-for="item in casePkOptions" v-for="item in casePkOptions"

View File

@ -101,7 +101,7 @@ const caseManagementApi = {
// 回款计划列表,没有分页 // 回款计划列表,没有分页
getcase_payback_planlist: data => { getcase_payback_planlist: data => {
return service.service.post(`${apiAdmin}api/case_payback_plan/list`, data) return service.service.post(`${apiAdmin}api/case_payback_plan/list`, data, {hideLoading:true})
}, },
// 新增回款计划 // 新增回款计划
getcase_payback_save: data => { getcase_payback_save: data => {
@ -110,7 +110,7 @@ const caseManagementApi = {
// 还款凭证列表 // 还款凭证列表
gettraceProof_list: data => { gettraceProof_list: data => {
return service.service.post(`${apiAdmin}api/trace/traceProof/list`, data) return service.service.post(`${apiAdmin}api/trace/traceProof/list`, data,{hideLoading:true})
}, },
// 上传还款凭证 // 上传还款凭证
gettraceProof_create: data => { gettraceProof_create: data => {

View File

@ -4,7 +4,7 @@ const api = '/mediate/api/cases/caseFile/'
const apiCaseMaterial = { const apiCaseMaterial = {
// 列表 // 列表
getCaseFileList: data => { getCaseFileList: data => {
return service.service.post(`${api}getCaseFileList`, data) return service.service.post(`${api}getCaseFileList`, data, {hideLoading:true})
}, },
// 查询材料 // 查询材料
getCaseFileById: data => { getCaseFileById: data => {

View File

@ -16,21 +16,21 @@ const apiContactPerson = {
}, },
// 申请人-债券人 // 申请人-债券人
creditorPage: data => { creditorPage: data => {
return service.service.post(`${api}creditor/page`, data) return service.service.post(`${api}creditor/page`, data, {hideLoading:true})
}, },
creditorAdd: data => { creditorAdd: data => {
return service.service.post(`${api}creditor/add`, data) return service.service.post(`${api}creditor/add`, data)
}, },
// 被申请人-债务人 // 被申请人-债务人
debtorPage: data => { debtorPage: data => {
return service.service.post(`${api}debtor/page`, data) return service.service.post(`${api}debtor/page`, data, {hideLoading:true})
}, },
debtorAdd: data => { debtorAdd: data => {
return service.service.post(`${api}debtor/add`, data) return service.service.post(`${api}debtor/add`, data)
}, },
// 代理人 // 代理人
agentPage: data => { agentPage: data => {
return service.service.post(`${api}agent/page`, data) return service.service.post(`${api}agent/page`, data, {hideLoading:true})
}, },
agentAdd: data => { agentAdd: data => {
return service.service.post(`${api}agent/add`, data) return service.service.post(`${api}agent/add`, data)

View File

@ -13,5 +13,13 @@ const api = {
caseMatch: data => { caseMatch: data => {
return service.service.post(`${apiAdmin}caseMatch`, data) return service.service.post(`${apiAdmin}caseMatch`, data)
}, },
// 标记电话
markUnknow: data => {
return service.service.post(`${apiAdmin}markUnknow`, data)
},
// 呼叫未接列表
notAnswerList: data => {
return service.service.post(`${apiAdmin}call/notAnswerList`, data)
},
} }
export default api; export default api;