sadjv3_jishi/pages/index/game/myEvaluation.vue

172 lines
3.7 KiB
Vue
Raw Normal View History

2024-06-05 19:14:51 +08:00
<template>
<view class="" style="width: 100%;">
<u-card>
<view class="" slot="body">
<view class="u-body-item u-border-bottom u-col-between u-p-t-0" v-for="(item,index) in list"
:key="index">
<view class="card_head">
<view class="u-flex">
<view class="username">
匿名
</view>
<u-rate :count="count" size="28" gutter="6" :disabled="true" v-model="item.score"></u-rate>
</view>
<view class="u-flex u-row-between">
<u-icon name="clock" color="#82848a" size="32"></u-icon>
<view class="time">
{{item.createTime}}
</view>
</view>
</view>
<view class=" content_text ">{{item.content}}</view>
</view>
</view>
<view class="" slot="foot"><u-icon name="chat-fill" size="34" color="" :label="totalPage + '条评论'"></u-icon>
</view>
</u-card>
<view v-if="isLoadMore">
<uni-load-more iconType="circle" :status="loadStatus"></uni-load-more>
</view>
</view>
</template>
<script>
export default {
data() {
return {
count: 5,
page: 1, // 当前页数
limit: 10, // 每页数据量
totalPage: null, // 总共有多少页数据
list: [], // 存储数据的数组
loadStatus: 'noMore', //加载样式more-加载前样式loading-加载中样式noMore没有数据样式
isLoadMore: false, //是否加载中
artificerId: '',
}
},
onLoad(e) {
console.log(e)
this.artificerId = e.artificerId
this.getDet()
},
// 上拉触底函数
onReachBottom() {
if (!this.isLoadMore) {
this.isLoadMore = true
this.page++ //下拉一次页数+1
this.getDet()
}
},
//下拉刷新
onPullDownRefresh() {
//重新触发获取数据方法,刷新接口
this.list = []
this.page = 1 //重置页码,每次刷新后页码均为第一页
this.getDet()
//结束刷新
uni.stopPullDownRefresh()
},
methods: {
// 详情
getDet() {
uni.showLoading({
title: '加载中...'
});
this.$Request.get("/app/takingComment/selectTakingCommentByArtificerId", {
artificerId: this.artificerId,
page: this.page,
limit: this.limit,
}).then(res => {
uni.hideLoading();
if (res.code == 0) {
const data = res.data.records;
this.totalPage = res.data.total;
if (data.length != 0) {
//首次获取10条数据 后续将返回的数据拼接到之前已获取到的数组后
this.list = this.list.concat(data)
//判断接口返回数据量小于请求数据量,则表示此为最后一页
if (data.length < this.limit) {
this.isLoadMore = true
this.loadStatus = 'noMore'
} else {
this.isLoadMore = false
}
} else {
this.isLoadMore = true
this.loadStatus = 'noMore'
}
} else {
//提示
uni.showToast({
title: res.msg,
icon: 'none'
})
}
});
},
}
}
</script>
<style lang="scss">
/deep/ .u-card__head {
display: none;
}
/deep/.u-card__body {
padding: 0 30rpx !important;
}
/deep/.u-body-item {
padding: 60rpx 10rpx !important;
}
.u-card-wrap {
background-color: $u-bg-color;
padding: 1px;
}
.card_head {
width: 100%;
height: 50rpx;
display: flex;
justify-content: space-between;
margin-bottom: 20rpx;
.tit {
font-size: 30rpx;
font-weight: bold;
color: #303133;
line-height: 50rpx;
}
.time {
font-size: 28rpx;
color: #82848a;
line-height: 50rpx;
margin-left: 6rpx;
}
}
.content_text {
font-size: 28rpx;
line-height: 42rpx;
color: #606266;
}
.username {
font-size: 30rpx;
font-weight: bold;
line-height: 50rpx;
color: #606266;
margin-right: 10rpx;
}
</style>