collect.vue 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. <template>
  2. <view>
  3. <!--mine/collect/collect.wxml-->
  4. <view class="list" v-if="pageList.length > 0">
  5. <view v-for="(item, index) in pageList" :key="index" class="li">
  6. <image :src="item.pic" @tap="redirectDetail" :data-id="item.id" mode="aspectFill" class="cimg"></image>
  7. <view class="zhinfo">
  8. <view class="zhtit" @tap="redirectDetail" :data-id="item.id">{{item.title}}</view>
  9. <!-- <view class="guige">规格:15g</view> -->
  10. <view class="jiage">
  11. <view class="zhjia" @tap="redirectDetail" :data-id="item.id"><text>{{item.endTime}}</text></view>
  12. <view class="btn" :data-index="index" @tap="clickCollect">取消收藏</view>
  13. </view>
  14. </view>
  15. </view>
  16. </view>
  17. <view class="nodata" v-else>
  18. <image :src="picUrlss+'empty_sc.png'"></image>
  19. <text>暂无收藏</text>
  20. </view>
  21. </view>
  22. </template>
  23. <script>
  24. const req = require("../../utils/request.js");
  25. const app = getApp();
  26. export default {
  27. data() {
  28. return {
  29. picUrlss: req.public.picUrls,
  30. form: {
  31. page: 1,
  32. limit: 10
  33. },
  34. pageList: [],
  35. isLoad: true,
  36. ishow: false
  37. };
  38. },
  39. components: {},
  40. props: {},
  41. onLoad: function (options) {
  42. this.loadFootprint();
  43. },
  44. onReachBottom() {
  45. this.form.page++;
  46. this.loadCoupon();
  47. },
  48. methods: {
  49. loadFootprint() {
  50. let isShowLoading = false;
  51. if (this.form.page == 1 && !isShowLoading) {
  52. req.loadIng('加载中');
  53. isShowLoading = true;
  54. }
  55. if (!this.isLoad) return false;
  56. this.isLoad = false;
  57. let that = this;
  58. req.getRequest('/api/match/collectPage', this.form, data => {
  59. data = data?data.list:[]
  60. if (data && data.length == 10) this.isLoad = true;
  61. if (that.form.page > 1) data = that.pageList.concat(data);
  62. that.setData({
  63. pageList: data
  64. });
  65. if (!this.pageList||this.pageList.length<1) {
  66. that.setData({
  67. ishow: true
  68. });
  69. } else {
  70. that.setData({
  71. ishow: false
  72. });
  73. }
  74. if (isShowLoading) {
  75. uni.hideLoading();
  76. isShowLoading = false;
  77. }
  78. });
  79. },
  80. clickCollect(event) {
  81. let _ts = this;
  82. const index = event.currentTarget.dataset.index;
  83. const page = this.pageList[index];
  84. var dataP = {};
  85. dataP.type =2 //、产品 2、活动 3、未知 4、内容 5、课程 6、老师 7、素材 8、题目 9、资料领取 10、招聘职位 12、用户须知 13、素材 15、医院科室 16、海报 20、医生 21 新闻 23名片
  86. dataP.behavior = 2; //1、关注 2、收藏 3、点赞 4、浏览 5、确认 6、分享
  87. dataP.bindId = page.id;
  88. req.postRequestLoding('/api/v3/behavior/save', dataP, data => {
  89. _ts.pageList.splice(index, 1);
  90. _ts.setData({
  91. pageList: _ts.pageList
  92. });
  93. });
  94. },
  95. redirectDetail(event) {
  96. uni.navigateTo({
  97. url: '/match/activityDetail/activityDetail?id=' + event.currentTarget.dataset.id
  98. });
  99. }
  100. }
  101. };
  102. </script>
  103. <style>
  104. @import "./collect.css";
  105. </style>