| const app = getApp(); | 
| var util = require('../../utils/util.js'); | 
| var api = require('../../utils/service-api.js'); | 
|   | 
| Page({ | 
|   | 
|     /** | 
|      * 页面的初始数据 | 
|      */ | 
|     data: { | 
|         currentIndex: 0, | 
|         secondIndex: -1, | 
|         tabs: [], | 
|         secondTabs: [], | 
|         productList: [], | 
|         offset: 0, | 
|         limit: 8, | 
|     }, | 
|   | 
|   | 
|     //用户点击tab时调用 | 
|     titleClick: function (e) { | 
|         let currentPageIndex = e.currentTarget.dataset.idx; | 
|         let secondTabs = this.data.tabs[currentPageIndex].shopProductAttributeList; | 
|         this.setData({ | 
|             //拿到当前索引并动态改变 | 
|             currentIndex: currentPageIndex, | 
|             secondTabs: secondTabs, | 
|             secondIndex: -1, | 
|         }) | 
|         this.getProduct(); | 
|     }, | 
|   | 
|     onLoad: function (options) { | 
|   | 
|         this.getProductAttribute(); | 
|     }, | 
|   | 
|     //获取产品分类 | 
|     getProductAttribute() { | 
|         var _this = this; | 
|         util.request({ | 
|             api: api.productAttribute.getByCode + "cpfl", | 
|             callback: function (data) { | 
|                 _this.setData({ | 
|                     tabs: data.rows, | 
|                     secondTabs: data.rows[0].shopProductAttributeList | 
|                 }); | 
|                 //加载产品 | 
|                 _this.getProduct(); | 
|   | 
|             } | 
|   | 
|         }); | 
|   | 
|     }, | 
|   | 
|     //选择二级分类产品 | 
|     chooseSecondCata(e) { | 
|         var index = e.currentTarget.dataset.index; | 
|         this.setData({ | 
|             secondIndex: index | 
|         }); | 
|         this.getProduct(); | 
|     }, | 
|   | 
|   | 
|     // 加载第一页产品数据 | 
|     getProduct: function () { | 
|   | 
|         var _this = this; | 
|         var limit = _this.data.limit; | 
|         var currentIndex = this.data.currentIndex; | 
|         var secondIndex = this.data.secondIndex; | 
|         var categoryId = this.data.tabs[currentIndex].attrId; | 
|         if (secondIndex != -1) { | 
|             categoryId = this.data.tabs[currentIndex].shopProductAttributeList[secondIndex].attrId; | 
|         } | 
|   | 
|         util.request({ | 
|             api: api.goods.searchGoods, | 
|             data: { | 
|                 "limit": limit, | 
|                 "categoryId": categoryId, | 
|                 "offset": 0, | 
|                 "shopIds": app.shopInfo.id | 
|             }, | 
|             callback: function (data) { | 
|                 _this.setData({ | 
|                     productList: data.rows, | 
|                 }); | 
|                 var productList = _this.data.productList; | 
|                 if (productList.length == 0) { | 
|                     _this.setData({ | 
|                         orderShow: true, | 
|                     }) | 
|                 } else { | 
|                     _this.setData({ | 
|                         orderShow: false | 
|                     }) | 
|                 } | 
|             } | 
|         }); | 
|   | 
|     }, | 
|     onTabsItemEvent(e) { | 
|         var index = e.currentTarget.dataset.index; | 
|   | 
|         this.setData({ | 
|             currentIndex: index, | 
|             offset: 0 | 
|         }) | 
|         this.getProduct(index); | 
|     }, | 
|     // 进入详情 | 
|     intoDetail(e) { | 
|         var _this = this; | 
|         var id = e.currentTarget.dataset.id; | 
|         wx.navigateTo({ | 
|             url: '/pages/yuyue/yyInfo?model=2&id=' + id, | 
|         }) | 
|     }, | 
|     // 上拉加载 | 
|     onReachBottom: function () { | 
|         var _this = this; | 
|         var limit = _this.data.limit; | 
|   | 
|         var offset = _this.data.offset + limit; | 
|         var currentIndex = this.data.currentIndex; | 
|         var secondIndex = this.data.secondIndex; | 
|         var categoryId = this.data.tabs[currentIndex].attrId; | 
|         if (secondIndex != -1) { | 
|             categoryId = this.data.tabs[currentIndex].shopProductAttributeList[secondIndex].attrId; | 
|         } | 
|         _this.setData({ | 
|             offset: offset | 
|         }); | 
|         util.request({ | 
|             api: api.goods.searchGoods, | 
|             data: { | 
|                 "limit": limit, | 
|                 "offset": offset, | 
|                 "categoryId": categoryId, | 
|             }, | 
|             callback: function (data) { | 
|                 var productList = _this.data.productList; | 
|                 for (var i = 0; i < data.rows.length; i++) { | 
|                     productList.push(data.rows[i]); | 
|                 } | 
|                 _this.setData({ | 
|                     productList: productList | 
|                 }); | 
|   | 
|             } | 
|         }); | 
|   | 
|   | 
|     }, | 
|   | 
|     //预约项目 | 
|     yuyue(e) { | 
|         this.checkUserInfoIsBuding() | 
|         var index = e.currentTarget.dataset.index; | 
|         var product = this.data.productList[index]; | 
|         wx.setStorageSync('chooseService', product); | 
|         wx.switchTab({ | 
|             url: '/pages/yuyue/khyuyue' | 
|         }); | 
|   | 
|     }, | 
|   | 
|   | 
|     checkUserInfoIsBuding() { | 
|         if (util.isBlank(getApp().userInfo.nickName)) { | 
|             wx.navigateTo({ | 
|                 url: '/pages/welcome/welcome?url=/pages/yuyue/khyuyue', | 
|             }) | 
|         } else if (util.isBlank(getApp().userInfo.phoneNumber)) { | 
|             wx.navigateTo({ | 
|                 url: '/pages/phone/phone?url=/pages/yuyue/khyuyue', | 
|             }) | 
|         } | 
|     }, | 
|   | 
|     //一键回到顶部 | 
|     goTap() { | 
|         util.goTap(); | 
|     }, | 
|   | 
|     //获取滚动条当前位置 | 
|     onPageScroll: function (e) { | 
|         // console.log(e) | 
|         if (e.scrollTop > 400) { | 
|             this.setData({ | 
|                 floorstatus: true | 
|             }); | 
|         } else { | 
|             this.setData({ | 
|                 floorstatus: false | 
|             }); | 
|         } | 
|     }, | 
|   | 
| }) |