unknown
12 months ago
10 changed files with 248 additions and 22 deletions
-
17components/commentItem/commentItem.vue
-
5config/api.js
-
12pages.json
-
69pages/recordEntry/student/addStudent/addStudent.vue
-
138pages/recordEntry/student/addStudent/searchStudent.vue
-
2pages/tabbar/operateTrain/index.vue
-
1pages/tabbar/statistics/comp/comp.scss
-
6pages/tabbar/statistics/comp/examinCoach.vue
-
4pages/tabbar/statistics/comp/topUserInfo.vue
-
16pages/tabbar/student/index.vue
@ -0,0 +1,138 @@ |
|||||
|
<template> |
||||
|
<view class="pageBgImg"> |
||||
|
<topNavbar title="选择学员"></topNavbar> |
||||
|
<view class="pad"> |
||||
|
<view class="searchBox"> |
||||
|
<searchRow placeholder="搜索学员姓名、学员手机号" @searchFn="searchFn"></searchRow> |
||||
|
</view> |
||||
|
<view class="ul"> |
||||
|
<view class="li" v-for="(item,index) in list" :key="index" @click="chooseSudent(item)"> |
||||
|
<view class="icon"> |
||||
|
<image src="@/static/images/index/radio_cli.png" mode="" v-if="studentIds.indexOf(item.id)!=-1"></image> |
||||
|
<image src="@/static/images/index/radio_nor.png" mode="" v-else></image> |
||||
|
</view> |
||||
|
<view class="name">{{item.name}}</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
|
||||
|
<view style="padding-bottom: 100rpx;" v-if="list.length>6"> |
||||
|
<u-loadmore :status="status" /> |
||||
|
</view> |
||||
|
<nodata v-if="!list.length&&status=='nomore'"></nodata> |
||||
|
|
||||
|
<view class="btn_row"> |
||||
|
<view class="btnBg" @click="addSearchSudent">确认学员</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
|
||||
|
|
||||
|
</view> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import { studentList, studentBindCoach } from '@/config/api.js' |
||||
|
export default { |
||||
|
data() { |
||||
|
return { |
||||
|
params: { |
||||
|
pageNo: 1, |
||||
|
pageSize: 40, |
||||
|
schoolId: '', |
||||
|
coachId: '', |
||||
|
status: 0, |
||||
|
}, |
||||
|
total: 40, |
||||
|
list: [], |
||||
|
status: 'loading', |
||||
|
studentIds: [] |
||||
|
} |
||||
|
}, |
||||
|
onLoad() { |
||||
|
this.params.schoolId = this.vuex_schoolId |
||||
|
}, |
||||
|
onPullDownRefresh() { |
||||
|
this.initList() |
||||
|
}, |
||||
|
onReachBottom() { |
||||
|
if(this.total>this.list.length) { |
||||
|
this.studentListFn() |
||||
|
} |
||||
|
}, |
||||
|
methods: { |
||||
|
initList() { |
||||
|
this.params.pageNo = 1 |
||||
|
this.list = [] |
||||
|
this.studentListFn() |
||||
|
}, |
||||
|
async studentListFn() { |
||||
|
const {data: res} = await studentList(this.params) |
||||
|
this.params.pageNo ++ |
||||
|
this.total = res.total |
||||
|
this.list.push(...res.list) |
||||
|
if(this.list.length>=this.total) this.status = 'nomore' |
||||
|
}, |
||||
|
searchFn(val) { |
||||
|
this.params.keyWord = val |
||||
|
this.initList() |
||||
|
}, |
||||
|
chooseSudent(item) { |
||||
|
let index = this.studentIds.indexOf(item.id) |
||||
|
if(index==-1) { |
||||
|
this.studentIds.push(item.id) |
||||
|
}else { |
||||
|
this.studentIds.splice(index,1) |
||||
|
} |
||||
|
}, |
||||
|
addSearchSudent() { |
||||
|
if(!this.studentIds.length) return this.$u.toast('请搜索并选择学员') |
||||
|
uni.$emit('addSearchSudent',this.studentIds ) |
||||
|
uni.navigateBack() |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss" scoped> |
||||
|
.btn_row { |
||||
|
position: fixed; |
||||
|
bottom: 0; |
||||
|
left: 0; |
||||
|
padding: 10rpx 0 40rpx 0rpx; |
||||
|
z-index: 9; |
||||
|
width: 100%; |
||||
|
|
||||
|
} |
||||
|
.searchBox { |
||||
|
padding: 20rpx 0; |
||||
|
} |
||||
|
.ul { |
||||
|
width: 100%; |
||||
|
.li { |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
height: 108rpx; |
||||
|
background: #FFFFFF; |
||||
|
border-radius: 16rpx; |
||||
|
border: 2rpx solid rgba(25,137,250,0.2); |
||||
|
margin-bottom: 20rpx; |
||||
|
padding: 0 20rpx; |
||||
|
.icon { |
||||
|
width: 32rpx; |
||||
|
height: 32rpx; |
||||
|
} |
||||
|
.name { |
||||
|
padding: 0 20rpx; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
.btn_row { |
||||
|
display: flex; |
||||
|
justify-content: center; |
||||
|
.btnBorder { |
||||
|
width: 40%; |
||||
|
} |
||||
|
.btnBg { |
||||
|
width: 56%; |
||||
|
} |
||||
|
} |
||||
|
</style> |
Write
Preview
Loading…
Cancel
Save
Reference in new issue