|
|
@ -102,12 +102,16 @@ |
|
|
|
<!-- <div class="context"> |
|
|
|
{{ tableData.eventContent}} |
|
|
|
</div> --> |
|
|
|
<div v-for="(item,index) in afterList" :key="index"> |
|
|
|
<div class="flex flex-end flex-center2 "> |
|
|
|
<div v-for="(item,index) in afterList" :key="index" class="flex flex-x" style=" border-left: 3px solid #DADEE5;"> |
|
|
|
<div class="item-dian"> |
|
|
|
<div class="neidian"></div> |
|
|
|
</div> |
|
|
|
<div style="flex: 1;"> |
|
|
|
<div class="flex flex-end flex-center2" style="border-left: 3rpx solid #DADEE5;"> |
|
|
|
<div class="flex flex-center2 " style="padding:5px;"> |
|
|
|
<div v-if="item.agencyId" class="Processhandling-left">指派</div> |
|
|
|
<div v-else class="Processhandling-left">{{item.processName}}</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="Processhandling-right">{{item.processTime}}</div> |
|
|
|
</div> |
|
|
|
<div class="flex flex-center2 " style="padding: 5px;"> |
|
|
@ -123,14 +127,17 @@ |
|
|
|
<div class="Processhandling-left-left">转办意见:</div> |
|
|
|
<div class="Dispatch-right">{{item.publicReply}}</div> |
|
|
|
</div> |
|
|
|
<div class="flex flex-center2 " style="padding: 5px;"> |
|
|
|
<div v-if="timeLimit" class="flex flex-center2 " style="padding: 5px;"> |
|
|
|
<div class="Processhandling-left-left">联系当事人时限:</div> |
|
|
|
<div class="Dispatch-right">{{item.contactTime}}</div> |
|
|
|
<div class="Dispatch-right">{{formatDate1(new Date(item.timeLimit * 1000))}}</div> |
|
|
|
</div> |
|
|
|
<div class="flex flex-center2 " style="padding: 5px;"> |
|
|
|
<div v-if="item.limitTime"lass="flex flex-center2 " style="padding: 5px;"> |
|
|
|
<div class="Processhandling-left-left">(部门)办结时限:</div> |
|
|
|
<div class="Dispatch-right">{{formatDate1(new Date(item.timeLimit * 1000))}}</div> |
|
|
|
<div class="Dispatch-right">{{item.limitTime}}</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
@ -147,20 +154,20 @@ |
|
|
|
show-word-limit required /> |
|
|
|
</div> |
|
|
|
<van-cell> |
|
|
|
<div class="flex" is-link> |
|
|
|
<div class="flex flex-y" is-link> |
|
|
|
<span style=" white-space: nowrap;">上传录音</span> |
|
|
|
<van-uploader v-model="fileList" :after-read="afterRead" accept="audio/mp3" preview-size=80px> |
|
|
|
<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> |
|
|
|
|
|
|
|
<van-uploader v-model="fileList" :after-read="afterRead" accept="audio/*" preview-size=80px> |
|
|
|
<div class="flex flex-center2 m-left18"> |
|
|
|
<img style="width: 15px;height: 15px;" src="../../assets/images/uploand.png"> |
|
|
|
<span style=" white-space: nowrap;padding-left: 10px;">选择文件</span> |
|
|
|
</div> |
|
|
|
</van-uploader> |
|
|
|
</div> |
|
|
|
</van-cell> |
|
|
|
<van-cell title="上传图片"> |
|
|
|
<template #label> |
|
|
|
<van-uploader v-model="pictureList" :after-read="afterRead1" :max-count="3" accept="audio/mp3" |
|
|
|
:max-size="10 * 1024 * 1024" /> |
|
|
|
<van-uploader v-model="pictureList" :after-read="afterRead1" :max-count="3" accept="image/*" |
|
|
|
/> |
|
|
|
</template> |
|
|
|
</van-cell> |
|
|
|
<van-field v-model="respondent" label="答复人" placeholder="请输入" /> |
|
|
@ -174,11 +181,11 @@ |
|
|
|
<van-field readonly is-link v-model="irregularityname" label="办理真实度" placeholder="请选择" required |
|
|
|
@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="回访时间" |
|
|
|
<van-field required v-if="operationType=='11'" v-model="returnVisitor" label="回访人" placeholder="请输入" /> |
|
|
|
<van-field required 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-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" |
|
|
@ -196,17 +203,18 @@ |
|
|
|
<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="showdissatisfyReason" v-model="dissatisfyReason" |
|
|
|
:actions="dissatisfyReasonList" @select="onshowdissatisfyReason" /> |
|
|
|
<div class="textarea"> |
|
|
|
placeholder="请选择" @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> |
|
|
|
</van-cell-group> |
|
|
|
<div class="flex flex-x flex-mean" style="margin-top: 10px;"> |
|
|
|
<van-button style="width: 30%;" round type="info" @click="cancel">取消</van-button> |
|
|
|
<van-button v-if="tableData.operationType!=='11'&& tableData.operationType!=='12'" style="width: 30%;" round type="info" @click="onreply">办理</van-button> |
|
|
|
<van-button v-if="tableData.operationType!=='11'&& tableData.operationType!=='12'" style="width: 30%;" |
|
|
|
round type="info" @click="onreply">办理</van-button> |
|
|
|
</div> |
|
|
|
</van-popup> |
|
|
|
|
|
|
@ -285,9 +293,9 @@ export default { |
|
|
|
{ name: '不配合', value: "1" }, |
|
|
|
], |
|
|
|
satisfactionList:[ |
|
|
|
{ name: '满意', value: "0" }, |
|
|
|
{ name: '非常满意', value: "1" }, |
|
|
|
{ name: '不满意', value: "2" }, |
|
|
|
{ name: '满意', value: "perfect" }, |
|
|
|
{ name: '非常满意', value: "good" }, |
|
|
|
{ name: '不满意', value: "bad" }, |
|
|
|
], |
|
|
|
examineList:[ |
|
|
|
{ name: '通过', value: "0" }, |
|
|
@ -436,6 +444,59 @@ export default { |
|
|
|
this.show=false |
|
|
|
}, |
|
|
|
async onreply(){ |
|
|
|
if(this.content.trim()==''){ |
|
|
|
this.$toast.fail("请输入办理情况") |
|
|
|
console.log("sdfklsdjfk"); |
|
|
|
return |
|
|
|
} |
|
|
|
if(this.verified.trim()==''){ |
|
|
|
this.$toast.fail("请选择办理真实度") |
|
|
|
console.log("sdfklsdjfk"); |
|
|
|
return |
|
|
|
} |
|
|
|
if(this.returnVisitor.trim()==''&&this.operationType=='11'){ |
|
|
|
this.$toast.fail("请填写回访人") |
|
|
|
console.log("sdfklsdjfk"); |
|
|
|
return |
|
|
|
} |
|
|
|
if(this.returnTime.trim()==''&&this.operationType=='11'){ |
|
|
|
this.$toast.fail("请选择回访时间") |
|
|
|
console.log("sdfklsdjfk"); |
|
|
|
return |
|
|
|
} |
|
|
|
if(this.loseContact.trim()==''&&this.operationType=='11'){ |
|
|
|
this.$toast.fail("请选择是否联系当事人") |
|
|
|
console.log("sdfklsdjfk"); |
|
|
|
return |
|
|
|
} |
|
|
|
if(this.putThrough==null&&this.operationType=='11'){ |
|
|
|
this.$toast.fail("请选择是否接通电话") |
|
|
|
console.log("sdfklsdjfk"); |
|
|
|
return |
|
|
|
} |
|
|
|
if(this.cooperate.trim()==''&&this.operationType=='11'){ |
|
|
|
this.$toast.fail("请选择是否配合回访") |
|
|
|
console.log("sdfklsdjfk"); |
|
|
|
return |
|
|
|
} |
|
|
|
if(this.satisfaction.trim()==''&&this.operationType=='11'){ |
|
|
|
this.$toast.fail("请选择服务满意度") |
|
|
|
console.log("sdfklsdjfk"); |
|
|
|
return |
|
|
|
} |
|
|
|
if(this.visitComments.trim()==''&&this.operationType=='11'){ |
|
|
|
this.$toast.fail("请填写回访意见") |
|
|
|
console.log("sdfklsdjfk"); |
|
|
|
return |
|
|
|
} |
|
|
|
// if(this.returnVisitor==null){ |
|
|
|
// this.$toast.fail("请选择办理真实度") |
|
|
|
// return |
|
|
|
// } |
|
|
|
// if(this.verified==null){ |
|
|
|
// this.$toast.fail("请选择办理真实度") |
|
|
|
// return |
|
|
|
// } |
|
|
|
await reply({ |
|
|
|
operationType:this.operationType, //处理方式[11已办结,10办理中,9联系当事人] |
|
|
|
content: this.content,//办理情况 |
|
|
@ -471,14 +532,15 @@ export default { |
|
|
|
afterRead(file) { |
|
|
|
file.status = 'uploading' |
|
|
|
file.message = '上传中...' |
|
|
|
if(file.file.name.split('.').pop()=='mp3') |
|
|
|
uploadvariedfile(file.file) |
|
|
|
.then(res => { |
|
|
|
file.status = '' |
|
|
|
file.status = '' |
|
|
|
file.attachmentUrl=res.data.url |
|
|
|
file.attachmentType=file.file.type |
|
|
|
file.attachmentName=file.file.name |
|
|
|
file.attachmentFormat=file.file.name.split('.').pop() |
|
|
|
file.size=file.file.size |
|
|
|
file.message = '上传成功' |
|
|
|
console.log(this.fileList) |
|
|
|
}) |
|
|
|
.catch(() => { |
|
|
@ -494,8 +556,12 @@ export default { |
|
|
|
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() |
|
|
|
file.size=file.file.size |
|
|
|
file.message = '上传成功' |
|
|
|
file.url = res.data.url |
|
|
|
console.log(this.fileList) |
|
|
|
}) |
|
|
|
.catch(() => { |
|
|
@ -554,7 +620,25 @@ export default { |
|
|
|
:deep(.van-tabs__nav--line) { |
|
|
|
padding-bottom: 10px; |
|
|
|
} |
|
|
|
|
|
|
|
.item-dian { |
|
|
|
position: relative; |
|
|
|
left: -9px; |
|
|
|
width: 15px; |
|
|
|
height: 15px; |
|
|
|
box-sizing: border-box; |
|
|
|
background: #FFFFFF; |
|
|
|
border-radius: 50%; |
|
|
|
border: 1px solid #3A80E7; |
|
|
|
display: flex; |
|
|
|
align-items: center; |
|
|
|
justify-content: center; |
|
|
|
} |
|
|
|
.neidian { |
|
|
|
width: 5px; |
|
|
|
height: 5px; |
|
|
|
background: #3A80E7; |
|
|
|
border-radius: 50%; |
|
|
|
} |
|
|
|
.workorder { |
|
|
|
font-family: PingFang SC; |
|
|
|
font-weight: 500; |
|
|
@ -662,6 +746,7 @@ white-space: nowrap |
|
|
|
border: none; |
|
|
|
padding-left: 20px; |
|
|
|
} |
|
|
|
|
|
|
|
.textarea { |
|
|
|
/deep/ .van-cell { |
|
|
|
display: block; |
|
|
|