activePage2.js 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254
  1. // pages/activePage2/activePage2.js
  2. import {
  3. get,
  4. post
  5. } from "../../utils/http";
  6. Page({
  7. /**
  8. * 页面的初始数据
  9. */
  10. data: {
  11. tabIndex: 0, //项目类别下标
  12. activityList: [], //活动界面数据列表
  13. store_id: '', //店铺id
  14. swiperIndex: 0, //次卡活动轮播图下标
  15. goodsList: [], //美妆产品商品列表
  16. groupList:'',// 拼团列表
  17. },
  18. /**
  19. * 生命周期函数--监听页面加载
  20. */
  21. onLoad(options) {
  22. // 获取店铺id
  23. this.setData({
  24. store_id: wx.getStorageSync('store_id')
  25. })
  26. // 获取活动页面数据
  27. this.getActivityList()
  28. // 获取拼团列表
  29. this.getGroupList()
  30. },
  31. /**
  32. * 生命周期函数--监听页面初次渲染完成
  33. */
  34. onReady() {
  35. },
  36. /**
  37. * 生命周期函数--监听页面显示
  38. */
  39. onShow() {
  40. },
  41. /**
  42. * 生命周期函数--监听页面隐藏
  43. */
  44. onHide() {
  45. },
  46. /**
  47. * 生命周期函数--监听页面卸载
  48. */
  49. onUnload() {
  50. },
  51. /**
  52. * 页面相关事件处理函数--监听用户下拉动作
  53. */
  54. onPullDownRefresh() {
  55. },
  56. /**
  57. * 页面上拉触底事件的处理函数
  58. */
  59. onReachBottom() {
  60. },
  61. /**
  62. * 用户点击右上角分享
  63. */
  64. onShareAppMessage() {
  65. },
  66. // 获取商品活动轮播图下标
  67. onSlideChangeEnd() {
  68. },
  69. // 切换项目类别下标来切换图标
  70. changeTab(e) {
  71. this.setData({
  72. tabIndex: e.currentTarget.dataset.index
  73. })
  74. },
  75. // 获取活动页面数据列表
  76. getActivityList() {
  77. get('/v2/api/activity', {
  78. store_id: this.data.store_id
  79. }, res => {
  80. if (res.code == 200) {
  81. // 将商品列表商品单独加到数组里
  82. let arr = []
  83. let goodsList = res.data.goods[0].list
  84. goodsList.map(item1 => {
  85. arr.push(item1)
  86. })
  87. // 将商品两两分组
  88. let index = 0;
  89. const newArray = [];
  90. while (index < arr.length) {
  91. newArray.push(arr.slice(index, (index += 2)));
  92. }
  93. // 判断最后一个元素是否只有一个元素 是的话就将第一个元素加进去
  94. if (newArray[newArray.length - 1].length == 1) {
  95. newArray[newArray.length - 1].push(arr[0])
  96. }
  97. // 处理新人领券价格去掉00
  98. res.data.new_user.map(item => {
  99. item.price = Number(item.price)
  100. item.full_price = Number(item.full_price)
  101. })
  102. this.setData({
  103. activityList: res.data,
  104. goodsList: newArray
  105. })
  106. }
  107. })
  108. },
  109. // 商品活动轮播图改变
  110. changeGoodsList(e) {
  111. // 获取轮播图下标
  112. let index1 = e.detail.current
  113. let arr = []
  114. let goodsList = this.data.activityList.goods[index1].list
  115. goodsList.map(item1 => {
  116. arr.push(item1)
  117. })
  118. // 将商品两两分组
  119. let index = 0;
  120. const newArray = [];
  121. while (index < arr.length) {
  122. newArray.push(arr.slice(index, (index += 2)));
  123. }
  124. // 判断最后一个元素是否只有一个元素 是的话就将第一个元素加进去
  125. if (newArray[newArray.length - 1].length == 1) {
  126. newArray[newArray.length - 1].push(arr[0])
  127. }
  128. this.setData({
  129. goodsList: newArray
  130. })
  131. },
  132. // 新人活动优惠券立即使用跳转到我的优惠券
  133. useCoupon(e) {
  134. // 判断是否是新人优惠券不是的话就跳转到领券中心,是的话跳转到优惠券列表
  135. let couponName = e.currentTarget.dataset.item.name
  136. if (couponName.indexOf("新人") != -1) {
  137. wx.navigateTo({
  138. url: '/pages/coupon/coupon',
  139. })
  140. } else {
  141. wx.navigateTo({
  142. url: '/pages/couponCenter/couponCenter',
  143. })
  144. }
  145. },
  146. // 项目活动跳转到项目详情
  147. projectDetail(e) {
  148. let id = e.currentTarget.dataset.id
  149. wx.navigateTo({
  150. url: `/pages/projectDetail/projectDetail?source=project&id=${id}&store_id=${this.data.store_id}`,
  151. })
  152. },
  153. // 跳转到商品活动商品详情
  154. productDetail(e) {
  155. let id = e.currentTarget.dataset.id
  156. wx.navigateTo({
  157. url: `/pages/projectDetail/projectDetail?source=goods&id=${id}&store_id=${this.data.store_id}`,
  158. })
  159. },
  160. // 跳转到此卡活动商品详情
  161. cardDetail(e) {
  162. let id = this.data.activityList.card[this.data.swiperIndex].card_id
  163. if(id==147){
  164. wx.navigateTo({
  165. url: '/subPackagesB/pages/groupDetail/groupDetail?id=36',
  166. })
  167. return
  168. }
  169. wx.navigateTo({
  170. url: `/pages/projectDetail/projectDetail?source=secondaryCard&id=${id}&store_id=${this.data.store_id}`,
  171. })
  172. },
  173. // 轮播图改变
  174. changeSwiper(e) {
  175. this.setData({
  176. swiperIndex: e.detail.current
  177. })
  178. },
  179. // 跳转到美妆商品列表
  180. toGoodsList() {
  181. // var app = getApp()
  182. // app.globalData.showGoods = true
  183. wx.reLaunch({
  184. url: '/pages/shoppingMall/shoppingMall',
  185. // success: function (e) {
  186. // var page = getCurrentPages().pop();
  187. // console.log("page", page)
  188. // if (page == undefined || page == null) return;
  189. // page.onPullDownRefresh();
  190. // }
  191. })
  192. },
  193. // 跳转到老送新优惠券
  194. gotoSendCoupon() {
  195. wx.navigateTo({
  196. url: '/pages/sendFriend/sendFriend',
  197. })
  198. },
  199. // 跳转到我的储值页面
  200. toStoreValue() {
  201. wx.navigateTo({
  202. url: '/pages/storedValue/index',
  203. })
  204. },
  205. // 跳转到拼团
  206. goGroup() {
  207. if(this.data.groupList.card_list.length==0&&this.data.groupList.goods_list.length==0){
  208. wx.showToast({
  209. title: '活动已结束',
  210. icon:"none"
  211. })
  212. return
  213. }else{
  214. wx.navigateTo({
  215. url: '/subPackagesB/pages/joinGroup/joinGroup',
  216. })
  217. }
  218. },
  219. // 超过时间拼团结束
  220. getGroupList() {
  221. get('v2/api/grouping/list', {
  222. store_id: this.data.store_id || wx.getStorageSync('store_id')
  223. }, (res) => {
  224. if (res.code == 200) {
  225. this.setData({
  226. groupList: res.data
  227. })
  228. }
  229. })
  230. },
  231. // 进入圣诞礼包专区
  232. giftBagDetail(){
  233. wx.navigateTo({
  234. url: '/subPackagesE/pages/giftBag/giftBag',
  235. })
  236. }
  237. })