You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
219 lines
4.4 KiB
219 lines
4.4 KiB
<template>
|
|
<view>
|
|
<u-navbar title="浏览历史" :title-bold="true"></u-navbar>
|
|
<view class="list">
|
|
<u-swipe-action :show="item.show" :index="index" v-for="(item, index) in list" :key="index"
|
|
@click="del(index)" @open="open" :options="options" btn-width="250">
|
|
<view class="cart" @top.stop="toInfo(item)">
|
|
<image style="width: 240rpx; height: 180rpx;" class="u-m-l-16" mode="scaleToFill"
|
|
:src="item.pagodaMainImg"></image>
|
|
<view class="center">
|
|
<view class="name">
|
|
{{item.pagodaName}}
|
|
</view>
|
|
<view class="positon">
|
|
{{item.graveNum}}墓穴 | {{item.floor}}层
|
|
</view>
|
|
<view class="location">
|
|
<view class="icon">
|
|
|
|
</view>
|
|
<view class="locationText">
|
|
{{item.address}}
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
</u-swipe-action>
|
|
<view class="loading" style="height: 40px; color: #C0C0C0;" v-if="isTotle">
|
|
我们是有底线的
|
|
</view>
|
|
<view class="loading" v-if="isLoading">
|
|
<u-loading mode="flower"></u-loading>
|
|
</view>
|
|
</view>
|
|
<u-modal v-model="show" confirm-color="#F44D4D" @cancel="show =false" @confirm="confirmDel"
|
|
:show-cancel-button="true" :show-title="false">
|
|
<view class="text">
|
|
确定删除此条浏览记录?
|
|
</view>
|
|
</u-modal>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
import ListItem from '../../../components/listItem'
|
|
export default {
|
|
data() {
|
|
return {
|
|
list: [],
|
|
options: [{
|
|
text: '删除记录',
|
|
style: {
|
|
backgroundColor: '#dd524d'
|
|
}
|
|
}],
|
|
index: 8,
|
|
show: false,
|
|
queryData: {
|
|
pageNum: 0,
|
|
pageSize: 10,
|
|
browseType: 'browse', // 浏览历史固定参数
|
|
},
|
|
isLoading: false,
|
|
total: 0,
|
|
delId: '',
|
|
isTotle: false,
|
|
}
|
|
},
|
|
methods: {
|
|
toInfo(info) {
|
|
uni.navigateTo({
|
|
url: '../../mian/cemeteryInfo/cemeteryInfo?id=' + info.pagodaId
|
|
})
|
|
},
|
|
shouItem() {
|
|
this.list.forEach(item => item.show = !item.show)
|
|
},
|
|
getHistoryList() {
|
|
if (this.isTotle) {
|
|
return
|
|
}
|
|
this.isLoading = true
|
|
this.queryData.pageNum = this.queryData.pageNum + 1
|
|
this.$u.api.pagoda.getCollectionService(this.queryData).then(res => {
|
|
this.total = res.data.total
|
|
let data = res.data.rows
|
|
data.forEach(item => item.show = false)
|
|
this.list.push(...data)
|
|
setTimeout(() => {
|
|
this.isLoading = false
|
|
if (this.list.length === this.total) {
|
|
this.isTotle = true
|
|
}
|
|
}, 300)
|
|
})
|
|
|
|
},
|
|
del(index) {
|
|
this.delId = index
|
|
this.show = true
|
|
this.list[index].show = true
|
|
},
|
|
async confirmDel() {
|
|
let res = await this.$u.api.pagoda.delBrowseService({
|
|
browseId: this.list[this.delId].browseId,
|
|
})
|
|
this.list.splice(this.delId, 1)
|
|
this.list[this.delId].show = false
|
|
console.log(res, 99990)
|
|
},
|
|
open() {},
|
|
getList() {
|
|
|
|
}
|
|
},
|
|
components: {
|
|
ListItem,
|
|
},
|
|
// 监听触底
|
|
onReachBottom() {
|
|
this.getHistoryList()
|
|
},
|
|
onLoad() {
|
|
this.getHistoryList()
|
|
}
|
|
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
.list {
|
|
margin-top: 24rpx;
|
|
padding-left: 26rpx;
|
|
|
|
.item {
|
|
height: 228rpx;
|
|
border-bottom: 1px solid #F7F9FC;
|
|
display: flex;
|
|
align-items: center;
|
|
padding-left: 36rpx;
|
|
}
|
|
}
|
|
|
|
.text {
|
|
height: 188rpx;
|
|
line-height: 188rpx;
|
|
border-radius: 24rpx;
|
|
text-align: center;
|
|
}
|
|
|
|
.cart {
|
|
display: flex;
|
|
align-items: center;
|
|
padding: 20rpx 0;
|
|
border-bottom: 1px solid #F7F9FC;
|
|
|
|
/deep/ div {
|
|
border-radius: 12rpx;
|
|
}
|
|
|
|
.center {
|
|
margin-left: 24rpx;
|
|
flex: 1;
|
|
height: 180rpx;
|
|
}
|
|
|
|
.name {
|
|
margin-top: 20rpx;
|
|
color: #303133;
|
|
font-size: 28rpx;
|
|
line-height: 32rpx;
|
|
}
|
|
|
|
.positon {
|
|
color: #909399;
|
|
font-size: 24rpx;
|
|
margin-top: 5rpx;
|
|
}
|
|
|
|
.link {
|
|
margin-top: 12rpx;
|
|
// width: 114rpx;
|
|
height: 44rpx;
|
|
background-color: #edf5ff;
|
|
color: #509EFA;
|
|
font-size: 20rpx;
|
|
text-align: center;
|
|
line-height: 44rpx;
|
|
border-radius: 8rpx;
|
|
}
|
|
|
|
.location {
|
|
margin-top: 38rpx;
|
|
color: #909399;
|
|
display: flex;
|
|
|
|
.icon {
|
|
width: 24rpx;
|
|
height: 24rpx;
|
|
background-image: url(../../../static/pos.png);
|
|
background-size: 100% 100%;
|
|
transform: translateY(8rpx);
|
|
margin-right: 10rpx;
|
|
}
|
|
|
|
.locationText {
|
|
line-height: 40rpx;
|
|
overflow: hidden;
|
|
/*文本超出隐藏*/
|
|
text-overflow: ellipsis;
|
|
/*文本超出显示省略号*/
|
|
white-space: nowrap;
|
|
/*超出的空白区域不换行*/
|
|
width: 90%;
|
|
}
|
|
}
|
|
}
|
|
</style>
|
|
|