Browse Source

feat(student): 添加学生课程安排功能

- 在 apiRoute.js 中新增 xy_personCourseSchedule 方法获取学生课程安排列表
- 在学生首页中添加课程安排信息展示区域
- 实现获取学生课程安排数据并展示在首页的功能
- 优化课程安排信息的显示样式,包括日期、时间、地点和课程名称
master
liutong 10 months ago
parent
commit
c7c79981b1
  1. 8
      api/apiRoute.js
  2. 96
      pages/student/index/index.vue

8
api/apiRoute.js

@ -499,6 +499,14 @@ export default {
})
},
//学生端-学生课程安排-列表
xy_personCourseSchedule(data = {}) {
let url = '/xy/personCourseSchedule'
return http.get(url, data).then(res => {
return res;
})
},

96
pages/student/index/index.vue

@ -49,17 +49,19 @@
<view class="more" @click="physical_examination()">更多</view>
</view>
<view class="upcomin-classes">
<view class="upcomin-classes" v-if="personCourseScheduleInfo.id">
<view class="upcomin-classes-div">
<view class="upcomin-classes-div-con">
<view class="upcomin-classes-div-con-left">课程预告</view>
<view class="upcomin-classes-div-con-centre"
style="width: 2rpx;height: 60rpx;background-color: #fff;margin-left: 25rpx;"></view>
<view style="margin-left: 25rpx;">
<view>{{$util.formatToDateTime(memberIndexData.kcyg.date_time,'m-d')}} {{memberIndexData.kcyg.weekday}} {{memberIndexData.kcyg.time_slot[0]}}-{{memberIndexData.kcyg.time_slot[1]}}</view>
<view>{{memberIndexData.kcyg.address}} {{memberIndexData.kcyg.courses_name}}</view>
</view>
<view class="upcomin-classes-div-con-right" @click="openViewTimetableInfo(memberIndexData.kcyg)">
<view class="centre_box">
<view class="upcomin-classes-div-con-centre"></view>
<view class="centre">
<view>{{$util.formatToDateTime(personCourseScheduleInfo.course_date,'m-d')}} {{personCourseScheduleInfo.time_slot}}</view>
<view style="white-space: nowrap; overflow: hidden; text-overflow: ellipsis;">{{personCourseScheduleInfo.venue.venue_name}} {{personCourseScheduleInfo.course.course_name}}xxxx123123</view>
</view>
</view>
<view class="upcomin-classes-div-con-right" @click="openViewTimetableInfo(personCourseScheduleInfo)">
详情
</view>
</view>
@ -177,6 +179,10 @@
height:'0',//
weight:'0',//
},//
personCourseScheduleInfo:{
id:'',
},//
}
},
onLoad() {
@ -194,6 +200,7 @@
async init(){
await this.member_init()
await this.getPhysicalTestList()
await this.getPersonCourseScheduleList()
this.getMemberIndex()
this.getList()
this.getJobAssignmentsInfo()
@ -223,6 +230,30 @@
}
},
//--
async getPersonCourseScheduleList(){
let params = {
page: 1,//
limit: 1,//
total: 1,//
resources_id:this.member_info.id,//id
}
let res = await apiRoute.xy_personCourseSchedule(params)
if(res.code != 1){
uni.showToast({
title: res.msg,
icon: 'none'
})
}
console.log('kc',res.data)
let arr = res.data.data
if(arr.length){
this.personCourseScheduleInfo = arr[0]
}
},
async openViewHome_COPY(){
@ -696,32 +727,37 @@
.upcomin-classes-div-con {
display: flex;
justify-content: space-between;
align-items: center;
color: #fff;
padding: 0 40rpx;
.upcomin-classes-div-con-left {
width: 60rpx;
text-align: right;
}
.centre_box{
display: flex;
align-items: center;
.upcomin-classes-div-con-centre {
margin: 0 20rpx;
width: 2rpx;
height: 60rpx;
background-color: #fff;
}
.centre{
width:80%;
}
}
.upcomin-classes-div-con-right {
width: 100rpx;
height: 50rpx;
background-color: #32baa1;
text-align: center;
line-height: 50rpx;
border-radius: 50rpx;
}
}
.upcomin-classes-div-con-left {
width: 60rpx;
margin-left: 80rpx;
text-align: right;
}
.upcomin-classes-div-con-centre {
width: 2rpx;
height: 60rpx;
background-color: #fff;
margin-left: 25rpx;
}
.upcomin-classes-div-con-right {
width: 100rpx;
height: 50rpx;
background-color: #32baa1;
text-align: center;
line-height: 50rpx;
border-radius: 50rpx;
margin-left: 80rpx;
}
.after-class {
background-color: #292929;

Loading…
Cancel
Save