|
|
@ -51,7 +51,7 @@ |
|
|
|
<img style="left: 0; height: 14px;" src="../../assets/images/block.png" alt=""> |
|
|
|
<div class="Dispatch">热线详情</div> |
|
|
|
</div> |
|
|
|
<div class="handleStatus"> {{ tableData.operationType }}</div> |
|
|
|
<div class="handleStatus"> {{ tableData.operationTypeName }}</div> |
|
|
|
</div> |
|
|
|
<div class="context"> |
|
|
|
{{ tableData.eventContent}} |
|
|
@ -150,11 +150,17 @@ |
|
|
|
<van-cell> |
|
|
|
<div class="flex" is-link> |
|
|
|
<span style=" white-space: nowrap;">上传录音</span> |
|
|
|
<van-uploader v-model="fileList" :after-read="afterRead" accept="audio/mp3"> |
|
|
|
<div class="flex flex-center2 m-left18"> |
|
|
|
<img style="width: 15px;height: 15px;" src="../../assets/images/uploand.png"> |
|
|
|
<span style=" white-space: nowrap;">选择文件</span> |
|
|
|
</div></van-uploader> |
|
|
|
|
|
|
|
</div> |
|
|
|
</van-cell> |
|
|
|
<van-cell title="上传图片"> |
|
|
|
<template #label> |
|
|
|
<van-uploader v-model="pictureList" :after-read="afterRead1" :max-count="3" |
|
|
|
<van-uploader v-model="pictureList" :after-read="afterRead" :max-count="3" |
|
|
|
:max-size="10 * 1024 * 1024" /> |
|
|
|
</template> |
|
|
|
</van-cell> |
|
|
@ -170,33 +176,43 @@ |
|
|
|
@click="showreal = true" /> |
|
|
|
<van-action-sheet v-if="showreal" v-model="verified" :actions="realList" @select="onreal" /> |
|
|
|
<van-field v-if="operationType=='11'" v-model="returnVisitor" label="回访人" placeholder="请输入" /> |
|
|
|
<van-field v-if="operationType=='11'" readonly is-link v-model="returnTime" label="回访时间" placeholder="请选择" |
|
|
|
@click="showtime = true" /> |
|
|
|
<van-datetime-picker v-if="showtime" v-model="returnTime" type="datetime" :min-date="minDate" |
|
|
|
:max-date="maxDate" /> |
|
|
|
<van-field v-if="operationType=='11'" readonly is-link v-model="loseContactName" label="联系当事人" placeholder="请选择" required |
|
|
|
@click="showloseContact = true" /> |
|
|
|
<van-field v-if="operationType === '11'" readonly is-link v-model="returnTime" label="回访时间" |
|
|
|
placeholder="请选择" @click="showtime = true" /> |
|
|
|
<van-datetime-picker v-if="showtime" type="datetime" :min-date="minDate" |
|
|
|
:max-date="maxDate" @confirm="handleConfirm" @cancel="handleCancel" /> |
|
|
|
|
|
|
|
<van-field v-if="operationType=='11'" readonly is-link v-model="loseContactName" label="联系当事人" |
|
|
|
placeholder="请选择" required @click="showloseContact = true" /> |
|
|
|
<van-action-sheet v-if="showloseContact" v-model="loseContact" :actions="loseContactList" |
|
|
|
@select="onloseContact" /> |
|
|
|
<van-field v-if="operationType=='11'" readonly is-link v-model="putThroughName" label="未接通电话" placeholder="请选择" required |
|
|
|
@click="showputThrough = true" /> |
|
|
|
<van-field v-if="operationType=='11'" readonly is-link v-model="putThroughName" label="未接通电话" |
|
|
|
placeholder="请选择" required @click="showputThrough = true" /> |
|
|
|
<van-action-sheet v-if="showputThrough" v-model="putThrough" :actions="putThroughList" |
|
|
|
@select="onputThrough" /> |
|
|
|
<van-field v-if="operationType=='11'" readonly is-link v-model="cooperateName" label="是否配合回访" placeholder="请选择" required |
|
|
|
@click="showcooperate = true" /> |
|
|
|
<van-field v-if="operationType=='11'" readonly is-link v-model="cooperateName" label="是否配合回访" |
|
|
|
placeholder="请选择" required @click="showcooperate = true" /> |
|
|
|
<van-action-sheet v-if="showcooperate" v-model="cooperate" :actions="cooperateList" |
|
|
|
@select="oncooperate" /> |
|
|
|
<van-field v-if="operationType=='11'" readonly is-link v-model="satisfactionName" label="服务都满意度" placeholder="请选择" required |
|
|
|
@click="showsatisfaction = true" /> |
|
|
|
<van-field v-if="operationType=='11'" readonly is-link v-model="satisfactionName" label="服务都满意度" |
|
|
|
placeholder="请选择" required @click="showsatisfaction = true" /> |
|
|
|
<van-action-sheet v-if="showsatisfaction" v-model="satisfaction" :actions="satisfactionList" |
|
|
|
@select="onsatisfaction" /> |
|
|
|
<van-field v-if="operationType=='11'" readonly is-link v-model="dissatisfyReasonName" label="不满意原因" placeholder="请选择" required |
|
|
|
@click="showdissatisfyReason = true" /> |
|
|
|
<van-action-sheet v-if="showsdissatisfyReason" v-model="dissatisfyReason" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<van-field v-if="operationType=='11'" readonly is-link v-model="dissatisfyReasonName" label="不满意原因" |
|
|
|
placeholder="请选择" required @click="showdissatisfyReason = true" /> |
|
|
|
<van-action-sheet v-if="showdissatisfyReason" v-model="dissatisfyReason" |
|
|
|
:actions="dissatisfyReasonList" @select="onshowdissatisfyReason" /> |
|
|
|
<div class="textarea"> |
|
|
|
<van-field v-if="operationType=='11'" type="textarea" v-model="visitComments" label="回访意见" placeholder="请输入内容" rows="2" |
|
|
|
autosize show-word-limit required /> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="textarea"> |
|
|
|
<van-field v-if="operationType=='11'" type="textarea" v-model="visitComments" label="回访意见" |
|
|
|
placeholder="请输入内容" rows="2" autosize show-word-limit required /> |
|
|
|
</div> |
|
|
|
</van-cell-group> |
|
|
|
<div class="flex flex-x flex-mean" style="margin-top: 10px;"> |
|
|
@ -247,6 +263,7 @@ export default { |
|
|
|
pageSize: 20, |
|
|
|
tableData:{}, |
|
|
|
afterList:[], |
|
|
|
minDate:new Date(), |
|
|
|
actions: [ |
|
|
|
{ name: '已联系当事人', value: "9" }, |
|
|
|
{ name: '办理中', value: "10" }, |
|
|
@ -299,7 +316,7 @@ export default { |
|
|
|
//不合规诉求类型 |
|
|
|
verified: '', //办理真实度是否属实 0:属实 1:不属实 |
|
|
|
returnVisitor: '',//回访人 |
|
|
|
returnTime: '',//回访时间 |
|
|
|
returnTime: "",//回访时间 |
|
|
|
loseContact: '',//联系当事人0:已联系 1:未取得联系 |
|
|
|
putThrough: '',//接通电话 0:接通 1:未接通 |
|
|
|
cooperate: '',//是否配合回访0:配合 1:不配合 |
|
|
@ -316,6 +333,7 @@ export default { |
|
|
|
this.process() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
|
mounted() { |
|
|
|
|
|
|
@ -325,7 +343,11 @@ export default { |
|
|
|
|
|
|
|
}, |
|
|
|
methods: { |
|
|
|
|
|
|
|
onshowdissatisfyReason(item){ |
|
|
|
this.dissatisfyReasonName=item.name |
|
|
|
this.dissatisfyReason=item.value |
|
|
|
this.showdissatisfyReason=false |
|
|
|
}, |
|
|
|
oncooperate(item){ |
|
|
|
this.cooperateName=item.name |
|
|
|
this.cooperate=item.value |
|
|
@ -374,6 +396,7 @@ export default { |
|
|
|
}).then(res => { |
|
|
|
this.tableData.push(res.agencyName) |
|
|
|
console.log(this.tableData,"skjlfhskdjfh"); |
|
|
|
|
|
|
|
}).catch(err => { |
|
|
|
|
|
|
|
}) |
|
|
@ -385,9 +408,13 @@ export default { |
|
|
|
this.afterList=res.data |
|
|
|
console.log(this.afterList,"skjlfhskdjfh"); |
|
|
|
|
|
|
|
|
|
|
|
}).catch(err => { |
|
|
|
|
|
|
|
}) |
|
|
|
this.afterList.forEach(item=>{ |
|
|
|
item.processTime=this.formatDate1(new Date(item.processTime * 1000)) |
|
|
|
}) |
|
|
|
}, |
|
|
|
onOperationType(){ |
|
|
|
this.status=true |
|
|
@ -395,6 +422,7 @@ export default { |
|
|
|
}, |
|
|
|
handlelist(){ |
|
|
|
console.log("dslkfkhd"); |
|
|
|
this.returnTime=this.formatDate1(new Date()) |
|
|
|
this.show=true |
|
|
|
}, |
|
|
|
showPicker1(){ |
|
|
@ -426,7 +454,7 @@ export default { |
|
|
|
await reply({ |
|
|
|
operationType:this.operationType, //处理方式[11已办结,10办理中,9联系当事人] |
|
|
|
content: this.content,//办理情况 |
|
|
|
files: this.pictureList,//附件 |
|
|
|
files: this.fileList.concat(this.pictureList),//附件 |
|
|
|
respondent: this.respondent,//答复人 |
|
|
|
respondentPhone: this.respondentPhone,//答复人电话 |
|
|
|
contacts: this.contacts,//联系人 |
|
|
@ -447,25 +475,81 @@ export default { |
|
|
|
icEventId:this.icEventId |
|
|
|
}).then(res => { |
|
|
|
console.log(res,"skjlfhskdjfh"); |
|
|
|
this.show=false |
|
|
|
this.$toast.success('提交成功'); |
|
|
|
this.$router.push('/hotline') |
|
|
|
|
|
|
|
}).catch(err => { |
|
|
|
|
|
|
|
}) |
|
|
|
}, |
|
|
|
afterRead1(file) { |
|
|
|
// 文件读取后的处理逻辑 |
|
|
|
this.fileList.push(file); |
|
|
|
afterRead(file) { |
|
|
|
file.status = 'uploading' |
|
|
|
file.message = '上传中...' |
|
|
|
uploadvariedfile(file.file) |
|
|
|
.then(res => { |
|
|
|
file.status = '' |
|
|
|
file.attachmentUrl=res.data.url |
|
|
|
file.attachmentType=file.file.type |
|
|
|
file.attachmentName=file.file.name |
|
|
|
file.attachmentFormat=file.file.name.split('.').pop() |
|
|
|
console.log(this.fileList) |
|
|
|
}) |
|
|
|
.catch(() => { |
|
|
|
file.status = 'failed' |
|
|
|
file.message = '上传失败' |
|
|
|
}) |
|
|
|
console.log(file); |
|
|
|
console.log(this.fileList,"sdf sdf "); |
|
|
|
}, |
|
|
|
afterRead1(file) { |
|
|
|
file.status = 'uploading' |
|
|
|
file.message = '上传中...' |
|
|
|
uploadvariedfile(file.file) |
|
|
|
.then(res => { |
|
|
|
file.status = '' |
|
|
|
file.message = '上传成功' |
|
|
|
file.url = res.data.url |
|
|
|
console.log(this.fileList) |
|
|
|
}) |
|
|
|
.catch(() => { |
|
|
|
file.status = 'failed' |
|
|
|
file.message = '上传失败' |
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
|
beforeRead(file) { |
|
|
|
// 这里可以做一些文件的预处理,如果需要返回false则会阻止文件上传 |
|
|
|
if (file.type.indexOf('audio') === -1) { |
|
|
|
this.$toast.fail('请上传音频文件'); |
|
|
|
return false; |
|
|
|
} |
|
|
|
return true; |
|
|
|
|
|
|
|
// beforeRead(file) { |
|
|
|
// // 这里可以做一些文件的预处理,如果需要返回false则会阻止文件上传 |
|
|
|
// if (file.type.indexOf('audio') === -1) { |
|
|
|
// this.$toast.fail('请上传音频文件'); |
|
|
|
// return false; |
|
|
|
// } |
|
|
|
// return true; |
|
|
|
// }, |
|
|
|
// onDelete(file, index) { |
|
|
|
// // 删除文件的处理逻辑 |
|
|
|
// this.fileList.splice(index, 1); |
|
|
|
// }, |
|
|
|
handleConfirm(value) { |
|
|
|
console.log(value); |
|
|
|
this.returnTime = this.formatDate1(value); |
|
|
|
console.log(this.returnTime); |
|
|
|
this.showtime = false; |
|
|
|
}, |
|
|
|
onDelete(file, index) { |
|
|
|
// 删除文件的处理逻辑 |
|
|
|
this.fileList.splice(index, 1); |
|
|
|
formatDate1(date) { |
|
|
|
console.log("data",date); |
|
|
|
const year = date.getFullYear(); |
|
|
|
const month = String(date.getMonth() + 1).padStart(2, '0'); // 月份从0开始,需加1 |
|
|
|
const day = String(date.getDate()).padStart(2, '0'); |
|
|
|
const hours = String(date.getHours()).padStart(2, '0'); |
|
|
|
const minutes = String(date.getMinutes()).padStart(2, '0'); |
|
|
|
const seconds = String(date.getSeconds()).padStart(2, '0'); |
|
|
|
return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; |
|
|
|
}, |
|
|
|
handleCancel() { |
|
|
|
this.showtime = false; |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
@ -529,7 +613,6 @@ font-size: 16px; |
|
|
|
color: #333333; |
|
|
|
line-height: 21px; |
|
|
|
padding-left: 20px; |
|
|
|
white-space: nowrap |
|
|
|
} |
|
|
|
.Dispatch-right-red{ |
|
|
|
font-family: PingFang SC; |
|
|
@ -557,7 +640,6 @@ line-height: 23px; |
|
|
|
} |
|
|
|
.HotlineDetails-left{ |
|
|
|
width: 66px; |
|
|
|
height: 14px; |
|
|
|
font-family: PingFang SC; |
|
|
|
font-weight: 500; |
|
|
|
font-size: 15px; |
|
|
|