5 changed files with 87 additions and 136 deletions
@ -1,146 +1,97 @@ |
|||||
<template> |
<template> |
||||
<div> |
<div class='container'> |
||||
<!-- <van-tabs v-model="type" @change="tabList" animated sticky swipeable lazy-render> |
<van-list v-model="loading" :finished="finished" finished-text="没有更多了" @load="collects" |
||||
<van-tab title="我的事件">--> |
:offset="50"> |
||||
<div class="container"> |
<div class="event-item m-top10 card" v-for="(item, index) in list" :key="index" |
||||
<div class="event-list" v-if="eventList.length > 0"> |
@click="$router.push({ path: '/appealDetail', query: { pageType: 'event', ...item } })"> |
||||
<div |
<div class=" flex flex-y"> |
||||
class="event-item" |
<div class="flex"> |
||||
v-for="(item, index) in eventList" |
<van-tag round size="medium" style="margin-right: 5px" |
||||
:key="index" |
:color="item.statusName == '处理中' ? processing.bg : completion.bg" |
||||
@click="$router.push({ path: '/appealDetail', query: { pageType: 'event', ...item } })" |
:text-color="item.statusName == '处理中' ? processing.text : completion.text"> |
||||
> |
{{ item.statusName }} |
||||
<div class="title"> |
|
||||
<van-tag |
|
||||
round |
|
||||
size="medium" |
|
||||
style="margin-right: 5px" |
|
||||
:color="item.status == '处理中' ? processing.bg : completion.bg" |
|
||||
:text-color="item.status == '处理中' ? processing.text : completion.text" |
|
||||
> |
|
||||
{{ item.status }} |
|
||||
</van-tag> |
|
||||
<span class="text">{{ item.content }}</span> |
|
||||
</div> |
|
||||
<div class="time">{{ item.happenTime }}</div> |
|
||||
<div class="imgs"> |
|
||||
<van-image |
|
||||
fit="cover" |
|
||||
v-for="(item2, index2) in item.imageList" |
|
||||
@click.prevent.stop="previewImage(index2, item.imageList)" |
|
||||
:src="item2" |
|
||||
:key="index2" |
|
||||
/> |
|
||||
</div> |
|
||||
</div> |
|
||||
</div> |
|
||||
<div class="no-data" v-else>暂无内容</div> |
|
||||
</div> |
|
||||
<!-- </van-tab> |
|
||||
<van-tab title="我的需求"> |
|
||||
<div class="container"> |
|
||||
<div class="event-list"> |
|
||||
<div |
|
||||
class="event-item" |
|
||||
v-for="(item, index) in demandList" |
|
||||
:key="index" |
|
||||
@click="$router.push({ path: '/appealDetail', query: { pageType: 'demand', ...item } })" |
|
||||
> |
|
||||
<div class="title"> |
|
||||
<van-tag |
|
||||
round |
|
||||
size="medium" |
|
||||
style="margin-right: 5px" |
|
||||
:color="item.status == '处理中' ? processing.bg : completion.bg" |
|
||||
:text-color="item.status == '处理中' ? processing.text : completion.text" |
|
||||
> |
|
||||
{{ item.status }} |
|
||||
</van-tag> |
</van-tag> |
||||
<span class="text">{{ item.content }}</span> |
<div class="y66666 font-size13">{{ item.happenTime }}</div> |
||||
</div> |
|
||||
<div class="time">{{ item.happenTime }}</div> |
|
||||
<div class="imgs"> |
|
||||
<van-image |
|
||||
fit="cover" |
|
||||
v-for="(item2, index2) in item.imageList" |
|
||||
@click.prevent.stop="previewImage(index2, item.imageList)" |
|
||||
:src="item2" |
|
||||
:key="index2" |
|
||||
/> |
|
||||
</div> |
</div> |
||||
|
<span class="text">{{ item.eventContent }}</span> |
||||
|
</div> |
||||
|
<div class="imgs"> |
||||
|
<van-image fit="cover" v-for="(item2, index2) in item.imageList" |
||||
|
@click.prevent.stop="previewImage(index2, item.imageList)" :src="item2" :key="index2" /> |
||||
</div> |
</div> |
||||
</div> |
</div> |
||||
</div> |
</van-list> |
||||
</van-tab> |
|
||||
</van-tabs>--> |
|
||||
</div> |
</div> |
||||
</template> |
</template> |
||||
|
|
||||
<script> |
<script> |
||||
import { collects } from '@/api/event' |
import { collects } from '@/api/event' |
||||
import { ImagePreview } from 'vant' |
|
||||
import { requirementList } from '@/api/demand' |
|
||||
export default { |
export default { |
||||
name: 'appeal', |
|
||||
components: { |
|
||||
[ImagePreview.Component.name]: ImagePreview.Component |
|
||||
}, |
|
||||
data() { |
data() { |
||||
return { |
return { |
||||
type: 0, |
type: 0, |
||||
completion: { |
list: [], |
||||
bg: 'rgba(79,148,255,0.14)', |
pageSize: 5, |
||||
text: '#4F94FF' |
completion: { |
||||
}, |
bg: 'rgba(79,148,255,0.14)', |
||||
processing: { |
text: '#4F94FF' |
||||
bg: 'rgba(255,120,60,0.14)', |
}, |
||||
text: '#FF783C' |
processing: { |
||||
}, |
bg: 'rgba(255,120,60,0.14)', |
||||
eventList: [], |
text: '#FF783C' |
||||
demandList: [] |
}, |
||||
} |
pageNo: 1, |
||||
|
agencyId: null, |
||||
|
finished: false, |
||||
|
loading: true, |
||||
|
showRegister: false, |
||||
|
}; |
||||
}, |
}, |
||||
mounted() { |
created() { |
||||
this.getEventList() |
this.agencyId = this.$store.state.app.agencyId; |
||||
|
this.collects(); |
||||
}, |
}, |
||||
methods: { |
methods: { |
||||
getEventList() { |
async collects() { |
||||
let parm = { |
let parm = { |
||||
pageSize:10, |
pageSize: this.pageSize, |
||||
pageNo:1, |
pageNo: this.pageNo++, |
||||
name:this.$store.state.app.userInfo.realName||'', |
name: this.$store.state.app.userInfo.realName || '', |
||||
mobile:this.$store.state.app.userInfo.mobile||'', |
mobile: this.$store.state.app.userInfo.mobile || '', |
||||
agencyId:this.$store.state.app.agencyId |
agencyId: '1697488876903944195' |
||||
} |
} |
||||
collects(parm).then(res => { |
let res = await collects(parm) |
||||
this.eventList = res.list; |
if (res) { |
||||
}) |
this.loading = false; |
||||
}, |
if (res.list.length < this.pageSize) { |
||||
getDemandList() { |
this.finished = true; |
||||
requirementList({ |
} |
||||
mobile: this.$store.state.app.userInfo.phone |
this.list = this.list.concat(res.list); |
||||
}).then(res => { |
} |
||||
this.demandList = res |
}, |
||||
}) |
}, |
||||
}, |
components: {}, |
||||
tabList(val) { |
computed: {}, |
||||
console.log(val) |
watch: {}, |
||||
if (val === 0) { |
|
||||
this.getEventList() |
|
||||
} else { |
|
||||
this.getDemandList() |
|
||||
} |
|
||||
}, |
|
||||
previewImage(index, urls) { |
|
||||
ImagePreview({ |
|
||||
images: urls, |
|
||||
startPosition: index |
|
||||
}) |
|
||||
} |
|
||||
} |
|
||||
} |
} |
||||
</script> |
</script> |
||||
|
|
||||
<style scoped lang="less"> |
<style lang='less' scoped> |
||||
@import './index'; |
.activity_content { |
||||
|
padding-bottom: 15px; |
||||
|
box-sizing: border-box; |
||||
|
width: 100%; |
||||
|
border-bottom: 1px solid #EAEAEA; |
||||
|
margin-top: 14px; |
||||
|
min-height: 110px; |
||||
|
|
||||
|
.img { |
||||
|
width: 231px; |
||||
|
height: 33px; |
||||
|
} |
||||
|
|
||||
|
&:last-child { |
||||
|
border-bottom: none; |
||||
|
} |
||||
|
} |
||||
</style> |
</style> |
||||
|
Loading…
Reference in new issue