Browse Source

12345bug修改

master
是小王呀\24601 1 year ago
parent
commit
23a12807a0
  1. 63
      src/views/Hotline/index.vue
  2. 147
      src/views/HotlineDetail/index.vue
  3. 1
      src/views/assistance/index.vue

63
src/views/Hotline/index.vue

@ -1,20 +1,21 @@
<template>
<div class='pages flex flex-y'>
<div class='pages flex flex-y' ref="scroll">
<div style="display: block;">
<div class="bto_top1">
<div class="flex flex-mean">
<div class="flex flex-mean flex-creater1">
<van-search v-model="workOrderNum" class="no-margin" left-icon="false" shape="round"
placeholder="按工单号" />
<van-search v-model="mobile" class="no-margin" left-icon="false" shape="round" placeholder="手机号" />
<!-- <van-search v-model="operationTypeType" class="no-margin" left-icon="false" @click="showpicker1"
shape="round" placeholder="办理状态" disabled="true" /> -->
<van-button round color="#f7f8fa" border-color="transparent" @click="showpicker1" >
<span style="color: #999999;">{{ operationTypeType?operationTypeType:'办理状态' }}</span>
</van-button>
<van-popup v-if="showpicker2" v-model="showpicker2" position="bottom" :style="{ height: '40%' }">
<van-picker v-if="showpicker2" show-toolbar title="标题" :columns="actions" @cancel="showPicker2 = false"
@confirm="onConfirm"
/>
<van-button round color="#f7f8fa" border-color="transparent" @click="showpicker1">
<span style="color: #999999;">{{ operationTypeType?operationTypeType:'办理状态' }}</span>
</van-button>
<!-- <van-icon v-if="operationTypeType" name="cross" color="#999999" @click.stop="clearSelection"
style="cursor: pointer;" /> -->
<van-popup v-if="showpicker2" v-model="showpicker2" position="bottom" :style="{ height: '40%' }">
<van-picker v-if="showpicker2" show-toolbar title="状态" :columns="actions"
@cancel="showpicker2 = false" @confirm="onConfirm" />
</van-popup>
<!-- <van-popup v-model="showpicker2" position="bottom">
<van-picker show-toolbar :columns="actions" @cancel="showPicker = false" @confirm="onConfirm" />
@ -111,15 +112,17 @@ export default {
this.icEventList()
},
mounted() {
// this.$nextTick(() => {
// this.scroll = this.$refs.scroll;
// if (this.$store.state.app.scrollTop) {
// setTimeout(() => {
// this.$refs.scroll.scrollTo(0, this.$store.state.app.scrollTop);
// }, 500)
// }
// this.scroll.addEventListener('scroll', this.bottomScroll); //
// })
this.$nextTick(() => {
console.log(this.$refs.scroll,"dslkjfskjdf");
this.scroll = this.$refs.scroll;
if (this.$store.state.app.scrollTop) {
setTimeout(() => {
this.$refs.scroll.scrollTo(0, this.$store.state.app.scrollTop);
}, 500)
}
this.scroll.addEventListener('scroll', this.bottomScroll); //
})
// this.scroll.addEventListener('scroll', this.bottomScroll); //
},
activated() {
@ -143,7 +146,19 @@ export default {
console.log( this.showPicker2,"iugui");
},
bottomScroll: throttle(function () {
console.log('滚动加载');
let scrollTop = this.scroll.scrollTop+100; //
this.$store.dispatch('setScrollTop', scrollTop);
let scrollHeight = this.scroll.scrollHeight; //
let clientHeight = this.scroll.clientHeight; //
console.log(scrollTop, scrollHeight, clientHeight,"dsflksdkjfh");
if (scrollTop + clientHeight >= scrollHeight) {
console.log("dfls kj");
this.pageNo++;
this.icEventList()
}
}, 500),
showpicker1(){
this.showpicker2=true
},
@ -151,15 +166,18 @@ export default {
//
async icEventList() {
let parms = {
pageSize: 20,
pageNo: 1,
pageSize: this.pageSize,
pageNo: this.pageNo,
workOrderNum: this.workOrderNum,
mobile:this.mobile,
operationType:this.operationType,
}
let { data, code, msg } = await icEventList(parms)
if(code==0){
this.tableData=data.list
if(this.workOrderNum||this.mobile||this.operationType){
this.tableData=[]
}
this.tableData = this.tableData.concat(data.list)
}
else{
console.log(msg);
@ -183,7 +201,6 @@ export default {
},
onQuery(){
this.icEventList()
this.getStatusClass()
},
onOperationType(item){
console.log(item);

147
src/views/HotlineDetail/index.vue

@ -102,8 +102,12 @@
<!-- <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>
@ -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;

1
src/views/assistance/index.vue

@ -135,6 +135,7 @@ export default {
},
mounted() {
this.$nextTick(() => {
console.log(this.$refs.scroll,"dslkjfskjdf");
this.scroll = this.$refs.scroll;
if (this.$store.state.app.scrollTop) {
setTimeout(() => {

Loading…
Cancel
Save