Browse Source

Merge remote-tracking branch 'origin/master'

master
liutong 1 year ago
parent
commit
02421923f0
  1. 22
      pages.json
  2. 556
      pages/student/my/my.vue
  3. 374
      pages/student/my/my1.vue
  4. 419
      pages/student/timetable/index.vue
  5. 228
      pages/student/timetable/info.vue
  6. 116
      pages/student/timetable/list.vue
  7. BIN
      static/images/index/setup.png

22
pages.json

@ -14,7 +14,7 @@
"style": { "style": {
"navigationBarTitleText": "课表", "navigationBarTitleText": "课表",
"navigationStyle": "default", "navigationStyle": "default",
"navigationBarBackgroundColor": "#fff", "navigationBarBackgroundColor": "#292929",
"navigationBarTextStyle": "white" "navigationBarTextStyle": "white"
} }
}, },
@ -23,7 +23,7 @@
"style": { "style": {
"navigationBarTitleText": "我的", "navigationBarTitleText": "我的",
"navigationStyle": "default", "navigationStyle": "default",
"navigationBarBackgroundColor": "#fff", "navigationBarBackgroundColor": "#29d3b4",
"navigationBarTextStyle": "white" "navigationBarTextStyle": "white"
} }
}, },
@ -63,6 +63,24 @@
"navigationBarTextStyle": "black" "navigationBarTextStyle": "black"
} }
}, },
{
"path" : "pages/student/timetable/info",
"style": {
"navigationBarTitleText": "课表详情",
"navigationStyle": "default",
"navigationBarBackgroundColor": "#292929",
"navigationBarTextStyle": "black"
}
},
{
"path" : "pages/student/timetable/list",
"style": {
"navigationBarTitleText": "场馆",
"navigationStyle": "default",
"navigationBarBackgroundColor": "#292929",
"navigationBarTextStyle": "black"
}
},

556
pages/student/my/my.vue

