11 changed files with 521 additions and 19 deletions
@ -0,0 +1,8 @@ |
|||||
|
[1223/162702.573:ERROR:registration_protocol_win.cc(108)] CreateFile: 系统找不到指定的文件。 (0x2) |
||||
|
[1223/162702.848:ERROR:registration_protocol_win.cc(108)] CreateFile: 系统找不到指定的文件。 (0x2) |
||||
|
[1223/163014.254:ERROR:registration_protocol_win.cc(108)] CreateFile: 系统找不到指定的文件。 (0x2) |
||||
|
[1223/163213.517:ERROR:registration_protocol_win.cc(108)] CreateFile: 系统找不到指定的文件。 (0x2) |
||||
|
[1223/163517.755:ERROR:registration_protocol_win.cc(108)] CreateFile: 系统找不到指定的文件。 (0x2) |
||||
|
[1223/163743.845:ERROR:registration_protocol_win.cc(108)] CreateFile: 系统找不到指定的文件。 (0x2) |
||||
|
[1223/163744.572:ERROR:registration_protocol_win.cc(108)] CreateFile: 系统找不到指定的文件。 (0x2) |
||||
|
[1223/170717.702:ERROR:registration_protocol_win.cc(108)] CreateFile: 系统找不到指定的文件。 (0x2) |
@ -0,0 +1,409 @@ |
|||||
|
<template> |
||||
|
<div class='pages flex flex-y' ref="scroll"> |
||||
|
<div class="bto_top1"> |
||||
|
<div class="grid-container"> |
||||
|
<van-search v-model="workOrderNum" left-icon="false" shape="round" placeholder="按工单号" /> |
||||
|
<van-search v-model="mobile" left-icon="false" shape="round" placeholder="手机号" /> |
||||
|
<van-button round color="#f7f8fa" border-color="transparent" @click="showpicker1('办理状态')"> |
||||
|
<span style="color: #999999;">{{ operationTypeType ? operationTypeType : '办理状态' }}</span> |
||||
|
</van-button> |
||||
|
<van-button round color="#f7f8fa" border-color="transparent" @click="showpicker1('开始时间')"> |
||||
|
<span style="color: #999999;">{{ startTime ? startTime : '开始时间' }}</span> |
||||
|
</van-button> |
||||
|
<van-button round color="#f7f8fa" border-color="transparent" @click="showpicker1('结束时间')"> |
||||
|
<span style="color: #999999;">{{ endTime ? endTime : '结束时间' }}</span> |
||||
|
</van-button> |
||||
|
<van-button style="height: 35px;width: 70px; margin-left: 10px;" @click="onQuery" round |
||||
|
type="info">检索</van-button> |
||||
|
<van-popup v-if="showpicker2" v-model="showpicker2" position="bottom" :style="{ height: '40%' }" @click-overlay="closePopup"> |
||||
|
<van-picker v-if="showStutas" show-toolbar title="状态" :columns="actions" |
||||
|
@cancel="showStutas = false" @confirm="onConfirm" /> |
||||
|
<van-datetime-picker v-if="showstartTime" v-model="startTime" type="datetime" title="选择完整时间" |
||||
|
:min-date="minDate" :max-date="maxDate" @change="strChange('startTime')" @cancel="closePopup" @confirm="onConfirm('showstartTime')"/> |
||||
|
<van-datetime-picker v-if="showEndTime" v-model="endTime" type="datetime" title="选择完整时间" |
||||
|
@cancel="closePopup('showendTime')" @confirm="onConfirm('showendTime')" @change="strChange('endTime')" |
||||
|
:min-date="minDate" :max-date="maxDate" /> |
||||
|
</van-popup> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div class="container"> |
||||
|
<div class=" card m-top12" style="box-shadow: none; " v-for="(item, index) in tableData" :key="index" |
||||
|
@click="onHandle(item)"> |
||||
|
<div class="flex flex-certer1 flex-center2 "> |
||||
|
<div class="flex flex-center2"> |
||||
|
<img style="width: 18px; height: 18px;" |
||||
|
src="https://elink-esua-epdc.oss-cn-qingdao.aliyuncs.com/epmet-saas/dev/20250107/98ae411b86df48529139259c58c8e748.png"> |
||||
|
<div class="workorder m-left8"> |
||||
|
工单号:{{ item.workOrderNum }} |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="flex flex-certer1 flex-center2 flex-end m-top5 "> |
||||
|
<div class="phonenName" style="font-size:14px; line-height: 26px;"> |
||||
|
{{ item.categoryAllName }} |
||||
|
</div> |
||||
|
<div class="flex "> |
||||
|
<div v-if="item.resolveStatus == 'resolved'" class="Resolutionstatus flex " |
||||
|
style="font-size:14px; line-height: 26px;"> |
||||
|
未解决 |
||||
|
<div v-if="item.satisfaction == 'bad'" class="Resolutionstatus">、</div> |
||||
|
</div> |
||||
|
<div v-if="item.satisfaction == 'bad'" class="satisfactionstatus" |
||||
|
style="font-size:14px; line-height: 26px;"> |
||||
|
{{ item.satisfactionName }} |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div> |
||||
|
<div class="van-multi-ellipsis--l2 m-top5"> |
||||
|
{{ item.eventContent }} |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
</div> |
||||
|
<div style="position: fixed;bottom: 0px;width: 100%;"> |
||||
|
|
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
</template> |
||||
|
<script> |
||||
|
import throttle from 'lodash/debounce' |
||||
|
import { icEventList, reply } from '@/api/service' |
||||
|
import { uploadvariedfile } from '@/api/basic' |
||||
|
import { Dialog } from 'vant'; |
||||
|
import dayjs from 'dayjs'; |
||||
|
export default { |
||||
|
data() { |
||||
|
return { |
||||
|
showstartTime:false, |
||||
|
showEndTime:false, |
||||
|
showStutas:false, |
||||
|
minDate: new Date(), |
||||
|
maxDate: new Date(2025, 10, 1), |
||||
|
startTime: "", |
||||
|
endTime: "", |
||||
|
confirmSolved: "", |
||||
|
status: "", |
||||
|
replyOperationType: "", |
||||
|
satisfied: "", |
||||
|
overTimeFlag: "", |
||||
|
staffId: '', |
||||
|
type: '', |
||||
|
operationTypeType: "", |
||||
|
showpicker2: false, |
||||
|
showpicker: false, |
||||
|
workOrderNum: "", |
||||
|
mobile: "", |
||||
|
operationType: "", |
||||
|
operationTypeName: "10", |
||||
|
pageNo: 1, |
||||
|
pageSize: 30, |
||||
|
tableData: [ |
||||
|
], |
||||
|
actions: [ |
||||
|
{ |
||||
|
value: "8", |
||||
|
text: "未联系当事人", |
||||
|
}, |
||||
|
{ |
||||
|
value: "9", |
||||
|
text: "已联系当事人", |
||||
|
}, |
||||
|
{ |
||||
|
value: "10", |
||||
|
text: "办理中", |
||||
|
}, |
||||
|
{ |
||||
|
value: "11", |
||||
|
text: "已办结待审核", |
||||
|
}, |
||||
|
{ |
||||
|
value: "12", |
||||
|
text: "已审核归档", |
||||
|
}, |
||||
|
], |
||||
|
}; |
||||
|
}, |
||||
|
created() { |
||||
|
|
||||
|
}, |
||||
|
mounted() { |
||||
|
const url = window.location.href; |
||||
|
const queryString = url.split('?')[1]; |
||||
|
const urlParams = new URLSearchParams(queryString); |
||||
|
const worktoken = urlParams.get('worktoken'); |
||||
|
const staffId = urlParams.get('staffId') |
||||
|
this.staffId=staffId |
||||
|
this.icEventList() |
||||
|
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() { |
||||
|
|
||||
|
}, |
||||
|
methods: { |
||||
|
strChange(value){ |
||||
|
if(value=='startTime'){ |
||||
|
console.log(value, this.startTime,"dsjfsl"); |
||||
|
this.startTime= this.$dayjs(this.startTime).format('YYYY-MM-DD HH:mm:ss') |
||||
|
console.log(value, this.startTime,"dsjfsl"); |
||||
|
} |
||||
|
if(value=='endTime'){ |
||||
|
this.endTime= this.$dayjs(this.endTime).format('YYYY-MM-DD HH:mm:ss') |
||||
|
} |
||||
|
}, |
||||
|
closePopup(value){ |
||||
|
console.log("123"); |
||||
|
this.showstartTime=false |
||||
|
this.showEndTime=false |
||||
|
this.showpicker2=false |
||||
|
this.showStutas=false |
||||
|
}, |
||||
|
statusClass(item) { |
||||
|
return { |
||||
|
'status-red': item === '未联系当事人', |
||||
|
'lan': item === '已联系当事人', |
||||
|
'status-cycn': item === '办理中', |
||||
|
'status-orange': item === '已办结待审核', |
||||
|
'status-grey': item === '已审核归档' || item === '其他默认状态' |
||||
|
}; |
||||
|
}, |
||||
|
onConfirm(value) { |
||||
|
if(value=='showstartTime'){ |
||||
|
console.log("我选择了开始时间"); |
||||
|
this.startTime= this.$dayjs(this.startTime).format('YYYY-MM-DD HH:mm:ss') |
||||
|
this.showpicker2=false |
||||
|
this.showstartTime=false |
||||
|
console.log(this.startTime); |
||||
|
|
||||
|
}else if(value=="showendTime"){ |
||||
|
console.log("我选择了结束事件"); |
||||
|
this.endTime= this.$dayjs(this.endTime).format('YYYY-MM-DD HH:mm:ss') |
||||
|
this.showpicker2=false |
||||
|
this.showEndTime=false |
||||
|
console.log(this.endTime); |
||||
|
} |
||||
|
else{ |
||||
|
console.log("我是状态事件"); |
||||
|
this.operationTypeType = value.text |
||||
|
this.operationType = value.value |
||||
|
this.showpicker2 = false; |
||||
|
this.showStutas=false |
||||
|
} |
||||
|
|
||||
|
|
||||
|
}, |
||||
|
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(param) { |
||||
|
this.showpicker2 = true |
||||
|
console.log(param,"sdfhsdflkjsdf"); |
||||
|
if(param=="办理状态"){ |
||||
|
this.showStutas=true |
||||
|
}else if(param=='开始时间'){ |
||||
|
this.showstartTime=true |
||||
|
}else{ |
||||
|
this.showEndTime=true |
||||
|
} |
||||
|
|
||||
|
|
||||
|
}, |
||||
|
|
||||
|
//获取事件 |
||||
|
async icEventList() { |
||||
|
console.log(window.location.href, "执行成功"); |
||||
|
let parms = { |
||||
|
pageSize: this.pageSize, |
||||
|
pageNo: this.pageNo, |
||||
|
workOrderNum: this.workOrderNum, |
||||
|
mobile: this.mobile, |
||||
|
operationType: this.operationType, |
||||
|
staffId: this.staffId, |
||||
|
satisfied: this.satisfied, |
||||
|
status: this.status, |
||||
|
replyOperationType: this.replyOperationType, |
||||
|
confirmSolved: this.confirmSolved, |
||||
|
endTime: this.endTime, |
||||
|
startTime: this.startTime, |
||||
|
selectType: "gjk" |
||||
|
} |
||||
|
let { data, code, msg } = await icEventList(parms) |
||||
|
if (code == 0) { |
||||
|
if (this.workOrderNum || this.mobile || this.operationType) { |
||||
|
this.tableData = [] |
||||
|
} |
||||
|
this.tableData = this.tableData.concat(data.list) |
||||
|
} |
||||
|
else { |
||||
|
console.log(msg); |
||||
|
} |
||||
|
|
||||
|
}, |
||||
|
onHandle(item) { |
||||
|
this.$router.push({ name: 'HotlineDetail', query: { icEventId: item.icEventId,typeEvent:false } }) |
||||
|
}, |
||||
|
onQuery() { |
||||
|
this.icEventList() |
||||
|
}, |
||||
|
onOperationType(item) { |
||||
|
console.log(item); |
||||
|
this.operationType = item |
||||
|
}, |
||||
|
|
||||
|
}, |
||||
|
components: {}, |
||||
|
computed: { |
||||
|
|
||||
|
onSelect() { |
||||
|
console.log("dslkfkhlkadf lk"); |
||||
|
|
||||
|
}, |
||||
|
|
||||
|
|
||||
|
}, |
||||
|
destroyed() { |
||||
|
this.scroll.removeEventListener('scroll', this.bottomScroll);//移除滚动监听 |
||||
|
}, |
||||
|
watch: {} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang='less' scoped> |
||||
|
:deep .van-button{ |
||||
|
height: 38.95px; |
||||
|
} |
||||
|
:deep .van-search{ |
||||
|
padding:0 |
||||
|
} |
||||
|
:deep(.van-cascader__title) { |
||||
|
width: 100%; |
||||
|
} |
||||
|
|
||||
|
:deep(.van-tabs__nav) { |
||||
|
padding-right: 80px; |
||||
|
box-sizing: border-box; |
||||
|
} |
||||
|
|
||||
|
:deep(.van-tabs__nav--line) { |
||||
|
padding-bottom: 10px; |
||||
|
} |
||||
|
|
||||
|
.workorder { |
||||
|
font-family: PingFang SC; |
||||
|
font-weight: 500; |
||||
|
font-size: 15px; |
||||
|
color: #000000; |
||||
|
} |
||||
|
|
||||
|
.phonenName { |
||||
|
font-family: PingFang SC; |
||||
|
font-weight: 500; |
||||
|
font-size: 13px; |
||||
|
color: #999999; |
||||
|
white-space: nowrap; |
||||
|
/* 防止文本换行 */ |
||||
|
overflow: hidden; |
||||
|
/* 隐藏超出的文本 */ |
||||
|
text-overflow: ellipsis; |
||||
|
/* 如果文本超出容器,显示省略号 */ |
||||
|
flex: 1; |
||||
|
|
||||
|
} |
||||
|
|
||||
|
.status-red { |
||||
|
color: red; |
||||
|
} |
||||
|
|
||||
|
.lan { |
||||
|
color: blue; |
||||
|
} |
||||
|
|
||||
|
.status-cycn { |
||||
|
color: cyan; |
||||
|
} |
||||
|
|
||||
|
.status-orange { |
||||
|
color: orange; |
||||
|
} |
||||
|
|
||||
|
.status-grey { |
||||
|
color: grey; |
||||
|
} |
||||
|
|
||||
|
.status-red { |
||||
|
font-family: PingFang SC; |
||||
|
font-weight: 500; |
||||
|
font-size: 13px; |
||||
|
color: #FF3C3C; |
||||
|
} |
||||
|
|
||||
|
.no-margin { |
||||
|
margin: 0 !important; |
||||
|
/* 确保边距为 0 */ |
||||
|
padding: 0 !important; |
||||
|
width: 25%; |
||||
|
} |
||||
|
|
||||
|
.handle { |
||||
|
height: 30px; |
||||
|
} |
||||
|
|
||||
|
.custom-dropdown-menu { |
||||
|
background-color: red; |
||||
|
/* 背景颜色 */ |
||||
|
border: 1px solid #ddd; |
||||
|
/* 边框样式 */ |
||||
|
border-radius: 8px; |
||||
|
/* 圆角边框 */ |
||||
|
padding: 10px; |
||||
|
/* 内边距 */ |
||||
|
z-index: 10; |
||||
|
} |
||||
|
|
||||
|
.van-dropdown-menu__bar { |
||||
|
background-color: wheat; |
||||
|
} |
||||
|
|
||||
|
.satisfactionstatus { |
||||
|
font-weight: 500; |
||||
|
font-size: 26rpx; |
||||
|
color: #FC5231; |
||||
|
line-height: 42rpx; |
||||
|
} |
||||
|
|
||||
|
.Resolutionstatus { |
||||
|
font-weight: 500; |
||||
|
font-size: 26rpx; |
||||
|
color: #FFA312; |
||||
|
line-height: 42rpx; |
||||
|
} |
||||
|
.grid-container { |
||||
|
display: grid; |
||||
|
grid-template-columns: repeat(3, 1fr); /* 每行显示 3 列,等宽 */ |
||||
|
gap: 10px; /* 图片之间的间隔 */ |
||||
|
} |
||||
|
</style> |
Loading…
Reference in new issue