You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

104 lines
2.5 KiB

var util = require('../../utils/util.js');
var api = require('../../config/api.js');
var app = getApp();
Page({
data: {
bannerInfo: {
'img_url': '',
'name': ''
},
categoryFilter: false,
filterCategory: [],
goodsList: [],
categoryId: 0,
currentSortType: 'default',
currentSortOrder: 'desc',
page: 1,
size: 1000
},
getData: function () {
let that = this;
util.request(api.GoodsNew).then(function (res) {
if (res.code === 200) {
that.setData({
bannerInfo: res.data.bannerInfo,
filterCategory: res.data.filterCategory
});
that.getGoodsList();
}
});
},
getGoodsList() {
var that = this;
util.request(api.GoodsList, { isNew: 1, page: that.data.page, size: that.data.size, order: that.data.currentSortOrder, sort: that.data.currentSortType, categoryId: that.data.categoryId })
.then(function (res) {
if (res.code === 200) {
that.setData({
goodsList: res.data
});
}
});
},
onLoad: function (options) {
// 页面初始化 options为页面跳转所带来的参数
this.getData();
},
onReady: function () {
// 页面渲染完成
},
onShow: function () {
// 页面显示
},
onHide: function () {
// 页面隐藏
},
onUnload: function () {
// 页面关闭
},
openSortFilter: function (event) {
let currentId = event.currentTarget.id;
switch (currentId) {
case 'categoryFilter':
this.setData({
'categoryFilter': !this.data.categoryFilter,
'currentSortType': 'category',
'currentSortOrder': 'asc'
});
break;
case 'priceSort':
let tmpSortOrder = 'asc';
if (this.data.currentSortOrder == 'asc') {
tmpSortOrder = 'desc';
}
this.setData({
'currentSortType': 'price',
'currentSortOrder': tmpSortOrder,
'categoryFilter': false
});
this.getData();
break;
default:
//综合排序
this.setData({
'currentSortType': 'default',
'currentSortOrder': 'desc',
'categoryFilter': false
});
this.getData();
}
},
selectCategory: function (event) {
let currentIndex = event.target.dataset.categoryIndex;
this.setData({
'categoryFilter': false,
'categoryId': this.data.filterCategory[currentIndex].id
});
this.getData();
}
})