@ -1,379 +1,303 @@
<!--我的-首页-->
<template> <template>
<view style="background-color: #00be8c;width: 100%;height: 100%;"> <view class="main_box">
<view style="width: 100%;height: 160rpx;"> <view style="background:#29D3B4;">
<view class="middles_top" v-if="list.headimg"> <!--用户信息-->
<image class="middles_top_1" :src="list.headimg"></image> <view class="user_section">
</view> <view class="box">
<view class="middles_top" v-else> <view class="left">
<image class="middles_top_1" src="/static/images/home/tixing.png"></image> <image class="pic" src="http://www.firstui.cn:4000/vipdoc/img/img_logo.png"></image>
</view> <view class="name">包子皮</view>
<view class="middles_top1" @click="showActionSheet(1)"> </view>
<view class="middles_top1_1"> <view class="right">
昵称{{username}} <image src="@/static/images/index/setup.png" style="width: 50rpx;height: 50rpx;"></image>
</view>
</view> </view>
</view> </view>
<fui-actionsheet :show="show" :tips="tips" :itemList="itemList" :isCancel="isCancel" :theme="theme"
@click="itemClick" @cancel="cancel"></fui-actionsheet> <!--统计信息-->
</view> <view class="count_section">
<view class="Topping" v-if="drug" @click="editreminder"> <view class="main">
<view class="Topping_1">置顶提醒{{drug}}</view> <view class="course_box">
<view class="Topping_2" style="position: relative;left: 85%;top: -95%;"> <view class="top">
<fui-icon name="arrowright" :size="60"></fui-icon> <view class="item">
</view> <view class="num">1234</view>
</view> <view class="intro">总授课数/</view>
<view class="Topping" v-else>
<view class="Topping_1">置顶提醒{{drug}}</view>
<view class="Topping_2" style="position: relative;left: 85%;top: -95%;">
<fui-icon name="arrowright" :size="60"></fui-icon>
</view>
</view>
<view class="Medication">
<fui-row margin-bottom="24rpx">
<fui-col :span="8">
<view class="fui-col__item">
<view style="margin-top: 40rpx;border-right: 1px #d4d4d4 solid;height: 120rpx;">
<view style="padding-top: 20rpx;">
用药数量 <br> {{pharmacy}}
</view>
</view>
</view>
</fui-col>
<fui-col :span="8">
<view class="fui-col__item">
<view style="margin-top: 40rpx;border-right: 1px #d4d4d4 solid;height: 120rpx;">
<view style="padding-top: 20rpx;">
提醒 <br> {{remind}}
</view> </view>
</view> <view class="item">
</view> <view class="num">4</view>
</fui-col> <view class="intro">总授班级/</view>
<!-- <fui-col :span="6">
<view class="fui-col__item">
<view style="margin-top: 40rpx;border-right: 1px #d4d4d4 solid;height: 120rpx;">
<view style="padding-top: 20rpx;">
参与活动 <br> {{activity}}
</view> </view>
</view> <view class="item">
</view> <view class="num">1234</view>
</fui-col> --> <view class="intro">总负责学员/
<fui-col :span="8"> </view>
<view class="fui-col__item">
<view style="margin-top: 40rpx;height: 120rpx;">
<view style="padding-top: 20rpx;">
作品数量 <br> {{works}}
</view> </view>
</view> </view>
</view> </view>
</fui-col> </view>
</fui-row> <view class="bottom"></view>
<view class="bg_box bg_top"></view>
<view class="bg_box bg_bottom"></view>
</view>
</view> </view>
<view class="below">
<view style="height: 17rpx;width: 100%;"></view>
<fui-list-cell :bottomBorder="false" arrow :highlight="false" @click="collect">
<view class="fui-align__center"> <view class="main_section">
<fui-icon name="home"></fui-icon> <view class="section_box">
<text class="below_text">我的收藏</text> <view class="item" style="border-radius: 16rpx 16rpx 0 0;">
<view>课时消耗</view>
</view> </view>
</fui-list-cell>
<!-- <fui-list-cell :bottomBorder="false" arrow :highlight="false"> <view class="item">
<view class="fui-align__center"> <view>我的成员</view>
<fui-icon name="message"></fui-icon> <view></view>
<text class="below_text">参与的活动</text>
</view> </view>
</fui-list-cell> -->
<view class="item">
<button open-type="share" style="padding: 0rpx;"> <view>我的合同</view>
<fui-list-cell :bottomBorder="false" arrow :padding="['-45rpx', '30rpx']"> <view></view>
<view class="fui-align__center"> </view>
<fui-icon name="principal"></fui-icon> </view>
<text class="below_text">邀请好友</text>
</view> <view class="section_box">
</fui-list-cell> <view class="item">
</button> <view>我的教练</view>
<view></view>
<fui-list-cell :bottomBorder="false" arrow :highlight="false" @click="help"> </view>
<view class="fui-align__center"> <view class="item">
<fui-icon name="link"></fui-icon> <view>负责人</view>
<text class="below_text">帮助中心</text> <view></view>
</view> </view>
</fui-list-cell> <view class="item">
<fui-list-cell :bottomBorder="false" arrow :highlight="false" @click="personal"> <view>意见反馈</view>
<view class="fui-align__center"> <view></view>
<fui-icon name="setup"></fui-icon>
<text class="below_text">设置</text>
</view> </view>
</fui-list-cell> </view>
<view style="height: 27rpx;width: 100%;"></view>
</view> </view>
<AQTabber/> <!-- 底部导航-->
<AQTabber />
</view> </view>
</template> </template>
<script> <script>
import AQTabber from "@/components/AQ/AQTabber.vue" import user from '@/api/user.js';
import AQTabber from "@/components/AQ/AQTabber.vue"
import user1 from '@/api/user.js';
import medication from '@/api/medication.js';
import fuiIcon from "@/components/firstui/fui-icon/fui-icon.vue"
import fuiRow from "@/components/firstui/fui-row/fui-row.vue"
import fuiCol from "@/components/firstui/fui-col/fui-col.vue"
import fuiList from "@/components/firstui/fui-list/fui-list.vue"
import fuiListCell from "@/components/firstui/fui-list-cell/fui-list-cell.vue"
import fuiActionsheet from "@/components/firstui/fui-actionsheet/fui-actionsheet.vue"
export default { export default {
components: { components: {
fuiIcon, AQTabber,
fuiRow,
fuiCol,
fuiList,
fuiListCell,
fuiActionsheet,
AQTabber,
}, },
data() { data() {
return { return {
username: '', formData: {},
show: false, tabType: '1', //1=,2=
tips: '', Atype: 1, //1=,2=
itemList: [],
isCancel: true,
theme: 'light',
drug: '',
uptodatedata: [],
pharmacy: 0,
remind: 0,
activity: 0,
works: 0,
list:[],
shareimage: '',
sharename: ''
}
},
onLoad() {
const um_id = uni.getStorageSync('um_id');
this.um_id = um_id
if (um_id == '') {
uni.navigateTo({
url: '/pages/login/login'
})
}
const user = uni.getStorageSync('user');
this.username = user.user
this.fetchData(this.um_id)
medication.shareimage().then(res => {
if(res.status == "200"){
console.log(res)
this.shareimage = res.data
this.sharename = res.token
}
});
},
onShareAppMessage(e) {
medication.shareimage().then(res => {
if(res.status == "200"){
console.log(res)
this.shareimage = res.data
this.sharename = res.token
}
});
return {
title: this.sharename,
path: '/page/my/my',
imageUrl: this.shareimage
} }
}, },
onLoad() {},
methods: { methods: {
fetchData(um_id) { //tab
medication.getuptodate({ tabChange(tabType) {
um_id: um_id this.tabType = tabType
}).then(res => {
if (res.status == 200) {
this.drug = res.data.drug
this.uptodatedata = res.data
} else {
uni.showToast({
title: res.msg,
icon: 'none'
})
}
});
user1.getuserinfo({
um_id: um_id
}).then(res => {
if (res.status == 200) {
this.list = res.data
} else {
uni.showToast({
title: res.msg,
icon: 'none'
})
}
});
user1.mycount({
um_id: um_id
}).then(res => {
if (res.status == 200) {
this.pharmacy = res.data.pharmacy
this.remind = res.data.remind
this.activity = res.data.activity
this.works = res.data.works
}
});
},
onPullDownRefresh(){
this.fetchData(this.um_id)
},
showActionSheet(type) {
this.tips = '';
this.isCancel = true;
this.theme = 'light';
switch (type) {
case 1:
this.tips = '退出后不会删除任何历史数据,下次登录依然可以使用本账号。';
this.itemList = [{
text: '退出登录',
color: '#FF2B2B'
}]
break;
default:
break;
}
setTimeout(() => {
this.show = true
}, 50)
},
itemClick(e) {
// this.fui.toast(e.text)
uni.removeStorageSync('user');
uni.removeStorageSync('um_id');
uni.redirectTo({
url: '/pages/login/login'
})
this.cancel()
},
cancel() {
this.show = false
}, },
editreminder() {
uni.setStorageSync('uptodatedata', this.uptodatedata); //
openViewCourseInfo(item) {
uni.navigateTo({ uni.navigateTo({
url: '/pages/remind/edit' url: '/pages/coach/course/info'
}) })
}, },
collect() { //
openViewStudentInfo(item) {
uni.navigateTo({ uni.navigateTo({
url: '/pages/my/collect' url: '/pages/coach/student/info'
}) })
}, },
help() {
//
openViewPhysicalExamination(item) {
uni.navigateTo({ uni.navigateTo({
url: '/pages/my/help' url: '/pages/coach/student/physical_examination'
}) })
}, },
personal(){
//
opebViewWorkDetails(item) {
uni.navigateTo({ uni.navigateTo({
url: '/pages/my/personal' url: '/pages/coach/student/work_details'
}) })
} },
} }
} }
</script> </script>
<style lang="scss" scoped> <style lang="less" scoped>
.fui-list__cell-background{ .main_box {
height: 80rpx !important; background: #292929;
} min-height: 28vh;
.below_text {
font-size: 35rpx;
font-weight: bold;
margin-left: 30rpx;
color: #333333;
} }
.below { //
width: 95%; .navbar_section {
// height: 780rpx; border: 1px solid #29D3B4;
background-color: #fff; display: flex;
border-radius: 20rpx; justify-content: center;
margin: auto; align-items: center;
} background: #29D3B4;
.fui-section__title { .title {
margin-left: 32rpx; padding: 20rpx 0;
font-size: 30rpx;
color: #fff;
}
} }
.fui-col__item { //
// height: 230rpx; .user_section {
border-radius: 16rpx; background-color: #29D3B4;
padding-top: 58rpx;
padding-bottom: 42rpx;
color: #fff;
font-size: 28rpx; font-size: 28rpx;
text-align: center;
// line-height: 230rpx;
}
.fui-color__black { .box {
background-color: #333333; padding-left: 19rpx;
} padding-right: 29rpx;
display: flex;
justify-content: space-between;
align-items: center;
gap: 15rpx;
.fui-color__yellow { .left {
background-color: #FFB703; display: flex;
} align-items: center;
gap: 20rpx;
.Medication { .pic {
width: 95%; width: 144rpx;
height: 200rpx; height: 144rpx;
background-color: #fff; border-radius: 50%;
border-radius: 20rpx; }
margin: 0 auto 20rpx;
} .name {
font-size: 28rpx;
}
}
.right {
display: flex;
flex-direction: column;
gap: 20rpx;
.middles_top { .btn {
display: inline-block; min-height: 28rpx;
font-size: 28rpx;
}
}
}
} }
.middles_top1 { //
display: inline-block; .count_section {
width: 70%;
height: 100rpx;
background-color: #fff;
border-radius: 20rpx;
margin-left: 30rpx;
position: relative; position: relative;
top: -22%;
font-size: 35rpx;
text-align: center;
line-height: 100rpx;
}
.middles_top_1 { .main {
width: 120rpx; position: relative;
height: 120rpx; z-index: 2;
border-radius: 100rpx; padding: 0rpx 24rpx;
margin: 30rpx 0 0 30rpx; display: flex;
} justify-content: center;
.Topping { .course_box {
margin: 20rpx auto; padding: 42rpx 28rpx;
width: 95%; width: 692rpx;
height: 130rpx; border-radius: 20rpx;
background-color: #fff; background-color: #fff;
border-radius: 20rpx; display: flex;
font-size: 35rpx; flex-direction: column;
text-align: left; gap: 32rpx;
padding-left: 30rpx;
line-height: 130rpx; .top {
} display: flex;
justify-content: space-between;
align-items: center;
.item {
display: flex;
flex-direction: column;
align-items: center;
gap: 12rpx;
.num {
color: #29D3B4;
font-size: 56rpx;
}
.intro {
color: #AAAAAA;
font-size: 24rpx;
}
}
}
}
}
.bg_box {
z-index: 1;
width: 100%;
height: 150rpx;
}
.fui-list__icon { .bg_top {
width: 48rpx; position: absolute;
height: 48rpx; top: 0;
margin-right: 24rpx; background-color: #29D3B4;
}
.bg_bottom {
top: 50%;
position: absolute;
background-color: #292929;
}
} }
.fui-section__title1 { .main_section {
margin-left: 32rpx; margin-top: 20rpx;
background: #292929 100%;
padding: 0 24rpx;
padding-top: 40rpx;
padding-bottom: 150rpx;
font-size: 24rpx;
color: #333333;
display: flex;
flex-direction: column;
gap: 22rpx;
.section_box {
margin-bottom: 10rpx;
background: #fff;
border-radius: 16rpx;
padding: 6rpx 24rpx;
display: flex;
flex-direction: column;
.item {
padding: 35rpx 78rpx;
border-top: 1px solid #F2F2F2;
font-size: 28rpx;
display: flex;
justify-content: space-between;
}
.item:nth-child(1) {
border-top: 0;
}
}
} }
</style> </style>

