index.vue 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. <template>
  2. <view class="page">
  3. <view class="flex-col" v-if="countsList.length === 0">
  4. <view class="flex-row justify-center">
  5. <image class="empty" src="/static/imageIcon/empty.png" mode="widthFix"></image>
  6. </view>
  7. <view class="emptyText flex-row justify-center">
  8. <text>暂无内容</text>
  9. </view>
  10. </view>
  11. <view v-else>
  12. <view class="row-list flex-row justify-start" v-for="(item,index) in countsList" :key="index">
  13. <view class="h-text flex-col justify-center ">
  14. <view class="money">
  15. <text>¥{{item.discountsPrice}}</text>
  16. </view>
  17. <view class="desc">
  18. <text>{{item.name}}</text>
  19. </view>
  20. </view>
  21. <view class="h-center-content flex-col ">
  22. <view class="h-value">
  23. <text>门店通用</text>
  24. </view>
  25. <view class="title">
  26. 使用平台:<text v-if="item.strategyType == '0'">全平台</text>
  27. <text v-else-if="item.strategyType == '1'">个人优惠卷</text>
  28. </view>
  29. <view class="title">
  30. 使用次数:{{item.degree}}
  31. </view>
  32. <view class="title">
  33. 到期时间:{{item.endTime.substring(0,10)}}
  34. </view>
  35. </view>
  36. <view class="h-right-content flex-col justify-center ">
  37. <view class="btn" @click="gotoReceiveCoupon(item)">
  38. <text>立即领取</text>
  39. </view>
  40. </view>
  41. </view>
  42. </view>
  43. </view>
  44. </template>
  45. <script>
  46. export default {
  47. data() {
  48. return {
  49. countsList:[]
  50. };
  51. },
  52. onLoad(option) {
  53. this.getUserDiscountsList()
  54. },
  55. methods: {
  56. // 领取优惠劵
  57. gotoReceiveCoupon(item) {
  58. this.$api.claimCoupon({id:item.id}).then((res) => {
  59. uni.showToast({
  60. title: "领取成功"
  61. })
  62. // 查询可领取的优惠劵
  63. this.getUserDiscountsList();
  64. })
  65. },
  66. // 查询可领取的优惠劵
  67. getUserDiscountsList() {
  68. let that = this;
  69. // 用户绑定门店
  70. this.$api.getUserDiscountsList().then((res) => {
  71. console.log(res.data.data)
  72. this.countsList = res.data.data;
  73. }).catch(() => {
  74. uni.showToast({
  75. title: "操作失败"
  76. })
  77. })
  78. },
  79. },
  80. };
  81. </script>
  82. <style lang="scss" scoped>
  83. @import '/common/css/common.css';
  84. @import './index.rpx.scss';
  85. </style>