247 lines
6.4 KiB
JavaScript
247 lines
6.4 KiB
JavaScript
// packageE/goods/goods.js
|
||
var location = require("../../../mybehaviors/location/location");
|
||
var app = getApp();
|
||
Component({
|
||
behaviors: [location],
|
||
properties: {
|
||
datas: {
|
||
type: null,
|
||
},
|
||
page_id: {
|
||
type: null,
|
||
},
|
||
component_id: {
|
||
type: null,
|
||
},
|
||
bottomShowBolIndex: {
|
||
type: null,
|
||
},
|
||
index: {
|
||
type: null,
|
||
},
|
||
U_tabcontrol: {
|
||
type: null,
|
||
},
|
||
bottomShowBol: {
|
||
type: null,
|
||
},
|
||
isLast: {
|
||
type: null,
|
||
},
|
||
},
|
||
// 私有数据,可用于模板渲染
|
||
data: {
|
||
integral: "积分",
|
||
emptyImage: "https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/image.png",
|
||
clientWidth: "375",
|
||
list: [],
|
||
language: "",
|
||
goodsShow: true,
|
||
|
||
page: 1,
|
||
total_page: 0,
|
||
isLoadMore: true,
|
||
allLoaded: false, // 全部数据已经加载完成
|
||
},
|
||
|
||
lifetimes: {
|
||
// 生命周期函数,可以为函数,或一个在methods段中定义的方法名
|
||
attached() {
|
||
let language = wx.getStorageSync("langIndex");
|
||
this.setData({
|
||
language: language.en
|
||
});
|
||
|
||
let value = wx.getStorageSync("integral");
|
||
if (value) {
|
||
this.setData({
|
||
integral: value,
|
||
});
|
||
}
|
||
},
|
||
moved() {},
|
||
detached() {},
|
||
},
|
||
|
||
// 生命周期函数,可以为函数,或一个在methods段中定义的方法名
|
||
attached() {},
|
||
// 此处attached的声明会被lifetimes字段中的声明覆盖
|
||
ready() {
|
||
this.setData({
|
||
clientWidth: wx.getSystemInfoSync().windowWidth,
|
||
// list: this.data.datas.list.data ?
|
||
// this.data.datas.list.data : this.data.datas.list,
|
||
});
|
||
|
||
this._getLocation(() => {
|
||
this.getdata();
|
||
});
|
||
},
|
||
|
||
pageLifetimes: {
|
||
// 组件所在页面的生命周期函数
|
||
show() {},
|
||
hide() {},
|
||
resize() {},
|
||
},
|
||
methods: {
|
||
gotoDetail(e) {
|
||
let id = e.currentTarget.dataset.item.goodid;
|
||
wx.navigateTo({
|
||
url: "/packageA/detail_v2/detail_v2?id=" + id,
|
||
});
|
||
},
|
||
// 获取更多数据
|
||
getMoreData() {
|
||
let that = this;
|
||
that.setData({
|
||
isLoadMore: false,
|
||
});
|
||
if (that.data.page >= that.data.last_page) {
|
||
return;
|
||
} else {
|
||
that.setData({
|
||
page: that.data.page + 1,
|
||
});
|
||
let ressa = wx.getStorageSync("address-point");
|
||
let urlStr = app.getNetAddresss(
|
||
"plugin.store-projects.frontend.designer.get-goods"
|
||
);
|
||
let point = app.qqMapTransBMap(
|
||
parseFloat(ressa.point.lng),
|
||
parseFloat(ressa.point.lat)
|
||
);
|
||
urlStr += "&decorate_id=" + that.data.page_id;
|
||
urlStr += "&component_id=" + that.data.component_id;
|
||
urlStr += "&page=" + that.data.page;
|
||
urlStr += "&lng=" + point.lng;
|
||
urlStr += "&lat=" + point.lat;
|
||
urlStr += "&city_name=" + ressa.city;
|
||
app._getNetWork({
|
||
url: urlStr,
|
||
success: (resdata) => {
|
||
var res = resdata.data;
|
||
if (res.result == 1) {
|
||
that.setData({
|
||
last_page: res.data.last_page,
|
||
});
|
||
|
||
if (that.data.page < that.data.last_page) {
|
||
that.setData({
|
||
isLoadMore: true,
|
||
});
|
||
} else {
|
||
that.setData({
|
||
allLoaded: true,
|
||
});
|
||
}
|
||
|
||
let data = that.data.list.concat(res.data.data);
|
||
// if(data.length > this.data.datas.get_number) {
|
||
// data.splice(this.data.datas.get_number, data.length-this.data.datas.get_number);
|
||
// that.setData({
|
||
// isLoadMore: false,
|
||
// allLoaded: true
|
||
// })
|
||
// }
|
||
|
||
that.setData({
|
||
list: data,
|
||
});
|
||
} else {
|
||
that.setData({
|
||
page: that.data.page - 1,
|
||
isLoadMore: false,
|
||
allLoaded: true,
|
||
});
|
||
}
|
||
},
|
||
fail: function (res) {
|
||
console.log(res);
|
||
},
|
||
});
|
||
}
|
||
},
|
||
getdata() {
|
||
var that = this;
|
||
let ressa = wx.getStorageSync("address-point");
|
||
let point = {};
|
||
let urlStr = app.getNetAddresss(
|
||
"plugin.store-projects.frontend.designer.get-goods"
|
||
);
|
||
if (ressa) {
|
||
point = app.qqMapTransBMap(
|
||
parseFloat(ressa.point.lng),
|
||
parseFloat(ressa.point.lat)
|
||
);
|
||
} else {
|
||
point = {
|
||
lng: "",
|
||
lat: ""
|
||
};
|
||
}
|
||
|
||
urlStr += "&decorate_id=" + that.data.page_id;
|
||
urlStr += "&component_id=" + that.data.component_id;
|
||
urlStr += "&page=" + that.data.page;
|
||
urlStr += "&lng=" + point.lng;
|
||
urlStr += "&lat=" + point.lat;
|
||
urlStr += "&city_name=" + ressa.city;
|
||
app._getNetWork({
|
||
url: urlStr,
|
||
success: (resdata) => {
|
||
var res = resdata.data;
|
||
if (res.result == 1) {
|
||
that.setData({
|
||
isLoadMore: false,
|
||
last_page: res.data.last_page,
|
||
});
|
||
if (res.data.current_page < res.data.last_page) {
|
||
that.setData({
|
||
isLoadMore: true,
|
||
});
|
||
} else {
|
||
that.setData({
|
||
allLoaded: true,
|
||
});
|
||
}
|
||
|
||
// if(res.data.data.length > this.data.datas.get_number) {
|
||
// res.data.data.splice(this.data.datas.get_number, res.data.data.length-this.data.datas.get_number);
|
||
// that.setData({
|
||
// isLoadMore: false,
|
||
// allLoaded: true
|
||
// })
|
||
// }
|
||
|
||
that.setData({
|
||
list: res.data.data,
|
||
});
|
||
// 跟无商品的时候图片冲突了
|
||
// if (res.data.data <= 0) {
|
||
// that.setData({
|
||
// goodsShow: false,
|
||
// });
|
||
// }
|
||
} else {
|
||
that.setData({
|
||
page: that.data.page - 1,
|
||
isLoadMore: false,
|
||
allLoaded: true,
|
||
});
|
||
}
|
||
},
|
||
fail: function (res) {
|
||
console.log(res);
|
||
},
|
||
});
|
||
},
|
||
},
|
||
observers: {
|
||
bottomShowBol: function (flag) {
|
||
if (flag && this.data.bottomShowBolIndex == this.data.index && this.data.datas.sort_style.choose_icon != 5 && this.data.isLoadMore) {
|
||
this.getMoreData();
|
||
}
|
||
},
|
||
},
|
||
}); |