374
pages/student/my/my1.vue

@ -1,374 +0,0 @@
<template>
<view style="background-color: #00be8c;width: 100%;height: 100%;">
<view style="width: 100%;height: 160rpx;">
<view class="middles_top" v-if="list.headimg">
<image class="middles_top_1" :src="list.headimg"></image>
</view>
<view class="middles_top" v-else>
<image class="middles_top_1" src="/static/images/home/tixing.png"></image>
</view>
<view class="middles_top1" @click="showActionSheet(1)">
<view class="middles_top1_1">
昵称{{username}}
</view>
</view>
<fui-actionsheet :show="show" :tips="tips" :itemList="itemList" :isCancel="isCancel" :theme="theme"
@click="itemClick" @cancel="cancel"></fui-actionsheet>
</view>
<view class="Topping" v-if="drug" @click="editreminder">
<view class="Topping_1">置顶提醒{{drug}}</view>
<view class="Topping_2" style="position: relative;left: 85%;top: -95%;">
<fui-icon name="arrowright" :size="60"></fui-icon>
</view>
</view>
<view class="Topping" v-else>
<view class="Topping_1">置顶提醒{{drug}}</view>
<view class="Topping_2" style="position: relative;left: 85%;top: -95%;">
<fui-icon name="arrowright" :size="60"></fui-icon>
</view>
</view>
<view class="Medication">
<fui-row margin-bottom="24rpx">
<fui-col :span="8">
<view class="fui-col__item">
<view style="margin-top: 40rpx;border-right: 1px #d4d4d4 solid;height: 120rpx;">
<view style="padding-top: 20rpx;">
用药数量 <br> {{pharmacy}}
</view>
</view>
</view>
</fui-col>
<fui-col :span="8">
<view class="fui-col__item">
<view style="margin-top: 40rpx;border-right: 1px #d4d4d4 solid;height: 120rpx;">
<view style="padding-top: 20rpx;">
提醒 <br> {{remind}}
</view>
</view>
</view>
</fui-col>
<!-- <fui-col :span="6">
<view class="fui-col__item">
<view style="margin-top: 40rpx;border-right: 1px #d4d4d4 solid;height: 120rpx;">
<view style="padding-top: 20rpx;">
参与活动 <br> {{activity}}
</view>
</view>
</view>
</fui-col> -->
<fui-col :span="8">
<view class="fui-col__item">
<view style="margin-top: 40rpx;height: 120rpx;">
<view style="padding-top: 20rpx;">
作品数量 <br> {{works}}
</view>
</view>
</view>
</fui-col>
</fui-row>
</view>
<view class="below">
<view style="height: 17rpx;width: 100%;"></view>
<fui-list-cell :bottomBorder="false" arrow :highlight="false" @click="collect">
<view class="fui-align__center">
<fui-icon name="home"></fui-icon>
<text class="below_text">我的收藏</text>
</view>
</fui-list-cell>
<!-- <fui-list-cell :bottomBorder="false" arrow :highlight="false">
<view class="fui-align__center">
<fui-icon name="message"></fui-icon>
<text class="below_text">参与的活动</text>
</view>
</fui-list-cell> -->
<button open-type="share" style="padding: 0rpx;">
<fui-list-cell :bottomBorder="false" arrow :padding="['-45rpx', '30rpx']">
<view class="fui-align__center">
<fui-icon name="principal"></fui-icon>
<text class="below_text">邀请好友</text>
</view>
</fui-list-cell>
</button>
<fui-list-cell :bottomBorder="false" arrow :highlight="false" @click="help">
<view class="fui-align__center">
<fui-icon name="link"></fui-icon>
<text class="below_text">帮助中心</text>
</view>
</fui-list-cell>
<fui-list-cell :bottomBorder="false" arrow :highlight="false" @click="personal">
<view class="fui-align__center">
<fui-icon name="setup"></fui-icon>
<text class="below_text">设置</text>
</view>
</fui-list-cell>
<view style="height: 27rpx;width: 100%;"></view>
</view>
</view>
</template>
<script>
import user1 from '@/api/user.js';
import medication from '@/api/medication.js';
import fuiIcon from "@/components/firstui/fui-icon/fui-icon.vue"
import fuiRow from "@/components/firstui/fui-row/fui-row.vue"
import fuiCol from "@/components/firstui/fui-col/fui-col.vue"
import fuiList from "@/components/firstui/fui-list/fui-list.vue"
import fuiListCell from "@/components/firstui/fui-list-cell/fui-list-cell.vue"
import fuiActionsheet from "@/components/firstui/fui-actionsheet/fui-actionsheet.vue"
export default {
components: {
fuiIcon,
fuiRow,
fuiCol,
fuiList,
fuiListCell,
fuiActionsheet
},
data() {
return {
username: '',
show: false,
tips: '',
itemList: [],
isCancel: true,
theme: 'light',
drug: '',
uptodatedata: [],
pharmacy: 0,
remind: 0,
activity: 0,
works: 0,
list:[],
shareimage: '',
sharename: ''
}
},
onLoad() {
const um_id = uni.getStorageSync('um_id');
this.um_id = um_id
if (um_id == '') {
uni.navigateTo({
url: '/pages/login/login'
})
}
const user = uni.getStorageSync('user');
this.username = user.user
this.fetchData(this.um_id)
medication.shareimage().then(res => {
if(res.status == "200"){
console.log(res)
this.shareimage = res.data
this.sharename = res.token
}
});
},
onShareAppMessage(e) {
medication.shareimage().then(res => {
if(res.status == "200"){
console.log(res)
this.shareimage = res.data
this.sharename = res.token
}
});
return {
title: this.sharename,
path: '/page/my/my',
imageUrl: this.shareimage
}
},
methods: {
fetchData(um_id) {
medication.getuptodate({
um_id: um_id
}).then(res => {
if (res.status == 200) {
this.drug = res.data.drug
this.uptodatedata = res.data
} else {
uni.showToast({
title: res.msg,
icon: 'none'
})
}
});
user1.getuserinfo({
um_id: um_id
}).then(res => {
if (res.status == 200) {
this.list = res.data
} else {
uni.showToast({
title: res.msg,
icon: 'none'
})
}
});
user1.mycount({
um_id: um_id
}).then(res => {
if (res.status == 200) {
this.pharmacy = res.data.pharmacy
this.remind = res.data.remind
this.activity = res.data.activity
this.works = res.data.works
}
});
},
onPullDownRefresh(){
this.fetchData(this.um_id)
},
showActionSheet(type) {
this.tips = '';
this.isCancel = true;
this.theme = 'light';
switch (type) {
case 1:
this.tips = '退出后不会删除任何历史数据,下次登录依然可以使用本账号。';
this.itemList = [{
text: '退出登录',
color: '#FF2B2B'
}]
break;
default:
break;
}
setTimeout(() => {
this.show = true
}, 50)
},
itemClick(e) {
// this.fui.toast(e.text)
uni.removeStorageSync('user');
uni.removeStorageSync('um_id');
uni.redirectTo({
url: '/pages/login/login'
})
this.cancel()
},
cancel() {
this.show = false
},
editreminder() {
uni.setStorageSync('uptodatedata', this.uptodatedata);
uni.navigateTo({
url: '/pages/remind/edit'
})
},
collect() {
uni.navigateTo({
url: '/pages/my/collect'
})
},
help() {
uni.navigateTo({
url: '/pages/my/help'
})
},
personal(){
uni.navigateTo({
url: '/pages/my/personal'
})
}
}
}
</script>
<style lang="scss" scoped>
.fui-list__cell-background{
height: 80rpx !important;
}
.below_text {
font-size: 35rpx;
font-weight: bold;
margin-left: 30rpx;
color: #333333;
}
.below {
width: 95%;
// height: 780rpx;
background-color: #fff;
border-radius: 20rpx;
margin: auto;
}
.fui-section__title {
margin-left: 32rpx;
}
.fui-col__item {
// height: 230rpx;
border-radius: 16rpx;
font-size: 28rpx;
text-align: center;
// line-height: 230rpx;
}
.fui-color__black {
background-color: #333333;
}
.fui-color__yellow {
background-color: #FFB703;
}
.Medication {
width: 95%;
height: 200rpx;
background-color: #fff;
border-radius: 20rpx;
margin: 0 auto 20rpx;
}
.middles_top {
display: inline-block;
}
.middles_top1 {
display: inline-block;
width: 70%;
height: 100rpx;
background-color: #fff;
border-radius: 20rpx;
margin-left: 30rpx;
position: relative;
top: -22%;
font-size: 35rpx;
text-align: center;
line-height: 100rpx;
}
.middles_top_1 {
width: 120rpx;
height: 120rpx;
border-radius: 100rpx;
margin: 30rpx 0 0 30rpx;
}
.Topping {
margin: 20rpx auto;
width: 95%;
height: 130rpx;
background-color: #fff;
border-radius: 20rpx;
font-size: 35rpx;
text-align: left;
padding-left: 30rpx;
line-height: 130rpx;
}
.fui-list__icon {
width: 48rpx;
height: 48rpx;
margin-right: 24rpx;
}
.fui-section__title1 {
margin-left: 32rpx;
}
</style>

