collect.vue 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. <template>
  2. <view class="bg-drak padding-lr-sm">
  3. <use-tabbar :tabbar="false"></use-tabbar>
  4. <!-- 商品列表 -->
  5. <view>
  6. <!-- 商品卡片(可重复使用) -->
  7. <u-empty v-if="fetch && fetch.list && fetch.list.length <= 0" marginTop="200" mode="data"></u-empty>
  8. <view class="product border-radius padding margin-bottom-sm bg-main" style="padding-bottom: 7px;" v-if="fetch && fetch.list.length > 0" v-for="(item, index) in fetch.list" :key="index" @click="Dever.location('source/info?id=' + item.id + '&title=' + item.name)">
  9. <view class="left">
  10. <image :src="item.cover" />
  11. </view>
  12. <view class="margin-left-sm pos-r w-full">
  13. <text class="clamp-2">{{item.name}}</text>
  14. <view class="pos-a dflex-b price-box w-full">
  15. <text class="price padding-tb-sm">{{item.price_text}}</text>
  16. <view class="dflex-c ft-dark">
  17. <!--
  18. <button class="btn no-border padding-0 fs-sm ft-dark">
  19. <view class="dflex-c fs-xs padding-tb-sm">
  20. <text class="iconfont iconfenxiang margin-left-xs"></text>
  21. </view>
  22. </button>-->
  23. <view class="dflex-c margin-left-sm padding-tb-sm" @tap.stop="del(item)">
  24. <text class="iconfont iconlajitong-01 margin-left-xs"></text>
  25. </view>
  26. </view>
  27. </view>
  28. </view>
  29. </view>
  30. <!-- 可复制粘贴多个商品卡片结构(略) -->
  31. </view>
  32. <!--
  33. <view class="fixed-top"><text class="iconfont iconlajitong-01 fs-xl"></text></view>
  34. -->
  35. </view>
  36. </template>
  37. <script>
  38. export default {
  39. data() {
  40. return {
  41. fetch: {},
  42. }
  43. },
  44. onShow() {
  45. this.loadData(1);
  46. },
  47. //下拉刷新
  48. onPullDownRefresh() {
  49. this.loadData(1);
  50. },
  51. //加载更多
  52. onReachBottom() {
  53. this.loadData(2);
  54. },
  55. methods: {
  56. loadData(page) {
  57. this.DeverApi.page([page, 'list'], this, 'collect.getUserList');
  58. },
  59. del(item) {
  60. this.Dever.confirm('确认删除吗?', r => {
  61. this.DeverApi.post('collect.cancel', {
  62. type:1,
  63. type_id:item.id,
  64. }, res => {
  65. this.loadData(1);
  66. });
  67. })
  68. },
  69. }
  70. }
  71. </script>
  72. <style lang="scss">
  73. .product {
  74. display: flex;
  75. .left image {
  76. width: 86px;
  77. height: 86px;
  78. }
  79. .price-box {
  80. bottom: -18rpx;
  81. }
  82. }
  83. </style>