red-packet.vue 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <template>
  2. <view class="red-packet-page">
  3. <!-- Navigation Bar is likely handled by pages.json configuration or custom nav -->
  4. <!-- Since style says navigationStyle: custom might be needed for some pages, but here we stick to default or simple -->
  5. <page-scroll
  6. ref="pageScroll"
  7. emptyText="暂无红包"
  8. url="/token/shop/order/myCouponList"
  9. method="POST"
  10. @updateList="updateList"
  11. slotEmpty
  12. >
  13. <view class="list-container">
  14. <red-packet-item v-for="(item, index) in list" :key="index" :info="item" @use="handleUse" />
  15. </view>
  16. </page-scroll>
  17. </view>
  18. </template>
  19. <script>
  20. import PageScroll from '@/components/pageScroll/index.vue';
  21. import RedPacketItem from '../components/red-packet-item.vue';
  22. export default {
  23. components: {
  24. PageScroll,
  25. RedPacketItem
  26. },
  27. data() {
  28. return {
  29. list: []
  30. };
  31. },
  32. methods: {
  33. updateList(data) {
  34. this.list = data;
  35. },
  36. handleUse(item) {
  37. uni.switchTab({
  38. url: '/pages/sell/index'
  39. });
  40. }
  41. },
  42. }
  43. </script>
  44. <style lang="scss" scoped>
  45. .red-packet-page {
  46. background-color: #f5f5f5;
  47. min-height: 100vh;
  48. }
  49. .list-container {
  50. padding-top: 20rpx;
  51. padding-bottom: 20rpx;
  52. }
  53. </style>