index.js 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. const util = require('../../../utils/util.js');
  2. const app = getApp();
  3. Page({
  4. data: {
  5. list:[],
  6. data:{},
  7. selectId:0,
  8. isLoadMore: true,
  9. pageIndex : 1,
  10. pageSize: 10,
  11. maskShow:false,
  12. shareInfo:{}
  13. },
  14. onLoad: function (options) {
  15. if(!this.isOptions(options)){
  16. return false;
  17. }
  18. if (options.packIds && options.aid && options.sid){
  19. this.data.data['meals'] = options.packIds;
  20. this.data.data['aid'] = options.aid;
  21. this.data.data['sid'] = options.sid;
  22. this.data.data['cid'] = options.cid;
  23. this.data.data['vid'] = options.vid != -1 ? options.vid : "";
  24. this.setData({ data: this.data.data });
  25. }
  26. this.getlist(true);
  27. },
  28. isOptions(options){
  29. var status = true;
  30. if(!util.isObjEmpty(options)){
  31. if (util.isEmpty(options.packIds)) {
  32. util.showTips('缺少场次和购买数量参数。');
  33. status = false;
  34. }
  35. if (util.isEmpty(options.aid)) {
  36. util.showTips('缺少活动Id参数。');
  37. status = false;
  38. }
  39. if (util.isEmpty(options.sid)) {
  40. util.showTips('缺少套餐的参数。');
  41. status = false;
  42. }
  43. }
  44. return status;
  45. },
  46. getlist:function(load){
  47. var self = this,
  48. url = "user/vouchers_list",
  49. data = { "pageIndex": self.data.pageIndex, "pageSize": self.data.pageSize };
  50. if (self.data.data.meals){
  51. url = "voucher/pay_vouchers";
  52. data = self.data.data;
  53. data.pageIndex = self.data.pageIndex;
  54. data.pageSize = self.data.pageSize;
  55. }
  56. util.ajax({
  57. func: url,
  58. data: data,
  59. load: load
  60. },function(res){
  61. if(res.code == 0){
  62. let isLoadMore = true;
  63. let newData = self.data.data.meals ? res.data.list : res.data.collects;
  64. let oldData = !load ? newData : [...self.data.list, ...newData];
  65. if (newData.length < self.data.pageSize && oldData.length > self.data.pageSize){
  66. isLoadMore = false;
  67. }
  68. for (let i = 0; i < oldData.length; i++){
  69. oldData[i].description = oldData[i].description.replace("<b>", "<b class='b'>");
  70. }
  71. self.setData({ list: oldData, isLoadMore: isLoadMore, selectId: data.vid || ''});
  72. }else
  73. util.showTips(res.reason);
  74. });
  75. },
  76. radioChange:function(e){
  77. if (!this.data.data.meals) return false;
  78. wx.setStorageSync("vids", e.detail.value);
  79. wx.navigateBack();
  80. },
  81. goUse(e) {
  82. let type = e.currentTarget.dataset.type;
  83. console.log(e,type)
  84. if (type==1) {
  85. wx.navigateTo({
  86. url: '/pages/product/goods/index'
  87. });
  88. } else {
  89. wx.navigateTo({
  90. url: '/pages/growthCard/activity?vid=' + e.currentTarget.dataset.vid
  91. });
  92. }
  93. },
  94. share(e){
  95. let that = this;
  96. util.ajax({
  97. func: "v2/voucher/share",
  98. data: { "vid":e.currentTarget.dataset.vid},
  99. load: false
  100. }, function (res) {
  101. if (res.code == 0) {
  102. that.setData({ shareInfo: res.data, maskShow: true});
  103. } else {
  104. util.showTips(res.reason);
  105. }
  106. });
  107. },
  108. close(){
  109. this.setData({maskShow:false})
  110. },
  111. onPullDownRefresh: function () {
  112. var self = this;
  113. wx.showNavigationBarLoading();
  114. setTimeout(function () {
  115. self.setData({ pageIndex: 1 });
  116. self.getlist(false);
  117. wx.hideNavigationBarLoading();
  118. wx.stopPullDownRefresh();
  119. }, 1000);
  120. },
  121. onReachBottom() {
  122. var self = this;
  123. if (self.data.isLoadMore == false) return false;
  124. setTimeout(function () {
  125. self.setData({ pageIndex: self.data.pageIndex + 1 });
  126. self.getlist(true);
  127. }, 1000);
  128. },
  129. onShareAppMessage: function (options) {
  130. let shareInfo = this.data.shareInfo;
  131. if (options.from == "button") {
  132. if (!util.isEmpty(shareInfo.id)) {
  133. return {
  134. title: `送你一张价值${shareInfo.price}元现金券,${shareInfo.title}`,
  135. path: '/pages/account/safe/give?id=' + shareInfo.id,
  136. imageUrl: '../../order/images/share.png'
  137. }
  138. } else {
  139. util.showTips('转赠失败!');
  140. }
  141. } else {
  142. return {
  143. title: '宝贝走天下,安全就出发!',
  144. path: '/pages/home/index',
  145. imageUrl: '../../order/images/share.png'
  146. }
  147. }
  148. }
  149. });