419
pages/student/timetable/index.vue

@ -1,22 +1,413 @@
<!--课程-列表-->
<template> <template>
<view> <view class="main_box">
<!--自定义导航栏-->
</view> <view class="navbar_section">
<view class="title">课表</view>
</view>
<view class="main_section">
<view class="section_1">
<view class="ul">
<view class="li">
<text>周日</text>
<text>14</text>
<text></text>
</view>
<view class="li">
<text>周一</text>
<text>14</text>
<text></text>
</view>
<view class="li">
<text>周二</text>
<text>14</text>
<text></text>
</view>
<view class="li">
<text>周日</text>
<text class="today"></text>
<text class=""></text>
</view>
<view class="li">
<text>周一</text>
<text>14</text>
<text class="select_plan"></text>
</view>
<view class="li">
<text>周二</text>
<text>14</text>
<text></text>
</view>
<view class="li">
<text>周二</text>
<text>14</text>
<text></text>
</view>
</view>
</view>
<view class="section_2">
<view class="item_box">
XXX体育场馆
</view>
<view class="item_box" style="text-align: right;color: #F59A23;" @click="more">
更多
</view>
</view>
<view class="section_3">
<view class="ul">
<view class="li" @click="openViewCourseInfo({id:1})">
<view class="top_box">
<view class="center_box">
<view>班级少年班</view>
<view>时间2020-05-25 15:30 - 17:30</view>
<view>课室302
</view>
<view>课程篮球少儿课
</view>
</view>
<view class="right_box">
<view class="tag" style="background:#fad24e;">上课中</view>
<!-- <view class="tag" style="background:#1cd188;">待上课</view>-->
</view>
</view>
<view class="bottom_box">
<view class="hint">
已签到学生 (15/34)
</view>
<view class="list_box">
<view class="list">
<view class="itme">
<image src="http://www.firstui.cn:4000/vipdoc/img/img_logo.png"></image>
</view>
<view class="itme">
<image src="http://www.firstui.cn:4000/vipdoc/img/img_logo.png"></image>
</view>
<view class="itme">
<image src="http://www.firstui.cn:4000/vipdoc/img/img_logo.png"></image>
</view>
<view class="itme">
<image src="http://www.firstui.cn:4000/vipdoc/img/img_logo.png"></image>
</view>
</view>
<view class="btn">
详情
</view>
</view>
</view>
</view>
<view class="li" @click="openViewCourseInfo({id:2})">
<view class="top_box">
<view class="center_box">
<view>班级少年班</view>
<view>时间2020-05-25 15:30 - 17:30</view>
<view>课室302
</view>
<view>课程篮球少儿课
</view>
</view>
<view class="right_box">
<view class="tag" style="background:#fad24e;">上课中</view>
<!-- <view class="tag" style="background:#1cd188;">待上课</view>-->
</view>
</view>
<view class="bottom_box">
<view class="hint">
已签到学生 (15/34)
</view>
<view class="list_box">
<view class="list">
<view class="itme">
<image src="http://www.firstui.cn:4000/vipdoc/img/img_logo.png"></image>
</view>
<view class="itme">
<image src="http://www.firstui.cn:4000/vipdoc/img/img_logo.png"></image>
</view>
<view class="itme">
<image src="http://www.firstui.cn:4000/vipdoc/img/img_logo.png"></image>
</view>
<view class="itme">
<image src="http://www.firstui.cn:4000/vipdoc/img/img_logo.png"></image>
</view>
</view>
<view class="btn">
详情
</view>
</view>
</view>
</view>
</view>
</view>
</view>
<!-- 底部导航-->
<AQTabber/>
</view>
</template> </template>
<script> <script>
export default { import user from '@/api/user.js';
data() { import AQTabber from "@/components/AQ/AQTabber.vue"
return {
} export default {
}, components: {
methods: { AQTabber,
},
} data() {
return {
formData:{},
//
show_course:false,//
//
course_name:'课程',//
options_course: [
{
text: '请选择课程',
value: '',
checked: true
}, {
text: '羽毛球课程1',
value: '1'
}, {
text: '篮球课程2',
value: '2'
}
],
//
show_classroom:false,//
//
classroom_name:'课室',//
options_classroom: [
{
text: '请选择课室',
value: '',
checked: true
}, {
text: '羽毛球201',
value: '1'
}, {
text: '篮球室101',
value: '2'
}
],
}
},
onLoad() {
},
methods: {
//
clickCourse(e){
console.log(e)
this.course_name = e.text
this.show_course = true
},
//
filterTapCourse() {
//
this.$refs.ref_course.show()
this.show_course = true;
},
//
clickClassroom(e){
console.log(e)
this.classroom_name = e.text
this.show_classroom = true
},
//
filterTapClassroom() {
//
this.$refs.ref_classroom.show()
this.show_classroom = true;
},
//
openViewCourseInfo(item){
uni.navigateTo({
url: '/pages/student/timetable/info'
})
},
//
more(){
uni.navigateTo({
url: '/pages/student/timetable/list'
})
} }
}
}
</script> </script>
<style> <style lang="less" scoped>
.main_box{
background: #292929 ;
}
//
.navbar_section{
display: flex;
justify-content: center;
align-items: center;
background: #292929;
.title{
padding: 20rpx 0;
font-size: 30rpx;
color: #fff;
}
}
.main_section{
min-height: 100vh;
background: #292929 100%;
padding-top: 40rpx;
padding-bottom: 150rpx;
font-size: 24rpx;
color: #FFFFFF;
.section_1{
background: #333333 100%;
width: 100%;
padding: 30rpx 28rpx;
.ul{
display: flex;
justify-content: space-between;
align-items: center;
.li{
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
gap: 10rpx;
text{
font-size: 24rpx;
color: #FFFFFF;
text-align: center;
}
text:nth-child(2){
width: 44rpx;
height: 44rpx;
}
text:nth-child(3){
width: 8rpx;
height: 8rpx;
}
.today{
border-radius: 50%;
background: #29D3B4;
text-align: center;
line-height: 42rpx;
}
.select_plan{
background: #F59A23;
border-radius: 50%;
}
}
}
}
.section_2{
margin-top: 30rpx;
padding: 0 20rpx ;
color: #fff;
display: flex;
align-items: center;
gap: 20rpx;
.item_box {
width: 45%;
.fui-filter__item {
display: flex;
}
}
}
.section_3{
margin-top: 36rpx;
color: #fff;
font-size: 24rpx;
.ul{
padding: 0 26rpx;
display: flex;
flex-direction: column;
gap: 30rpx;
.li{
position: relative;
border-radius: 22rpx;
background: #434544 100%;
padding: 14rpx 0;
display: flex;
flex-direction: column;
.top_box{
padding: 20rpx 30rpx;
.center_box{
display: flex;
flex-direction: column;
gap: 10rpx;
view{}
}
.right_box{
.tag{
position:absolute;
top: 0rpx;
right: 0rpx;
padding: 10rpx;
width: 102rpx;
text-align: center;
font-size: 24rpx;
border-bottom-left-radius: 20rpx;
border-top-right-radius: 20rpx;
}
}
}
.bottom_box{
border-top: 1px dashed #F2F2F2;
padding: 26rpx 16rpx 0 26rpx;
.hint{
color:#D7D7D7;
}
.list_box{
margin-top: 22rpx;
display: flex;
justify-content: space-between;
align-items: center;
.list{
display: flex;
align-items: center;
gap: 14rpx;
.itme{
image{
width: 48rpx;
height: 48rpx;
border-radius: 50%;
}
}
}
.btn{
border: 1px solid #FAD04D;
border-radius: 10rpx;
background: #434544;
color: #FAD04D;
width: 110rpx;
height: 60rpx;
line-height: 55rpx;
text-align: center;
font-size: 24rpx;
}
}
}
}
}
}
}
</style> </style>

