es-course-item.vue 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <template>
  2. <view class="video-item es-mt-20 es-pb-10" @tap="goToInfo(data)">
  3. <view class="es-block es-br-10 es-oh">
  4. <view class="" style="padding-top: 55.87%;"></view>
  5. <view class="es-icon-auto">
  6. <image :src="data.imgUrl" mode="aspectFill"></image>
  7. <view class="play es es-ac es-pc">
  8. <view class="es-icon-58 es-icon-play"></view>
  9. </view>
  10. <view class="vip es-w-44 es-h-20 es es-ac es-pc es-fw es-fs-16">VIP</view>
  11. </view>
  12. </view>
  13. <view class="es-omit es-fs-26 es-mt-10 title ellipsis2">{{data.courseName}}</view>
  14. </view>
  15. </template>
  16. <script>
  17. export default {
  18. name:"es-course-item",
  19. props: {
  20. data: {
  21. type: Object,
  22. default() {
  23. return { };
  24. }
  25. },
  26. },
  27. data() {
  28. return {
  29. };
  30. },
  31. methods:{
  32. goToInfo(item){
  33. this.$navTo('./info?courseId='+item.courseId);
  34. },
  35. }
  36. }
  37. </script>
  38. <style>
  39. .video-item{
  40. width:330rpx;
  41. }
  42. .video-item .play{
  43. width: 100%;
  44. height: 100%;
  45. position: absolute;
  46. left:0;top:0;
  47. z-index: 2;
  48. }
  49. .vip{
  50. background: linear-gradient(90deg, #EBC19A 0%, #FFEEDD 100%);
  51. border-radius: 5rpx;
  52. position: absolute;
  53. right:14rpx;
  54. top:8rpx;
  55. }
  56. .title{
  57. /* min-height: 44px; */
  58. }
  59. </style>