学员端小程序
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.
 
 
 

138 lines
2.9 KiB

<template>
<view class="step2">
<searchBox placeholder="搜索教练姓名或手机号" @searchFn="searchFn"></searchBox>
<view class="card" v-for="(item,index) in list" :key="index" :class="{active: FormData.coachId==item.id}" @click="chooseCoach(item)">
<view class="icon">
<image src="@/static/images/index/radio_cli.png" mode="" v-if="FormData.coachId==item.id"></image>
<image src="@/static/images/index/radio_nor.png" mode="" v-else></image>
</view>
<view class="name">
{{item.name}} <text>{{item.mobile}}</text>
</view>
</view>
<view class="poz_btn">
<view class="btn_row" >
<view class="border btn" @click="changeStep(1)">返回上一步</view>
<view class="btn" @click="changeStep(1)">下一步</view>
</view>
</view>
</view>
</template>
<script>
import searchBox from './searchBox'
import { coachPage } from '@/config/api.js'
export default {
props: ['FormData'],
components: { searchBox },
data() {
return {
params: {
pageNo: 1,
pageSize: 20,
schoolId: '',
name: '',
teachType: '4',//准教类型(1:理论,2:模拟,4:实操,
employStatus: 0,
otherCoach: true
},
status: 'loading',
list: [],
total: 20
}
},
created() {
this.params.schoolId = this.vuex_userInfo.schoolId
this.coachPageFn()
},
methods: {
changeStep(val) {
this.$emit('changeStep', val)
},
addCoachPage() {
if(this.total>this.list.length) {
this.coachPageFn()
}
},
// 获取教练
async coachPageFn() {
const {data:res} = await coachPage(this.params)
this.list.push(...res.list)
this.params.pageNo ++
this.total = res.total
if(this.list.length>=this.total) {
this.status = 'nomore'
}
console.log('获取教练')
console.log(this.list)
},
searchFn(val) {
this.params.name = val
this.list = []
this.params.pageNo = 1
this.coachPageFn()
},
chooseCoach(item) {
this.FormData.coachId = item.id
this.FormData.coachName = item.name
this.FormData.photoPath = item.photoPath
}
}
}
</script>
<style lang="scss" scoped>
.poz_btn {
position: fixed;
bottom: 0;
left: 0;
padding: 12rpx 32rpx;
width: 100%;
background: #F6F6F6;
}
.step2 {
width: 100%;
padding-bottom: 120rpx;
.card {
padding: 28rpx 36rpx;
display: flex;
align-items: center;
margin-bottom: 20rpx;
height: 100rpx;
.name {
font-size: 26rpx;
color: #333;
margin-left: 16rpx;
text {
margin-left: 10rpx;
}
}
.icon {
width: 30rpx;
height: 30rpx;
}
}
}
.btn_row {
display: flex;
justify-content: space-between;
padding-bottom: 20rpx;
.btn {
width: 47%;
height: 72rpx;
background: #1989FA;
border-radius: 8rpx;
font-size: 28rpx;
color: #fff;
text-align: center;
line-height: 72rpx;
&.border {
background: rgba(25, 137, 250, 0.1);
border: 2rpx solid $themC;
color: $themC;
}
}
}
</style>