事项追踪
This commit is contained in:
parent
edd54800ee
commit
f348da571d
@ -2,7 +2,7 @@ variables:
|
|||||||
#docker仓库地址
|
#docker仓库地址
|
||||||
REGISTRY_HOST: ccr.ccs.tencentyun.com
|
REGISTRY_HOST: ccr.ccs.tencentyun.com
|
||||||
#准度科技信息化项目
|
#准度科技信息化项目
|
||||||
PROJECT_NAME: trydo
|
PROJECT_NAME: justice
|
||||||
#注册中心
|
#注册中心
|
||||||
SUB_PROJECT_NAME: mediate-manage-web
|
SUB_PROJECT_NAME: mediate-manage-web
|
||||||
CEWCS_IMAGE: $REGISTRY_HOST/$PROJECT_NAME/$SUB_PROJECT_NAME:1.0.0-dev
|
CEWCS_IMAGE: $REGISTRY_HOST/$PROJECT_NAME/$SUB_PROJECT_NAME:1.0.0-dev
|
||||||
@ -15,7 +15,7 @@ stages:
|
|||||||
- clean
|
- clean
|
||||||
|
|
||||||
before_script:
|
before_script:
|
||||||
- docker login --username=100010566009 --password=zd123456 $REGISTRY_HOST
|
- docker login --username=100018369914 --password=zd123456 $REGISTRY_HOST
|
||||||
|
|
||||||
构建:
|
构建:
|
||||||
stage: build
|
stage: build
|
||||||
|
|||||||
@ -14,43 +14,43 @@
|
|||||||
</div>
|
</div>
|
||||||
<div v-if="navactive == 1 " class="layout-tabs-content-box flex-row padding-0 f14">
|
<div v-if="navactive == 1 " class="layout-tabs-content-box flex-row padding-0 f14">
|
||||||
<div class="pt-8 border-b-solid-lighter-1 background-color-fff border-radius-4 p-16" style="width: calc(100% - 370px);">
|
<div class="pt-8 border-b-solid-lighter-1 background-color-fff border-radius-4 p-16" style="width: calc(100% - 370px);">
|
||||||
<div class="case-detail-title f18">被申请人:张三</div>
|
<div class="case-detail-title f18">被申请人:<a v-for="(item,index) in baseInfo.debtorEntityList" :key="index">{{index == 0 ?'':','}}{{item.name}}</a></div>
|
||||||
<div class="flex-column">
|
<div class="flex-column">
|
||||||
<div class="case-detail-label f-weight500 f16">基本信息</div>
|
<div class="case-detail-label f-weight500 f16">基本信息</div>
|
||||||
<div class="case-detail-des">
|
<div class="case-detail-des">
|
||||||
<span><a>案件包名称:</a><a>河北幸福消费金融股份有限公司012341</a></span>
|
<span><a>案件包名称:</a><a>河北幸福消费金融股份有限公司012341</a></span>
|
||||||
<span><a>委案机构:</a><a>河北幸福消费金融股份有限公司</a></span>
|
<span><a>委案机构:</a><a>{{baseInfo.AAAAAAAAA}}</a></span>
|
||||||
<span><a>委案开始日期:</a><a>2024-11-01</a></span>
|
<span><a>委案开始日期:</a><a>{{baseInfo.planStartTime}}</a></span>
|
||||||
<span><a>委案到期日期:</a><a>2025-01-04</a></span>
|
<span><a>委案到期日期:</a><a>{{baseInfo.planStartTime}}</a></span>
|
||||||
|
<span><a>债务人姓名:</a><a v-for="(item,index) in baseInfo.debtorEntityList" :key="index">{{index == 0 ?'':','}}{{item.name}}</a></span>
|
||||||
|
<span><a>债务人手机号码:</a><a>{{ debtorEntityCardNo(baseInfo.debtorEntityList,25).phone }} {{ baseInfo.debtorEntityList.length > 25 ? '...':'' }}</a></span>
|
||||||
<span><a>委案期限:</a><a></a></span>
|
<span><a>委案期限:</a><a></a></span>
|
||||||
<span><a>委案渠道:</a><a></a></span>
|
<span><a>委案渠道:</a><a></a></span>
|
||||||
<span><a>债务人姓名:</a><a>李新华</a></span>
|
<span><a>身份证号:</a><a> {{ debtorEntityCardNo(baseInfo.debtorEntityList,25).cardNo }} {{ baseInfo.debtorEntityList.length > 25 ? '...':'' }}</a></span>
|
||||||
<span><a>债务人手机号码:</a><a>15138026046</a></span>
|
<span><a>户籍地址:</a><a v-for="(item,index) in baseInfo.debtorEntityList" :key="index">{{index == 0 ?'':','}}{{item.name}}</a></span>
|
||||||
<span><a>身份证号:</a><a>410823197907030045</a></span>
|
|
||||||
<span><a>户籍地址:</a><a>河南省焦作市</a></span>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="case-detail-label f-weight500 f16">债务信息</div>
|
<div class="case-detail-label f-weight500 f16">债务信息</div>
|
||||||
<div class="case-detail-des">
|
<div class="case-detail-des">
|
||||||
<span><a>委托机构:</a><a>河北幸福消费金融股份有限公司</a></span>
|
<!-- <span><a>委托机构:</a><a>{{baseInfo.financialOrgName}}</a></span> -->
|
||||||
<span><a>合同编号:</a><a>JD2019032717351310018</a></span>
|
<span><a>合同编号:</a><a>{{baseInfo.AAAAAAAAA}}</a></span>
|
||||||
<span><a>业务流水号:</a><a>JD2019032717351310018</a></span>
|
<span><a>业务流水号:</a><a>{{baseInfo.AAAAAAAAA}}</a></span>
|
||||||
<span><a>金融产品名称:</a><a>京东</a></span>
|
<span><a>金融产品名称:</a><a>{{baseInfo.AAAAAAAAA}}</a></span>
|
||||||
<span><a>金融机构名称:</a><a>河北幸福消费金融股份有限公司</a></span>
|
<span><a>金融机构名称:</a><a>{{baseInfo.financialOrgName}}</a></span>
|
||||||
<span><a>合同名称:</a><a>个人借款额度合同</a></span>
|
<span><a>合同名称:</a><a>{{baseInfo.AAAAAAAAA}}</a></span>
|
||||||
<span><a>委托时逾期天数:</a><a>857</a></span>
|
<span><a>委托时逾期天数:</a><a>{{baseInfo.AAAAAAAAA}}</a></span>
|
||||||
<span><a>借款合同签署时间:</a><a>无</a></span>
|
<span><a>借款合同签署时间:</a><a>{{baseInfo.AAAAAAAAA}}</a></span>
|
||||||
<span><a>贷款笔数:</a><a>1</a></span>
|
<span><a>贷款笔数:</a><a>{{baseInfo.AAAAAAAAA}}</a></span>
|
||||||
<span><a>当前逾期金额:</a><a>5,897.93</a></span>
|
<span><a>当前逾期金额:</a><a>{{baseInfo.moneyAmount}}</a></span>
|
||||||
<span><a>最低还款额(减免底线):</a><a>3,788.33</a></span>
|
<span><a>最低还款额(减免底线):</a><a>{{baseInfo.AAAAAAAAA}}</a></span>
|
||||||
<span><a>账龄:</a><a>29</a></span>
|
<span><a>账龄:</a><a>{{baseInfo.AAAAAAAAA}}</a></span>
|
||||||
<span><a>放款金额/借款本金:</a><a>19300</a></span>
|
<span><a>放款金额/借款本金:</a><a>{{baseInfo.AAAAAAAAA}}</a></span>
|
||||||
<span><a>欠款本金:</a><a>3,788.33</a></span>
|
<span><a>欠款本金:</a><a>{{baseInfo.AAAAAAAAA}}</a></span>
|
||||||
<span><a>总分期数:</a><a>12</a></span>
|
<span><a>总分期数:</a><a>{{baseInfo.AAAAAAAAA}}</a></span>
|
||||||
<span><a>逾期期数:</a><a>5</a></span>
|
<span><a>逾期期数:</a><a>{{baseInfo.overdueTimes}}</a></span>
|
||||||
<span><a>未结清期数:</a><a>5</a></span>
|
<span><a>未结清期数:</a><a>{{baseInfo.AAAAAAAAA}}</a></span>
|
||||||
<span><a>逾期开始时间:</a><a>2022-06-28 16:15:51</a></span>
|
<span><a>逾期开始时间:</a><a>{{baseInfo.AAAAAAAAA}}</a></span>
|
||||||
<span><a>还款日:</a><a>27</a></span>
|
<span><a>还款日:</a><a>{{baseInfo.AAAAAAAAA}}</a></span>
|
||||||
<span><a>备注:</a><a>委外</a></span>
|
<span><a>备注:</a><a>{{baseInfo.caseDescr}}</a></span>
|
||||||
</div>
|
</div>
|
||||||
<div class="case-detail-label f-weight500 f16">联系人信息</div>
|
<div class="case-detail-label f-weight500 f16">联系人信息</div>
|
||||||
<div class="case-detail-des flex-column">
|
<div class="case-detail-des flex-column">
|
||||||
@ -145,22 +145,33 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="background-color-fff border-radius-4 p-16 flex-column mt-16">
|
<div class="background-color-fff border-radius-4 p-16 flex-column mt-16">
|
||||||
<div class="case-detail-label f-weight500 f16">短信情况</div>
|
<div class="flex-column item-trace">
|
||||||
<div class="case-detail-right-des padding-0">
|
<div class="flex-row justify-content-between case-pk-title">
|
||||||
<el-table :data="tableData" :height="260" >
|
<span>案件事项追踪</span>
|
||||||
<el-table-column type="index" label="序号" width="55"></el-table-column>
|
</div>
|
||||||
<el-table-column prop="A" label="短信模板" show-overflow-tooltip ></el-table-column>
|
<div class="case-pk-cont">
|
||||||
<el-table-column prop="B" label="发送对象" show-overflow-tooltip ></el-table-column>
|
<div class="flex-row justify-content-between cursor-pointer" @click="eventTraDialog={traceType:0,title:'短信发送追踪',caseNo:'1'}">
|
||||||
<el-table-column prop="C" label="操作时间" show-overflow-tooltip ></el-table-column>
|
<span>短信发送追踪</span><span><a>1</a>/<a>2</a></span>
|
||||||
</el-table>
|
</div>
|
||||||
</div>
|
<div class="flex-row justify-content-between cursor-pointer" @click="eventTraDialog={traceType:2,title:'视频调解追踪',caseNo:'1'}">
|
||||||
<div class="case-detail-label f-weight500 f16">视频情况</div>
|
<span>视频调解追踪</span><span><a>1</a>/<a>2</a></span>
|
||||||
<div class="case-detail-right-des padding-0">
|
</div>
|
||||||
<el-table :data="tableData" :height="220" >
|
<div class="flex-row justify-content-between cursor-pointer" @click="eventTraDialog={traceType:3,title:'文书生成追踪',caseNo:'1'}">
|
||||||
<el-table-column prop="A" label="参与人" show-overflow-tooltip ></el-table-column>
|
<span>文书生成追踪</span><span><a>1</a>/<a>2</a></span>
|
||||||
<el-table-column prop="B" label="视频时间" show-overflow-tooltip ></el-table-column>
|
</div>
|
||||||
<el-table-column prop="C" label="视频时长" show-overflow-tooltip ></el-table-column>
|
<div class="flex-row justify-content-between cursor-pointer" @click="eventTraDialog={traceType:4,title:'文书签字追踪',caseNo:'1'}">
|
||||||
</el-table>
|
<span>文书签字追踪</span><span><a>1</a>/<a>2</a></span>
|
||||||
|
</div>
|
||||||
|
<div class="flex-row justify-content-between cursor-pointer" @click="eventTraDialog={traceType:5,title:'文书签章追踪',caseNo:'1'}">
|
||||||
|
<span>文书签章追踪</span><span><a>1</a>/<a>2</a></span>
|
||||||
|
</div>
|
||||||
|
<div class="flex-row justify-content-between cursor-pointer" @click="eventTraDialog={traceType:6,title:'文书送达追踪',caseNo:'1'}">
|
||||||
|
<span>文书送达追踪</span><span><a>1</a>/<a>2</a></span>
|
||||||
|
</div>
|
||||||
|
<div class="flex-row justify-content-between cursor-pointer" @click="eventTraDialog={traceType:7,title:'还款凭证登记',caseNo:'1'}">
|
||||||
|
<span>还款凭证登记</span><span><a>1</a>/<a>2</a></span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -253,26 +264,86 @@
|
|||||||
</el-timeline>
|
</el-timeline>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- 事项追踪 -->
|
||||||
|
<eventTracingDialog v-if="eventTraDialog" :eventTraDialog.sync="eventTraDialog" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import api from "@/services/caseManagement";
|
import api from "@/services/caseManagement";
|
||||||
|
import { stubString } from "lodash";
|
||||||
|
import { subtract } from "lodash";
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
|
eventTracingDialog: () => import('../../event-tracing/index.vue'),//事项追踪
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
eventTraDialog:null,
|
||||||
navactive:1,
|
navactive:1,
|
||||||
Qualitydesc:'结清应还金额:16776.74逾期未还费用:2486.88',
|
Qualitydesc:'结清应还金额:16776.74逾期未还费用:2486.88',
|
||||||
tableData:[{A:'一次性全部还款',B:'承诺账户',C:'钟华丽-本人-188****2929',D:'CS',E:'回款金额:14289.86,回款时间:2024-12-05',F:'2024-12-05 09:13:29',G:'孟利'}],
|
tableData:[{A:'一次性全部还款',B:'承诺账户',C:'钟华丽-本人-188****2929',D:'CS',E:'回款金额:14289.86,回款时间:2024-12-05',F:'2024-12-05 09:13:29',G:'孟利'}],
|
||||||
tableData1:[{A:'一次性全部回款',B:'14,289.86元',C:'2024-12-05',D:'无',E:'',F:'',G:'',H:''}],
|
tableData1:[{A:'一次性全部回款',B:'14,289.86元',C:'2024-12-05',D:'无',E:'',F:'',G:'',H:''}],
|
||||||
tableData2:[{A:'2024-12-05 00:00:00',B:'14,289.86元',C:'孟利',D:'2024-12-05 14:13:56',E:'',F:'',G:'',H:''}]
|
tableData2:[{A:'2024-12-05 00:00:00',B:'14,289.86元',C:'孟利',D:'2024-12-05 14:13:56',E:'',F:'',G:'',H:''}],
|
||||||
|
caseId:'',
|
||||||
|
baseInfo:{},
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
computed:{
|
||||||
|
// 获取抽屉drawer的内容高度
|
||||||
|
drawerContentHeight(){
|
||||||
|
let oh = document.documentElement.clientHeight;
|
||||||
|
return oh-200
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
async created() {
|
||||||
|
|
||||||
|
if (this.$route.query.caseId != undefined) {
|
||||||
|
this.caseId = this.$route.query.caseId;
|
||||||
|
this.getCaseInfoById();//获取详情
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
debtorEntityCardNo(datalist,len){
|
||||||
|
let datacardno=''
|
||||||
|
let dataphone=''
|
||||||
|
datalist.forEach((item,index) =>{
|
||||||
|
if(index == 0){
|
||||||
|
datacardno = item.cardNo
|
||||||
|
dataphone = item.phone
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
datacardno += ','+item.cardNo
|
||||||
|
dataphone += ','+item.phone
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
return {cardNo:datacardno.substring(0,len),phone:dataphone.substring(0,len)};
|
||||||
|
},
|
||||||
|
// 获取详情
|
||||||
|
getCaseInfoById(){
|
||||||
|
let _that = this
|
||||||
|
api.getCaseInfoById(this.caseId).then(res => {
|
||||||
|
console.log(res,'res')
|
||||||
|
if(!res.code){
|
||||||
|
this.baseInfo=res
|
||||||
|
|
||||||
|
// 材料
|
||||||
|
// console.log('获取图片',res.caseFileEntityList)
|
||||||
|
let caseFileEntityList = []
|
||||||
|
res.caseFileEntityList.forEach((item)=>{
|
||||||
|
caseFileEntityList.push({name:item.name,fileName:item.name,url:item.url})
|
||||||
|
})
|
||||||
|
_that.fileList = caseFileEntityList
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
@ -311,6 +382,47 @@ import api from "@/services/caseManagement";
|
|||||||
}
|
}
|
||||||
.case-detail-right-label{margin: 0px 0 15px 0;}
|
.case-detail-right-label{margin: 0px 0 15px 0;}
|
||||||
.case-detail-right-des{background-color: #F7F8FA;padding:10px;}
|
.case-detail-right-des{background-color: #F7F8FA;padding:10px;}
|
||||||
|
|
||||||
|
.item-trace{
|
||||||
|
border-radius: 8px;
|
||||||
|
.case-pk-title{
|
||||||
|
span:first-child{
|
||||||
|
font-size: 18px;
|
||||||
|
color:#1D2129;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.case-pk-cont{
|
||||||
|
padding: 10px 0 0px 0;
|
||||||
|
position: relative;
|
||||||
|
.resultplan{
|
||||||
|
font-size: 32px;
|
||||||
|
position: absolute;
|
||||||
|
left: 115px;
|
||||||
|
top: 130px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
width: 165px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
div{
|
||||||
|
margin-top:5px;
|
||||||
|
margin-bottom:10px;
|
||||||
|
color: #4E5969;
|
||||||
|
background-color:#F7F8FA ;
|
||||||
|
padding: 12px;
|
||||||
|
border-radius: 2px;
|
||||||
|
a{
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
a:first-child{
|
||||||
|
color: #E8535A;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-badge{
|
.el-badge{
|
||||||
|
|||||||
@ -236,7 +236,9 @@
|
|||||||
<el-checkbox :disabled="scope.row.disabled" :key="scope.row.id" :label="scope.row.id"></el-checkbox>
|
<el-checkbox :disabled="scope.row.disabled" :key="scope.row.id" :label="scope.row.id"></el-checkbox>
|
||||||
</el-checkbox-group>
|
</el-checkbox-group>
|
||||||
</span>
|
</span>
|
||||||
<span class="f-weight500 color-000 f16">被申请人:{{scope.row.creditorName}}</span>
|
<span class="f-weight500 color-000 f16">被申请人:
|
||||||
|
<a v-for="(item,index) in scope.row.debtorEntityList" :key="index">{{index == 0 ?'':','}}{{item.name}}</a>
|
||||||
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex-row justify-content-between table-span-one">
|
<div class="flex-row justify-content-between table-span-one">
|
||||||
<span class="">
|
<span class="">
|
||||||
|
|||||||
179
src/pages/event-tracing/components/CallDialog.vue
Normal file
179
src/pages/event-tracing/components/CallDialog.vue
Normal file
@ -0,0 +1,179 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<div v-if="!DialogDetail">
|
||||||
|
<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="f22 color-text-primary">筛选</div>
|
||||||
|
</div>
|
||||||
|
<el-collapse-transition>
|
||||||
|
<el-row :gutter="56">
|
||||||
|
<el-col :span="8">
|
||||||
|
<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="12">
|
||||||
|
<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">
|
||||||
|
<div class="f22 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 type="selection" width="55" ></el-table-column> -->
|
||||||
|
<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="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>
|
||||||
|
<!-- 短信发送追踪 -->
|
||||||
|
<smsDialogDetail v-else :DialogDetail="DialogDetail" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import api from "@/services/caseManagement";
|
||||||
|
import apipack from "@/services/casePackageManagement";
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
smsDialogDetail: () => import('../dtraceDetail/smsDialogDetail.vue'),//短信发送追踪明细
|
||||||
|
},
|
||||||
|
props: {
|
||||||
|
eventTraDialog: {
|
||||||
|
type: Object,
|
||||||
|
default: () => {
|
||||||
|
return {}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
DialogDetail:null,
|
||||||
|
queryDate: '',
|
||||||
|
queryParam:{},
|
||||||
|
tableData:[],
|
||||||
|
total:0,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
mounted () {
|
||||||
|
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
handleChangeDate() {
|
||||||
|
this.activeUsage = ''
|
||||||
|
if(this.queryDate === null) {
|
||||||
|
this.setDateFast()
|
||||||
|
}else {
|
||||||
|
this.queryParam.beginTime = this.$util.getDayStart(this.queryDate[0])
|
||||||
|
this.queryParam.endTime = this.$util.getDayEnd(this.queryDate[1])
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 重置
|
||||||
|
hanldeReset() {
|
||||||
|
for (let key in this.queryParam) {
|
||||||
|
this.queryParam[key] = ''
|
||||||
|
}
|
||||||
|
this.queryParam.current = 1
|
||||||
|
this.queryParam.size = 10
|
||||||
|
},
|
||||||
|
handleSearch() {
|
||||||
|
this.queryParam.size = 10;
|
||||||
|
this.queryParam.current = 1;
|
||||||
|
// this.getList(1)
|
||||||
|
},
|
||||||
|
// 列表数据
|
||||||
|
getList(val){
|
||||||
|
this.queryParam.planBegin = this.queryParam.beginTime
|
||||||
|
this.queryParam.planEnd = this.queryParam.endTime
|
||||||
|
this.queryParam.current = val
|
||||||
|
// api.getCasePkgQuery(this.queryParam).then(res => {
|
||||||
|
// if (!res.code) {
|
||||||
|
// this.tableData = res.records;
|
||||||
|
// this.total = res.total;
|
||||||
|
// }
|
||||||
|
// })
|
||||||
|
},
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.dialog-content{
|
||||||
|
padding: 16px 24px;
|
||||||
|
max-height:500px
|
||||||
|
}
|
||||||
|
.department-wrap{
|
||||||
|
padding: 16px 24px;
|
||||||
|
max-height: 250px;
|
||||||
|
.department-wrap-list{
|
||||||
|
margin-bottom:32px;
|
||||||
|
}
|
||||||
|
.department-wrap-list:last-child{
|
||||||
|
margin-bottom:0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.min-height350{min-height: 350px;}
|
||||||
|
.department-dept ::v-deep .el-checkbox__label {color: $color-000000}
|
||||||
|
</style>
|
||||||
192
src/pages/event-tracing/components/officeDeliveryDialog.vue
Normal file
192
src/pages/event-tracing/components/officeDeliveryDialog.vue
Normal file
@ -0,0 +1,192 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<div v-if="!DialogDetail">
|
||||||
|
<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="f22 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="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"
|
||||||
|
clearable placeholder="请输入案件编号"
|
||||||
|
@keydown.enter.native="handleSearch">
|
||||||
|
</el-input>
|
||||||
|
</div>
|
||||||
|
</el-col>
|
||||||
|
<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
|
||||||
|
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">
|
||||||
|
<div class="f22 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 type="selection" width="55" ></el-table-column> -->
|
||||||
|
<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="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="handleDetail(scope)">明细</el-button>
|
||||||
|
<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>
|
||||||
|
<!-- 追踪明细 -->
|
||||||
|
<officeDeliveryDialogDetail v-else :DialogDetail="officeDeliveryDialogDetail" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import api from "@/services/caseManagement";
|
||||||
|
import apipack from "@/services/casePackageManagement";
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
officeDeliveryDialogDetail: () => import('../dtraceDetail/officeDeliveryDialogDetail.vue'),//短信发送追踪明细
|
||||||
|
},
|
||||||
|
props: {
|
||||||
|
eventTraDialog: {
|
||||||
|
type: Object,
|
||||||
|
default: () => {
|
||||||
|
return {}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
DialogDetail:null,
|
||||||
|
queryDate: '',
|
||||||
|
queryParam:{
|
||||||
|
caseNo:''
|
||||||
|
},
|
||||||
|
tableData:[],
|
||||||
|
total:0,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
mounted () {
|
||||||
|
this.queryParam.caseNo = this.eventTraDialog.caseNo
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
handleChangeDate() {
|
||||||
|
this.activeUsage = ''
|
||||||
|
if(this.queryDate === null) {
|
||||||
|
this.setDateFast()
|
||||||
|
}else {
|
||||||
|
this.queryParam.beginTime = this.$util.getDayStart(this.queryDate[0])
|
||||||
|
this.queryParam.endTime = this.$util.getDayEnd(this.queryDate[1])
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 重置
|
||||||
|
hanldeReset() {
|
||||||
|
for (let key in this.queryParam) {
|
||||||
|
this.queryParam[key] = ''
|
||||||
|
}
|
||||||
|
this.queryParam.current = 1
|
||||||
|
this.queryParam.size = 10
|
||||||
|
},
|
||||||
|
handleSearch() {
|
||||||
|
this.queryParam.size = 10;
|
||||||
|
this.queryParam.current = 1;
|
||||||
|
// this.getList(1)
|
||||||
|
},
|
||||||
|
// 列表数据
|
||||||
|
getList(val){
|
||||||
|
this.queryParam.planBegin = this.queryParam.beginTime
|
||||||
|
this.queryParam.planEnd = this.queryParam.endTime
|
||||||
|
this.queryParam.current = val
|
||||||
|
// api.getCasePkgQuery(this.queryParam).then(res => {
|
||||||
|
// if (!res.code) {
|
||||||
|
// this.tableData = res.records;
|
||||||
|
// this.total = res.total;
|
||||||
|
// }
|
||||||
|
// })
|
||||||
|
},
|
||||||
|
handleDetail(scope){
|
||||||
|
this.DialogDetail = scope.row
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.dialog-content{
|
||||||
|
padding: 16px 24px;
|
||||||
|
max-height:500px
|
||||||
|
}
|
||||||
|
.department-wrap{
|
||||||
|
padding: 16px 24px;
|
||||||
|
max-height: 250px;
|
||||||
|
.department-wrap-list{
|
||||||
|
margin-bottom:32px;
|
||||||
|
}
|
||||||
|
.department-wrap-list:last-child{
|
||||||
|
margin-bottom:0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.min-height350{min-height: 350px;}
|
||||||
|
.department-dept ::v-deep .el-checkbox__label {color: $color-000000}
|
||||||
|
</style>
|
||||||
193
src/pages/event-tracing/components/officeDialog.vue
Normal file
193
src/pages/event-tracing/components/officeDialog.vue
Normal file
@ -0,0 +1,193 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<div v-if="!DialogDetail">
|
||||||
|
<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="f22 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="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"
|
||||||
|
clearable placeholder="请输入案件编号"
|
||||||
|
@keydown.enter.native="handleSearch">
|
||||||
|
</el-input>
|
||||||
|
</div>
|
||||||
|
</el-col>
|
||||||
|
<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
|
||||||
|
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">
|
||||||
|
<div class="f22 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 type="selection" width="55" ></el-table-column> -->
|
||||||
|
<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="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="handleDetail(scope)">明细</el-button>
|
||||||
|
<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>
|
||||||
|
<!-- 短信发送追踪 -->
|
||||||
|
<officeDialogDetail v-else :DialogDetail="DialogDetail" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import api from "@/services/caseManagement";
|
||||||
|
import apipack from "@/services/casePackageManagement";
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
officeDialogDetail: () => import('../dtraceDetail/officeDialogDetail.vue'),//短信发送追踪明细
|
||||||
|
},
|
||||||
|
props: {
|
||||||
|
eventTraDialog: {
|
||||||
|
type: Object,
|
||||||
|
default: () => {
|
||||||
|
return {}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
DialogDetail:null,
|
||||||
|
queryDate: '',
|
||||||
|
queryParam:{
|
||||||
|
caseNo:''
|
||||||
|
},
|
||||||
|
tableData:[],
|
||||||
|
total:0,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
mounted () {
|
||||||
|
this.queryParam.caseNo = this.eventTraDialog.caseNo
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
handleChangeDate() {
|
||||||
|
this.activeUsage = ''
|
||||||
|
if(this.queryDate === null) {
|
||||||
|
this.setDateFast()
|
||||||
|
}else {
|
||||||
|
this.queryParam.beginTime = this.$util.getDayStart(this.queryDate[0])
|
||||||
|
this.queryParam.endTime = this.$util.getDayEnd(this.queryDate[1])
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 重置
|
||||||
|
hanldeReset() {
|
||||||
|
for (let key in this.queryParam) {
|
||||||
|
this.queryParam[key] = ''
|
||||||
|
}
|
||||||
|
this.queryParam.current = 1
|
||||||
|
this.queryParam.size = 10
|
||||||
|
},
|
||||||
|
handleSearch() {
|
||||||
|
this.queryParam.size = 10;
|
||||||
|
this.queryParam.current = 1;
|
||||||
|
// this.getList(1)
|
||||||
|
},
|
||||||
|
// 列表数据
|
||||||
|
getList(val){
|
||||||
|
this.queryParam.planBegin = this.queryParam.beginTime
|
||||||
|
this.queryParam.planEnd = this.queryParam.endTime
|
||||||
|
this.queryParam.current = val
|
||||||
|
// api.getCasePkgQuery(this.queryParam).then(res => {
|
||||||
|
// if (!res.code) {
|
||||||
|
// this.tableData = res.records;
|
||||||
|
// this.total = res.total;
|
||||||
|
// }
|
||||||
|
// })
|
||||||
|
},
|
||||||
|
handleDetail(scope){
|
||||||
|
this.DialogDetail = scope.row
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.dialog-content{
|
||||||
|
padding: 16px 24px;
|
||||||
|
max-height:500px
|
||||||
|
}
|
||||||
|
.department-wrap{
|
||||||
|
padding: 16px 24px;
|
||||||
|
max-height: 250px;
|
||||||
|
.department-wrap-list{
|
||||||
|
margin-bottom:32px;
|
||||||
|
}
|
||||||
|
.department-wrap-list:last-child{
|
||||||
|
margin-bottom:0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.min-height350{min-height: 350px;}
|
||||||
|
.department-dept ::v-deep .el-checkbox__label {color: $color-000000}
|
||||||
|
</style>
|
||||||
191
src/pages/event-tracing/components/officeSealDialog.vue
Normal file
191
src/pages/event-tracing/components/officeSealDialog.vue
Normal file
@ -0,0 +1,191 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<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="f22 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="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"
|
||||||
|
clearable placeholder="请输入案件编号"
|
||||||
|
@keydown.enter.native="handleSearch">
|
||||||
|
</el-input>
|
||||||
|
</div>
|
||||||
|
</el-col>
|
||||||
|
<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
|
||||||
|
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">
|
||||||
|
<div class="f22 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 type="selection" width="55" ></el-table-column> -->
|
||||||
|
<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="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>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import api from "@/services/caseManagement";
|
||||||
|
import apipack from "@/services/casePackageManagement";
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
|
||||||
|
},
|
||||||
|
props: {
|
||||||
|
eventTraDialog: {
|
||||||
|
type: Object,
|
||||||
|
default: () => {
|
||||||
|
return {}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
DialogDetail:null,
|
||||||
|
queryDate: '',
|
||||||
|
queryParam:{
|
||||||
|
caseNo:''
|
||||||
|
},
|
||||||
|
tableData:[],
|
||||||
|
total:0,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
mounted () {
|
||||||
|
this.queryParam.caseNo = this.eventTraDialog.caseNo
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
handleChangeDate() {
|
||||||
|
this.activeUsage = ''
|
||||||
|
if(this.queryDate === null) {
|
||||||
|
this.setDateFast()
|
||||||
|
}else {
|
||||||
|
this.queryParam.beginTime = this.$util.getDayStart(this.queryDate[0])
|
||||||
|
this.queryParam.endTime = this.$util.getDayEnd(this.queryDate[1])
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 重置
|
||||||
|
hanldeReset() {
|
||||||
|
for (let key in this.queryParam) {
|
||||||
|
this.queryParam[key] = ''
|
||||||
|
}
|
||||||
|
this.queryParam.current = 1
|
||||||
|
this.queryParam.size = 10
|
||||||
|
},
|
||||||
|
handleSearch() {
|
||||||
|
this.queryParam.size = 10;
|
||||||
|
this.queryParam.current = 1;
|
||||||
|
// this.getList(1)
|
||||||
|
},
|
||||||
|
// 列表数据
|
||||||
|
getList(val){
|
||||||
|
this.queryParam.planBegin = this.queryParam.beginTime
|
||||||
|
this.queryParam.planEnd = this.queryParam.endTime
|
||||||
|
this.queryParam.current = val
|
||||||
|
// api.getCasePkgQuery(this.queryParam).then(res => {
|
||||||
|
// if (!res.code) {
|
||||||
|
// this.tableData = res.records;
|
||||||
|
// this.total = res.total;
|
||||||
|
// }
|
||||||
|
// })
|
||||||
|
},
|
||||||
|
handleDetail(scope){
|
||||||
|
this.DialogDetail = scope.row
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.dialog-content{
|
||||||
|
padding: 16px 24px;
|
||||||
|
max-height:500px
|
||||||
|
}
|
||||||
|
.department-wrap{
|
||||||
|
padding: 16px 24px;
|
||||||
|
max-height: 250px;
|
||||||
|
.department-wrap-list{
|
||||||
|
margin-bottom:32px;
|
||||||
|
}
|
||||||
|
.department-wrap-list:last-child{
|
||||||
|
margin-bottom:0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.min-height350{min-height: 350px;}
|
||||||
|
.department-dept ::v-deep .el-checkbox__label {color: $color-000000}
|
||||||
|
</style>
|
||||||
198
src/pages/event-tracing/components/officeWriteDialog.vue
Normal file
198
src/pages/event-tracing/components/officeWriteDialog.vue
Normal file
@ -0,0 +1,198 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<div v-if="!DialogDetail">
|
||||||
|
<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="f22 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="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"
|
||||||
|
clearable placeholder="请输入案件编号"
|
||||||
|
@keydown.enter.native="handleSearch">
|
||||||
|
</el-input>
|
||||||
|
</div>
|
||||||
|
</el-col>
|
||||||
|
<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
|
||||||
|
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">
|
||||||
|
<div class="f22 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 type="selection" width="55" ></el-table-column> -->
|
||||||
|
<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="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 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="handleDetail(scope)">明细</el-button>
|
||||||
|
<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>
|
||||||
|
<!-- 追踪明细 -->
|
||||||
|
<officewriteDialogDetail v-else :DialogDetail="DialogDetail" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import api from "@/services/caseManagement";
|
||||||
|
import apipack from "@/services/casePackageManagement";
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
officeWriteDialogDetail: () => import('../dtraceDetail/officeWDialogDetail.vue'),//短信发送追踪明细
|
||||||
|
},
|
||||||
|
props: {
|
||||||
|
eventTraDialog: {
|
||||||
|
type: Object,
|
||||||
|
default: () => {
|
||||||
|
return {}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
DialogDetail:null,
|
||||||
|
queryDate: '',
|
||||||
|
queryParam:{
|
||||||
|
caseNo:''
|
||||||
|
},
|
||||||
|
tableData:[],
|
||||||
|
total:0,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
mounted () {
|
||||||
|
this.queryParam.caseNo = this.eventTraDialog.caseNo
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
handleChangeDate() {
|
||||||
|
this.activeUsage = ''
|
||||||
|
if(this.queryDate === null) {
|
||||||
|
this.setDateFast()
|
||||||
|
}else {
|
||||||
|
this.queryParam.beginTime = this.$util.getDayStart(this.queryDate[0])
|
||||||
|
this.queryParam.endTime = this.$util.getDayEnd(this.queryDate[1])
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 重置
|
||||||
|
hanldeReset() {
|
||||||
|
for (let key in this.queryParam) {
|
||||||
|
this.queryParam[key] = ''
|
||||||
|
}
|
||||||
|
this.queryParam.current = 1
|
||||||
|
this.queryParam.size = 10
|
||||||
|
},
|
||||||
|
handleSearch() {
|
||||||
|
this.queryParam.size = 10;
|
||||||
|
this.queryParam.current = 1;
|
||||||
|
// this.getList(1)
|
||||||
|
},
|
||||||
|
// 列表数据
|
||||||
|
getList(val){
|
||||||
|
this.queryParam.planBegin = this.queryParam.beginTime
|
||||||
|
this.queryParam.planEnd = this.queryParam.endTime
|
||||||
|
this.queryParam.current = val
|
||||||
|
// api.getCasePkgQuery(this.queryParam).then(res => {
|
||||||
|
// if (!res.code) {
|
||||||
|
// this.tableData = res.records;
|
||||||
|
// this.total = res.total;
|
||||||
|
// }
|
||||||
|
// })
|
||||||
|
},
|
||||||
|
handleDetail(scope){
|
||||||
|
this.DialogDetail = scope.row
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.dialog-content{
|
||||||
|
padding: 16px 24px;
|
||||||
|
max-height:500px
|
||||||
|
}
|
||||||
|
.department-wrap{
|
||||||
|
padding: 16px 24px;
|
||||||
|
max-height: 250px;
|
||||||
|
.department-wrap-list{
|
||||||
|
margin-bottom:32px;
|
||||||
|
}
|
||||||
|
.department-wrap-list:last-child{
|
||||||
|
margin-bottom:0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.min-height350{min-height: 350px;}
|
||||||
|
.department-dept ::v-deep .el-checkbox__label {color: $color-000000}
|
||||||
|
</style>
|
||||||
192
src/pages/event-tracing/components/repaymentDialog.vue
Normal file
192
src/pages/event-tracing/components/repaymentDialog.vue
Normal file
@ -0,0 +1,192 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<div v-if="!DialogDetail">
|
||||||
|
<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="f22 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="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"
|
||||||
|
clearable placeholder="请输入案件编号"
|
||||||
|
@keydown.enter.native="handleSearch">
|
||||||
|
</el-input>
|
||||||
|
</div>
|
||||||
|
</el-col>
|
||||||
|
<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
|
||||||
|
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">
|
||||||
|
<div class="f22 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 type="selection" width="55" ></el-table-column> -->
|
||||||
|
<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>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import api from "@/services/caseManagement";
|
||||||
|
import apipack from "@/services/casePackageManagement";
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
|
||||||
|
},
|
||||||
|
props: {
|
||||||
|
eventTraDialog: {
|
||||||
|
type: Object,
|
||||||
|
default: () => {
|
||||||
|
return {}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
DialogDetail:null,
|
||||||
|
queryDate: '',
|
||||||
|
queryParam:{
|
||||||
|
caseNo:''
|
||||||
|
},
|
||||||
|
tableData:[],
|
||||||
|
total:0,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
mounted () {
|
||||||
|
this.queryParam.caseNo = this.eventTraDialog.caseNo
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
handleChangeDate() {
|
||||||
|
this.activeUsage = ''
|
||||||
|
if(this.queryDate === null) {
|
||||||
|
this.setDateFast()
|
||||||
|
}else {
|
||||||
|
this.queryParam.beginTime = this.$util.getDayStart(this.queryDate[0])
|
||||||
|
this.queryParam.endTime = this.$util.getDayEnd(this.queryDate[1])
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 重置
|
||||||
|
hanldeReset() {
|
||||||
|
for (let key in this.queryParam) {
|
||||||
|
this.queryParam[key] = ''
|
||||||
|
}
|
||||||
|
this.queryParam.current = 1
|
||||||
|
this.queryParam.size = 10
|
||||||
|
},
|
||||||
|
handleSearch() {
|
||||||
|
this.queryParam.size = 10;
|
||||||
|
this.queryParam.current = 1;
|
||||||
|
// this.getList(1)
|
||||||
|
},
|
||||||
|
// 列表数据
|
||||||
|
getList(val){
|
||||||
|
this.queryParam.planBegin = this.queryParam.beginTime
|
||||||
|
this.queryParam.planEnd = this.queryParam.endTime
|
||||||
|
this.queryParam.current = val
|
||||||
|
// api.getCasePkgQuery(this.queryParam).then(res => {
|
||||||
|
// if (!res.code) {
|
||||||
|
// this.tableData = res.records;
|
||||||
|
// this.total = res.total;
|
||||||
|
// }
|
||||||
|
// })
|
||||||
|
},
|
||||||
|
handleDetail(scope){
|
||||||
|
this.DialogDetail = scope.row
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.dialog-content{
|
||||||
|
padding: 16px 24px;
|
||||||
|
max-height:500px
|
||||||
|
}
|
||||||
|
.department-wrap{
|
||||||
|
padding: 16px 24px;
|
||||||
|
max-height: 250px;
|
||||||
|
.department-wrap-list{
|
||||||
|
margin-bottom:32px;
|
||||||
|
}
|
||||||
|
.department-wrap-list:last-child{
|
||||||
|
margin-bottom:0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.min-height350{min-height: 350px;}
|
||||||
|
.department-dept ::v-deep .el-checkbox__label {color: $color-000000}
|
||||||
|
</style>
|
||||||
195
src/pages/event-tracing/components/smsDialog.vue
Normal file
195
src/pages/event-tracing/components/smsDialog.vue
Normal file
@ -0,0 +1,195 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<div v-if="!DialogDetail">
|
||||||
|
<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="f22 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="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"
|
||||||
|
clearable placeholder="请输入案件编号"
|
||||||
|
@keydown.enter.native="handleSearch">
|
||||||
|
</el-input>
|
||||||
|
</div>
|
||||||
|
</el-col>
|
||||||
|
<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
|
||||||
|
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">
|
||||||
|
<div class="f22 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 type="selection" width="55" ></el-table-column> -->
|
||||||
|
<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="handleDetail(scope)">明细</el-button>
|
||||||
|
<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>
|
||||||
|
<!-- 短信发送追踪 -->
|
||||||
|
<smsDialogDetail v-else :DialogDetail="DialogDetail" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import api from "@/services/caseManagement";
|
||||||
|
import apipack from "@/services/casePackageManagement";
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
smsDialogDetail: () => import('../dtraceDetail/smsDialogDetail.vue'),//短信发送追踪明细
|
||||||
|
},
|
||||||
|
props: {
|
||||||
|
eventTraDialog: {
|
||||||
|
type: Object,
|
||||||
|
default: () => {
|
||||||
|
return {}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
DialogDetail:null,
|
||||||
|
queryDate: '',
|
||||||
|
queryParam:{
|
||||||
|
caseNo:''
|
||||||
|
},
|
||||||
|
tableData:[],
|
||||||
|
total:0,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
mounted () {
|
||||||
|
this.queryParam.caseNo = this.eventTraDialog.caseNo
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
handleChangeDate() {
|
||||||
|
this.activeUsage = ''
|
||||||
|
if(this.queryDate === null) {
|
||||||
|
this.setDateFast()
|
||||||
|
}else {
|
||||||
|
this.queryParam.beginTime = this.$util.getDayStart(this.queryDate[0])
|
||||||
|
this.queryParam.endTime = this.$util.getDayEnd(this.queryDate[1])
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 重置
|
||||||
|
hanldeReset() {
|
||||||
|
for (let key in this.queryParam) {
|
||||||
|
this.queryParam[key] = ''
|
||||||
|
}
|
||||||
|
this.queryParam.current = 1
|
||||||
|
this.queryParam.size = 10
|
||||||
|
},
|
||||||
|
handleSearch() {
|
||||||
|
this.queryParam.size = 10;
|
||||||
|
this.queryParam.current = 1;
|
||||||
|
// this.getList(1)
|
||||||
|
},
|
||||||
|
// 列表数据
|
||||||
|
getList(val){
|
||||||
|
this.queryParam.planBegin = this.queryParam.beginTime
|
||||||
|
this.queryParam.planEnd = this.queryParam.endTime
|
||||||
|
this.queryParam.current = val
|
||||||
|
// api.getCasePkgQuery(this.queryParam).then(res => {
|
||||||
|
// if (!res.code) {
|
||||||
|
// this.tableData = res.records;
|
||||||
|
// this.total = res.total;
|
||||||
|
// }
|
||||||
|
// })
|
||||||
|
},
|
||||||
|
handleDetail(scope){
|
||||||
|
this.DialogDetail = scope.row
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.dialog-content{
|
||||||
|
padding: 16px 24px;
|
||||||
|
max-height:500px
|
||||||
|
}
|
||||||
|
.department-wrap{
|
||||||
|
padding: 16px 24px;
|
||||||
|
max-height: 250px;
|
||||||
|
.department-wrap-list{
|
||||||
|
margin-bottom:32px;
|
||||||
|
}
|
||||||
|
.department-wrap-list:last-child{
|
||||||
|
margin-bottom:0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.min-height350{min-height: 350px;}
|
||||||
|
.department-dept ::v-deep .el-checkbox__label {color: $color-000000}
|
||||||
|
</style>
|
||||||
191
src/pages/event-tracing/components/voideDialog.vue
Normal file
191
src/pages/event-tracing/components/voideDialog.vue
Normal file
@ -0,0 +1,191 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<div v-if="!DialogDetail">
|
||||||
|
<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="f22 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="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"
|
||||||
|
clearable placeholder="请输入案件编号"
|
||||||
|
@keydown.enter.native="handleSearch">
|
||||||
|
</el-input>
|
||||||
|
</div>
|
||||||
|
</el-col>
|
||||||
|
<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
|
||||||
|
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">
|
||||||
|
<div class="f22 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 type="selection" width="55" ></el-table-column> -->
|
||||||
|
<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="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="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>
|
||||||
|
<!-- 短信发送追踪 -->
|
||||||
|
<smsDialogDetail v-else :DialogDetail="DialogDetail" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import api from "@/services/caseManagement";
|
||||||
|
import apipack from "@/services/casePackageManagement";
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
smsDialogDetail: () => import('../dtraceDetail/smsDialogDetail.vue'),//短信发送追踪明细
|
||||||
|
},
|
||||||
|
props: {
|
||||||
|
eventTraDialog: {
|
||||||
|
type: Object,
|
||||||
|
default: () => {
|
||||||
|
return {}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
DialogDetail:null,
|
||||||
|
queryDate: '',
|
||||||
|
queryParam:{
|
||||||
|
caseNo:''
|
||||||
|
},
|
||||||
|
tableData:[],
|
||||||
|
total:0,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
mounted () {
|
||||||
|
this.queryParam.caseNo = this.eventTraDialog.caseNo
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
handleChangeDate() {
|
||||||
|
this.activeUsage = ''
|
||||||
|
if(this.queryDate === null) {
|
||||||
|
this.setDateFast()
|
||||||
|
}else {
|
||||||
|
this.queryParam.beginTime = this.$util.getDayStart(this.queryDate[0])
|
||||||
|
this.queryParam.endTime = this.$util.getDayEnd(this.queryDate[1])
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 重置
|
||||||
|
hanldeReset() {
|
||||||
|
for (let key in this.queryParam) {
|
||||||
|
this.queryParam[key] = ''
|
||||||
|
}
|
||||||
|
this.queryParam.current = 1
|
||||||
|
this.queryParam.size = 10
|
||||||
|
},
|
||||||
|
handleSearch() {
|
||||||
|
this.queryParam.size = 10;
|
||||||
|
this.queryParam.current = 1;
|
||||||
|
// this.getList(1)
|
||||||
|
},
|
||||||
|
// 列表数据
|
||||||
|
getList(val){
|
||||||
|
this.queryParam.planBegin = this.queryParam.beginTime
|
||||||
|
this.queryParam.planEnd = this.queryParam.endTime
|
||||||
|
this.queryParam.current = val
|
||||||
|
// api.getCasePkgQuery(this.queryParam).then(res => {
|
||||||
|
// if (!res.code) {
|
||||||
|
// this.tableData = res.records;
|
||||||
|
// this.total = res.total;
|
||||||
|
// }
|
||||||
|
// })
|
||||||
|
},
|
||||||
|
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.dialog-content{
|
||||||
|
padding: 16px 24px;
|
||||||
|
max-height:500px
|
||||||
|
}
|
||||||
|
.department-wrap{
|
||||||
|
padding: 16px 24px;
|
||||||
|
max-height: 250px;
|
||||||
|
.department-wrap-list{
|
||||||
|
margin-bottom:32px;
|
||||||
|
}
|
||||||
|
.department-wrap-list:last-child{
|
||||||
|
margin-bottom:0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.min-height350{min-height: 350px;}
|
||||||
|
.department-dept ::v-deep .el-checkbox__label {color: $color-000000}
|
||||||
|
</style>
|
||||||
@ -0,0 +1,169 @@
|
|||||||
|
<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="f22 color-text-primary">筛选</div>
|
||||||
|
</div>
|
||||||
|
<el-collapse-transition>
|
||||||
|
<el-row :gutter="56">
|
||||||
|
<el-col :span="8">
|
||||||
|
<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="12">
|
||||||
|
<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">
|
||||||
|
<div class="f22 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="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 prop="channel" label="未送达原因" show-overflow-tooltip ></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>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import api from "@/services/caseManagement";
|
||||||
|
import apipack from "@/services/casePackageManagement";
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
|
||||||
|
},
|
||||||
|
props: {
|
||||||
|
caseAllocationDialog: {
|
||||||
|
type: Object,
|
||||||
|
default: () => {
|
||||||
|
return {}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
queryDate: '',
|
||||||
|
queryParam:{},
|
||||||
|
tableData:[],
|
||||||
|
total:0,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
mounted () {
|
||||||
|
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
handleChangeDate() {
|
||||||
|
this.activeUsage = ''
|
||||||
|
if(this.queryDate === null) {
|
||||||
|
this.setDateFast()
|
||||||
|
}else {
|
||||||
|
this.queryParam.beginTime = this.$util.getDayStart(this.queryDate[0])
|
||||||
|
this.queryParam.endTime = this.$util.getDayEnd(this.queryDate[1])
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 重置
|
||||||
|
hanldeReset() {
|
||||||
|
for (let key in this.queryParam) {
|
||||||
|
this.queryParam[key] = ''
|
||||||
|
}
|
||||||
|
this.queryParam.current = 1
|
||||||
|
this.queryParam.size = 10
|
||||||
|
},
|
||||||
|
handleSearch() {
|
||||||
|
this.queryParam.size = 10;
|
||||||
|
this.queryParam.current = 1;
|
||||||
|
// this.getList(1)
|
||||||
|
},
|
||||||
|
// 列表数据
|
||||||
|
getList(val){
|
||||||
|
this.queryParam.planBegin = this.queryParam.beginTime
|
||||||
|
this.queryParam.planEnd = this.queryParam.endTime
|
||||||
|
this.queryParam.current = val
|
||||||
|
// api.getCasePkgQuery(this.queryParam).then(res => {
|
||||||
|
// if (!res.code) {
|
||||||
|
// this.tableData = res.records;
|
||||||
|
// this.total = res.total;
|
||||||
|
// }
|
||||||
|
// })
|
||||||
|
},
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.dialog-content{
|
||||||
|
padding: 16px 24px;
|
||||||
|
max-height:500px
|
||||||
|
}
|
||||||
|
.department-wrap{
|
||||||
|
padding: 16px 24px;
|
||||||
|
max-height: 250px;
|
||||||
|
.department-wrap-list{
|
||||||
|
margin-bottom:32px;
|
||||||
|
}
|
||||||
|
.department-wrap-list:last-child{
|
||||||
|
margin-bottom:0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.min-height350{min-height: 350px;}
|
||||||
|
.department-dept ::v-deep .el-checkbox__label {color: $color-000000}
|
||||||
|
</style>
|
||||||
155
src/pages/event-tracing/dtraceDetail/officeDialogDetail.vue
Normal file
155
src/pages/event-tracing/dtraceDetail/officeDialogDetail.vue
Normal file
@ -0,0 +1,155 @@
|
|||||||
|
<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="f22 color-text-primary">筛选</div>
|
||||||
|
</div>
|
||||||
|
<el-collapse-transition>
|
||||||
|
<el-row :gutter="56">
|
||||||
|
<el-col :span="8">
|
||||||
|
<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="12">
|
||||||
|
<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">
|
||||||
|
<div class="f22 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="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>
|
||||||
|
</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>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import api from "@/services/caseManagement";
|
||||||
|
import apipack from "@/services/casePackageManagement";
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
|
||||||
|
},
|
||||||
|
props: {
|
||||||
|
caseAllocationDialog: {
|
||||||
|
type: Object,
|
||||||
|
default: () => {
|
||||||
|
return {}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
queryDate: '',
|
||||||
|
queryParam:{},
|
||||||
|
tableData:[],
|
||||||
|
total:0,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
mounted () {
|
||||||
|
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
handleChangeDate() {
|
||||||
|
this.activeUsage = ''
|
||||||
|
if(this.queryDate === null) {
|
||||||
|
this.setDateFast()
|
||||||
|
}else {
|
||||||
|
this.queryParam.beginTime = this.$util.getDayStart(this.queryDate[0])
|
||||||
|
this.queryParam.endTime = this.$util.getDayEnd(this.queryDate[1])
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 重置
|
||||||
|
hanldeReset() {
|
||||||
|
for (let key in this.queryParam) {
|
||||||
|
this.queryParam[key] = ''
|
||||||
|
}
|
||||||
|
this.queryParam.current = 1
|
||||||
|
this.queryParam.size = 10
|
||||||
|
},
|
||||||
|
handleSearch() {
|
||||||
|
this.queryParam.size = 10;
|
||||||
|
this.queryParam.current = 1;
|
||||||
|
// this.getList(1)
|
||||||
|
},
|
||||||
|
// 列表数据
|
||||||
|
getList(val){
|
||||||
|
this.queryParam.planBegin = this.queryParam.beginTime
|
||||||
|
this.queryParam.planEnd = this.queryParam.endTime
|
||||||
|
this.queryParam.current = val
|
||||||
|
// api.getCasePkgQuery(this.queryParam).then(res => {
|
||||||
|
// if (!res.code) {
|
||||||
|
// this.tableData = res.records;
|
||||||
|
// this.total = res.total;
|
||||||
|
// }
|
||||||
|
// })
|
||||||
|
},
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.dialog-content{
|
||||||
|
padding: 16px 24px;
|
||||||
|
max-height:500px
|
||||||
|
}
|
||||||
|
.department-wrap{
|
||||||
|
padding: 16px 24px;
|
||||||
|
max-height: 250px;
|
||||||
|
.department-wrap-list{
|
||||||
|
margin-bottom:32px;
|
||||||
|
}
|
||||||
|
.department-wrap-list:last-child{
|
||||||
|
margin-bottom:0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.min-height350{min-height: 350px;}
|
||||||
|
.department-dept ::v-deep .el-checkbox__label {color: $color-000000}
|
||||||
|
</style>
|
||||||
156
src/pages/event-tracing/dtraceDetail/officeWDialogDetail.vue
Normal file
156
src/pages/event-tracing/dtraceDetail/officeWDialogDetail.vue
Normal file
@ -0,0 +1,156 @@
|
|||||||
|
<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="f22 color-text-primary">筛选</div>
|
||||||
|
</div>
|
||||||
|
<el-collapse-transition>
|
||||||
|
<el-row :gutter="56">
|
||||||
|
<el-col :span="8">
|
||||||
|
<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="12">
|
||||||
|
<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">
|
||||||
|
<div class="f22 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="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>
|
||||||
|
</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>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import api from "@/services/caseManagement";
|
||||||
|
import apipack from "@/services/casePackageManagement";
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
|
||||||
|
},
|
||||||
|
props: {
|
||||||
|
caseAllocationDialog: {
|
||||||
|
type: Object,
|
||||||
|
default: () => {
|
||||||
|
return {}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
queryDate: '',
|
||||||
|
queryParam:{},
|
||||||
|
tableData:[],
|
||||||
|
total:0,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
mounted () {
|
||||||
|
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
handleChangeDate() {
|
||||||
|
this.activeUsage = ''
|
||||||
|
if(this.queryDate === null) {
|
||||||
|
this.setDateFast()
|
||||||
|
}else {
|
||||||
|
this.queryParam.beginTime = this.$util.getDayStart(this.queryDate[0])
|
||||||
|
this.queryParam.endTime = this.$util.getDayEnd(this.queryDate[1])
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 重置
|
||||||
|
hanldeReset() {
|
||||||
|
for (let key in this.queryParam) {
|
||||||
|
this.queryParam[key] = ''
|
||||||
|
}
|
||||||
|
this.queryParam.current = 1
|
||||||
|
this.queryParam.size = 10
|
||||||
|
},
|
||||||
|
handleSearch() {
|
||||||
|
this.queryParam.size = 10;
|
||||||
|
this.queryParam.current = 1;
|
||||||
|
// this.getList(1)
|
||||||
|
},
|
||||||
|
// 列表数据
|
||||||
|
getList(val){
|
||||||
|
this.queryParam.planBegin = this.queryParam.beginTime
|
||||||
|
this.queryParam.planEnd = this.queryParam.endTime
|
||||||
|
this.queryParam.current = val
|
||||||
|
// api.getCasePkgQuery(this.queryParam).then(res => {
|
||||||
|
// if (!res.code) {
|
||||||
|
// this.tableData = res.records;
|
||||||
|
// this.total = res.total;
|
||||||
|
// }
|
||||||
|
// })
|
||||||
|
},
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.dialog-content{
|
||||||
|
padding: 16px 24px;
|
||||||
|
max-height:500px
|
||||||
|
}
|
||||||
|
.department-wrap{
|
||||||
|
padding: 16px 24px;
|
||||||
|
max-height: 250px;
|
||||||
|
.department-wrap-list{
|
||||||
|
margin-bottom:32px;
|
||||||
|
}
|
||||||
|
.department-wrap-list:last-child{
|
||||||
|
margin-bottom:0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.min-height350{min-height: 350px;}
|
||||||
|
.department-dept ::v-deep .el-checkbox__label {color: $color-000000}
|
||||||
|
</style>
|
||||||
182
src/pages/event-tracing/dtraceDetail/smsDialogDetail.vue
Normal file
182
src/pages/event-tracing/dtraceDetail/smsDialogDetail.vue
Normal file
@ -0,0 +1,182 @@
|
|||||||
|
<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="f22 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">
|
||||||
|
<div class="f22 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="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>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import api from "@/services/caseManagement";
|
||||||
|
import apipack from "@/services/casePackageManagement";
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
|
||||||
|
},
|
||||||
|
props: {
|
||||||
|
caseAllocationDialog: {
|
||||||
|
type: Object,
|
||||||
|
default: () => {
|
||||||
|
return {}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
queryDate: '',
|
||||||
|
queryParam:{},
|
||||||
|
tableData:[],
|
||||||
|
total:0,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
mounted () {
|
||||||
|
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
handleChangeDate() {
|
||||||
|
this.activeUsage = ''
|
||||||
|
if(this.queryDate === null) {
|
||||||
|
this.setDateFast()
|
||||||
|
}else {
|
||||||
|
this.queryParam.beginTime = this.$util.getDayStart(this.queryDate[0])
|
||||||
|
this.queryParam.endTime = this.$util.getDayEnd(this.queryDate[1])
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 重置
|
||||||
|
hanldeReset() {
|
||||||
|
for (let key in this.queryParam) {
|
||||||
|
this.queryParam[key] = ''
|
||||||
|
}
|
||||||
|
this.queryParam.current = 1
|
||||||
|
this.queryParam.size = 10
|
||||||
|
},
|
||||||
|
handleSearch() {
|
||||||
|
this.queryParam.size = 10;
|
||||||
|
this.queryParam.current = 1;
|
||||||
|
// this.getList(1)
|
||||||
|
},
|
||||||
|
// 列表数据
|
||||||
|
getList(val){
|
||||||
|
this.queryParam.planBegin = this.queryParam.beginTime
|
||||||
|
this.queryParam.planEnd = this.queryParam.endTime
|
||||||
|
this.queryParam.current = val
|
||||||
|
// api.getCasePkgQuery(this.queryParam).then(res => {
|
||||||
|
// if (!res.code) {
|
||||||
|
// this.tableData = res.records;
|
||||||
|
// this.total = res.total;
|
||||||
|
// }
|
||||||
|
// })
|
||||||
|
},
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.dialog-content{
|
||||||
|
padding: 16px 24px;
|
||||||
|
max-height:500px
|
||||||
|
}
|
||||||
|
.department-wrap{
|
||||||
|
padding: 16px 24px;
|
||||||
|
max-height: 250px;
|
||||||
|
.department-wrap-list{
|
||||||
|
margin-bottom:32px;
|
||||||
|
}
|
||||||
|
.department-wrap-list:last-child{
|
||||||
|
margin-bottom:0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.min-height350{min-height: 350px;}
|
||||||
|
.department-dept ::v-deep .el-checkbox__label {color: $color-000000}
|
||||||
|
</style>
|
||||||
80
src/pages/event-tracing/index.vue
Normal file
80
src/pages/event-tracing/index.vue
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
<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">
|
||||||
|
<!-- 短信发送追踪 -->
|
||||||
|
<smsDialog v-if="eventTraDialog.traceType == 0" :eventTraDialog="eventTraDialog" />
|
||||||
|
<!-- 外呼事项追踪 -->
|
||||||
|
<CallDialog v-if="eventTraDialog.traceType == 1" :eventTraDialog="eventTraDialog" />
|
||||||
|
<!-- 视频调解追踪 -->
|
||||||
|
<voideDialog v-if="eventTraDialog.traceType == 2" :eventTraDialog="eventTraDialog" />
|
||||||
|
<!-- 文书生成追踪 -->
|
||||||
|
<officeDialog v-if="eventTraDialog.traceType == 3" :eventTraDialog="eventTraDialog" />
|
||||||
|
<!-- 文书签字追踪 -->
|
||||||
|
<officeWriteDialog v-if="eventTraDialog.traceType == 4" :eventTraDialog="eventTraDialog" />
|
||||||
|
<!-- 文书签章追踪 -->
|
||||||
|
<officeSealDialog v-if="eventTraDialog.traceType == 5" :eventTraDialog="eventTraDialog" />
|
||||||
|
<!-- 文书送达追踪 -->
|
||||||
|
<officeDeliveryDialog v-if="eventTraDialog.traceType == 6" :eventTraDialog="eventTraDialog" />
|
||||||
|
<!-- 还款凭证登记 -->
|
||||||
|
<repaymentDialog v-if="eventTraDialog.traceType == 7" :eventTraDialog="eventTraDialog" />
|
||||||
|
|
||||||
|
</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>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import api from "@/services/caseManagement";
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
smsDialog: () => import('./components/smsDialog.vue'),//短信发送追踪
|
||||||
|
CallDialog: () => import('./components/CallDialog.vue'),//外呼事项追踪
|
||||||
|
voideDialog: () => import('./components/voideDialog.vue'),//视频调解追踪
|
||||||
|
officeDialog: () => import('./components/officeDialog.vue'),//文书生成追踪
|
||||||
|
officeWriteDialog: () => import('./components/officeWriteDialog.vue'),//文书签字追踪
|
||||||
|
officeSealDialog: () => import('./components/officeSealDialog.vue'),//文书签章追踪
|
||||||
|
officeDeliveryDialog: () => import('./components/officeDeliveryDialog.vue'),//文书送达追踪
|
||||||
|
repaymentDialog: () => import('./components/repaymentDialog.vue'),//还款凭证登记
|
||||||
|
|
||||||
|
|
||||||
|
},
|
||||||
|
props: {
|
||||||
|
eventTraDialog: {
|
||||||
|
type: Object,
|
||||||
|
default: () => {
|
||||||
|
return {}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
|
||||||
|
queryParam:{},
|
||||||
|
tableData:[],
|
||||||
|
total:0,
|
||||||
|
|
||||||
|
};
|
||||||
|
},
|
||||||
|
mounted () {
|
||||||
|
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
|
||||||
|
handleClose() {
|
||||||
|
this.$emit('update:eventTraDialog', null)
|
||||||
|
},
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.dialog-trace{
|
||||||
|
padding: 16px 20px;
|
||||||
|
max-height:500px
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
@ -1,20 +1,26 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="layout-content-wrap">
|
<div class="layout-content-wrap">
|
||||||
<el-tabs class="zd-el-tabs-custom zd-el-tabs-custom__left_padding" v-model="activeName" @tab-click="handleTabClick">
|
|
||||||
<el-tab-pane name="all">
|
<div class="navigation-bar flex-row mb-16">
|
||||||
<span slot="label"><span>全部</span> <el-badge :value="caseStatusNum.total" :max="99" class="item"></el-badge></span>
|
<img src="../../assets/image/Link.png" height="22" alt="">
|
||||||
</el-tab-pane>
|
<a>/</a>
|
||||||
<el-tab-pane name="mediate">
|
<a>调解管理</a>
|
||||||
<span slot="label"><span>待调解</span> <el-badge :value="caseStatusNum.not" :max="99" class="item"></el-badge></span>
|
</div>
|
||||||
</el-tab-pane>
|
|
||||||
<el-tab-pane name="mediation">
|
|
||||||
<span slot="label"><span>调解中</span> <el-badge :value="caseStatusNum.ing" :max="99" class="item"></el-badge></span>
|
<div class="layout-tabs-content-box background-color-fff border-radius-4">
|
||||||
</el-tab-pane>
|
<el-tabs class="zd-el-tabs-custom zd-el-tabs-custom__left_padding" v-model="activeName" @tab-click="handleTabClick">
|
||||||
<el-tab-pane name="mediated">
|
<el-tab-pane name="all">
|
||||||
<span slot="label"><span>已结束</span> <el-badge :value="caseStatusNum.end" :max="99" class="item"></el-badge></span>
|
<span slot="label"><span>全部</span> <el-badge :value="caseStatusNum.total" :max="99" class="item"></el-badge></span>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
</el-tabs>
|
<el-tab-pane name="mediate">
|
||||||
<div class="layout-tabs-content-box">
|
<span slot="label"><span>在办</span> <el-badge :value="caseStatusNum.not" :max="99" class="item"></el-badge></span>
|
||||||
|
</el-tab-pane>
|
||||||
|
<el-tab-pane name="mediation">
|
||||||
|
<span slot="label"><span>办结</span> <el-badge :value="caseStatusNum.ing" :max="99" class="item"></el-badge></span>
|
||||||
|
</el-tab-pane>
|
||||||
|
</el-tabs>
|
||||||
|
|
||||||
<div class="pt-8 border-b-solid-lighter-1">
|
<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="height-30 flex-row align-items-center justify-content-between mb-24">
|
||||||
<div class="f22 color-text-primary">筛选</div>
|
<div class="f22 color-text-primary">筛选</div>
|
||||||
@ -29,7 +35,16 @@
|
|||||||
<el-collapse-transition>
|
<el-collapse-transition>
|
||||||
<div v-show="showSearch">
|
<div v-show="showSearch">
|
||||||
<el-row :gutter="56">
|
<el-row :gutter="56">
|
||||||
<el-col :span="8">
|
<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">
|
<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-input v-model.trim="queryParam.financialOrgName"
|
<el-input v-model.trim="queryParam.financialOrgName"
|
||||||
@ -38,7 +53,7 @@
|
|||||||
</el-input>
|
</el-input>
|
||||||
</div>
|
</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="6">
|
||||||
<div class="flex-row-center align-items-center height-40 mb-24">
|
<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-input v-model.trim="queryParam.caseNo"
|
<el-input v-model.trim="queryParam.caseNo"
|
||||||
@ -47,70 +62,13 @@
|
|||||||
</el-input>
|
</el-input>
|
||||||
</div>
|
</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="6">
|
||||||
<div class="flex-row-center align-items-center height-40 mb-24">
|
<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.productTypeId"
|
<el-select v-model="queryParam.mediatorId"
|
||||||
clearable placeholder="请选择金融产品类型"
|
clearable placeholder="请选择所属调解员"
|
||||||
@keydown.enter.native="handleSearch"
|
|
||||||
class="width100">
|
|
||||||
<el-option
|
|
||||||
v-for="item in financialProductsTypeOptions"
|
|
||||||
:key="item.code"
|
|
||||||
:label="item.codeName"
|
|
||||||
:value="item.code">
|
|
||||||
</el-option>
|
|
||||||
</el-select>
|
|
||||||
</div>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<el-row :gutter="56">
|
|
||||||
<el-col :span="8">
|
|
||||||
<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.deptId"
|
|
||||||
clearable placeholder="请选择区域"
|
|
||||||
@keydown.enter.native="handleSearch"
|
@keydown.enter.native="handleSearch"
|
||||||
class="width100">
|
class="width100">
|
||||||
<el-option
|
|
||||||
v-for="item in departmentOptions"
|
|
||||||
:key="item.id"
|
|
||||||
:label="item.name"
|
|
||||||
:value="item.id">
|
|
||||||
</el-option>
|
|
||||||
</el-select>
|
|
||||||
</div>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8">
|
|
||||||
<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.creditorName"
|
|
||||||
clearable placeholder="请输入债务人姓名"
|
|
||||||
@keydown.enter.native="handleSearch">
|
|
||||||
</el-input>
|
|
||||||
</div>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8">
|
|
||||||
<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.creditorPhone"
|
|
||||||
clearable placeholder="请输入债务人电话"
|
|
||||||
@keydown.enter.native="handleSearch"
|
|
||||||
maxlength="11"
|
|
||||||
>
|
|
||||||
</el-input>
|
|
||||||
</div>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<el-row :gutter="56" v-if="caseStatusShow">
|
|
||||||
<el-col :span="8">
|
|
||||||
<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.resultStatus"
|
|
||||||
clearable placeholder="请选择案件状态"
|
|
||||||
@keydown.enter.native="handleSearch"
|
|
||||||
:disabled="deptDisabled"
|
|
||||||
class="width100">
|
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in caseStatusData"
|
v-for="item in caseStatusData"
|
||||||
:key="item.code"
|
:key="item.code"
|
||||||
@ -119,12 +77,116 @@
|
|||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<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-select v-model="queryParam.caseStatus"
|
||||||
|
clearable placeholder="请选择案件状态"
|
||||||
|
@keydown.enter.native="handleSearch"
|
||||||
|
class="width100">
|
||||||
|
<el-option
|
||||||
|
v-for="item in CaseStatusEnum"
|
||||||
|
:key="item.label"
|
||||||
|
: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-24">
|
||||||
|
<span class="tabs__search-criteria-title flex-shrink-0 pr-16">分案状态</span>
|
||||||
|
<el-select v-model="queryParam.dispatch"
|
||||||
|
clearable placeholder="请选择分案状态"
|
||||||
|
@keydown.enter.native="handleSearch"
|
||||||
|
class="width100">
|
||||||
|
<el-option
|
||||||
|
v-for="item in PartCaseStatusEnum"
|
||||||
|
:key="item.label"
|
||||||
|
: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-24">
|
||||||
|
<span class="tabs__search-criteria-title flex-shrink-0 pr-16">调解进度</span>
|
||||||
|
<el-select v-model="queryParam.labels"
|
||||||
|
clearable placeholder="请选择调解进度"
|
||||||
|
@keydown.enter.native="handleSearch"
|
||||||
|
:multiple="true" :multiple-limit="3"
|
||||||
|
class="width100">
|
||||||
|
<el-option
|
||||||
|
v-for="item in MediateProgEnum"
|
||||||
|
:key="item.label"
|
||||||
|
: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-24">
|
||||||
|
<span class="tabs__search-criteria-title flex-shrink-0 pr-16">调解状态</span>
|
||||||
|
<el-select v-model="queryParam.mediateStatus"
|
||||||
|
clearable placeholder="请选择调解状态"
|
||||||
|
@keydown.enter.native="handleSearch"
|
||||||
|
class="width100">
|
||||||
|
<el-option
|
||||||
|
v-for="item in MediateStatusEnum"
|
||||||
|
: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="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.creditorName"
|
||||||
|
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.creditorPhone"
|
||||||
|
clearable placeholder="请输入被申请人电话"
|
||||||
|
@keydown.enter.native="handleSearch"
|
||||||
|
maxlength="11"
|
||||||
|
>
|
||||||
|
</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.creditorCode"
|
||||||
|
clearable placeholder="请输入被申请人证件号"
|
||||||
|
@keydown.enter.native="handleSearch"
|
||||||
|
maxlength="11"
|
||||||
|
>
|
||||||
|
</el-input>
|
||||||
|
</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row :gutter="56">
|
<el-row :gutter="56">
|
||||||
<el-col :span="18">
|
<el-col :span="18">
|
||||||
<div class="flex-row align-items-center height-40 mb-24">
|
<div class="flex-row 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>
|
||||||
<span :class="['f14 pr-24 cursor-pointer', i === 0 ? 'pl-8' : '',
|
<span :class="['f14 pr-24 cursor-pointer', i === 0 ? 'pl-8' : '',
|
||||||
activeUsage === item ?'color-primary' : 'color-text-regular']"
|
activeUsage === item ?'color-primary' : 'color-text-regular']"
|
||||||
v-for="(item, i) in usageOption" :key="i"
|
v-for="(item, i) in usageOption" :key="i"
|
||||||
@ -156,38 +218,118 @@
|
|||||||
<div class="height-56 flex-row align-items-center justify-content-between">
|
<div class="height-56 flex-row align-items-center justify-content-between">
|
||||||
<div class="f22 color-text-primary">案件列表</div>
|
<div class="f22 color-text-primary">案件列表</div>
|
||||||
<div class="flex-row">
|
<div class="flex-row">
|
||||||
<!-- <el-button size="small" type="primary">自动拨打</el-button> -->
|
<el-button size="small" @click="handleAddForm">案件办结</el-button>
|
||||||
|
<el-button size="small" @click="handleAddForm">发送短信</el-button>
|
||||||
|
<el-button size="small" @click="handleAddForm">智能外呼</el-button>
|
||||||
|
<el-button size="small" @click="handleAddForm">文书生成</el-button>
|
||||||
|
<el-button size="small" @click="handleAddForm">发起签字</el-button>
|
||||||
|
<el-button size="small" @click="handleAddForm">发起签章</el-button>
|
||||||
|
<el-button size="small" @click="handleAddForm">文书送达</el-button>
|
||||||
|
<el-button size="small" @click="handleCaseAllocation">案件下载</el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="height-56 flex-row align-items-center justify-content-between" style="height: 22px;margin-left: 10px;margin-top: -10px;margin-bottom: 5px">
|
||||||
|
<div class="f22 color-text-primary"><el-checkbox :indeterminate="indeterminate" @change="handleCheckAllChange">全选</el-checkbox></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div >
|
<div class="case-table">
|
||||||
<el-table :data="tableData" :height="`${contentHeight}`"
|
<el-table :data="tableData" :height="`${contentHeight}`" @selection-change="handleSelectionChange" :show-header="false">
|
||||||
>
|
<!-- <el-table-column type="selection" width="55"></el-table-column> -->
|
||||||
<el-table-column
|
<!-- <el-table-column align="center" width="85">
|
||||||
v-for="(item, i) in tableHead"
|
<template slot="header">
|
||||||
:key="i"
|
<div>
|
||||||
:prop="item.prop"
|
<el-checkbox :indeterminate="indeterminate" @change="handleCheckAllChange">全选</el-checkbox>
|
||||||
:label="item.label"
|
</div>
|
||||||
:show-overflow-tooltip="item.showOverflowTooltip"
|
</template>
|
||||||
:width="item.width"
|
</el-table-column> -->
|
||||||
:sortable="item.sortable"
|
|
||||||
:formatter="item.formatter"
|
<el-table-column prop="pkgName" label="操作" show-overflow-tooltip >
|
||||||
></el-table-column>
|
|
||||||
<el-table-column
|
|
||||||
prop="resultStatus"
|
|
||||||
label="案件状态"
|
|
||||||
show-overflow-tooltip
|
|
||||||
:formatter="formatResultStatusEnum"
|
|
||||||
v-if="caseStatusShow"
|
|
||||||
>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="操作" width="150">
|
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<div class="flex-row align-items-center">
|
<div class="table-row flex-column justify-content-between">
|
||||||
<!-- <div class="f12 cursor-pointer color-text-regular mr-16" @click="handleDelete(scope.row)">删除</div> -->
|
<div class="flex-row pt-8">
|
||||||
<el-button size="mini" @click="handleDetail(scope)">详情</el-button>
|
<span>
|
||||||
|
<el-checkbox-group v-model="selectionData">
|
||||||
|
<!-- 此处的label是复选框右边显示的值,也是选中后的值。如果要一行的数据,直接使用row即可 -->
|
||||||
|
<!-- label的内容会显示在页面上,需要配合css把label的内容隐藏掉 -->
|
||||||
|
<el-checkbox :disabled="scope.row.disabled" :key="scope.row.id" :label="scope.row.id"></el-checkbox>
|
||||||
|
</el-checkbox-group>
|
||||||
|
</span>
|
||||||
|
<span class="f-weight500 color-000 f16">被申请人:
|
||||||
|
<a v-for="(item,index) in scope.row.debtorEntityList" :key="index">{{index == 0 ?'':','}}{{item.name}}</a>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<div class="flex-row justify-content-between table-span-one">
|
||||||
|
<span class="">
|
||||||
|
<p>案件号:</p>
|
||||||
|
<p class="color-000">{{ scope.row.caseNo }}</p>
|
||||||
|
</span>
|
||||||
|
<span>
|
||||||
|
<p>申请人:</p>
|
||||||
|
<p class="color-000">{{ scope.row.financialOrgName }}</p>
|
||||||
|
</span>
|
||||||
|
<span>
|
||||||
|
<p>最新跟进时间:</p>
|
||||||
|
<p class="color-000">{{ scope.row.updateAt }}</p>
|
||||||
|
</span>
|
||||||
|
<span>
|
||||||
|
<p>逾期金额(元):</p>
|
||||||
|
<p class="color-000">{{ scope.row.moneyAmount }}</p>
|
||||||
|
</span>
|
||||||
|
<span>
|
||||||
|
<p>委案日期:</p>
|
||||||
|
<p class="color-000">{{ scope.row.planStartTime }}</p>
|
||||||
|
</span>
|
||||||
|
<span>
|
||||||
|
<p>所属调解员:</p>
|
||||||
|
<p class="color-000">{{ scope.row.mediatorName }}</p>
|
||||||
|
</span>
|
||||||
|
<span style=" text-align: right;">
|
||||||
|
<el-button size="mini" class="case-btn" @click="jumpUrl(`/case-detail?dataKey=casepack&caseId=${scope.row.id}`)">查看详情</el-button>
|
||||||
|
<el-button size="mini" class="case-btn" @click="handleDelete(scope)">删除</el-button>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<div class="flex-row justify-content-between case-bg">
|
||||||
|
<span class="cursor-pointer">
|
||||||
|
<p>短信</p>
|
||||||
|
<p class="color-000"><a class="color-274ea4">成功{{scope.row.statistics.SMS}}1</a>/发送1</p>
|
||||||
|
</span>
|
||||||
|
<span class="cursor-pointer">
|
||||||
|
<p>外呼</p>
|
||||||
|
<p class="color-000"><a class="color-274ea4">接通0</a>/外呼0</p>
|
||||||
|
</span>
|
||||||
|
<span class="cursor-pointer">
|
||||||
|
<p>调解视频</p>
|
||||||
|
<p class="color-000"><a class="color-274ea4">结束0</a>/预约0</p>
|
||||||
|
</span>
|
||||||
|
<span class="cursor-pointer">
|
||||||
|
<p>文书</p>
|
||||||
|
<p class="color-000">0</p>
|
||||||
|
</span>
|
||||||
|
<span class="cursor-pointer">
|
||||||
|
<p>文书签署</p>
|
||||||
|
<p class="color-000"><a class="color-274ea4">成功0</a>/发起0</p>
|
||||||
|
</span>
|
||||||
|
<span class="cursor-pointer">
|
||||||
|
<p>文书送达</p>
|
||||||
|
<p class="color-000">0</p>
|
||||||
|
</span>
|
||||||
|
<span class="cursor-pointer">
|
||||||
|
<p>还款计划</p>
|
||||||
|
<p class="color-000"><a class="color-274ea4">已设置</a></p>
|
||||||
|
</span>
|
||||||
|
<span class="cursor-pointer">
|
||||||
|
<p>还款凭证</p>
|
||||||
|
<p class="color-000"><a class="color-274ea4">已填0</a></p>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<!-- <div class="flex-row justify-content-end">
|
||||||
|
<span><el-button size="mini" class="case-btn" @click="handleEdit(scope)">查看详情</el-button></span>
|
||||||
|
<span><el-button size="mini" class="case-btn" @click="handleDelete(scope)">删除</el-button></span>
|
||||||
|
</div> -->
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
</div>
|
</div>
|
||||||
@ -207,120 +349,105 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 编辑 -->
|
<!-- 编辑 -->
|
||||||
<editCaseDrawer v-if="editCaseDrawer" :editCaseDrawer.sync="editCaseDrawer"/>
|
<!-- <editCaseDrawer v-if="editCaseDrawer" :editCaseDrawer.sync="editCaseDrawer"/> -->
|
||||||
|
|
||||||
|
<!-- 事项追踪 -->
|
||||||
|
<eventTracingDialog v-if="eventTraDialog" :eventTraDialog.sync="eventTraDialog" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import api from "@/services/caseManagement";
|
import api from "@/services/caseManagement";
|
||||||
|
import { values } from "lodash";
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
editCaseDrawer: () => import('./components/editCaseDrawer'),//编辑
|
// addCaseDialog: () => import('./components/addCaseDialog'),//新增
|
||||||
|
// editCaseDrawer: () => import('./components/editCaseDrawer'),//编辑
|
||||||
|
eventTracingDialog: () => import('../event-tracing/index.vue'),//事项追踪
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
activeName:'all',
|
isCheck: false,//全选按钮绑定值
|
||||||
|
indeterminate: false,//全选按钮的不确定状态,选中数据selectionData的长度length符合 0 < selectionData.length < enabledDataList.length ,值为true
|
||||||
|
selectionData: [],//表格多选选中的数据
|
||||||
|
enabledDataList: [],//这个指表格中没有被禁用的行数据,进来组件的时候需要自己处理下
|
||||||
|
|
||||||
|
//案件状态
|
||||||
|
CaseStatusEnum:[{label:'在办',value:1},{label:'办结',value:2}],
|
||||||
|
//分案状态
|
||||||
|
PartCaseStatusEnum:[{label:'待分案',value:false},{label:'已分案',value:true}],
|
||||||
|
//调解进度
|
||||||
|
MediateProgEnum:[{label:'承诺账户',value:'承诺账户'},{label:'重点账户',value:'重点账户'},{label:'已结清客户',value:'已结清客户'},
|
||||||
|
{label:'疑难账户',value:'疑难账户'},{label:'失联账户',value:'失联账户'},{label:'半失联账户',value:'半失联账户'},{label:'部分还款账户',value:'部分还款账户'},
|
||||||
|
{label:'适诉案件',value:'适诉案件'},{label:'可联账户',value:'可联账户'},{label:'投诉倾向客户',value:'投诉倾向客户'},{label:'分期客户',value:'分期客户'},
|
||||||
|
{label:'其他/无标签',value:'其他/无标签'}
|
||||||
|
],
|
||||||
|
//调解状态
|
||||||
|
MediateStatusEnum:[{label:'未触达',value:0},{label:'调解中',value:1},{label:'已达成方案',value:2},
|
||||||
|
{label:'已签署协议',value:3},{label:'调解失败',value:4},{label:'调解成功',value:5}],
|
||||||
showSearch: true,
|
showSearch: true,
|
||||||
queryDate: '',
|
queryDate: '',
|
||||||
activeUsage: '',
|
activeUsage: '',
|
||||||
caseStatusNum:{
|
|
||||||
end: 0,
|
|
||||||
ing: 0,
|
|
||||||
not: 0,
|
|
||||||
total:0
|
|
||||||
},
|
|
||||||
mediateStatusData:[],//所有案件状态枚举
|
|
||||||
queryParam: {
|
queryParam: {
|
||||||
|
pkgId:'',
|
||||||
financialOrgName:'',//金融机构名称
|
financialOrgName:'',//金融机构名称
|
||||||
caseNo: '',//案件编号
|
caseNo: '',//案件编号
|
||||||
productTypeId: '',//产品类型id
|
productTypeId: '',//产品类型id
|
||||||
caseStatus: '',//案件状态
|
caseStatus: '',//案件状态
|
||||||
creditorName:'',//债券人姓名
|
creditorName:'',//债券人姓名
|
||||||
creditorPhone:'',//债务人手机号
|
creditorPhone:'',//债务人手机号
|
||||||
|
creditorCode:'',
|
||||||
endTime: '',//结束时间
|
endTime: '',//结束时间
|
||||||
beginTime:'',//开始时间
|
beginTime:'',//开始时间
|
||||||
deptId:'',//区域id
|
deptId:'',//区域id
|
||||||
current:1,
|
current:1,
|
||||||
size:10,
|
size:10,
|
||||||
|
|
||||||
caseName:'',//案件名称
|
|
||||||
dataAuthUserId:'',//当前登录用户所拥有权限的用户id
|
dataAuthUserId:'',//当前登录用户所拥有权限的用户id
|
||||||
dataAuthDeptId:'',//当前登录用户所拥有权限的区域id
|
dataAuthDeptId:'',//当前登录用户所拥有权限的区域id
|
||||||
|
|
||||||
mediatorId:'',//调解员id
|
mediatorId:'',//调解员id
|
||||||
resultStatus:'',//结果状态
|
caseStatus:null,//案件状态
|
||||||
|
mediateStatus:null,//调解状态
|
||||||
|
dispatch:null,//分案状态
|
||||||
|
labels:null,//案件标签
|
||||||
|
|
||||||
},
|
},
|
||||||
usageOption: ['今日','昨日', '近一周', '近一月', '近半年', '近一年'],
|
usageOption: ['今日','昨日', '近一周', '近一月', '近半年', '近一年'],
|
||||||
tableHead: [
|
|
||||||
{
|
|
||||||
prop: "caseName",
|
|
||||||
label: "案件名称",
|
|
||||||
showOverflowTooltip: true,
|
|
||||||
formatter: this.formatTable,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
prop: "caseNo",
|
|
||||||
label: "案件编号",
|
|
||||||
showOverflowTooltip: true,
|
|
||||||
formatter:this.formatTable,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
prop: "productTypeId",
|
|
||||||
label: "金融产品类型",
|
|
||||||
showOverflowTooltip: true,
|
|
||||||
formatter: this.formatProductType,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
prop: "deptId",
|
|
||||||
label: "归属区域",
|
|
||||||
showOverflowTooltip: true,
|
|
||||||
formatter: this.formatdeptName,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
prop: "mediatorName",
|
|
||||||
label: "归属人",
|
|
||||||
showOverflowTooltip: true,
|
|
||||||
formatter:this.formatTable,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
prop: "createAt",
|
|
||||||
label: "创建时间",
|
|
||||||
showOverflowTooltip: true,
|
|
||||||
formatter: this.formatTable,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
prop: "caseStatus",
|
|
||||||
label: "调解状态",
|
|
||||||
showOverflowTooltip: true,
|
|
||||||
formatter: this.formatMediateStatusEnum,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
tableData: [],
|
tableData: [],
|
||||||
financialProductsTypeOptions:[],//金融产品类型
|
|
||||||
departmentOptions:[],//区域
|
|
||||||
total:0,
|
total:0,
|
||||||
uniqueSelection:[],
|
uniqueSelection:[],
|
||||||
|
eventTraDialog:null,//事项追踪
|
||||||
|
importCaseDialog:null,//导入
|
||||||
|
addCaseDialog:null,//新增
|
||||||
editCaseDrawer:null,//编辑
|
editCaseDrawer:null,//编辑
|
||||||
deptDisabled:false,//区域下拉设置是否可选
|
caseStatusData:[],
|
||||||
caseStatusData:[],//获取调解中状态枚举
|
activeName:'all',
|
||||||
caseStatusShow:true,//显示案件状态枚举 全部,调解中
|
caseStatusNum:{
|
||||||
|
end: 0,
|
||||||
|
ing: 0,
|
||||||
|
not: 0,
|
||||||
|
total:0
|
||||||
|
},
|
||||||
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
watch: {
|
||||||
this.getCaseCount();//获取各案件状态数量
|
// 监听选中的数据,选中的数据发生变化,通过判断长度给多选按钮赋值
|
||||||
this.getMediateStatusEnum();//获取所有状态枚举
|
selectionData: {
|
||||||
this.getDict();//获取金融产品类型
|
handler(v) {
|
||||||
this.getDeptList();//获取区域
|
if (this.enabledDataList.length) {
|
||||||
// 判断当前登录人角色,如果是普通调解员,则默认展示区域且不可选择
|
let checkedCount = v.length;
|
||||||
let identifier = this.$store.state.userinfo.identifier
|
this.isCheck = checkedCount === this.enabledDataList.length;
|
||||||
if(identifier=='mediator'){
|
this.indeterminate = checkedCount > 0 && checkedCount < this.enabledDataList.length;
|
||||||
this.deptDisabled = true
|
}
|
||||||
this.queryParam.deptId = this.$store.state.userinfo.deptId
|
},
|
||||||
}else{
|
immediate: true
|
||||||
this.deptDisabled = false
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
created() {
|
||||||
|
if (this.$route.query.dataKey != undefined) {
|
||||||
|
this.queryParam.pkgId = this.$route.query.pkgId;
|
||||||
}
|
}
|
||||||
// this.setDateFast()
|
|
||||||
this.getCaseStatusEnum();//获取调解中状态枚举
|
|
||||||
// this.setDateFast()
|
|
||||||
this.getCaseInfoList(1)
|
this.getCaseInfoList(1)
|
||||||
},
|
},
|
||||||
computed:{
|
computed:{
|
||||||
@ -328,16 +455,11 @@ import api from "@/services/caseManagement";
|
|||||||
contentHeight(){
|
contentHeight(){
|
||||||
let oh = document.documentElement.clientHeight;
|
let oh = document.documentElement.clientHeight;
|
||||||
if(this.showSearch){
|
if(this.showSearch){
|
||||||
if(this.caseStatusShow){
|
return oh-56-48-366-145
|
||||||
return oh-56-48-430-32
|
|
||||||
}else{
|
|
||||||
return oh-56-48-366-32
|
|
||||||
}
|
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
return oh-56-48-175-32
|
return oh-56-48-175-75
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
@ -358,48 +480,96 @@ import api from "@/services/caseManagement";
|
|||||||
}
|
}
|
||||||
this.getCaseInfoList(1)
|
this.getCaseInfoList(1)
|
||||||
},
|
},
|
||||||
|
jumpUrl (url) {
|
||||||
|
this.$router.push(url);
|
||||||
|
},
|
||||||
|
// 全选
|
||||||
|
handleCheckAllChange(value){
|
||||||
|
|
||||||
|
this.selectionData = value ? this.enabledDataList.map(el=>el.id) : [];
|
||||||
// 详情
|
this.indeterminate = false;
|
||||||
handleDetail(scope){
|
},
|
||||||
|
|
||||||
|
// 导入
|
||||||
|
handleImport(){
|
||||||
|
this.importCaseDialog={
|
||||||
|
title:'导入案件',
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 批量删除
|
||||||
|
handleBatchDelete(){
|
||||||
|
if(this.uniqueSelection.length==0){
|
||||||
|
this.$message.warning("请先选择你要删除的列表数据");
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.$confirm("请确定是否删除这些数据?", "提示", {
|
||||||
|
confirmButtonText: "确定",
|
||||||
|
cancelButtonText: "取消",
|
||||||
|
type: "warning",
|
||||||
|
}).then(() => {
|
||||||
|
if(!this.$clickThrottle()) { return }//防止重复点击
|
||||||
|
|
||||||
|
let data = {
|
||||||
|
ids:this.uniqueSelection
|
||||||
|
}
|
||||||
|
api.deleteCaseBatch(data).then((res) => {
|
||||||
|
|
||||||
|
this.$message.success("成功");
|
||||||
|
this.getCaseInfoList(1)
|
||||||
|
|
||||||
|
});
|
||||||
|
}).catch(() => {});
|
||||||
|
},
|
||||||
|
// 单条删除
|
||||||
|
handleDelete(scope){
|
||||||
|
this.$confirm("请确定是否删除此条数据?", "提示", {
|
||||||
|
confirmButtonText: "确定",
|
||||||
|
cancelButtonText: "取消",
|
||||||
|
type: "warning",
|
||||||
|
}).then(() => {
|
||||||
|
if(!this.$clickThrottle()) { return }//防止重复点击
|
||||||
|
api.deleteCaseInfoById(scope.row.id).then((res) => {
|
||||||
|
|
||||||
|
this.$message.success("成功");
|
||||||
|
this.getCaseInfoList(1)
|
||||||
|
|
||||||
|
});
|
||||||
|
}).catch(() => {});
|
||||||
|
},
|
||||||
|
// 新增
|
||||||
|
handleAddForm(){
|
||||||
|
this.addCaseDialog={
|
||||||
|
title:'新增案件',
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 案件分配
|
||||||
|
handleCaseAllocation(){
|
||||||
|
|
||||||
|
if(this.selectionData.length > 0){
|
||||||
|
this.caseAllocationDialog={
|
||||||
|
title:'案件分配',
|
||||||
|
choosecaseIds:this.selectionData
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
this.$message({
|
||||||
|
showClose: true,
|
||||||
|
message: '请选择需要分案的案件!',
|
||||||
|
type: 'warning'
|
||||||
|
});
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
// 编辑
|
||||||
|
handleEdit(scope){
|
||||||
this.editCaseDrawer={
|
this.editCaseDrawer={
|
||||||
title:'案件详情',
|
title:'编辑案件',
|
||||||
data:scope.row,
|
data:scope.row,
|
||||||
sourcePage:'mediationManagement'
|
currentPage:this.queryParam.current
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 获取各案件状态数量
|
|
||||||
getCaseCount(){
|
|
||||||
api.getCaseCount({}).then(res => {
|
|
||||||
if (!res.code) {
|
|
||||||
this.caseStatusNum = res;
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 获取金融产品类型
|
|
||||||
getDict(){
|
|
||||||
let data = {
|
|
||||||
type:'financial'
|
|
||||||
}
|
|
||||||
api.getDict(data).then(res => {
|
|
||||||
if (!res.code) {
|
|
||||||
this.financialProductsTypeOptions = res;
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 获取区域
|
|
||||||
getDeptList(){
|
|
||||||
let data = {
|
|
||||||
companyId: this.$store.state.userinfo.companyId,
|
|
||||||
current: 1,
|
|
||||||
size: 500,
|
|
||||||
}
|
|
||||||
api.getDeptList(data).then(res => {
|
|
||||||
if (!res.code) {
|
|
||||||
this.departmentOptions = res.records;
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 列表数据
|
// 列表数据
|
||||||
getCaseInfoList(val){
|
getCaseInfoList(val){
|
||||||
this.queryParam.current = val
|
this.queryParam.current = val
|
||||||
@ -407,6 +577,9 @@ import api from "@/services/caseManagement";
|
|||||||
if (!res.code) {
|
if (!res.code) {
|
||||||
this.tableData = res.records;
|
this.tableData = res.records;
|
||||||
this.total = res.total;
|
this.total = res.total;
|
||||||
|
|
||||||
|
// 给enabledDataList赋值,需要去掉被禁用的数据
|
||||||
|
this.enabledDataList = this.tableData.filter(v=>!v.disabled)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@ -485,63 +658,47 @@ import api from "@/services/caseManagement";
|
|||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
// 根据id获取区域名称
|
handleSelectionChange(val){
|
||||||
formatdeptName(row, column, cellValue, index){
|
console.log('获取val',val)
|
||||||
let obj = this.departmentOptions.find((item) => {
|
this.uniqueSelection = []
|
||||||
return item.id == row.deptId
|
val.forEach((row)=>{
|
||||||
|
this.uniqueSelection.push(row.id)
|
||||||
})
|
})
|
||||||
return row.deptId != null ? <div>{obj?obj.name:'-'}</div> : '-'
|
console.log('uniqueSelection',this.uniqueSelection)
|
||||||
},
|
|
||||||
formatProductType(row, column, cellValue, index){
|
|
||||||
let obj = this.financialProductsTypeOptions.find((item) => {
|
|
||||||
return item.code == row.productTypeId
|
|
||||||
})
|
|
||||||
// console.log(obj)
|
|
||||||
return row.productTypeId != null ? <div>{obj?obj.codeName:'-'}</div> : '-'
|
|
||||||
},
|
|
||||||
// 获取案件状态枚举
|
|
||||||
getMediateStatusEnum(){
|
|
||||||
api.getMediateStatusEnum({}).then(res => {
|
|
||||||
if (!res.code) {
|
|
||||||
this.mediateStatusData = res;
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 案件状态
|
|
||||||
formatMediateStatusEnum(row, column, cellValue, index){
|
|
||||||
// console.log('row',row)
|
|
||||||
let className = `status-btn case-status${row.caseStatus}`
|
|
||||||
let obj = this.mediateStatusData.find((item) => {
|
|
||||||
return item.code == row.caseStatus
|
|
||||||
})
|
|
||||||
return row.caseStatus != null ? <div class={className}>{obj.desc}</div> : '-'
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
// 获取调解中案件状态枚举
|
|
||||||
getCaseStatusEnum(){
|
|
||||||
api.getCaseStatusEnum({}).then(res => {
|
|
||||||
if (!res.code) {
|
|
||||||
this.caseStatusData = res;
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
},
|
||||||
formatResultStatusEnum(row, column, cellValue, index){
|
|
||||||
// console.log('row',row)
|
|
||||||
let className = `status-btn result-status${row.resultStatus}`
|
|
||||||
let obj = this.caseStatusData.find((item) => {
|
|
||||||
return item.code == row.resultStatus
|
|
||||||
})
|
|
||||||
return row.resultStatus != null ? <div class={className}>{obj.desc}</div> : '-'
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style scoped>
|
<style scoped lang="scss">
|
||||||
.el-badge{
|
.el-badge{
|
||||||
top: 3px;
|
top: 3px;
|
||||||
}
|
}
|
||||||
|
.case-table{
|
||||||
|
.table-row{
|
||||||
|
color: #86909C;
|
||||||
|
p{padding: 0;margin: 0;}
|
||||||
|
.case-bg{
|
||||||
|
background-color: #eceef1d1;
|
||||||
|
padding: 10px 20px;
|
||||||
|
margin: 5px 0 10px 0;
|
||||||
|
}
|
||||||
|
.table-span-one span{width: 180px;}
|
||||||
|
.case-btn{
|
||||||
|
color: #C66A5B;
|
||||||
|
border-color: #C66A5B;
|
||||||
|
margin: 0 5px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
|
<style lang="scss">
|
||||||
|
.case-table{
|
||||||
|
.el-table tr {
|
||||||
|
background-color: #f7f8fa63 !important;
|
||||||
|
}
|
||||||
|
.el-checkbox{line-height: 10px;margin-top: -3px;}
|
||||||
|
.el-checkbox .el-checkbox__label{width: 0px;overflow: hidden;}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
@ -118,8 +118,71 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="border-radius-4 flex-row justify-content-between casework3">
|
<div class="border-radius-4 flex-column casework3">
|
||||||
|
<div class="flex-column pie-chart">
|
||||||
|
<div class="flex-row justify-content-between case-pk-title">
|
||||||
|
<span>调解成功率</span>
|
||||||
|
<div class="flex-row">
|
||||||
|
<span>
|
||||||
|
<el-select v-model="queryParam.entrustingAgencyName"
|
||||||
|
clearable placeholder="请选择案件包"
|
||||||
|
@keydown.enter.native="handleSearch"
|
||||||
|
class="width100" size="mini">
|
||||||
|
<el-option
|
||||||
|
v-for="item in casePkOptions"
|
||||||
|
:key="item.code"
|
||||||
|
:label="item.codeName"
|
||||||
|
:value="item.code">
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="case-pk-cont flex-column">
|
||||||
|
<div>
|
||||||
|
<div id="echartsSankey" style="width: 370px; height: 270px; margin-left: 10px">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<span class="resultplan">31%</span>
|
||||||
|
</div>
|
||||||
|
<div class="flex-row justify-content-between">
|
||||||
|
<span class="flex-column align-items-center color-86909C"><a class="color-000 f16">27</a><a>总案件数</a></span>
|
||||||
|
<span class="flex-column align-items-center color-86909C"><a class="color-000 f16">10</a><a>调解成功</a></span>
|
||||||
|
<span class="flex-column align-items-center color-86909C"><a class="color-000 f16">17</a><a>调解失败</a></span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="flex-column item-trace">
|
||||||
|
<div class="flex-row justify-content-between case-pk-title">
|
||||||
|
<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>1</a>/<a>2</a></span>
|
||||||
|
</div>
|
||||||
|
<div class="flex-row justify-content-between cursor-pointer" @click="eventTraDialog={traceType:1,title:'外呼事项追踪'}">
|
||||||
|
<span>外呼事项追踪</span><span><a>1</a>/<a>2</a></span>
|
||||||
|
</div>
|
||||||
|
<div class="flex-row justify-content-between cursor-pointer" @click="eventTraDialog={traceType:2,title:'视频调解追踪'}">
|
||||||
|
<span>视频调解追踪</span><span><a>1</a>/<a>2</a></span>
|
||||||
|
</div>
|
||||||
|
<div class="flex-row justify-content-between cursor-pointer" @click="eventTraDialog={traceType:3,title:'文书生成追踪'}">
|
||||||
|
<span>文书生成追踪</span><span><a>1</a>/<a>2</a></span>
|
||||||
|
</div>
|
||||||
|
<div class="flex-row justify-content-between cursor-pointer" @click="eventTraDialog={traceType:4,title:'文书签字追踪'}">
|
||||||
|
<span>文书签字追踪</span><span><a>1</a>/<a>2</a></span>
|
||||||
|
</div>
|
||||||
|
<div class="flex-row justify-content-between cursor-pointer" @click="eventTraDialog={traceType:5,title:'文书签章追踪'}">
|
||||||
|
<span>文书签章追踪</span><span><a>1</a>/<a>2</a></span>
|
||||||
|
</div>
|
||||||
|
<div class="flex-row justify-content-between cursor-pointer" @click="eventTraDialog={traceType:6,title:'文书送达追踪'}">
|
||||||
|
<span>文书送达追踪</span><span><a>1</a>/<a>2</a></span>
|
||||||
|
</div>
|
||||||
|
<div class="flex-row justify-content-between cursor-pointer" @click="eventTraDialog={traceType:7,title:'还款凭证登记'}">
|
||||||
|
<span>还款凭证登记</span><span><a>1</a>/<a>2</a></span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -131,6 +194,8 @@
|
|||||||
<!-- 案件分配-->
|
<!-- 案件分配-->
|
||||||
<caseAllocationDialog v-if="caseAllocationDialog" :caseAllocationDialog.sync="caseAllocationDialog" />
|
<caseAllocationDialog v-if="caseAllocationDialog" :caseAllocationDialog.sync="caseAllocationDialog" />
|
||||||
|
|
||||||
|
<!-- 事项追踪 -->
|
||||||
|
<eventTracingDialog v-if="eventTraDialog" :eventTraDialog.sync="eventTraDialog" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
@ -142,9 +207,11 @@
|
|||||||
components: {
|
components: {
|
||||||
importPackageDialog: () => import('../case-package/components/importPackageDialog'),//导入
|
importPackageDialog: () => import('../case-package/components/importPackageDialog'),//导入
|
||||||
caseAllocationDialog: () => import('../case-package/components/caseAllocationDialog'),//案件分配
|
caseAllocationDialog: () => import('../case-package/components/caseAllocationDialog'),//案件分配
|
||||||
|
eventTracingDialog: () => import('../event-tracing/index.vue'),//事项追踪
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
eventTraDialog:null,//事项追踪
|
||||||
casePkOptions:[],//案件包
|
casePkOptions:[],//案件包
|
||||||
queryParam: {
|
queryParam: {
|
||||||
pkgName:'',//案件包名称
|
pkgName:'',//案件包名称
|
||||||
@ -162,6 +229,8 @@
|
|||||||
|
|
||||||
caseAllocationDialog:null,//案件分配弹框
|
caseAllocationDialog:null,//案件分配弹框
|
||||||
importCaseDialog:null,//导入
|
importCaseDialog:null,//导入
|
||||||
|
|
||||||
|
myEcharts: null,
|
||||||
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
@ -178,6 +247,7 @@
|
|||||||
},
|
},
|
||||||
mounted(){
|
mounted(){
|
||||||
this.getCaseInfoList(1)
|
this.getCaseInfoList(1)
|
||||||
|
this.drawCharts()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
jumpUrl (url) {
|
jumpUrl (url) {
|
||||||
@ -234,6 +304,63 @@
|
|||||||
});
|
});
|
||||||
}).catch(() => {});
|
}).catch(() => {});
|
||||||
},
|
},
|
||||||
|
// 结果统计图
|
||||||
|
drawCharts () {
|
||||||
|
if (this.myEcharts) {
|
||||||
|
this.myEcharts.clear();
|
||||||
|
}
|
||||||
|
this.myEcharts = this.$echarts.init(
|
||||||
|
document.getElementById("echartsSankey")
|
||||||
|
);
|
||||||
|
let _that = this;
|
||||||
|
var option = {
|
||||||
|
tooltip: {
|
||||||
|
trigger: "item",
|
||||||
|
axisPointer: {
|
||||||
|
type: "shadow",
|
||||||
|
},
|
||||||
|
textStyle: {
|
||||||
|
fontSize: 22,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
legend: {
|
||||||
|
top: "5%",
|
||||||
|
left: "center",
|
||||||
|
show: false, //取消显示图例
|
||||||
|
},
|
||||||
|
series: [
|
||||||
|
{
|
||||||
|
name: 'Access From',
|
||||||
|
type: 'pie',
|
||||||
|
radius: ['40%', '70%'],
|
||||||
|
avoidLabelOverlap: false,
|
||||||
|
label: {
|
||||||
|
show: false,
|
||||||
|
position: 'center'
|
||||||
|
},
|
||||||
|
emphasis: {
|
||||||
|
label: {
|
||||||
|
show: false, //hover圆环中的列子
|
||||||
|
fontSize: 40,
|
||||||
|
fontWeight: 'bold'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
labelLine: {
|
||||||
|
show: false
|
||||||
|
},
|
||||||
|
data: [
|
||||||
|
{ value: 1048, name: 'Search Engine' },
|
||||||
|
{ value: 735, name: 'Direct' },
|
||||||
|
{ value: 580, name: 'Email' },
|
||||||
|
{ value: 484, name: 'Union Ads' },
|
||||||
|
{ value: 300, name: 'Video Ads' }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
};
|
||||||
|
_that.myEcharts.setOption(option, true);
|
||||||
|
|
||||||
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
};
|
};
|
||||||
@ -345,10 +472,86 @@
|
|||||||
|
|
||||||
}
|
}
|
||||||
.casework3{
|
.casework3{
|
||||||
margin:4px 0 0 0;
|
|
||||||
min-height:496px;
|
min-height:496px;
|
||||||
width: 400px;
|
width: 400px;
|
||||||
background-color: #E1EDF4;
|
margin:4px 0 0 0;
|
||||||
|
color: #4E5969;
|
||||||
|
.pie-chart{
|
||||||
|
padding: 18px;
|
||||||
|
background-color: #fff;
|
||||||
|
border-radius: 8px;
|
||||||
|
|
||||||
|
.case-pk-title{
|
||||||
|
span:first-child{
|
||||||
|
font-size: 18px;
|
||||||
|
color:#1D2129;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
.case-pk-cont{
|
||||||
|
padding: 20px 0;
|
||||||
|
position: relative;
|
||||||
|
.resultplan{
|
||||||
|
font-size: 32px;
|
||||||
|
position: absolute;
|
||||||
|
left: 115px;
|
||||||
|
top: 130px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
width: 165px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.item-trace{
|
||||||
|
margin-top: 20px;
|
||||||
|
padding: 18px;
|
||||||
|
background-color: #fff;
|
||||||
|
border-radius: 8px;
|
||||||
|
.case-pk-title{
|
||||||
|
span:first-child{
|
||||||
|
font-size: 18px;
|
||||||
|
color:#1D2129;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
.case-pk-cont{
|
||||||
|
padding: 10px 0 0px 0;
|
||||||
|
position: relative;
|
||||||
|
.resultplan{
|
||||||
|
font-size: 32px;
|
||||||
|
position: absolute;
|
||||||
|
left: 115px;
|
||||||
|
top: 130px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
width: 165px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
div{
|
||||||
|
margin-top:5px;
|
||||||
|
margin-bottom:10px;
|
||||||
|
color: #4E5969;
|
||||||
|
background-color:#F7F8FA ;
|
||||||
|
padding: 12px;
|
||||||
|
border-radius: 2px;
|
||||||
|
a{
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
a:first-child{
|
||||||
|
color: #E8535A;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.casework4{
|
.casework4{
|
||||||
background: linear-gradient(101.33deg, #0FBEAF 0.46%, #079D87 100%);
|
background: linear-gradient(101.33deg, #0FBEAF 0.46%, #079D87 100%);
|
||||||
|
|||||||
@ -102,6 +102,14 @@ const routes = [
|
|||||||
component: () => import("@/pages/mediation-management"),
|
component: () => import("@/pages/mediation-management"),
|
||||||
meta: { title: "调解管理", icon: 'menu-mediat-management' },
|
meta: { title: "调解管理", icon: 'menu-mediat-management' },
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
path: "/event-tracing",
|
||||||
|
name: "/event-tracing",
|
||||||
|
component: () => import("@/pages/event-tracing"),
|
||||||
|
meta: { title: "调解管理", icon: 'menu-mediat-management' },
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user