Browse Source

接口

master
李双庆 10 months ago
parent
commit
1492a8d3c0
  1. 7
      api/apiRoute.js
  2. 40
      pages/coach/class/info.vue
  3. 21
      pages/coach/class/list.vue

7
api/apiRoute.js

@ -175,6 +175,13 @@ export default {
return http.get(url, data).then(res => { return http.get(url, data).then(res => {
return res; return res;
}) })
},
//获取班级详情
jlClassInfo(data = {}) {
let url = '/class/jlClassInfo'
return http.get(url, data).then(res => {
return res;
})
}, },
//获取课程列表 //获取课程列表
courseList(data = {}) { courseList(data = {}) {

40
pages/coach/class/info.vue

@ -8,31 +8,31 @@
<view class="main_section"> <view class="main_section">
<view class="section_1"> <view class="section_1">
<!-- <view class="left">--> <view class="left">
<!-- <image class="pic" src="http://www.firstui.cn:4000/vipdoc/img/img_logo.png"></image>--> <image class="pic" :src="classInfo.head_coach_head_img"></image>
<!-- <view class="name">包皮子</view>--> <view class="name">{{classInfo.head_coach_name}}</view>
<!-- </view>--> </view>
<view class="right"> <view class="right">
<view class="item"> <view class="item">
班级{{classInfo.name}} 班级{{classInfo.class_name}}
</view> </view>
<view class="item"> <view class="item">
地点{{classInfo.address}} 校区{{classInfo.campus_name}}
</view> </view>
<!-- <view class="item">--> <!-- <view class="item">
<!-- 课程篮球少儿课--> <!-- 课程篮球少儿课
<!-- </view>--> <!-- </view>-->
<view class="item"> <view class="item">
人数{{classInfo.max_students}} 人数{{classInfo.classPersonnelRel.length}}
</view> </view>
<!--
<view class="item"> <view class="item">
时间{{classInfo.start_date}} - {{classInfo.end_date}} 时间{{classInfo.start_date}} - {{classInfo.end_date}}
</view> </view> -->
</view> </view>
</view> </view>
@ -76,29 +76,29 @@
<view class="ul"> <view class="ul">
<view <view
class="li" class="li"
v-for="(v,k) in classMemberList" v-for="(v,k) in classInfo.classPersonnelRel"
:key="k" :key="k"
@click="openViewStudentInfo(v)" @click="openViewStudentInfo(v)"
> >
<view class="left"> <view class="left">
<view class="box_1"> <view class="box_1">
<image class="pic" :src="$util.img(v.header)"></image> <image class="pic" :src="$util.img(v.student.customerResources.member.headimg)"></image>
<view class="tag_box" v-if="v.expire"> <view class="tag_box" v-if="v.expire">
即将到期 即将到期
</view> </view>
</view> </view>
<view class="box_2"> <view class="box_2">
<view class="name">{{ v.name }}</view> <view class="name">{{ v.student.name }}</view>
<view class="date">课程截止时间{{ $util.formatToDateTime(v.expire_time, 'Y-m-d') }}</view> <view class="date">课程截止时间{{ $util.formatToDateTime(v.end_date, 'Y-m-d') }}</view>
</view> </view>
</view> </view>
<view class="right"> <view class="right">
<view class="item"> <view class="item">
<view>{{ v.have_study_time }}</view> <view>{{ v.studentCoursesInfo.use_gift_hours + v.studentCoursesInfo.use_gift_hours }}</view>
<view>已上课时</view> <view>已上课时</view>
</view> </view>
<view class="item"> <view class="item">
<view>{{ v.end_study_time }}</view> <view>{{ (v.studentCoursesInfo.total_hours + v.studentCoursesInfo.gift_hours) - (v.studentCoursesInfo.use_gift_hours + v.studentCoursesInfo.use_gift_hours) }}</view>
<view>剩余课时</view> <view>剩余课时</view>
</view> </view>
</view> </view>
@ -180,7 +180,7 @@
<script> <script>
import memberApi from '@/api/member.js'; import memberApi from '@/api/member.js';
import AQTabber from "@/components/AQ/AQTabber.vue" import AQTabber from "@/components/AQ/AQTabber.vue"
import apiRoute from '@/api/apiRoute.js';
export default { export default {
components: { components: {
@ -227,13 +227,13 @@ export default {
// member/course_list// // member/course_list//
// member/class_info//+ // member/class_info//+
this.getClassInfo()// this.getClassInfo()//
await this.getCourseList()// //await this.getCourseList()//
}, },
//- //-
async getClassInfo(){ async getClassInfo(){
let res = await memberApi.jlClassInfo({class_id:this.class_id})// let res = await apiRoute.jlClassInfo({class_id:this.class_id})//
if(res.code != 1){ if(res.code != 1){
uni.showToast({ uni.showToast({
title: res.msg, title: res.msg,

21
pages/coach/class/list.vue

@ -17,7 +17,7 @@
scroll-y="true" scroll-y="true"
:lower-threshold="lowerThreshold" :lower-threshold="lowerThreshold"
@scrolltolower="loadMoreData" @scrolltolower="loadMoreData"
style="height: 80vh;" style="height: 65vh;"
> >
<view <view
class="li" class="li"
@ -26,21 +26,21 @@
@click="openViewClassInfo(v)" @click="openViewClassInfo(v)"
> >
<view class="left"> <view class="left">
<!-- <image class="pic" src="http://www.firstui.cn:4000/vipdoc/img/img_logo.png"></image>--> <image class="pic" :src="v.head_coach_head_img"></image>
</view> </view>
<view class="right"> <view class="right">
<view class="box_1"> <view class="box_1">
<view class="name"> <view class="name">
{{v.name}} {{v.class_name}}
</view> </view>
<view class="btn_box"> <view class="btn_box">
<view v-if="v.end_count">{{v.end_count}}人即将到期</view> <view v-if="v.end_count">{{v.end_count}}人即将到期</view>
</view> </view>
</view> </view>
<view class="box_2"> <view class="box_2">
<view class="user_list" v-for="(v2,k2) in v.students_list" :key="k2"> <view class="user_list" v-for="(v2,k2) in v.classPersonnelRel" :key="k2">
<image <image
:src="$util.img(v2.header)"></image> :src="$util.img(v2.student.customerResources.member.headimg)"></image>
</view> </view>
<view class="num">{{v.students_count}}</view> <view class="num">{{v.students_count}}</view>
</view> </view>
@ -83,7 +83,7 @@ export default {
}, },
onLoad(options) {}, onLoad(options) {},
onShow(){ onShow(){
//this.init()// this.init()//
}, },
methods: { methods: {
// //
@ -148,14 +148,14 @@ export default {
}, },
async search(e){ async search(e){
//await this.resetFilteredData() await this.resetFilteredData()
this.filteredData.name = e this.filteredData.name = e
//await this.getList() await this.getList()
}, },
// //
openViewClassInfo(item){ openViewClassInfo(item){
let class_id = item.class_id let class_id = item.id
uni.navigateTo({ uni.navigateTo({
url: `/pages/coach/class/info?class_id=${class_id}` url: `/pages/coach/class/info?class_id=${class_id}`
}) })
@ -191,7 +191,7 @@ export default {
} }
.main_section{ .main_section{
min-height: 100vh; // min-height: 100vh;
background: #292929 100%; background: #292929 100%;
padding: 0 24rpx; padding: 0 24rpx;
padding-top: 40rpx; padding-top: 40rpx;
@ -236,6 +236,7 @@ export default {
padding: 50rpx 36rpx 46rpx; padding: 50rpx 36rpx 46rpx;
border-radius: 16rpx; border-radius: 16rpx;
display: flex; display: flex;
align-items: center;
gap: 32rpx; gap: 32rpx;
.left{ .left{
.pic{ .pic{

Loading…
Cancel
Save