goods_cate.js 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. var app = getApp();
  2. Page({
  3. /**
  4. * 页面的初始数据
  5. */
  6. data: {
  7. navlist: [],
  8. productList: [],
  9. navActive: 0,
  10. parameter: {
  11. 'navbar': '1',
  12. 'return': '0',
  13. 'title':'产品分类'
  14. },
  15. navH:"",
  16. number:""
  17. },
  18. /**
  19. * 生命周期函数--监听页面加载
  20. */
  21. onLoad: function (res) {
  22. this.getPidCate();
  23. this.getAllCategory();
  24. },
  25. infoScroll:function(){
  26. var that = this;
  27. var len = that.data.productList.length;
  28. that.setData({
  29. navH: app.globalData.navHeight,
  30. number: that.data.productList[len - 1].child.length
  31. })
  32. //设置商品列表高度
  33. wx.getSystemInfo({
  34. success: function (res) {
  35. that.setData({
  36. height: (res.windowHeight) * ( 750/res.windowWidth) - 98 - app.globalData.navHeight
  37. //res.windowHeight:获取整个窗口高度为px,*2为rpx;98为头部占据的高度;
  38. })
  39. },
  40. });
  41. var height = 0;
  42. var hightArr = [];
  43. for (var i = 0; i < len; i++) { //productList
  44. //获取元素所在位置
  45. var query = wx.createSelectorQuery().in(this);
  46. var idView = "#b" + i;
  47. query.select(idView).boundingClientRect();
  48. query.exec(function (res) {
  49. var top = res[0].top;
  50. hightArr.push(top);
  51. that.setData({
  52. hightArr: hightArr
  53. });
  54. });
  55. };
  56. },
  57. tap: function (e) {
  58. var id = e.currentTarget.dataset.id;
  59. var index = e.currentTarget.dataset.index;
  60. console.log(index, id);
  61. this.setData({
  62. toView: id,
  63. navActive: index
  64. });
  65. },
  66. getPidCate:function(){
  67. var that=this;
  68. app.baseGet(app.U({ c: 'store_api', a:"get_pid_cate"}),function(res){
  69. that.setData({
  70. navlist:res.data
  71. });
  72. });
  73. },
  74. getAllCategory:function(){
  75. var that = this;
  76. app.baseGet(app.U({ c: 'store_api', a: "get_product_category" }), function (res) {
  77. that.setData({
  78. productList: res.data
  79. });
  80. that.infoScroll();
  81. });
  82. },
  83. scroll: function (e) {
  84. var scrollTop = e.detail.scrollTop;
  85. var scrollArr = this.data.hightArr;
  86. for (var i = 0; i < scrollArr.length; i++) {
  87. if (scrollTop >= 0 && scrollTop < scrollArr[1] - scrollArr[0]) {
  88. this.setData({
  89. navActive: 0,
  90. lastActive: 0
  91. })
  92. } else if (scrollTop >= scrollArr[i] - scrollArr[0] && scrollTop < scrollArr[i + 1] - scrollArr[0]) {
  93. console.log(scrollArr[1] - scrollArr[0])
  94. this.setData({
  95. navActive: i
  96. })
  97. } else if (scrollTop >= scrollArr[scrollArr.length - 1] - scrollArr[0]) {
  98. this.setData({
  99. navActive: scrollArr.length - 1
  100. })
  101. }
  102. }
  103. },
  104. searchSubmitValue: function (e) {
  105. var that = this;
  106. app.baseGet(app.U({ c:"public_api",a: "get_form_id", q: { formId: e.detail.formId } }),null,null,true);
  107. if (e.detail.value.length > 0) wx.navigateTo({ url: '/pages/goods_list/goods_list?searchValue=' + e.detail.value})
  108. else return app.Tips({ title:'请填写要搜索的产品信息'});
  109. },
  110. /**
  111. * 生命周期函数--监听页面初次渲染完成
  112. */
  113. onReady: function () {
  114. },
  115. /**
  116. * 生命周期函数--监听页面显示
  117. */
  118. onShow: function () {
  119. },
  120. /**
  121. * 生命周期函数--监听页面隐藏
  122. */
  123. onHide: function () {
  124. },
  125. /**
  126. * 生命周期函数--监听页面卸载
  127. */
  128. onUnload: function () {
  129. },
  130. /**
  131. * 页面相关事件处理函数--监听用户下拉动作
  132. */
  133. onPullDownRefresh: function () {
  134. }
  135. })