228
pages/student/timetable/info.vue

@ -0,0 +1,228 @@
<!--课程-详情-->
<template>
<view class="main_box">
<view class="main_section">
<view class="section_1">
<view class="title_box">青少儿篮球课</view>
<view class="ul">
<view class="li">
<view class="title">课程名称</view>
<view class="content">青少年篮球课</view>
</view>
<view class="li">
<view class="title">班级</view>
<view class="content">班级名称</view>
</view>
<view class="li">
<view class="title">上课时间</view>
<view class="content">2020.03.25 15:30-17:00</view>
</view>
<view class="li">
<view class="title">上课地址</view>
<view class="content">xxxx体育馆302室</view>
</view>
<view class="li">
<view class="title">课程名称</view>
<view class="content">青少年篮球课</view>
</view>
<view class="li">
<view class="title">教练</view>
<view class="content">包子皮</view>
</view>
<view class="li">
<view class="title">教练号码</view>
<view class="content">18888888888</view>
</view>
<view class="li">
<view class="title">扣除课时</view>
<view class="content">2个课时</view>
</view>
<view class="state_box">
<view>已上</view>
</view>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
import user from '@/api/user.js';
import AQTabber from "@/components/AQ/AQTabber.vue"
export default {
components: {
AQTabber,
},
data() {
return {
formData:{},
//
show_course:false,//
//
course_name:'课程',//
options_course: [
{
text: '请选择课程',
value: '',
checked: true
}, {
text: '羽毛球课程1',
value: '1'
}, {
text: '篮球课程2',
value: '2'
}
],
//
show_classroom:false,//
//
classroom_name:'课室',//
options_classroom: [
{
text: '请选择课室',
value: '',
checked: true
}, {
text: '羽毛球201',
value: '1'
}, {
text: '篮球室101',
value: '2'
}
],
}
},
onLoad() {
},
methods: {
//
clickCourse(e){
console.log(e)
this.course_name = e.text
this.show_course = true
},
//
filterTapCourse() {
//
this.$refs.ref_course.show()
this.show_course = true;
},
//
clickClassroom(e){
console.log(e)
this.classroom_name = e.text
this.show_classroom = true
},
//
filterTapClassroom() {
//
this.$refs.ref_classroom.show()
this.show_classroom = true;
},
//
openViewCourseInfo(item){
uni.navigateTo({
url: '/pages/coach/course/info'
})
},
}
}
</script>
<style lang="less" >
.main_box{
background: #292929 ;
}
//
.navbar_section{
display: flex;
justify-content: center;
align-items: center;
background: #292929;
.title{
padding: 20rpx 0;
font-size: 30rpx;
color: #fff;
}
}
.main_section{
min-height: 100vh;
background: #292929 100%;
padding: 30rpx 24rpx;
padding-top: 40rpx;
padding-bottom: 150rpx;
font-size: 24rpx;
color: #FFFFFF;
.section_1{
border-radius: 22rpx;
padding: 20rpx 40rpx;
background: #333333 100%;
width: 100%;
.title_box{
padding: 10rpx;
padding-left: 30rpx;
font-size: 32rpx;
}
.ul{
padding: 40rpx 10rpx;
padding-bottom: 350rpx;
margin-top: 10rpx;
border-top: 1px solid #555555;
display: flex;
flex-direction: column;
gap: 40rpx;
position: relative;
.li{
display: flex;
gap: 72rpx;
.title{
width: 120rpx;
text-align: right;
}
.content{}
}
.state_box{
position: absolute;
bottom: 50rpx;
right: 10rpx;
view{
width: 154rpx;
height: 154rpx;
border-radius: 50%;
background-color: rgba(41,211,180,0.17);
color: rgba(41,211,180,1);
font-size: 26rpx;
text-align: center;
line-height: 150rpx;
transform: rotate(-35deg); /* 旋转 */
}
}
}
}
}
</style>

