新增沟通记录

This commit is contained in:
liuxi 2025-01-07 17:13:44 +08:00
parent 2a8221d083
commit a56fb588ea
2 changed files with 162 additions and 42 deletions

View File

@ -170,6 +170,10 @@ import caseManagement from "@/services/caseManagement";
}
.el-upload-box{
width: 80px;
height: auto;
background: #fff;
border: 0px dashed #fff;
border-radius: 0;
}
.el-col-ctn-box .el-upload,
.el-col-ctn-box .upload-file{

View File

@ -1,18 +1,98 @@
<template>
<div>
<el-dialog title="新增调解记录" :visible="true"
:modal="false" width="500px" append-to-body :close-on-click-modal="false"
<el-dialog title="新增调解记录" :visible="true" class="kk-dialog-class"
:modal="false" width="880px" append-to-body :close-on-click-modal="false"
@close="handleClose" v-drag>
<div class="dialog-content dialog-office-batch">
<div class="p-16 pr-40">
<div class="dialog-content dialog-mr-batch">
<div class="p-24">
<div class="flex-column">
<span class="f16 f-weight500">沟通类型</span>
<div class="mt-16">
<el-radio-group v-model="mrObj.radio">
<el-radio :label="3">电话</el-radio>
<el-radio :label="6">视频</el-radio>
</el-radio-group>
</div>
<span class="f16 f-weight500 mt-16">电话情况</span>
<div class="mt-16">
<el-radio-group v-model="mrObj.radio">
<el-radio :label="3">已接</el-radio>
<el-radio :label="6">未接</el-radio>
<el-radio :label="9">拒接</el-radio>
<el-radio :label="9">关机</el-radio>
<el-radio :label="9">空号</el-radio>
<el-radio :label="9">停机</el-radio>
<el-radio :label="9">设置</el-radio>
<el-radio :label="9">正在通话中</el-radio>
<el-radio :label="9">暂时无法接通</el-radio>
</el-radio-group>
</div>
<span class="f16 f-weight500 mt-16">沟通对象</span>
<div class="mt-16">
<el-select v-model="mrObj.FollowStatus"
clearable placeholder="请选择沟通对象"
@keydown.enter.native="handleSearch"
class="width100">
<el-option
v-for="item in FollowStatusEnum"
:key="item.label"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</div>
<span class="f16 f-weight500 mt-16">沟通情况</span>
<div class="mt-16">
<el-radio-group v-model="mrObj.communicateResult">
<el-radio v-for="(item,index) in CommunicationOptions" :key="index" :label="item.value">{{item.label}}</el-radio>
</el-radio-group>
</div>
<div class="mt-16">
<el-input type="textarea" :rows="2"
placeholder="请输入内容" v-model="mrObj.remark">
</el-input>
</div>
<span class="f16 f-weight500 mt-16">调解进度</span>
<div class="mt-16 mr—schedule">
<span :class="mrObj.recordStatus == item.value ? 'active':''" v-for="(item,index) in materialTypeOptions" :key="index" @click="mrObj.recordStatus = item.value">{{item.label}}</span>
</div>
<span class="f16 f-weight500 mt-16">下次跟进时间</span>
<div class="mt-16 flex-row">
<el-radio-group v-model="mrObj.timeType" class="pt-8 mr-16" @change="daysAfterDate" >
<el-radio :label="0">自定义</el-radio>
<el-radio :label="1">1天后</el-radio>
<el-radio :label="2">2天后</el-radio>
<el-radio :label="3">3天后</el-radio>
<el-radio :label="5">5天后</el-radio>
<el-radio :label="7">7天后</el-radio>
</el-radio-group>
<el-date-picker v-if="this.mrObj.timeType == 0" size="small" style="width: 150px;"
v-model="mrObj.nextDate"
type="date"
placeholder="选择先还日期"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd">
</el-date-picker>
</div>
<span class="f16 f-weight500 mt-16">录音或录像文件</span>
<div class="mt-16">
<upload-file :file-list="fileList" :max-count="1"
:show-file-name="false"
uploadName=""
accept=".mp3,mp4"
:span="6"
:fileSize="50"
@handleUploadFile="handleUploadFile">
</upload-file>
</div>
</div>
</div>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="handleClose()">取消</el-button>
<el-button type="primary" @click="handleSubmit111()">完成</el-button>
<el-button type="primary" @click="handleSubmit()">完成</el-button>
</span>
</el-dialog>
</div>
@ -33,40 +113,52 @@ export default {
},
data() {
return {
CommunicationOptions:[{ label: '继续沟通', value: 'CONTINUE' },{ label: '一次性全部回款', value: 'ALL' },{ label: '全部分期', value: 'STAGES' },
{ label: '部分还款', value: 'PART' },{ label: '拒绝沟通', value: 'REFUSE' }],
materialTypeOptions: [
{ label: '身份证件', value: 'IDENTITY' },
{ label: '金融许可证', value: 'FINANCIAL_LICENSES' },
{ label: '营业执照', value: 'BUSINESS_LICENSES' },
{ label: '法定代表人身份证明', value: 'IDENTITY_LEGAL' },
{ label: '起诉状', value: 'COMPLAINTS' },
{ label: '证据清单', value: 'EVIDENCE' },
{ label: '合约', value: 'CONTRACTS' },
{ label: '申领表', value: 'APPLICATION_FORMS' },
{ label: '交易明细', value: 'TRANSACTION_DETAILS' },
{ label: '其他证据', value: 'OTHER' },
{ label: '承诺账户', value: 'COMMITMENT_ACCOUNTS' },
{ label: '重点账户', value: 'FOCUSED_ACCOUNTS' },
{ label: '拒联账户', value: 'DISCONNECTED_ACCOUNTS' },
{ label: '失联账户', value: 'CLOSED_ACCOUNTS' },
{ label: '疑难账户', value: 'DIFFICULT_ACCOUNTS' },
{ label: '失联账户', value: 'LOST_ACCOUNTS' },
{ label: '半失联账户', value: 'SEMI_DISCONNECTED_ACCOUNTS' },
{ label: '部分还款账户', value: 'PARTIAL_REPAYMENT_ACCOUNT' },
{ label: '诉讼案件', value: 'LITIGATION_CASES' },
],
repaymentObj: {
mrObj: {
timeType:1,
caseId: '',
materialType: '',
category: 'EVIDENTIAL',
name: '',
url: '',
},
rulesClientRule: {
materialType: [
{required: true, message: '请选择', trigger: 'change',},
],
url: [
{ required: true, message: '请上传', trigger: 'change',},
],
contactName: '',//
contactPhone: '',//
paybackId: '',//id
communicateResult: '',//
remark: '',//
nextDate: '',//
recordStatus: '',//
recordFileIds: '',//id使
labelIds: '',//id使
debtorId: '',//id
},
fileList: [],
};
},
mounted() {
// console.log(1231)
this.daysAfterDate()
},
methods: {
daysAfterDate() {
console.log(this.mrObj.timeType,'timeType')
//
let currentDate = new Date();
//
const nextDate = currentDate
currentDate.setDate(currentDate.getDate() + this.mrObj.timeType)
const year = nextDate.getFullYear();
const month = (nextDate.getMonth() + 1).toString().padStart(2, '0');
const day = nextDate.getDate().toString().padStart(2, '0');
this.mrObj.nextDate = year +'-'+ month +'-'+ day;
},
handleUploadFile(fileList){
// console.log('',fileList)
fileList = JSON.parse(JSON.stringify(fileList))
@ -80,23 +172,19 @@ export default {
})
this.repaymentObj.url = this.fileList.length?this.fileList[0].fileName : '';
this.repaymentObj.name = this.fileList.length?this.fileList[0].objectName : '';
// console.log(this.repaymentObj, '---this.repaymentObj', this.fileList)
},
handleClose() {
this.$emit('update:eventDialog', null)
this.$emit('update:visiblemediatRecord', false)
},
handleSubmit() {
if(!this.$clickThrottle()) { return }//
this.$refs.ruleFormRepayment.validate((valid) => {
if (valid) {
this.repaymentObj.caseId = this.eventDialog.caseId;
caseMaterial.addCaseFile(this.repaymentObj).then(res => {
this.$parent.getFileCaseList()
this.handleClose()
this.$message.success("操作成功");
})
}
})
console.log(this.mrObj,'this.mrObj')
// caseMaterial.addCaseFile(this.repaymentObj).then(res => {
// this.$parent.getFileCaseList()
// this.handleClose()
// this.$message.success("");
// })
}
}
};
@ -104,4 +192,32 @@ export default {
<style scoped lang="scss">
.dialog-mr-batch{
.mrschedule{
span{
border: solid 1px #E5E6EB;
padding: 5px 15px;
margin-right: 10px;
border-radius: 2px;
margin-top: 5px;
margin-bottom: 5px;
display: inline-block;
cursor: pointer;
}
span.active{
color: #BC6F60;
border: solid 1px #BC6F60;
}
}
}
</style>
<style lang="scss">
.kk-dialog-class {
pointer-events: none;
.el-dialog {
pointer-events: auto;
}
}
</style>