This commit is contained in:
许允枞 2025-04-09 11:42:08 +08:00
parent 1747d849cf
commit bfd34a548b
5 changed files with 207 additions and 177 deletions

View File

@ -1,171 +1,188 @@
<template> <template>
<view class="page flex-col"> <view class="page flex-col">
<view style="width: 100%;background: #f4f5f6;box-sizing: border-box;padding-top: 88px;"> <view style="width: 100%;background: #f4f5f6;box-sizing: border-box;padding-top: 88px;">
<headers titles="评价中心"> <headers titles="评价中心">
<uni-icons type="left" color="#000000" size="22px"></uni-icons> <uni-icons type="left" color="#000000" size="22px"></uni-icons>
</headers> </headers>
</view> </view>
<view class="group_4 flex-col"> <view class="group_4 flex-col">
<view class="list_1 flex-col" v-if="evaluate.length > 0"> <view class="list_1 flex-col" v-if="evaluate.length > 0">
<scroll-view style="height: 1400rpx;" scroll-y="true" class="itemContent" <scroll-view
@scrolltolower="onReachBottomCus" refresher-enabled @refresherrefresh="onRefresherrefresh" :style="{ height: scrollHeight + 'px' }"
:refresher-triggered="isTriggered"> scroll-y="true" class="itemContent"
<view class="list-items_1 flex-col" v-for="(item, index) in evaluate" :key="index" @scrolltolower="onReachBottomCus" refresher-enabled @refresherrefresh="onRefresherrefresh"
@click="goEvaluateDetail(item)"> :refresher-triggered="isTriggered">
<view class="text-wrapper_1 flex-row"> <view class="list-items_1 flex-col" v-for="(item, index) in evaluate" :key="index"
<text class="text_2">{{ item.busiName }}</text> @click="goEvaluateDetail(item)">
</view> <view class="text-wrapper_1 flex-row">
<view class="group_6 flex-row justify-between"> <text class="text_2">{{ item.busiName }}</text>
<view class="text-wrapper_2 flex-col"> </view>
<text class="text_3">{{ item.busiName.slice(0, 3) }}</text> <view class="group_6 flex-row justify-between">
</view> <view class="text-wrapper_2 flex-col">
<view class="text-wrapper_3 flex-col"> <text class="text_3">{{ item.busiName.slice(0, 3) }}</text>
<text class="text_4">{{ item.courseType }}</text> </view>
</view> <view class="text-wrapper_3 flex-col">
</view> <text class="text_4">{{ item.courseType }}</text>
<view class="group_7 flex-row"> </view>
<view class="image-text_1 flex-row justify-between" style="align-items: center;"> </view>
<image class="label_2" referrerpolicy="no-referrer" <view class="group_7 flex-row">
src="/static/lanhu_pingjiabiaodan/FigmaDDSSlicePNG9781bf564ae15eee66e88c90622422db.png" /> <view class="image-text_1 flex-row justify-between" style="align-items: center;">
<text class="text-group_1">{{ item.coachName }}</text> <image class="label_2" referrerpolicy="no-referrer"
</view> src="/static/lanhu_pingjiabiaodan/FigmaDDSSlicePNG9781bf564ae15eee66e88c90622422db.png"/>
<view style="display: flex; align-items: center;"> <text class="text-group_1">{{ item.coachName }}</text>
<u-rate active-color="#EAA140" v-model="item.rate" allowHalf inactive-color="#b2b2b2" </view>
readonly></u-rate> <view style="display: flex; align-items: center;">
<text style="margin-left: 5rpx;color:#E1A652;">{{ item.rate }}</text> <u-rate active-color="#EAA140" v-model="item.rate" allowHalf inactive-color="#b2b2b2"
</view> readonly></u-rate>
</view> <text style="margin-left: 5rpx;color:#E1A652;">{{ item.rate }}</text>
</view> </view>
</scroll-view> </view>
</view> </view>
</scroll-view>
</view>
<view class="empty-container" v-else> <view class="empty-container" v-else>
<u-empty <u-empty
mode="data" mode="data"
text="评价为空" text="评价为空"
/> />
</view> </view>
</view> </view>
</view> </view>
</template> </template>
<script> <script>
import headers from "@/components/header/headers.vue"; import headers from "@/components/header/headers.vue";
import { import {
getLocalUserInfo getLocalUserInfo
} from "@/utils/auth"; } from "@/utils/auth";
import request from "@/utils/request"; import request from "@/utils/request";
export default { export default {
components: { components: {
headers headers
}, },
data() { data() {
return { return {
loopData0: [{ loopData0: [{
lanhutext0: '科目二训练', lanhutext0: '科目二训练',
lanhutext1: '科目二', lanhutext1: '科目二',
lanhutext2: 'C2', lanhutext2: 'C2',
lanhuimage0: 'https://lanhu-oss-2537-2.lanhuapp.com/FigmaDDSSlicePNG9781bf564ae15eee66e88c90622422db.png', lanhuimage0: 'https://lanhu-oss-2537-2.lanhuapp.com/FigmaDDSSlicePNG9781bf564ae15eee66e88c90622422db.png',
lanhutext3: '马文峰', lanhutext3: '马文峰',
lanhutext4: '4.0' lanhutext4: '4.0'
}, },
{ {
lanhutext0: '科目二考试', lanhutext0: '科目二考试',
lanhutext1: '科目二', lanhutext1: '科目二',
lanhutext2: 'C2', lanhutext2: 'C2',
lanhuimage0: 'https://lanhu-oss-2537-2.lanhuapp.com/FigmaDDSSlicePNG9781bf564ae15eee66e88c90622422db.png', lanhuimage0: 'https://lanhu-oss-2537-2.lanhuapp.com/FigmaDDSSlicePNG9781bf564ae15eee66e88c90622422db.png',
lanhutext3: '马文峰', lanhutext3: '马文峰',
lanhutext4: '4.0' lanhutext4: '4.0'
} }
], ],
evaluate: [], evaluate: [],
constants: {}, scrollHeight: 0,
userId: getLocalUserInfo().id, constants: {},
pageNo: 1, userId: getLocalUserInfo().id,
pageSize: 10, pageNo: 1,
total: 0, pageSize: 10,
isTriggered: false total: 0,
}; isTriggered: false
}, };
onLoad() { },
this.getList() onLoad() {
}, this.getList()
methods: { },
getList() { onReady() {
request({ //
url: '/app-api/feed-back/page', this.calculateScrollHeight();
method: 'GET', },
params: { methods: {
userId: this.userId, getList() {
pageNo: this.pageNo, request({
pageSize: this.pageSize url: '/app-api/feed-back/page',
} method: 'GET',
}).then(res => { params: {
console.log(res) userId: this.userId,
this.total = res.data.total pageNo: this.pageNo,
if (this.pageNo == 1) { pageSize: this.pageSize
this.evaluate = res.data.records }
} else { }).then(res => {
this.evaluate = this.evaluate.concat(res.data.records) console.log(res)
} this.total = res.data.total
this.isTriggered = false 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 */
} onReachBottomCus() {
//+1, // *
this.pageNo++ if (this.pageNo * this.pageSize >= this.total) {
// uni.$u.toast('没有更多数据了')
if (this.curNow === 1) { return
this.getTrainList() }
} else { //+1,
this.getList() this.pageNo++
} //
}, if (this.curNow === 1) {
/** this.getTrainList()
* 下拉刷新数据 } else {
*/ this.getList()
onRefresherrefresh() { }
this.isTriggered = true },
this.pageNo = 1 calculateScrollHeight() {
this.total = 0 //
this.appointmentList = [] const screenHeight = uni.getSystemInfoSync().windowHeight;
if (this.curNow === 1) { //
this.getTrainList() const topHeight = 160;
} else { //
this.getList() this.scrollHeight = screenHeight - topHeight;
} },
}, /**
goEvaluateDetail(data) { * 下拉刷新数据
data = JSON.stringify(data) */
uni.navigateTo({ onRefresherrefresh() {
url: `/newPages/evaluateAdd/index?data=${data}` 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}`
})
}
}
};
</script> </script>
<style lang='scss'> <style lang='scss'>
@import '../common/common.scss'; @import '../common/common.scss';
@import './assets/style/index.rpx.scss'; @import './assets/style/index.rpx.scss';
.empty-container {
display: flex; .empty-container {
justify-content: center; /* 水平居中 */ display: flex;
align-items: center; /* 垂直居中 */ justify-content: center; /* 水平居中 */
height: 100vh; /* 或者你需要撑满的高度 */ align-items: center; /* 垂直居中 */
} height: 100vh; /* 或者你需要撑满的高度 */
.text-group_1 { }
display: inline-block;
max-width: 4em; /* 一个汉字大概占1em3em就是三个字 */ .text-group_1 {
overflow: hidden; display: inline-block;
white-space: nowrap; max-width: 4em; /* 一个汉字大概占1em3em就是三个字 */
text-overflow: ellipsis; overflow: hidden;
} white-space: nowrap;
text-overflow: ellipsis;
}
</style> </style>

View File

@ -1,20 +1,11 @@
<template> <template>
<view class="page flex-col"> <view class="page flex-col">
<view class="block_1 flex-row"> <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>
<view class="block_2 flex-col"> <view class="block_2 flex-col">
<view class="box_3 flex-row">
<image
class="label_1"
referrerpolicy="no-referrer"
src="/static/lanhu_kaoshijieguoluru/FigmaDDSSlicePNGacf527a62cbe7351c6472edd8f5b2814.png"
@click="handleBack()"
/>
<text class="text_1">考试结果录入</text>
</view>
<view> <view>
<scroll-view <scroll-view
class="scroll-view" class="scroll-view"
@ -118,8 +109,10 @@
<script> <script>
import {getLocalUserInfo} from '../../utils/auth'; import {getLocalUserInfo} from '../../utils/auth';
import request from '@/utils/request.js' import request from '@/utils/request.js'
import headers from "@/components/header/headers.vue";
export default { export default {
components: {headers},
data() { data() {
return { return {
loopData0: [ loopData0: [

View File

@ -22,7 +22,7 @@
</view> </view>
<view class="box_4 flex-row justify-between"> <view class="box_4 flex-row justify-between">
<view class="image-text_2 flex-row justify-between"> <view class="image-text_2 flex-row justify-between">
<u-notice-bar direction="column" duration="10000" bgColor="#e9f1ff" color="black" :text="announcement" icon="/static/lanhu_shouye2gai/FigmaDDSSlicePNGd2c17b5f24182e597acbfa50481040c1.png"></u-notice-bar> <u-notice-bar direction="column" duration="10000" bgColor="#e9f1ff" color="black" :text="textList" icon="/static/lanhu_shouye2gai/FigmaDDSSlicePNGd2c17b5f24182e597acbfa50481040c1.png"></u-notice-bar>
</view> </view>
<view class="group_3 flex-col justify-between"> <view class="group_3 flex-col justify-between">
<view class="block_5 flex-col"></view> <view class="block_5 flex-col"></view>
@ -134,12 +134,14 @@ export default {
pageNo: 1, pageNo: 1,
pageSize: 10, pageSize: 10,
total: 0, total: 0,
imageUrl: this.$imagesUrl imageUrl: this.$imagesUrl,
textList:[]
}; };
}, },
onLoad() { onLoad() {
this.getList() this.getList()
this.getSwiperList() this.getSwiperList()
this.getTextList()
}, },
methods: { methods: {
getList() { getList() {
@ -161,6 +163,24 @@ export default {
this.isTriggered = false this.isTriggered = false
}) })
}, },
/**
* 实时讯息
*/
async getTextList() {
let res = await request({
url: '/app-api/drivingSchool/text/list',
method: 'get',
params: {
pageNum: 1,
pageSize: 10000
}
})
// this.textList = res.data.records
// textListtitletextList
res.data.records.forEach(item => {
this.textList.push(item.title)
})
},
getSwiperList() { getSwiperList() {
request({ request({
url: '/drivingSchool/applet/swiper/list', url: '/drivingSchool/applet/swiper/list',

View File

@ -11,8 +11,8 @@
<view class="xiaoannoi"> <view class="xiaoannoi">
<u-button v-if="privacyPolicyChecked == true" text="手机号快捷登录" class="dl" :customStyle="{color:'#ffffff'}" <u-button v-if="privacyPolicyChecked == true" text="手机号快捷登录" class="dl" :customStyle="{color:'#ffffff'}"
color="#4AA76F" open-type='getPhoneNumber' @getphonenumber="getPhone"></u-button> color="#2c78f5" open-type='getPhoneNumber' @getphonenumber="getPhone"></u-button>
<u-button v-else text="手机号快捷登录" class="dl" :customStyle="{color:'#ffffff'}" color="#4AA76F" <u-button v-else text="手机号快捷登录" class="dl" :customStyle="{color:'#ffffff'}" color="#2c78f5"
@click="shibai()"></u-button> @click="shibai()"></u-button>
</view> </view>
<view class="dbottom"> <view class="dbottom">
@ -564,14 +564,14 @@ button:focus {
} }
.lan { .lan {
color: #4AA76F; color: #2c78f5;
} }
.land { .land {
font-size: 25px; font-size: 25px;
font-weight: bold; font-weight: bold;
color: #4AA76F; color: #2c78f5;
margin-bottom: 5px; margin-bottom: 5px;
} }
@ -595,6 +595,6 @@ button:focus {
border-radius: 50%; border-radius: 50%;
border: 1px solid #AAAAAA; border: 1px solid #AAAAAA;
margin-right: 5px; margin-right: 5px;
background-color: #4AA76F; background-color: #2c78f5;
} }
</style> </style>

BIN
static/imgs/idphoto.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB