发送短信、文书送达
This commit is contained in:
parent
040927f417
commit
327b218be9
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<el-dialog :visible="true" width="1300px" class="dialog-case-record" append-to-body :close-on-click-modal="false"
|
<el-dialog :visible="true" width="1300px" class="dialog-case-record" :close-on-click-modal="false"
|
||||||
@close="handleClose()">
|
@close="handleClose()">
|
||||||
|
|
||||||
<div class="dialog-content dialog-case-trace">
|
<div class="dialog-content dialog-case-trace">
|
||||||
|
|||||||
@ -1,191 +1,231 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<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="f18 color-text-primary">筛选</div>
|
<div class="f18 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>
|
</div>
|
||||||
<el-collapse-transition>
|
</el-col>
|
||||||
<el-row :gutter="56">
|
<el-col :span="5">
|
||||||
<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.phone"
|
||||||
<el-input v-model.trim="queryParam.pkgName"
|
clearable placeholder="请输入电话号码"
|
||||||
clearable placeholder="请输入短信接收人"
|
@keydown.enter.native="handleSearch">
|
||||||
@keydown.enter.native="handleSearch">
|
</el-input>
|
||||||
</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.phone"
|
|
||||||
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="f18 color-text-primary">明细列表</div>
|
|
||||||
<div class="flex-row">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
</el-col>
|
||||||
<div class="case-table">
|
<el-col :span="9">
|
||||||
<el-table :data="tableData" height="340" >
|
<div class="justify-content-start align-items-center height-40 mb-24">
|
||||||
<el-table-column type="index" label="序号" width="55"></el-table-column>
|
<span class="tabs__search-criteria-title flex-shrink-0 pr-16">操作时间</span>
|
||||||
<!-- <el-table-column prop="pkgName" label="案件包名称" show-overflow-tooltip ></el-table-column> -->
|
<el-date-picker
|
||||||
<el-table-column prop="caseNo" label="案件编号" width="200" show-overflow-tooltip ></el-table-column>
|
v-model="queryDate"
|
||||||
<el-table-column prop="channel" label="短信模板" show-overflow-tooltip ></el-table-column>
|
type="daterange"
|
||||||
<el-table-column prop="receiver" label="短信接收人" show-overflow-tooltip ></el-table-column>
|
clearable
|
||||||
<el-table-column prop="phone" label="电话号码" show-overflow-tooltip ></el-table-column>
|
range-separator="至"
|
||||||
<el-table-column prop="channel" label="短信接收对象" show-overflow-tooltip ></el-table-column>
|
start-placeholder="开始日期"
|
||||||
<el-table-column prop="status" label="发送状态" show-overflow-tooltip ></el-table-column>
|
end-placeholder="结束日期"
|
||||||
<el-table-column prop="failureReason" label="失败原因" show-overflow-tooltip ></el-table-column>
|
@change="handleChangeDate">
|
||||||
<el-table-column prop="channel" label="操作人" show-overflow-tooltip ></el-table-column>
|
</el-date-picker>
|
||||||
<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="150">
|
|
||||||
<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>
|
||||||
|
</el-col>
|
||||||
<div class="text-center pt-16">
|
<el-col :span="4">
|
||||||
<el-pagination
|
<div class="flex-row align-items-center justify-content-end">
|
||||||
@size-change="getList"
|
<el-button @click="hanldeReset">重置</el-button>
|
||||||
@current-change="getList"
|
<el-button type="primary" @click="handleSearch">搜索</el-button>
|
||||||
:current-page="queryParam.current"
|
|
||||||
:page-size="queryParam.size"
|
|
||||||
layout="total, prev, pager, next, jumper"
|
|
||||||
:total="total">
|
|
||||||
</el-pagination>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-collapse-transition>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- table -->
|
||||||
|
<div class="pt-8">
|
||||||
|
<div class="height-56 flex-row align-items-center justify-content-between">
|
||||||
|
<div class="f18 color-text-primary">明细列表</div>
|
||||||
|
<div class="flex-row">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="case-table">
|
||||||
|
<el-table :data="tableData" height="340">
|
||||||
|
<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="caseNo" label="案件编号" width="200" show-overflow-tooltip></el-table-column>
|
||||||
|
<el-table-column prop="channel" label="短信模板" show-overflow-tooltip></el-table-column>
|
||||||
|
<el-table-column prop="receiver" label="短信接收人" show-overflow-tooltip></el-table-column>
|
||||||
|
<el-table-column prop="phone" label="电话号码" show-overflow-tooltip></el-table-column>
|
||||||
|
<el-table-column prop="channel" label="短信接收对象" show-overflow-tooltip></el-table-column>
|
||||||
|
<el-table-column prop="status" label="发送状态" show-overflow-tooltip>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ scope.row.status.desc }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="failureReason" 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="150">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<div class="flex-row align-items-center">
|
||||||
|
<el-button size="mini" @click="handleRetry(scope.row)" v-if="scope.row.status.code !== 4">重试</el-button>
|
||||||
|
<el-button size="mini" @click="handleCancel(scope.row)" v-if="scope.row.status.code !== 4">取消</el-button>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="text-center pt-16">
|
||||||
|
<el-pagination
|
||||||
|
@size-change="getList"
|
||||||
|
@current-change="getList"
|
||||||
|
:current-page="queryParam.current"
|
||||||
|
:page-size="queryParam.size"
|
||||||
|
layout="total, prev, pager, next, jumper"
|
||||||
|
:total="total">
|
||||||
|
</el-pagination>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import api from "@/services/eventTracingApi";
|
import api from "@/services/eventTracingApi";
|
||||||
export default {
|
import caseManagement from "@/services/caseManagement";
|
||||||
components: {
|
export default {
|
||||||
|
components: {},
|
||||||
},
|
props: {
|
||||||
props: {
|
DialogDetail: {
|
||||||
DialogDetail: {
|
type: Object,
|
||||||
type: Object,
|
default: () => {
|
||||||
default: () => {
|
return {}
|
||||||
return {}
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
data() {
|
||||||
data() {
|
return {
|
||||||
return {
|
queryDate: '',
|
||||||
queryDate: '',
|
queryParam: {
|
||||||
queryParam:{
|
traceId: '',
|
||||||
traceId:'',
|
phone: '',
|
||||||
phone:'',
|
beginTime: '',
|
||||||
beginTime:'',
|
endTime: '',
|
||||||
endTime:'',
|
current: 1,
|
||||||
current:1,
|
size: 10
|
||||||
size:10
|
},
|
||||||
},
|
tableData: [],
|
||||||
tableData:[],
|
total: 0,
|
||||||
total:0,
|
|
||||||
};
|
|
||||||
},
|
|
||||||
mounted () {
|
|
||||||
console.log(this.DialogDetail,'this.DialogDetail.caseNo')
|
|
||||||
if(this.DialogDetail.caseNo !=undefined && this.DialogDetail.caseNo !=''){this.queryParam.caseNo = this.DialogDetail.caseNo}
|
|
||||||
this.queryParam.traceId = this.DialogDetail.id
|
|
||||||
this.getList(1)
|
|
||||||
},
|
|
||||||
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.posttrace_sms_detail(this.queryParam).then(res => {
|
|
||||||
if (!res.code) {
|
|
||||||
this.tableData = res.records;
|
|
||||||
this.total = res.total;
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
console.log(this.DialogDetail, 'this.DialogDetail.caseNo')
|
||||||
|
if (this.DialogDetail.caseNo != undefined && this.DialogDetail.caseNo != '') {
|
||||||
|
this.queryParam.caseNo = this.DialogDetail.caseNo
|
||||||
|
}
|
||||||
|
this.queryParam.traceId = this.DialogDetail.id
|
||||||
|
this.getList(1)
|
||||||
|
},
|
||||||
|
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.posttrace_sms_detail(this.queryParam).then(res => {
|
||||||
|
if (!res.code) {
|
||||||
|
this.tableData = res.records;
|
||||||
|
this.total = res.total;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
handleRetry(row) {
|
||||||
|
this.$confirm("确定重试?", "提示", {
|
||||||
|
confirmButtonText: "确定",
|
||||||
|
cancelButtonText: "取消",
|
||||||
|
type: "warning",
|
||||||
|
}).then(() => {
|
||||||
|
if(!this.$clickThrottle()) { return }//防止重复点击
|
||||||
|
caseManagement.smsRetry({id: row.id}).then(res => {
|
||||||
|
this.getList(1);
|
||||||
|
this.$message.success("成功");
|
||||||
|
})
|
||||||
|
}).catch(() => {});
|
||||||
|
},
|
||||||
|
handleCancel(row) {
|
||||||
|
this.$confirm("确定取消?", "提示", {
|
||||||
|
confirmButtonText: "确定",
|
||||||
|
cancelButtonText: "取消",
|
||||||
|
type: "warning",
|
||||||
|
}).then(() => {
|
||||||
|
if(!this.$clickThrottle()) { return }//防止重复点击
|
||||||
|
caseManagement.smsCancel({id: row.id}).then(res => {
|
||||||
|
this.getList(1);
|
||||||
|
this.$message.success("成功");
|
||||||
|
})
|
||||||
|
}).catch(() => {});
|
||||||
|
},
|
||||||
|
}
|
||||||
|
};
|
||||||
</script>
|
</script>
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
.dialog-content{
|
.dialog-content {
|
||||||
padding: 16px 24px;
|
padding: 16px 24px;
|
||||||
max-height:500px
|
max-height: 500px
|
||||||
}
|
}
|
||||||
.department-wrap{
|
|
||||||
padding: 16px 24px;
|
.department-wrap {
|
||||||
max-height: 250px;
|
padding: 16px 24px;
|
||||||
.department-wrap-list{
|
max-height: 250px;
|
||||||
margin-bottom:32px;
|
|
||||||
}
|
.department-wrap-list {
|
||||||
.department-wrap-list:last-child{
|
margin-bottom: 32px;
|
||||||
margin-bottom:0;
|
}
|
||||||
}
|
|
||||||
|
.department-wrap-list:last-child {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.min-height350 {
|
||||||
|
min-height: 350px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.department-dept ::v-deep .el-checkbox__label {
|
||||||
|
color: $color-000000
|
||||||
}
|
}
|
||||||
.min-height350{min-height: 350px;}
|
|
||||||
.department-dept ::v-deep .el-checkbox__label {color: $color-000000}
|
|
||||||
</style>
|
</style>
|
||||||
@ -1,117 +1,159 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<el-dialog title="批量发送短信" :visible="true" width="600px" append-to-body :close-on-click-modal="false"
|
<el-dialog title="批量发送短信" :visible="true" width="600px" :close-on-click-modal="false"
|
||||||
@close="handleClose">
|
@close="handleClose">
|
||||||
<div class="dialog-content dialog-case-batch">
|
<div class="dialog-content dialog-case-batch">
|
||||||
<div class="pt-8">
|
<div class="pt-8">
|
||||||
<div class="flex-row align-items-center justify-content-between mb-24 case-batch-num">
|
<div class="flex-row align-items-center justify-content-between mb-24 case-batch-num">
|
||||||
<span>选中<a>{{eventTraDialog.caseids.length}}</a>个案件,系统将对您选择中案件进行批量发送短信!</span>
|
<span>选中<a>{{ eventTraDialog.caseids.length }}</a>个案件,系统将对您选择中案件进行批量发送短信!</span>
|
||||||
</div>
|
</div>
|
||||||
<el-collapse-transition>
|
<el-collapse-transition>
|
||||||
<el-row :gutter="56">
|
<el-row :gutter="56">
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<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="ObjectInfo.methodId"
|
<el-select v-model="ObjectInfo.scene"
|
||||||
placeholder="请选择还款方式"
|
placeholder="请选择还款方式"
|
||||||
class="width100" @change="smsChange">
|
class="width100" @change="smsChange">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in smsOptions"
|
v-for="item in smsOptions"
|
||||||
:key="item.value"
|
:key="item.template"
|
||||||
:label="item.label"
|
:label="item.template"
|
||||||
:value="item.value">
|
:value="item.template">
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</div>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="24">
|
|
||||||
<div class="flex-row-center align-items-center height-40 mb-24">
|
|
||||||
<span class="tabs__search-criteria-title flex-shrink-0 pr-16">短信接收方</span>
|
|
||||||
<el-input v-model.trim="ObjectInfo.users"
|
|
||||||
clearable placeholder="请输入" disabled>
|
|
||||||
</el-input>
|
|
||||||
</div>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="24">
|
|
||||||
<div class="flex-row-center align-items-center mb-24">
|
|
||||||
<span class="tabs__search-criteria-title flex-shrink-0 pr-16">模板内容</span>
|
|
||||||
<el-input class="mt-8" type="textarea" v-model="ObjectInfo.content" :rows="4" disabled></el-input>
|
|
||||||
</div>
|
|
||||||
</el-col>
|
|
||||||
|
|
||||||
</el-row>
|
|
||||||
</el-collapse-transition>
|
|
||||||
</div>
|
</div>
|
||||||
|
</el-col>
|
||||||
|
<!-- <el-col :span="24">-->
|
||||||
|
<!-- <div class="flex-row-center align-items-center height-40 mb-24">-->
|
||||||
|
<!-- <span class="tabs__search-criteria-title flex-shrink-0 pr-16">短信接收方</span>-->
|
||||||
|
<!-- <el-input v-model.trim="ObjectInfo.users"-->
|
||||||
|
<!-- clearable placeholder="请输入" disabled>-->
|
||||||
|
<!-- </el-input>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- </el-col>-->
|
||||||
|
<el-col :span="24">
|
||||||
|
<div class="flex-row-center align-items-center mb-24">
|
||||||
|
<span class="tabs__search-criteria-title flex-shrink-0 pr-16">模板内容</span>
|
||||||
|
<el-input class="mt-8" type="textarea" v-model="ObjectInfo.content" :rows="4" disabled></el-input>
|
||||||
|
</div>
|
||||||
|
</el-col>
|
||||||
|
|
||||||
</div>
|
</el-row>
|
||||||
<span slot="footer" class="dialog-footer">
|
</el-collapse-transition>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<span slot="footer" class="dialog-footer">
|
||||||
<el-button @click="handleClose()">取消</el-button>
|
<el-button @click="handleClose()">取消</el-button>
|
||||||
<el-button type="primary" @click="handleSubmit()">批量发送</el-button>
|
<el-button type="primary" @click="handleSubmit()">批量发送</el-button>
|
||||||
</span>
|
</span>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import api from "@/services/caseManagement";
|
import caseManagement from "@/services/caseManagement";
|
||||||
export default {
|
|
||||||
components: {
|
export default {
|
||||||
},
|
components: {},
|
||||||
props: {
|
props: {
|
||||||
eventTraDialog: {
|
eventTraDialog: {
|
||||||
type: Object,
|
type: Object,
|
||||||
default: () => {
|
default: () => {
|
||||||
return {}
|
return {}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
smsOptions:[{label:'案件受理通知',value:'notice',users:'由被申请方接收',content:'【${signName}】您与${applyName}的${issueType}已由我中心受理调解,后续我方将组织双方共同进行调解,请您关注后续电话或者短信通知'},
|
smsOptions: [
|
||||||
{label:'还款计划通知',value:'repayment-plan',users:'由被申请方接收',content:'【${signName}】您与${applyName}的${issueType}经调解已经达成初步的方案及还款计划,您可以通过如下链接查看${smallProLink}。或者您也可以直接通过搜索微信小程序“保融通调解”进入“还款记录登记”模块进行查看。'}],
|
// {
|
||||||
ObjectInfo:{
|
// label: '案件受理通知',
|
||||||
methodId:'notice',
|
// template: 'notice',
|
||||||
users:'',
|
// // users: '由被申请方接收',
|
||||||
content:''
|
// content: '【${signName}】您与${applyName}的${issueType}已由我中心受理调解,后续我方将组织双方共同进行调解,请您关注后续电话或者短信通知'
|
||||||
},
|
// },
|
||||||
tableData:[],
|
// {
|
||||||
total:0,
|
// label: '还款计划通知',
|
||||||
|
// template: 'repayment-plan',
|
||||||
|
// // users: '由被申请方接收',
|
||||||
|
// content: '【${signName}】您与${applyName}的${issueType}经调解已经达成初步的方案及还款计划,您可以通过如下链接查看${smallProLink}。或者您也可以直接通过搜索微信小程序“保融通调解”进入“还款记录登记”模块进行查看。'
|
||||||
|
// }
|
||||||
|
],
|
||||||
|
ObjectInfo: {
|
||||||
|
scene: '',
|
||||||
|
// users: '',
|
||||||
|
content: ''
|
||||||
|
},
|
||||||
|
tableData: [],
|
||||||
|
total: 0,
|
||||||
|
|
||||||
};
|
|
||||||
},
|
|
||||||
mounted () {
|
|
||||||
this.smsChange()
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
smsChange(){
|
|
||||||
let jsonData = this.smsOptions.find(item=>{
|
|
||||||
return this.ObjectInfo.methodId == item.value
|
|
||||||
})
|
|
||||||
this.ObjectInfo.users = jsonData.users
|
|
||||||
this.ObjectInfo.content = jsonData.content
|
|
||||||
},
|
|
||||||
handleSubmit(){
|
|
||||||
console.log(this.eventTraDialog,'eventTraDialog')
|
|
||||||
},
|
|
||||||
handleClose() {
|
|
||||||
this.$emit('update:eventTraDialog', null)
|
|
||||||
},
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.getSmsTemplate();
|
||||||
|
// this.smsChange();
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
getSmsTemplate() {
|
||||||
|
caseManagement.getSmsTemplate().then(res => {
|
||||||
|
if (!res.code) {
|
||||||
|
this.smsOptions = res;
|
||||||
|
if (res.length){
|
||||||
|
this.ObjectInfo.scene = res[0].template;
|
||||||
|
this.ObjectInfo.content = res[0].content;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
smsChange() {
|
||||||
|
let jsonData = this.smsOptions.find(item => {
|
||||||
|
return this.ObjectInfo.scene == item.template
|
||||||
|
})
|
||||||
|
// this.ObjectInfo.users = jsonData.users
|
||||||
|
this.ObjectInfo.content = jsonData.content
|
||||||
|
},
|
||||||
|
handleSubmit() {
|
||||||
|
// console.log(this.eventTraDialog, 'eventTraDialog')
|
||||||
|
if (!this.ObjectInfo.scene){
|
||||||
|
this.$message.warning("请选择短信模板!");
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if(!this.$clickThrottle()) { return }//防止重复点击
|
||||||
|
let caseIdList = this.eventTraDialog.caseids;
|
||||||
|
caseManagement.smsBatchSend({...this.ObjectInfo, caseIdList: caseIdList}).then(res => {
|
||||||
|
this.$parent.getCaseInfoList(1)
|
||||||
|
this.handleClose()
|
||||||
|
this.$message.success("发送成功");
|
||||||
|
})
|
||||||
|
},
|
||||||
|
handleClose() {
|
||||||
|
this.$emit('update:eventTraDialog', null)
|
||||||
|
},
|
||||||
|
}
|
||||||
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
.dialog-case-batch{
|
.dialog-case-batch {
|
||||||
padding: 16px 30px;
|
padding: 16px 30px;
|
||||||
max-height:500px;
|
max-height: 500px;
|
||||||
.tabs__search-criteria-title{
|
|
||||||
width: 100px;
|
.tabs__search-criteria-title {
|
||||||
|
width: 100px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.case-batch-num {
|
||||||
|
background-color: rgba(236, 238, 241, 0.8196078431);
|
||||||
|
padding: 15px 20px;
|
||||||
|
border-radius: 4px;
|
||||||
|
|
||||||
|
a {
|
||||||
|
font-size: 16px;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #C66A5B;
|
||||||
}
|
}
|
||||||
.case-batch-num{
|
}
|
||||||
background-color: rgba(236, 238, 241, 0.8196078431);
|
|
||||||
padding: 15px 20px;
|
|
||||||
border-radius: 4px;
|
|
||||||
a{font-size: 16px;font-weight: 500;color: #C66A5B;}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
@ -1,107 +1,133 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<el-dialog title="批量文书送达" :visible="true" width="600px" append-to-body :close-on-click-modal="false"
|
<el-dialog title="批量文书送达" :visible="true" width="600px" append-to-body :close-on-click-modal="false"
|
||||||
@close="handleClose">
|
@close="handleClose">
|
||||||
<div class="dialog-content dialog-office-batch">
|
<div class="dialog-content dialog-office-batch">
|
||||||
<div class="pt-8">
|
<div class="pt-8">
|
||||||
<div class="flex-row align-items-center justify-content-between mb-16 case-batch-num">
|
<div class="flex-row align-items-center justify-content-between mb-16 case-batch-num">
|
||||||
<span>选中<a>{{eventTraDialog.caseids.length}}</a>个案件,系统将对您选择的案件进行批量电子短信送达!</span>
|
<span>选中<a>{{ eventTraDialog.caseids.length }}</a>个案件,系统将对您选择的案件进行批量电子短信送达!</span>
|
||||||
</div>
|
</div>
|
||||||
<el-collapse-transition>
|
<el-collapse-transition>
|
||||||
<el-row :gutter="56">
|
<el-row :gutter="56">
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<div class="flex-row-center align-items-center height-40 mb-8">
|
<div class="flex-row-center align-items-center height-40 mb-8">
|
||||||
<span class="tabs__search-criteria-title flex-shrink-0 pr-16 f18">选择文书类型(多选)</span>
|
<span class="tabs__search-criteria-title flex-shrink-0 pr-16 f18">选择文书类型(多选)</span>
|
||||||
</div>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="24">
|
|
||||||
<div class="mb-24 officelist">
|
|
||||||
<el-checkbox-group v-model="ObjectInfo.methodIds">
|
|
||||||
<el-checkbox border v-for="(item,index) in officeOptions" :label="item.label" :key="index" ></el-checkbox>
|
|
||||||
</el-checkbox-group>
|
|
||||||
</div>
|
|
||||||
</el-col>
|
|
||||||
|
|
||||||
</el-row>
|
|
||||||
</el-collapse-transition>
|
|
||||||
</div>
|
</div>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24">
|
||||||
|
<div class="mb-24 officelist">
|
||||||
|
<el-checkbox-group v-model="ObjectInfo.documentTypes">
|
||||||
|
<el-checkbox border v-for="(item,index) in officeOptions" :label="item.value"
|
||||||
|
:key="index">{{item.label}}</el-checkbox>
|
||||||
|
</el-checkbox-group>
|
||||||
|
</div>
|
||||||
|
</el-col>
|
||||||
|
|
||||||
</div>
|
</el-row>
|
||||||
<span slot="footer" class="dialog-footer">
|
</el-collapse-transition>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<span slot="footer" class="dialog-footer">
|
||||||
<el-button @click="handleClose()">取消</el-button>
|
<el-button @click="handleClose()">取消</el-button>
|
||||||
<el-button type="primary" @click="handleSubmit()">批量送达</el-button>
|
<el-button type="primary" @click="handleSubmit()">批量送达</el-button>
|
||||||
</span>
|
</span>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import api from "@/services/caseManagement";
|
import caseManagement from "@/services/caseManagement";
|
||||||
export default {
|
|
||||||
components: {
|
|
||||||
},
|
|
||||||
props: {
|
|
||||||
eventTraDialog: {
|
|
||||||
type: Object,
|
|
||||||
default: () => {
|
|
||||||
return {}
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
officeOptions:[{label:'调解告知书',value:'1'},{label:'调解申请书',value:'2'},
|
|
||||||
{label:'送达地址确认书',value:'3'},{label:'调解笔录',value:'4'},{label:'调解协议',value:'5'}],
|
|
||||||
ObjectInfo:{
|
|
||||||
methodIds:['调解告知书','调解申请书','送达地址确认书','调解笔录','调解协议'],
|
|
||||||
users:'',
|
|
||||||
content:''
|
|
||||||
},
|
|
||||||
tableData:[],
|
|
||||||
total:0,
|
|
||||||
|
|
||||||
};
|
export default {
|
||||||
},
|
components: {},
|
||||||
mounted () {
|
props: {
|
||||||
|
eventTraDialog: {
|
||||||
},
|
type: Object,
|
||||||
methods: {
|
default: () => {
|
||||||
smsChange(){
|
return {}
|
||||||
let jsonData = this.smsOptions.find(item=>{
|
},
|
||||||
return this.ObjectInfo.methodId == item.value
|
},
|
||||||
})
|
},
|
||||||
this.ObjectInfo.users = jsonData.users
|
data() {
|
||||||
this.ObjectInfo.content = jsonData.content
|
return {
|
||||||
},
|
officeOptions: [
|
||||||
|
{label: '调解告知书', value: 'MEDIATE_NOTE'},
|
||||||
handleClose() {
|
{label: '调解申请书', value: 'MEDIATE_APPLICATION'},
|
||||||
this.$emit('update:eventTraDialog', null)
|
{label: '调解询问笔录', value: 'MEDIATE_RECORD'},
|
||||||
},
|
{label: '调解协议', value: 'MEDIATE_AGREEMENT'},
|
||||||
}
|
{label: '司法申请书', value: 'JUDICATURE_APPLICATION'},
|
||||||
|
{label: '司法承诺书', value: 'JUDICATURE_PROMISE'},
|
||||||
|
{label: '送达地址确认书', value: 'CONFIRMATION_OF_ADDRESS'},
|
||||||
|
{label: '身份识别报告', value: 'VERIFY_IDD'}
|
||||||
|
],
|
||||||
|
ObjectInfo: {
|
||||||
|
documentTypes: ['MEDIATE_NOTE', 'MEDIATE_APPLICATION', 'MEDIATE_RECORD', 'MEDIATE_AGREEMENT',
|
||||||
|
'JUDICATURE_APPLICATION', 'JUDICATURE_PROMISE' , 'CONFIRMATION_OF_ADDRESS', 'VERIFY_IDD'],
|
||||||
|
servedType: 'SMS'
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// smsChange() {
|
||||||
|
// let jsonData = this.smsOptions.find(item => {
|
||||||
|
// return this.ObjectInfo.methodId == item.value
|
||||||
|
// })
|
||||||
|
// this.ObjectInfo.users = jsonData.users
|
||||||
|
// this.ObjectInfo.content = jsonData.content
|
||||||
|
// },
|
||||||
|
handleSubmit() {
|
||||||
|
if (!this.ObjectInfo.documentTypes.length){
|
||||||
|
this.$message.warning("请选择文书类型!");
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if(!this.$clickThrottle()) { return }//防止重复点击
|
||||||
|
let caseIdList = this.eventTraDialog.caseids;
|
||||||
|
caseManagement.traceServedBatchCreate({...this.ObjectInfo, caseIdList: caseIdList}).then(res => {
|
||||||
|
this.$parent.getCaseInfoList(1)
|
||||||
|
this.handleClose()
|
||||||
|
this.$message.success("发送成功");
|
||||||
|
})
|
||||||
|
},
|
||||||
|
handleClose() {
|
||||||
|
this.$emit('update:eventTraDialog', null)
|
||||||
|
},
|
||||||
|
}
|
||||||
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
.dialog-office-batch{
|
.dialog-office-batch {
|
||||||
padding: 16px 30px;
|
padding: 16px 30px;
|
||||||
max-height:500px;
|
max-height: 500px;
|
||||||
.tabs__search-criteria-title{
|
|
||||||
width: 100%;
|
.tabs__search-criteria-title {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.case-batch-num {
|
||||||
|
background-color: rgba(236, 238, 241, 0.8196078431);
|
||||||
|
padding: 15px 20px;
|
||||||
|
border-radius: 4px;
|
||||||
|
|
||||||
|
a {
|
||||||
|
font-size: 16px;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #C66A5B;
|
||||||
}
|
}
|
||||||
.case-batch-num{
|
}
|
||||||
background-color: rgba(236, 238, 241, 0.8196078431);
|
|
||||||
padding: 15px 20px;
|
.officelist {
|
||||||
border-radius: 4px;
|
background-color: rgba(236, 238, 241, 0.8196078431);
|
||||||
a{font-size: 16px;font-weight: 500;color: #C66A5B;}
|
padding: 20px 20px;
|
||||||
|
|
||||||
|
.el-checkbox {
|
||||||
|
width: 230px;
|
||||||
|
margin: 10px;
|
||||||
}
|
}
|
||||||
.officelist{
|
}
|
||||||
background-color: rgba(236, 238, 241, 0.8196078431);
|
|
||||||
padding: 20px 20px;
|
|
||||||
.el-checkbox
|
|
||||||
{
|
|
||||||
width: 230px;
|
|
||||||
margin: 10px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
@ -138,10 +138,43 @@ const caseManagementApi = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
|
// 短信模板
|
||||||
|
getSmsTemplate: data => {
|
||||||
|
return service.service.get(`${apiAdmin}api/trace/sms/template`, data)
|
||||||
|
},
|
||||||
|
// 发送短信
|
||||||
|
smsSend: data => {
|
||||||
|
return service.service.post(`${apiAdmin}api/trace/sms/send`, data)
|
||||||
|
},
|
||||||
|
// 重试
|
||||||
|
smsRetry: data => {
|
||||||
|
return service.service.post(`${apiAdmin}api/trace/sms/retry`, data)
|
||||||
|
},
|
||||||
|
// 取消
|
||||||
|
smsCancel: data => {
|
||||||
|
return service.service.post(`${apiAdmin}api/trace/sms/cancel`, data)
|
||||||
|
},
|
||||||
|
// 批量发送短信
|
||||||
|
smsBatchSend: data => {
|
||||||
|
return service.service.post(`${apiAdmin}api/trace/sms/batch-send`, data)
|
||||||
|
},
|
||||||
|
|
||||||
|
// 发起-文书送达
|
||||||
|
traceServedCreate: data => {
|
||||||
|
return service.service.post(`${apiAdmin}api/trace/traceServed/create`, data)
|
||||||
|
},
|
||||||
|
// 批量发起-文书送达
|
||||||
|
traceServedBatchCreate: data => {
|
||||||
|
return service.service.post(`${apiAdmin}api/trace/traceServed/batch-create`, data)
|
||||||
|
},
|
||||||
|
// 取消
|
||||||
|
traceServedBatchCancel: data => {
|
||||||
|
return service.service.post(`${apiAdmin}api/trace/traceServed/cancel`, data)
|
||||||
|
},
|
||||||
|
// 重试
|
||||||
|
traceServedBatchRetry: data => {
|
||||||
|
return service.service.post(`${apiAdmin}api/trace/traceServed/retry`, data)
|
||||||
|
},
|
||||||
|
|
||||||
//========================end::案件管理======================================
|
//========================end::案件管理======================================
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user