Browse Source

feat(coach): 教练端首页功能开发

- 添加教练端首页接口 jlIndex
- 实现教练端首页数据展示,包括课程列表和作业批改信息
- 优化课程列表展示逻辑,根据不同状态显示不同内容
- 动态计算作业完成率和显示相关课程信息
master
liutong 12 months ago
parent
commit
b37d2f518d
  1. 10
      api/member.js
  2. 118
      pages/coach/home/index.vue

10
api/member.js

@ -153,6 +153,16 @@ export default {
}) })
}, },
//##################### 教练端 ######################
//教练端-首页
jlIndex(data = {}) {
let url = '/member/jl_index'
return http.get(url, data).then(res => {
return res;
})
},

118
pages/coach/home/index.vue

@ -63,39 +63,31 @@
<view class="line"></view> <view class="line"></view>
</view> </view>
<view class="ul"> <view class="ul">
<!-- 上课中--> <!-- 上课中-->
<view class="li"> <view class="li" v-for="(v,k) in infoData.course_list" :key="k">
<view class="top_box"> <view class="top_box">
<view class="title">课程篮球少儿课</view> <view class="title">课程{{ v.courses_name }}</view>
<view class="title">时间2020-05-25 15:30 - 17:30</view> <view class="title">时间{{ v.date_time }} {{ v.time_slot.split(',')[0] }}-{{ v.time_slot.split(',')[1] }}
<view class="title">地点xxx体育馆 302</view>
</view> </view>
<view class="botton_box"> <view class="title">地点{{ v.address }}</view>
</view>
<view class="botton_box" v-if="v.status == 1">
<view class="box"> <view class="box">
<view>已签到学生15/34</view> <view>已签到学生{{ v.sign_count }}/{{ v.students_count }}</view>
<view> <view>
查看 查看
<fui-icon size="35" color="#fff" name="arrowright"></fui-icon> <fui-icon size="35" color="#fff" name="arrowright"></fui-icon>
</view> </view>
</view> </view>
<view class="box"> <!-- <view class="box">-->
<view>尚未发布作业</view> <!-- <view>尚未发布作业</view>-->
<view></view> <!-- <view></view>-->
</view> <!-- </view>-->
</view> </view>
<view class="botton_box" v-else>
<view class="tag" style="background:#fad24e;">上课中</view>
</view>
<!-- 待上课-->
<view class="li">
<view class="top_box">
<view class="title">课程篮球少儿课</view>
<view class="title">时间2020-05-25 15:30 - 17:30</view>
<view class="title">地点xxx体育馆 302</view>
</view>
<view class="botton_box">
<view class="box"> <view class="box">
<view>应到学生34</view> <view>应到学生{{ v.students_count }}</view>
<view> <view>
查看 查看
<fui-icon size="35" color="#fff" name="arrowright"></fui-icon> <fui-icon size="35" color="#fff" name="arrowright"></fui-icon>
@ -103,11 +95,22 @@
</view> </view>
</view> </view>
<view class="tag" style="background:#1cd188;">待上课</view> <view
v-if="v.status == 1"
class="tag"
style="background:#fad24e;">上课中
</view> </view>
<view
v-else
class="tag"
style="background:#1cd188;">待上课
</view> </view>
</view> </view>
</view>
</view>
<!--作业批改-->
<view class="section_4"> <view class="section_4">
<view class="title_box"> <view class="title_box">
<view class="top_box"> <view class="top_box">
@ -117,43 +120,21 @@
<view class="line"></view> <view class="line"></view>
</view> </view>
<view class="ul"> <view class="ul">
<view class="li"> <view class="li" v-for="(v,k) in infoData.task_list" :key="k">
<view class="left_box"> <view class="left_box">
<view class="date_box"> <view class="date_box">
<text>12</text> <text>{{v.wc_count}}</text>
<text>/</text> <text>/</text>
<text>24</text> <text>{{v.student_count}}</text>
</view> </view>
<view class="ratio"> <view class="ratio">
完成率80% 完成率{{v.rate}}%
</view> </view>
</view> </view>
<view class="center_box"> <view class="center_box">
<view>班级少年班</view> <view>班级{{v.class_name}}</view>
<view>时间2020-05-25 15:30 - 17:30</view> <view>时间{{v.send_time}}</view>
<view>课程篮球少儿课 <view>课程{{v.courses_name}}
</view>
</view>
<view class="right_box">
<!-- <view class="tag" style="background:#fad24e;">上课中</view>-->
<view class="tag" style="background:#1cd188;">待批改</view>
</view>
</view>
<view class="li">
<view class="left_box">
<view class="date_box">
<text>12</text>
<text>/</text>
<text>24</text>
</view>
<view class="ratio">
完成率80%
</view>
</view>
<view class="center_box">
<view>班级少年班</view>
<view>时间2020-05-25 15:30 - 17:30</view>
<view>课程篮球少儿课
</view> </view>
</view> </view>
<view class="right_box"> <view class="right_box">
@ -161,6 +142,7 @@
<view class="tag" style="background:#1cd188;">待批改</view> <view class="tag" style="background:#1cd188;">待批改</view>
</view> </view>
</view> </view>
</view> </view>
</view> </view>
</view> </view>
@ -173,7 +155,7 @@
</template> </template>
<script> <script>
// import user from '@/api/user.js'; import memberApi from '@/api/member.js';
import AQTabber from "@/components/AQ/AQTabber.vue" import AQTabber from "@/components/AQ/AQTabber.vue"
@ -183,6 +165,12 @@ export default {
}, },
data() { data() {
return { return {
//
infoData:{
course_list:[],//
task_list:[],//
},
list: [], list: [],
likes: 0, likes: 0,
type: 1, type: 1,
@ -202,8 +190,30 @@ export default {
} }
this.fetchData(this.um_id) this.fetchData(this.um_id)
}, },
onShow() {
this.init()//
},
methods: { methods: {
//
async init(){
await this.getInfo()
},
//
async getInfo(){
let res = await memberApi.jlIndex({})
if(res.code != 1){
uni.showToast({
title: res.msg,
icon: 'none'
})
return
}
this.infoData = res.data
},
//- //-
openObjAddView(){ openObjAddView(){
uni.navigateTo({ uni.navigateTo({

Loading…
Cancel
Save