reel_result.vue 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. <template>
  2. <view class="cu-modal" :class="{'show': visible}">
  3. <view class="mask"></view>
  4. <view class="wrapper cu-dialog">
  5. <view class="relative">
  6. <image class="bg_popup" :src="resource.award_coupon_popup" />
  7. <view class="content paddingY21">
  8. <view class="flex-align-center">
  9. <image :src="resource.lottery_title" style="height: 44rpx; width: 338rpx" mode="heightFix" />
  10. </view>
  11. <view class="flex-align-center paddingY20">
  12. <view @click="showDetail(data)" >
  13. <image :src="data.cover" class="radius6" style="width: 234rpx;height:0" mode="widthFix" />
  14. </view>
  15. </view>
  16. <view class="flex-align-center paddingT10">
  17. <view class="relative" style="height: 115rpx;">
  18. <image class="btn-image" :src="resource.lottery_btn_small_2" webp mode="heightFix" @click="close" />
  19. </view>
  20. </view>
  21. </view>
  22. </view>
  23. </view>
  24. <goods-detail ref="goodsDetailRef" />
  25. </view>
  26. </template>
  27. <script>
  28. import resource from '@/utils/resource'
  29. import goodsDetail from './../store/goods_detail'
  30. export default {
  31. components: { goodsDetail },
  32. props: {
  33. isDemo: Boolean,
  34. periodQuantity: Number
  35. },
  36. data() {
  37. return {
  38. resource,
  39. data: null,
  40. visible: false
  41. }
  42. },
  43. computed: {},
  44. methods: {
  45. show(spu) {
  46. this.$parent.$parent.lock = true
  47. this.data = spu
  48. this.visible = true
  49. },
  50. close() {
  51. this.$parent.$parent.lock = false
  52. this.visible = false
  53. this.data = null
  54. },
  55. showDetail(item) {
  56. if (!item) return
  57. this.$refs.goodsDetailRef.show(item)
  58. }
  59. }
  60. }
  61. </script>
  62. <style lang="scss" scoped>
  63. .mask {
  64. position: absolute;
  65. left: 0;
  66. right: 0;
  67. top: 0;
  68. bottom: 0;
  69. }
  70. .wrapper {
  71. z-index: 1001;
  72. margin: 0 28rpx;
  73. width: calc(100vw - 56rpx);
  74. background-color: transparent;
  75. .bg_popup {
  76. position: absolute;
  77. left: 0;
  78. top: 0;
  79. width: 100%;
  80. height: 99%;
  81. }
  82. .content {
  83. position: relative;
  84. width: 100%;
  85. .btn-image {
  86. height: 100%;
  87. }
  88. .text {
  89. position: absolute;
  90. bottom: 20rpx;
  91. font-size: 20rpx;
  92. color: #fff;
  93. width: 100%;
  94. text-align: center;
  95. }
  96. }
  97. }
  98. </style>