发送短信

This commit is contained in:
liuxi 2025-01-13 17:39:25 +08:00
parent 4b42eeb204
commit 2ee121c362
4 changed files with 168 additions and 54 deletions

View File

@ -135,7 +135,7 @@ export default {
};
},
mounted() {
console.log(this.DialogDetail, 'this.DialogDetail.caseNo')
// console.log(this.DialogDetail, 'this.DialogDetail.caseNo')
if (this.DialogDetail.caseNo != undefined && this.DialogDetail.caseNo != '') {
this.queryParam.caseNo = this.DialogDetail.caseNo
}

View File

@ -122,10 +122,24 @@
<div>呼叫被申请人</div>
</div>
<el-divider direction="vertical"></el-divider>
<div class="flex-row align-items-center cursor-pointer">
<el-popover
placement="top"
width="500"
v-model="singlesmsvisible"
title="发送短信"
trigger="click">
<singlesmsPopover :caseId="caseId" :singlesmsvisible.sync="singlesmsvisible"/>
<span slot="reference" class="flex-row align-items-center cursor-pointer">
<div class="f32 color-FF7D00 mr-8"><i class="el-icon-message"></i></div>
<div>发送短信</div>
</span>
</el-popover>
<!-- <div class="flex-row align-items-center cursor-pointer">
<div class="f32 color-FF7D00 mr-8"><i class="el-icon-message"></i></div>
<div>发送短信</div>
</div>
</div> -->
</div>
<div class="descriptions-t mt-16">
@ -140,54 +154,6 @@
<div class="descriptions-t-item-l color-86909C">{{item.name}}:</div>
<div class="descriptions-t-item-r">{{item.fieldValue}}</div>
</div>
<!-- <div class="flex-row descriptions-t-item">
<div class="descriptions-t-item-l color-86909C">欠款利息:</div>
<div class="descriptions-t-item-r">{{baseInfo.fields.find(item => item.fieldKey == 'moneyAmount').fieldValue}} <i class="f14 el-icon-warning-outline"></i></div>
</div>
<div class="flex-row descriptions-t-item bgColor-F7F8FA">
<div class="descriptions-t-item-l color-86909C">欠款罚息:</div>
<div class="descriptions-t-item-r">{{baseInfo.fields.find(item => item.fieldKey == 'moneyAmount').fieldValue}}</div>
</div>
<div class="flex-row descriptions-t-item bgColor-F7F8FA">
<div class="descriptions-t-item-l color-86909C">最低还款额减免底线:</div>
<div class="descriptions-t-item-r">{{baseInfo.fields.find(item => item.fieldKey == 'moneyAmount').fieldValue}}</div>
</div>
<div class="flex-row descriptions-t-item bgColor-F7F8FA">
<div class="descriptions-t-item-l color-86909C">放款金额/借款本金:</div>
<div class="descriptions-t-item-r">{{baseInfo.fields.find(item => item.fieldKey == 'moneyAmount').fieldValue}}</div>
</div>
<div class="flex-row descriptions-t-item bgColor-F7F8FA">
<div class="descriptions-t-item-l color-86909C">放款日期:</div>
<div class="descriptions-t-item-r">{{baseInfo.fields.find(item => item.fieldKey == 'moneyAmount').fieldValue}}</div>
</div>
<div class="flex-row descriptions-t-item bgColor-F7F8FA">
<div class="descriptions-t-item-l color-86909C">账龄:</div>
<div class="descriptions-t-item-r">{{baseInfo.fields.find(item => item.fieldKey == 'moneyAmount').fieldValue}}</div>
</div>
<div class="flex-row descriptions-t-item bgColor-F7F8FA">
<div class="descriptions-t-item-l color-86909C">合同编号:</div>
<div class="descriptions-t-item-r">{{baseInfo.fields.find(item => item.fieldKey == 'moneyAmount').fieldValue}}</div>
</div>
<div class="flex-row descriptions-t-item bgColor-F7F8FA">
<div class="descriptions-t-item-l color-86909C">业务流水号:</div>
<div class="descriptions-t-item-r">{{baseInfo.fields.find(item => item.fieldKey == 'moneyAmount').fieldValue}}</div>
</div>
<div class="flex-row descriptions-t-item bgColor-F7F8FA">
<div class="descriptions-t-item-l color-86909C">委托时逾期天数:</div>
<div class="descriptions-t-item-r">{{baseInfo.fields.find(item => item.fieldKey == 'moneyAmount').fieldValue}}</div>
</div>
<div class="flex-row descriptions-t-item bgColor-F7F8FA">
<div class="descriptions-t-item-l color-86909C">借款合同签署时间:</div>
<div class="descriptions-t-item-r">{{baseInfo.fields.find(item => item.fieldKey == 'moneyAmount').fieldValue}}</div>
</div>
<div class="flex-row descriptions-t-item bgColor-F7F8FA">
<div class="descriptions-t-item-l color-86909C">贷款笔数:</div>
<div class="descriptions-t-item-r">{{baseInfo.AAAAA}}</div>
</div>
<div class="flex-row descriptions-t-item bgColor-F7F8FA">
<div class="descriptions-t-item-l color-86909C">债务卡号:</div>
<div class="descriptions-t-item-r">{{baseInfo.AAAAA}}</div>
</div> -->
</div>
</div>
@ -464,10 +430,12 @@ export default {
singleofficeDeliveryPopover: () => import('./singleofficeDeliveryPopover.vue'),//
MediationRecordDialog: () => import('./MediationRecordDialog.vue'),//
singleJointlyPopover: () => import('./singleJointlyPopover.vue'),//
singlesmsPopover: () => import('./singlesmsPopover.vue'),//
VideoRoom: () => import('./VideoRoom'),
},
data() {
return {
singlesmsvisible:false,
singlejointlyvisible:false,
visiblemediatRecord:false,
visiblemediatRecordObj:null,

View File

@ -21,17 +21,31 @@
<div class="f16"><span class="f20 f-weight600">{{item.name}}</span> {{item.phone}}</div>
<div class="case-lable">
<a class="case-status0">{{item.type}}</a>
<!-- <a class="case-status1">空号</a>-->
<a class="case-status1">空号</a>
</div>
</div>
<div class="flex-row personnel-btn">
<a class="cursor-pointer" v-if="personnelTypeActive !== '申请人'" @click="handleEdit(item)">编辑</a>
<a class="cursor-pointer ml-8" v-if="personnelTypeActive !== '申请人'" @click="handleDelete(item)">删除</a>
<a class="cursor-pointer ml-8" v-if="personnelTypeActive == '申请人代理人'" @click="handleDelete(item)">删除</a>
<a class="cursor-pointer ml-8" v-if="item.role == 'DEBTOR' && item.type !='本人'" @click="handleDelete(item)">删除</a>
</div>
</div>
<div class="color-86909C mt-8 ml-8 f16">
<a class="mr-24 cursor-pointer"><i class="el-icon-phone"></i> 电话</a>
<a class="ml-8 cursor-pointer"><i class="el-icon-message"></i> 短信</a>
<el-popover v-if="item.role == 'DEBTOR' && item.type =='本人'"
placement="top"
width="500"
v-model="singlesmsvisible"
title="发送短信"
trigger="click">
<singlesmsPopover :caseId="caseId" :singlesmsvisible.sync="singlesmsvisible"/>
<span slot="reference" class="ml-8 cursor-pointer">
<i class="el-icon-message"></i> 短信
</span>
</el-popover>
<!-- <a class="ml-8 cursor-pointer" v-if="item.role == 'DEBTOR' && item.type =='本人'"><i class="el-icon-message"></i> 短信</a> -->
</div>
</div>
</el-card>
@ -44,6 +58,7 @@
import contactPerson from "@/services/contactPerson";
export default {
components: {
singlesmsPopover: () => import('./singlesmsPopover.vue'),//
contactPersonDialog: () => import('./contactPersonDialog.vue'),//
},
props: {
@ -56,6 +71,7 @@ export default {
},
data() {
return {
singlesmsvisible:false,
personnelType: ['被申请人', '申请人', '申请人代理人'],
personnelTypeActive: '被申请人',
//

View File

@ -0,0 +1,130 @@
<template>
<div class="dialog-content dialog-sms-single">
<div class="p-16">
<el-collapse-transition>
<el-row :gutter="56">
<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-select v-model="ObjectInfo.scene"
placeholder="请选择短信模板"
class="width100" @change="smsChange">
<el-option
v-for="item in smsOptions"
:key="item.template"
:label="item.name"
:value="item.template">
</el-option>
</el-select>
</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>
<span class="dialog-footer">
<el-button size="small" @click="handleClose()">取消</el-button>
<el-button size="small" type="primary" @click="handleSubmit()">发送短信</el-button>
</span>
</div>
</template>
<script>
import caseManagement from "@/services/caseManagement";
export default {
components: {
},
props: {
caseId: {
type: String,
default: () => {},
},
},
data() {
return {
smsOptions:[],
ObjectInfo: {
scene: '',
content: ''
},
};
},
mounted () {
this.getSmsTemplate()
},
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.content = jsonData.content
},
handleSubmit() {
// console.log(this.eventTraDialog, 'eventTraDialog')
if (!this.ObjectInfo.scene){
this.$message.warning("请选择短信模板!");
return
}
if(!this.$clickThrottle()) { return }//
let caseIdList = [this.caseId];
caseManagement.smsBatchSend({...this.ObjectInfo, caseIdList: caseIdList}).then(res => {
this.$message.success("发起短信成功");
this.handleClose()
this.$parent.getWritCaseList()
})
},
handleClose() {
this.$emit('update:singlesmsvisible', false)
},
}
};
</script>
<style scoped lang="scss">
.dialog-sms-single {
width: 495px;
max-height: 500px;
.tabs__search-criteria-title {
width: 80px;
}
.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;
}
}
.dialog-footer{
display: inline-block;
width: 500px;
text-align: right;
border-top: solid 1px #E5E6EB;
padding: 10px;
}
}
</style>