driverSchool/newPages/evaluate/index.vue

194 lines
5.7 KiB
Vue
Raw Normal View History

2025-03-15 17:32:23 +08:00
<template>
2025-04-09 11:42:08 +08:00
<view class="page flex-col">
<view style="width: 100%;background: #f4f5f6;box-sizing: border-box;padding-top: 88px;">
<headers titles="评价中心">
<uni-icons type="left" color="#000000" size="22px"></uni-icons>
</headers>
</view>
<view class="group_4 flex-col">
<view class="list_1 flex-col" v-if="evaluate.length > 0">
<scroll-view
:style="{ height: scrollHeight + 'px' }"
2025-04-11 18:06:20 +08:00
scroll-y="true" class="scroll-view"
2025-04-09 11:42:08 +08:00
@scrolltolower="onReachBottomCus" refresher-enabled @refresherrefresh="onRefresherrefresh"
:refresher-triggered="isTriggered">
<view class="list-items_1 flex-col" v-for="(item, index) in evaluate" :key="index"
@click="goEvaluateDetail(item)">
<view class="text-wrapper_1 flex-row">
<text class="text_2">{{ item.busiName }}</text>
</view>
<view class="group_6 flex-row justify-between">
<view class="text-wrapper_2 flex-col">
<text class="text_3">{{ item.busiName.slice(0, 3) }}</text>
</view>
<view class="text-wrapper_3 flex-col">
<text class="text_4">{{ item.courseType }}</text>
</view>
</view>
<view class="group_7 flex-row">
<view class="image-text_1 flex-row justify-between" style="align-items: center;">
<image class="label_2" referrerpolicy="no-referrer"
src="/static/lanhu_pingjiabiaodan/FigmaDDSSlicePNG9781bf564ae15eee66e88c90622422db.png"/>
<text class="text-group_1">{{ item.coachName }}</text>
</view>
<view style="display: flex; align-items: center;">
<u-rate active-color="#EAA140" v-model="item.rate" allowHalf inactive-color="#b2b2b2"
readonly></u-rate>
<text style="margin-left: 5rpx;color:#E1A652;">{{ item.rate }}</text>
</view>
</view>
</view>
</scroll-view>
</view>
2025-04-08 17:00:07 +08:00
<view class="empty-container" v-else>
<u-empty
mode="data"
text="评价为空"
/>
</view>
2025-04-09 11:42:08 +08:00
</view>
</view>
2025-03-15 17:32:23 +08:00
</template>
<script>
2025-04-09 11:42:08 +08:00
import headers from "@/components/header/headers.vue";
import {
getLocalUserInfo
} from "@/utils/auth";
import request from "@/utils/request";
2025-04-03 16:47:39 +08:00
2025-04-09 11:42:08 +08:00
export default {
components: {
headers
},
data() {
return {
loopData0: [{
lanhutext0: '科目二训练',
lanhutext1: '科目二',
lanhutext2: 'C2',
lanhuimage0: 'https://lanhu-oss-2537-2.lanhuapp.com/FigmaDDSSlicePNG9781bf564ae15eee66e88c90622422db.png',
lanhutext3: '马文峰',
lanhutext4: '4.0'
},
{
lanhutext0: '科目二考试',
lanhutext1: '科目二',
lanhutext2: 'C2',
lanhuimage0: 'https://lanhu-oss-2537-2.lanhuapp.com/FigmaDDSSlicePNG9781bf564ae15eee66e88c90622422db.png',
lanhutext3: '马文峰',
lanhutext4: '4.0'
}
],
evaluate: [],
scrollHeight: 0,
constants: {},
userId: getLocalUserInfo().id,
pageNo: 1,
pageSize: 10,
total: 0,
isTriggered: false
};
},
onLoad() {
this.getList()
},
onReady() {
// 动态计算滚动区域高度
this.calculateScrollHeight();
},
2025-04-11 18:06:20 +08:00
2025-04-09 11:42:08 +08:00
methods: {
getList() {
request({
url: '/app-api/feed-back/page',
method: 'GET',
params: {
userId: this.userId,
pageNo: this.pageNo,
pageSize: this.pageSize
}
}).then(res => {
this.total = res.data.total
if (this.pageNo == 1) {
this.evaluate = res.data.records
} else {
this.evaluate = this.evaluate.concat(res.data.records)
}
this.isTriggered = false
})
},
/**
* 上滑加载数据
*/
onReachBottomCus() {
//判断 如果页码*页容量大于等于总条数,提示该页数据加载完毕
if (this.pageNo * this.pageSize >= this.total) {
uni.$u.toast('没有更多数据了')
return
}
//页码+1,调用获取数据的方法获取第二页数据
this.pageNo++
//此处调用自己获取数据列表的方法
if (this.curNow === 1) {
this.getTrainList()
} else {
this.getList()
}
},
calculateScrollHeight() {
// 获取屏幕高度
const screenHeight = uni.getSystemInfoSync().windowHeight;
// 获取顶部区域高度
2025-04-11 18:06:20 +08:00
const topHeight = 120;
2025-04-09 11:42:08 +08:00
// 计算滚动区域高度
this.scrollHeight = screenHeight - topHeight;
},
/**
* 下拉刷新数据
*/
onRefresherrefresh() {
this.isTriggered = true
this.pageNo = 1
this.total = 0
this.appointmentList = []
if (this.curNow === 1) {
this.getTrainList()
} else {
this.getList()
}
},
goEvaluateDetail(data) {
data = JSON.stringify(data)
uni.navigateTo({
url: `/newPages/evaluateAdd/index?data=${data}`
})
}
}
};
2025-03-15 17:32:23 +08:00
</script>
<style lang='scss'>
2025-04-09 11:42:08 +08:00
@import '../common/common.scss';
@import './assets/style/index.rpx.scss';
.empty-container {
display: flex;
justify-content: center; /* 水平居中 */
align-items: center; /* 垂直居中 */
height: 100vh; /* 或者你需要撑满的高度 */
}
.text-group_1 {
display: inline-block;
max-width: 4em; /* 一个汉字大概占1em3em就是三个字 */
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
2025-04-09 09:13:03 +08:00
2025-04-11 18:06:20 +08:00
.itemContent {
height: 100% !important; /* 确保高度生效 */
flex: 1; /* 填充剩余空间 */
}
2025-03-15 17:32:23 +08:00
</style>