index.js 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303
  1. import {
  2. getBargainDetail,
  3. postBargainStartUser,
  4. postBargainStart,
  5. postBargainHelpPrice,
  6. postBargainHelpCount,
  7. postBargainHelp,
  8. postBargainHelpList,
  9. postBargainShare
  10. } from '../../../api/activity.js';
  11. import { postCartAdd } from '../../../api/store.js';
  12. import wxh from '../../../utils/wxh.js';
  13. import WxParse from '../../../wxParse/wxParse.js';
  14. import util from '../../../utils/util.js';
  15. const app = getApp();
  16. Page({
  17. /**
  18. * 页面的初始数据
  19. */
  20. data: {
  21. countDownDay: '00',
  22. countDownHour: '00',
  23. countDownMinute: '00',
  24. countDownSecond: '00',
  25. active: false,
  26. id:0,//砍价产品编号
  27. userInfo:{},//当前用户信息
  28. bargainUid: 0,//开启砍价用户
  29. bargainUserInfo: {},//开启砍价用户信息
  30. bargainUserId: 0,//开启砍价编号
  31. bargainInfo:[],//砍价产品
  32. offset:0,
  33. limit:20,
  34. limitStatus:false,
  35. bargainUserHelpList:[],
  36. bargainUserHelpInfo:[],
  37. bargainUserBargainPrice:0,
  38. status:'', // 0 开启砍价 1 朋友帮忙砍价 2 朋友帮忙砍价成功 3 完成砍价 4 砍价失败 5已创建订单
  39. bargainCount:[],//分享人数 浏览人数 参与人数
  40. retunTop:true,
  41. bargainPartake:0,
  42. isHelp:false,
  43. interval:null,
  44. userBargainStatus:0,//判断自己是否砍价
  45. productStock:0,//判断是否售罄;
  46. quota:0,//判断是否已限量;
  47. userBargainStatusHelp:true,
  48. navH: ''
  49. },
  50. /**
  51. * 生命周期函数--监听页面加载
  52. */
  53. onLoad: function (options) {
  54. this.setData({
  55. navH: app.globalData.navHeight
  56. });
  57. var that = this;
  58. var pages = getCurrentPages();
  59. if (pages.length <= 1) that.setData({ retunTop:false});
  60. //扫码携带参数处理
  61. if (options.scene) {
  62. var value = util.getUrlParams(decodeURIComponent(options.scene));
  63. if (typeof value === 'object'){
  64. if (value.id) options.id = value.id;
  65. if (value.bargain) options.bargain = value.bargain;
  66. //记录推广人uid
  67. if (value.pid) app.globalData.spid = value.pid;
  68. }else{
  69. app.globalData.spid = value;
  70. }
  71. }
  72. if (options.hasOwnProperty('id')) {
  73. this.setData({ id: options.id, bargainUid: options.bargain || 0 });
  74. }
  75. },
  76. /**
  77. * 跳转到商品页面
  78. */
  79. goProduct:function(){
  80. return app.Tips('/pages/goods_details/index?id=' + this.data.bargainInfo.product_id);
  81. },
  82. goBack: function () {
  83. wx.navigateBack({ delta: 1 })
  84. },
  85. gobargainUserInfo:function(){//获取开启砍价用户信息
  86. var that = this;
  87. var data = { bargainId: that.data.id, bargainUserUid: that.data.bargainUid };
  88. postBargainStartUser(data).then(res=>{
  89. that.setData({ bargainUserInfo: res.data });
  90. });
  91. },
  92. goPay: function () {//立即支付
  93. var that = this;
  94. var data = {
  95. productId: that.data.bargainInfo.product_id,
  96. bargainId: that.data.id,
  97. cartNum: that.data.bargainInfo.num,
  98. uniqueId:'',
  99. combinationId:0,
  100. secKillId:0,
  101. 'new':1
  102. };
  103. postCartAdd(data).then(res=>{
  104. wx.navigateTo({ url: '/pages/order_confirm/index?cartId=' + res.data.cartId });
  105. }).catch(err=>{
  106. return app.Tips({title:err})
  107. });
  108. },
  109. getBargainDetails:function(){//获取砍价产品详情
  110. var that = this;
  111. var id = that.data.id;
  112. getBargainDetail(id).then(function(res){
  113. that.setData({
  114. bargainInfo: res.data.bargain,
  115. bargainPrice:res.data.bargain.price,
  116. userInfo: res.data.userInfo,
  117. bargainSumCount: res.data.bargainSumCount,
  118. userBargainStatus: res.data.userBargainStatus,
  119. productStock: res.data.bargain.attr.product_stock,
  120. quota: res.data.bargain.attr.quota
  121. });
  122. app.globalData.openPages = '/pages/activity/goods_bargain_details/index?id=' + that.data.id + '&bargain=' + that.data.bargainUid + '&scene=' + that.data.userInfo.uid;
  123. WxParse.wxParse('description', 'html', that.data.bargainInfo.description || '', that, 0);
  124. WxParse.wxParse('rule', 'html', that.data.bargainInfo.rule || '', that, 0);
  125. wxh.time2(that.data.bargainInfo.stop_time, that);
  126. that.getBargainHelpCount();
  127. that.setData({ bargainUserHelpList: [] });
  128. that.getBargainUser();
  129. that.gobargainUserInfo();
  130. console.log(888);
  131. console.log(that.data.userBargainStatusHelp);
  132. // if (that.data.userInfo.uid == that.data.bargainUid) that.setBargain();
  133. // else {
  134. // that.getBargainHelpCount();
  135. // that.setData({ bargainUserHelpList:[]});
  136. // that.getBargainUser();
  137. // that.gobargainUserInfo();
  138. // }
  139. })
  140. },
  141. // 自己砍价;
  142. userBargain:function(){
  143. let that = this;
  144. if (that.data.userInfo.uid == that.data.bargainUid){
  145. that.setBargain();
  146. }
  147. },
  148. getBargainHelpCount: function () {//获取砍价帮总人数、剩余金额、进度条、已经砍掉的价格
  149. var that = this;
  150. var data = { bargainId: that.data.id, bargainUserUid:that.data.bargainUid };
  151. postBargainHelpCount(data).then(res=>{
  152. var price = util.$h.Sub(that.data.bargainPrice, res.data.alreadyPrice);
  153. that.setData({
  154. bargainUserHelpInfo: res.data,
  155. 'bargainInfo.price': parseFloat(price) <= 0 ? 0 : price,
  156. userBargainStatusHelp: res.data.userBargainStatus
  157. });
  158. })
  159. },
  160. currentBargainUser:function(){//当前用户砍价
  161. this.setData({ bargainUid:this.data.userInfo.uid });
  162. this.setBargain();
  163. },
  164. setBargain:function(){//参与砍价
  165. var that = this;
  166. postBargainStart(that.data.id).then(res=>{
  167. that.setData({ bargainUserId: res.data });
  168. that.getBargainUserBargainPrice();
  169. that.setBargainHelp();
  170. that.getBargainHelpCount();
  171. that.setData({
  172. userBargainStatus:1
  173. })
  174. })
  175. },
  176. setBargainHelp: function () {//帮好友砍价
  177. var that = this;
  178. var data = { bargainId: that.data.id, bargainUserUid: that.data.bargainUid };
  179. postBargainHelp(data).then(res=>{
  180. that.setData({ bargainUserHelpList: [],isHelp:true });
  181. that.getBargainUser();
  182. that.getBargainUserBargainPrice();
  183. that.getBargainHelpCount();
  184. }).catch(err=>{
  185. that.setData({ bargainUserHelpList: [] });
  186. that.getBargainUser();
  187. })
  188. },
  189. getBargainUser: function () {//获取砍价帮
  190. var that = this;
  191. var data = {
  192. bargainId: that.data.id,
  193. bargainUserUid: that.data.bargainUid,
  194. offset: that.data.offset,
  195. limit: that.data.limit,
  196. };
  197. postBargainHelpList(data).then(res=>{
  198. var bargainUserHelpListNew = [];
  199. var bargainUserHelpList = that.data.bargainUserHelpList;
  200. var len = res.data.length;
  201. bargainUserHelpListNew = bargainUserHelpList.concat(res.data);
  202. that.setData({ bargainUserHelpList: bargainUserHelpListNew, limitStatus: data.limit > len, offest: Number(data.offset) + Number(data.limit) });
  203. });
  204. },
  205. getBargainUserBargainPricePoster:function(){
  206. var that = this;
  207. wx.navigateTo({
  208. url: '/pages/activity/poster-poster/index?type=1&id=' + that.data.id,
  209. });
  210. },
  211. getBargainUserBargainPrice: function () {//获取帮忙砍价砍掉多少金额
  212. var that = this;
  213. var data = {bargainId: that.data.id,bargainUserUid: that.data.bargainUid};
  214. postBargainHelpPrice(data).then(res=>{
  215. that.setData({ bargainUserBargainPrice: res.data, active: true });
  216. }).catch(err=>{
  217. that.setData({ active: false });
  218. });
  219. },
  220. goBargainList:function(){
  221. wx.navigateTo({
  222. url: '/pages/activity/goods_bargain/index',
  223. })
  224. },
  225. close:function(){
  226. this.setData({
  227. active: false
  228. })
  229. },
  230. /**
  231. * 生命周期函数--监听页面初次渲染完成
  232. */
  233. onReady: function () {
  234. },
  235. onLoadFun: function (e) {
  236. let uid = e.detail.uid;
  237. if(!this.data.bargainUid && uid){
  238. this.setData({bargainUid:uid});
  239. }
  240. if(!this.data.bargainUid){
  241. return app.Tips({ title:'参数错误'},{tab:3,url:1})
  242. }
  243. this.getBargainDetails();
  244. this.addShareBargain();
  245. app.globalData.openPages = '/pages/activity/goods_bargain_details/index?id=' + this.data.id + '&bargain=' + this.data.bargainUid + '&spid=' + e.detail.uid;
  246. this.setData({ bargainPartake: e.detail.uid});
  247. },
  248. /**
  249. * 生命周期函数--监听页面显示
  250. */
  251. onShow: function () {
  252. },
  253. /**
  254. * 生命周期函数--监听页面隐藏
  255. */
  256. onHide: function () {
  257. if (this.data.interval !== null) clearInterval(this.data.interval);
  258. },
  259. /**
  260. * 生命周期函数--监听页面卸载
  261. */
  262. onUnload: function () {
  263. if (this.data.interval !== null) clearInterval(this.data.interval);
  264. },
  265. /**
  266. * 页面相关事件处理函数--监听用户下拉动作
  267. */
  268. onPullDownRefresh: function () {
  269. },
  270. /**
  271. * 页面上拉触底事件的处理函数
  272. */
  273. onReachBottom: function () {
  274. },
  275. addShareBargain: function () {//添加分享次数 获取人数
  276. var that = this;
  277. postBargainShare(this.data.id).then(res=>{
  278. that.setData({ bargainCount: res.data })
  279. });
  280. },
  281. /**
  282. * 用户点击右上角分享
  283. */
  284. onShareAppMessage: function () {
  285. var that = this;
  286. that.close();
  287. that.addShareBargain();
  288. return {
  289. title: '您的好友' + that.data.userInfo.nickname + '邀请您帮他砍' + that.data.bargainInfo.title+' 快去帮忙吧!',
  290. path: app.globalData.openPages,
  291. imageUrl: that.data.bargainInfo.image,
  292. }
  293. }
  294. })