Lessons.vue 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. <template>
  2. <div class="container">
  3. <div class="search">
  4. <Input v-model="value" placeholder="请输入优课主题 (如:小学语文)" style="width: 200px" />
  5. <Button>搜索</Button>
  6. </div>
  7. <div class="activity-item" v-for="(item,index) in lessons" :key="index">
  8. <div class="activity-banner">
  9. <img :src="'http://ttkt.sxedu.org:70'+item.bannerUri" />
  10. </div>
  11. <div class="activity-brief">
  12. <div class="left">
  13. <div class="line">
  14. <span class="tips">优课主题:</span>
  15. <span class="items">{{item.name}}</span>
  16. <span class="status" style="background: #999;">已结束</span>
  17. </div>
  18. <div class="line"><span class="tips">起止时间:</span> <span class="items2">{{item.timeTip}}</span></div>
  19. <div class="line"><span class="tips">优课数:</span> <span class="items2">{{item.viewActivityCount}}</span></div>
  20. </div>
  21. <div class="right">
  22. <Button type="primary" size="large" @click="goDetails">查看详情</Button>
  23. </div>
  24. </div>
  25. </div>
  26. </div>
  27. </template>
  28. <script>
  29. import lessons from '@/static/lessons.json'
  30. export default {
  31. components: {
  32. },
  33. data() {
  34. return {
  35. lessons: []
  36. }
  37. },
  38. created() {
  39. this.lessons = lessons.list;
  40. },
  41. methods: {
  42. getList(type) {
  43. let list = noticeList.list;
  44. var newArray = list.filter(function(item){
  45. return item.noticeTypeId == type;
  46. });
  47. this.noticeList = newArray;
  48. },
  49. handleMenuClick(index,typeId,name) {
  50. this.activeIndex = index;
  51. this.typeName = name;
  52. this.getList(typeId);
  53. },
  54. goDetails() {
  55. this.$router.push('lessonList')
  56. }
  57. },
  58. mounted() {
  59. }
  60. }
  61. </script>
  62. <style scoped>
  63. html, body, #app {
  64. height: 100% !important;
  65. user-select: none;
  66. }
  67. .main-content {
  68. background: rgb(248,248,248) !important;
  69. }
  70. .container {
  71. width: 1200px;
  72. margin: 100px auto;
  73. display: flex;
  74. flex-direction: column;
  75. }
  76. .container .activity-item {
  77. width:100%;
  78. padding-bottom:50px;
  79. background:#fff;
  80. margin-top:40px;
  81. }
  82. .container .activity-item .activity-banner img {
  83. width:100%;
  84. }
  85. .container .activity-brief {
  86. width:100%;
  87. padding:15px 40px;
  88. display:flex;
  89. flex-direction:row;
  90. justify-content:space-between;
  91. align-items:center;
  92. }
  93. .container .activity-brief .line {
  94. font-size:16px;
  95. margin-top:10px;
  96. }
  97. .container .activity-brief .status {
  98. font-size:14px;
  99. padding:2px 8px;
  100. margin-left:8px;
  101. border-radius:5px;
  102. color:#fff;
  103. }
  104. .container .activity-brief .line .tips{
  105. font-weight:bold;
  106. color:#999;
  107. }
  108. .container .time-count {
  109. font-size:16px;
  110. margin-bottom:20px;
  111. }
  112. .container .time-count .count-down {
  113. color:orange;
  114. }
  115. .container .right .ivu-btn {
  116. width:180px;
  117. height:48px;
  118. font-size:16px;
  119. }
  120. </style>