todayclass-box.vue 2.6 KB

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