coupon.vue 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. <template>
  2. <view class="diy-coupon" :style="diyitem.base.bgstyle">
  3. <scroll-view scroll-x>
  4. <view class="coupon-wrapper" v-for="(dataItem, index) in diyitem.list" :key="index">
  5. <view :class="['coupon-item', 'color__' + dataItem.color]">
  6. <i class="before" :style="{ 'background': diyitem.base.bc }"></i>
  7. <view class="left-content dis-flex flex-dir-column flex-x-center flex-y-center">
  8. <view class="content-top">
  9. <block v-if="dataItem.coupon_type == 10">
  10. <text class="f-30">¥</text>
  11. <text class="price">{{ dataItem.reduce_price }}</text>
  12. </block>
  13. <text class="price" v-if="dataItem.coupon_type == 20">{{dataItem.discount }}折</text>
  14. </view>
  15. <view class="content-bottom">
  16. <text class="f-24">满{{ dataItem.min_price }}元可用</text>
  17. </view>
  18. </view>
  19. <view class="right-receive dis-flex flex-x-center flex-y-center">
  20. <view v-if="dataItem.state.value" :data-itemindex="itemindex"
  21. :data-index="dataItem.coupon_id" :data-state="dataItem.state.value"
  22. :data-coupon-id="dataItem.coupon_id" @tap="receiveTap"
  23. class="dis-flex flex-dir-column">
  24. <text>立即</text>
  25. <text>领取</text>
  26. </view>
  27. <view v-else class="state">
  28. <text>{{ dataItem.state.text }}</text>
  29. </view>
  30. </view>
  31. </view>
  32. </view>
  33. </scroll-view>
  34. </view>
  35. </template>
  36. <script>
  37. export default {
  38. name: 'coupon',
  39. props: {
  40. diyitem: {
  41. type: Object,
  42. default () {
  43. return {};
  44. }
  45. },
  46. itemindex: {
  47. type: Number,
  48. default: 0
  49. }
  50. },
  51. computed: {
  52. },
  53. data() {
  54. return {};
  55. },
  56. methods: {
  57. navigateTo: function(e) {
  58. this.sam.diynavigateTo(e)
  59. },
  60. /**
  61. * 领取优惠券
  62. */
  63. receiveTap: function(e) {
  64. this.$emit("receiveTap", e)
  65. },
  66. }
  67. };
  68. </script>
  69. <style>
  70. @import './diyapge.css';
  71. </style>