116
pages/student/timetable/list.vue

@ -0,0 +1,116 @@
<!--课程-详情-->
<template>
<view class="main_box">
<view class="main_section">
<view class="title">XXX体育馆</view>
<view class="con">南山区科苑路15号科兴科学园</view>
<view class="con">距您1km</view>
<view class="current-venue" v-if="true">
当前场馆
</view>
</view>
<view class="main_section">
<view class="title">XXX体育馆</view>
<view class="con">南山区科苑路15号科兴科学园</view>
<view class="con">距您1km</view>
</view>
<view class="main_section">
<view class="title">XXX体育馆</view>
<view class="con">南山区科苑路15号科兴科学园</view>
<view class="con">距您1km</view>
</view>
<view class="main_section">
<view class="title">XXX体育馆</view>
<view class="con">南山区科苑路15号科兴科学园</view>
<view class="con">距您1km</view>
</view>
<view class="main_section">
<view class="title">XXX体育馆</view>
<view class="con">南山区科苑路15号科兴科学园</view>
<view class="con">距您1km</view>
</view>
<view class="main_section">
<view class="title">XXX体育馆</view>
<view class="con">南山区科苑路15号科兴科学园</view>
<view class="con">距您1km</view>
</view>
<view class="main_section">
<view class="title">XXX体育馆</view>
<view class="con">南山区科苑路15号科兴科学园</view>
<view class="con">距您1km</view>
</view>
<view class="main_section">
<view class="title">XXX体育馆</view>
<view class="con">南山区科苑路15号科兴科学园</view>
<view class="con">距您1km</view>
</view>
<view class="main_section">
<view class="title">XXX体育馆</view>
<view class="con">南山区科苑路15号科兴科学园</view>
<view class="con">距您1km</view>
</view>
<view class="main_section">
<view class="title">XXX体育馆</view>
<view class="con">南山区科苑路15号科兴科学园</view>
<view class="con">距您1km</view>
</view>
</view>
</view>
</template>
<script>
import user from '@/api/user.js';
import AQTabber from "@/components/AQ/AQTabber.vue"
export default {
components: {
AQTabber,
},
data() {
return {
}
},
onLoad() {},
methods: {
}
}
</script>
<style lang="less" scoped>
.main_box {
width: 100%;
height: 100vh;
overflow: auto;
background: #292929;
}
.main_section{
width: 92%;
border-radius: 15rpx;
background-color: #404045;
margin: 20rpx auto;
padding: 40rpx 0 40rpx 80rpx;
color: #fff;
position: relative;
}
.title{
font-size: 32rpx;
}
.con{
color: #D7D7D7;
font-size: 26rpx;
margin-top: 20rpx;
}
.current-venue{
border-radius: 8rpx;
border: 2rpx #F59A23 solid;
width: 120rpx;
text-align: center;
color: #F59A23;
position: absolute;
top: 10%;
right: 3%;
}
</style>

BIN
static/images/index/setup.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 546 B

Loading…
Cancel
Save