123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194 |
- var util = require('../../utils/util.js');
- var api = require('../../config/api.js');
- const app = getApp();
- Page({
- data: {
- navList: [],
- goodsList: [],
- id: 0,
- navIndex:0,
- attribute:'',
- currentCategory: {},
- scrollLeft: 0,
- scrollTop: 0,
- scrollHeight: 0,
- page: 1,
- limit: 10,
- totalPages: 1,
- addressInfo:{}
- },
- onLoad: function (options) {
- // 页面初始化 options为页面跳转所带来的参数
- console.log(options);
- var that = this;
- if (options.id) {
- that.setData({
- id: parseInt(options.id)
- });
- }
- if(options.attribute){
- that.setData({
- attribute: parseInt(options.attribute)
- });
- }
- wx.getSystemInfo({
- success: function (res) {
- that.setData({
- scrollHeight: res.windowHeight
- });
- }
- });
-
- var addressInfo=wx.getStorageSync('addressInfo');
- if(addressInfo){
- this.setData({
- addressInfo:addressInfo
- })
- }
- this.getCategoryInfo();
- },
- getCategoryInfo: function () {
- let that = this;
- util.request(api.GoodsCategory, {
- id: this.data.attribute?'-1':this.data.id,
- attribute:this.data.attribute,
- //shopId:this.data.addressInfo.shopId,
- city:this.data.addressInfo.city
- })
- .then( (res)=>{
- if (res.errno == 0) {
- that.setData({
- navList: res.data.brotherCategory,
- currentCategory: res.data.currentCategory
- });
- // 当id是L1分类id时,这里需要重新设置成L1分类的一个子分类的id
- // 周期服务包特殊处理
- if(this.data.attribute=='3'||this.data.attribute=='2'){
- wx.setNavigationBarTitle({
- title: res.data.currentCategory.name
- })
-
- that.setData({
- id: res.data.currentCategory.id
- });
-
- }else{
- wx.setNavigationBarTitle({
- title: res.data.parentCategory.name
- })
- if (res.data.parentCategory.id == that.data.id) {
- that.setData({
- id: res.data.currentCategory.id
- });
- }
- }
-
- //nav位置
- let currentIndex = 0;
- let navListCount = that.data.navList.length;
- for (let i = 0; i < navListCount; i++) {
- currentIndex += 1;
- if (that.data.navList[i].id == that.data.id) {
- break;
- }
- }
- if (currentIndex > navListCount / 2 && navListCount > 5) {
- that.setData({
- scrollLeft: currentIndex * 60
- });
- }
- that.getGoodsList();
- } else {
- //显示错误信息
- }
- });
- },
- onReady: function () {
- // 页面渲染完成
- },
- onShow: function () {
- // 页面显示
-
- },
- onHide: function () {
- // 页面隐藏
- },
- getGoodsList: function () {
- var that = this;
- util.request(api.GoodsList, {
- categoryId: this.data.attribute=='3'?'-1':that.data.id,
- attribute:this.data.attribute=='3'?'3':'',
- page: that.data.page,
- limit: that.data.limit,
- city:that.data.addressInfo.city,
- //shopId:that.data.addressInfo.shopId
- })
- .then(function (res) {
- console.info(res);
- console.info(that.data.page);
- if (that.data.page == 1) {
- that.setData({
- goodsList: res.data.list,
- totalPages: res.data.pages
- });
- } else
- that.setData({
- goodsList: that.data.goodsList.concat(res.data.list),
- totalPages: res.data.pages
- });
- console.info(that.data.goodsList);
- });
- },
- onUnload: function () {
- // 页面关闭
- },
- onReachBottom() {
- if (this.data.totalPages > this.data.page) {
- this.setData({
- page: this.data.page + 1
- });
- this.getGoodsList();
- } else {
- wx.showToast({
- title: '没有更多商品了',
- icon: 'none',
- duration: 2000
- });
- return false;
- }
- },
- switchCate: function (event) {
- if (this.data.id == event.currentTarget.dataset.id) {
- return false;
- }
- var that = this;
- var clientX = event.detail.x;
- var currentTarget = event.currentTarget;
- if (clientX < 60) {
- that.setData({
- scrollLeft: currentTarget.offsetLeft - 60
- });
- } else if (clientX > 330) {
- that.setData({
- scrollLeft: currentTarget.offsetLeft
- });
- }
- this.setData({
- id: event.currentTarget.dataset.id,
- navIndex: event.currentTarget.dataset.index,
- page:1
- });
- this.getGoodsList();
- // this.getCategoryInfo();
- }
- })
|