todayclass-box.vue 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. <template>
  2. <!-- 今日课程 -->
  3. <!-- 内容 -->
  4. <view>
  5. <view class="home-title-text" style="margin: 0 0 20rpx 0;">
  6. <view style="display: flex; align-items: center;margin: 0 30rpx 0 auto;">
  7. <u-icon name="list-dot" @click="navClass"></u-icon>
  8. <view class="msg" style="margin-left: 10rpx;" @click="navClass">查看更多</view>
  9. </view>
  10. </view>
  11. <!-- 课程列表 -->
  12. <view style="margin-bottom: 20rpx;">
  13. <view class="class-block" v-if="classCurrent > 1">
  14. <view class="block-title">{{classList[classCurrent-2].name}}</view>
  15. <u-tag :text="classList[classCurrent-2].teacher" size="mini" plain shape="circle"></u-tag>
  16. <view class="block-subtitle">上节</view>
  17. <view class="block-subtitle">{{classList[classCurrent-2].time}}</view>
  18. <u-tag text="查看回放" plain icon="hourglass"></u-tag>
  19. </view>
  20. <view class="class-block" style="background-color: #fff;" v-if="classCurrent <= classNum">
  21. <view class="block-title" style="color: #3c9cff;">{{classList[classCurrent - 1].name}}</view>
  22. <u-tag :text="classList[classCurrent - 1].teacher" size="mini" shape="circle"></u-tag>
  23. <view class="block-subtitle" style="color: #3c9cff;">当前</view>
  24. <view class="block-subtitle" style="color: #3c9cff;">{{classList[classCurrent - 1].time}}</view>
  25. <u-tag text="查看直播" type="error" icon="play-right"></u-tag>
  26. </view>
  27. <view class="class-block" v-if="classCurrent < classNum">
  28. <view class="block-title">{{classList[classCurrent].name}}</view>
  29. <u-tag :text="classList[classCurrent].teacher" size="mini" plain shape="circle"></u-tag>
  30. <view class="block-subtitle">下节</view>
  31. <view class="block-subtitle">{{classList[classCurrent].time}}</view>
  32. <u-tag text="暂未开始" plain icon="pushpin" type="warning"></u-tag>
  33. </view>
  34. </view>
  35. </view>
  36. </template>
  37. <script>
  38. import {
  39. mapState
  40. } from 'vuex'
  41. export default {
  42. name: "todayclass-box",
  43. computed: {
  44. ...mapState('m_children', ['classList'])
  45. },
  46. props: {
  47. classCurrent: {
  48. type: Number,
  49. default () {
  50. return 2
  51. }
  52. },
  53. },
  54. data() {
  55. return {
  56. //课程数量
  57. classNum:'',//测试数据最大为6最小为1
  58. //倒计时时间
  59. dayTimeData: {},
  60. classTimeData: {}
  61. };
  62. },
  63. methods: {
  64. navClass() {
  65. uni.navigateTo({
  66. url: '/subpkg/classmsg/classmsg'
  67. })
  68. },
  69. //获取到课程列表长度
  70. getClassNum(){
  71. this.classNum = this.classList.length
  72. }
  73. },
  74. created() {
  75. this.getClassNum()
  76. }
  77. }
  78. </script>
  79. <style lang="scss">
  80. @import '@/pages/common/blockmsg.scss';
  81. </style>