273 lines
6.3 KiB
JavaScript
273 lines
6.3 KiB
JavaScript
// packageI/newGroup/homeList/homeList.js
|
||
const app = getApp();
|
||
Page({
|
||
|
||
/**
|
||
* 页面的初始数据
|
||
*/
|
||
data: {
|
||
paramsId: 0,
|
||
searchText: '',
|
||
|
||
explainFlag: false,
|
||
|
||
tabs_list: [],
|
||
tabs_index: 0,
|
||
banner_list: [],
|
||
|
||
page: 1, //分页数,当前页数
|
||
isLoadMore: true, //判断是否要加载更多的标志
|
||
total_page: 0, //总页数
|
||
listData: [],
|
||
networkLoading: false,
|
||
|
||
explainText: "",
|
||
|
||
firstLoading: false, //第一次加载,后面只设置listData
|
||
shareConfig: {},
|
||
Height: 0,
|
||
LastHeight: 0
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面加载
|
||
*/
|
||
onLoad: function (options) {
|
||
if (options.id) {
|
||
this.data.paramsId = options.id;
|
||
}
|
||
this.getListData(true);
|
||
},
|
||
setExplainFlag() {
|
||
this.setData({
|
||
explainFlag: !this.data.explainFlag,
|
||
});
|
||
},
|
||
/**
|
||
* 生命周期函数--监听页面初次渲染完成
|
||
*/
|
||
onReady: function () {
|
||
|
||
},
|
||
imgHeight: function (e) {
|
||
var winWid = wx.getSystemInfoSync().windowWidth; //获取当前屏幕的宽度
|
||
var imgh = e.detail.height; //图片高度
|
||
var imgw = e.detail.width; //图片宽度
|
||
var swiperH = winWid * imgh / imgw + "px"; //等比设置swiper的高度。 即 屏幕宽度 / swiper高度 = 图片宽度 / 图片高度 ==》swiper高度 = 屏幕宽度 * 图片高度 / 图片宽度
|
||
if (parseInt(swiperH) > this.data.LastHeight) {
|
||
this.setData({
|
||
Height: swiperH, //设置高度
|
||
});
|
||
this.data.LastHeight = parseInt(swiperH);
|
||
}
|
||
},
|
||
setTabsIndex(evt) {
|
||
console.log(evt);
|
||
let index = evt.detail.index;
|
||
this.data.tabs_index = index;
|
||
this.getListData();
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面显示
|
||
*/
|
||
onShow: function () {
|
||
|
||
},
|
||
|
||
tapUrl(e) {
|
||
let link = e.currentTarget.dataset.url;
|
||
if (link == "") return false;
|
||
try {
|
||
wx.navigateTo({
|
||
url: link,
|
||
});
|
||
} catch (err) {
|
||
console.log(err);
|
||
}
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面隐藏
|
||
*/
|
||
onHide: function () {
|
||
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面卸载
|
||
*/
|
||
onUnload: function () {
|
||
|
||
},
|
||
|
||
/**
|
||
* 页面相关事件处理函数--监听用户下拉动作
|
||
*/
|
||
onPullDownRefresh: function () {
|
||
|
||
},
|
||
|
||
/**
|
||
* 页面上拉触底事件的处理函数
|
||
*/
|
||
onReachBottom: function () {
|
||
if (this.data.isLoadMore) {
|
||
this.getMoreData();
|
||
} else {
|
||
console.log("没有更多数据");
|
||
}
|
||
},
|
||
|
||
/**
|
||
* 用户点击右上角分享
|
||
*/
|
||
onShareAppMessage: function () {
|
||
let value = wx.getStorageSync("yz_uid");
|
||
let mid = "";
|
||
if (value) {
|
||
mid = value;
|
||
}
|
||
return {
|
||
title: this.data.shareConfig.share_title,
|
||
path: '/packageI/groupWork/groupWorkIndex/groupWorkIndex?&mid=' + mid,
|
||
imageUrl: this.data.shareConfig.share_thumb
|
||
};
|
||
},
|
||
|
||
|
||
initPage() {
|
||
this.setData({
|
||
listData: [],
|
||
networkLoading: false
|
||
});
|
||
this.data.page = 1;
|
||
this.data.total_page = 0;
|
||
this.data.isLoadMore = true;
|
||
|
||
},
|
||
getListData(tag) {
|
||
this.initPage();
|
||
let urlStr = app.getNetAddresss("plugin.group-work.frontend.controllers.page.index");
|
||
|
||
let {
|
||
tabs_index,
|
||
tabs_list,
|
||
searchText
|
||
} = this.data;
|
||
if (tabs_list.length != 0) {
|
||
urlStr += "&search[category_id]=" + tabs_list[tabs_index].id;
|
||
} else {
|
||
urlStr += "&search[category_id]=" + this.data.paramsId;
|
||
}
|
||
if (searchText != '') {
|
||
urlStr += "&search[title]=" + searchText;
|
||
}
|
||
|
||
app._postNetWork({
|
||
url: urlStr,
|
||
success: (resdata) => {
|
||
var res = resdata.data;
|
||
if (res.result != 1) return app.tips(res.msg);
|
||
let changeData = {};
|
||
if (!this.data.firstLoading) {
|
||
changeData['tabs_list'] = [{
|
||
title: "全部",
|
||
id: 0
|
||
}].concat(res.data.category_list);
|
||
if (tag) {
|
||
changeData.tabs_list.forEach((val, index) => {
|
||
if (val.id == this.data.paramsId) {
|
||
this.setData({
|
||
tabs_index: index
|
||
});
|
||
}
|
||
});
|
||
}
|
||
|
||
changeData['banner_list'] = res.data.banner_list;
|
||
changeData['explainText'] = res.data.explain;
|
||
changeData['firstLoading'] = true;
|
||
wx.setNavigationBarTitle({
|
||
title: res.data.costum_name
|
||
});
|
||
this.data.shareConfig.share_title = res.data.share_title;
|
||
this.data.shareConfig.share_thumb = res.data.share_thumb;
|
||
}
|
||
changeData['isLoadMore'] = true;
|
||
changeData['total_page'] = res.data.page_list.last_page;
|
||
changeData['listData'] = res.data.page_list.data;
|
||
changeData['networkLoading'] = true;
|
||
this.setData(changeData);
|
||
|
||
if (!this.data.total_page) {
|
||
this.data.total_page = 0;
|
||
}
|
||
|
||
}
|
||
});
|
||
},
|
||
//获取更多数据
|
||
getMoreData() {
|
||
let urlStr = app.getNetAddresss("plugin.group-work.frontend.controllers.page.index");
|
||
// 防止多次请求分页数据
|
||
this.data.isLoadMore = false;
|
||
if (this.data.page >= this.data.total_page) {
|
||
return;
|
||
} else {
|
||
this.data.page++;
|
||
let json = {
|
||
page: this.data.page
|
||
};
|
||
|
||
let {
|
||
tabs_index,
|
||
tabs_list,
|
||
searchText
|
||
} = this.data;
|
||
if (tabs_list.length != 0) {
|
||
urlStr += "&search[category_id]=" + tabs_list[tabs_index].id;
|
||
}
|
||
if (searchText != '') {
|
||
urlStr += "&search[title]=" + searchText;
|
||
}
|
||
|
||
app._getNetWork({
|
||
url: urlStr,
|
||
data: json,
|
||
success: (resdata) => {
|
||
var res = resdata.data;
|
||
if (res.result == 1) {
|
||
this.data.isLoadMore = true;
|
||
var myData = res.data.page_list.data;
|
||
this.setData({
|
||
listData: this.data.listData.concat(myData)
|
||
});
|
||
} else {
|
||
this.data.isLoadMore = false;
|
||
this.data.page--;
|
||
}
|
||
}
|
||
});
|
||
}
|
||
},
|
||
|
||
onSearch(e) {
|
||
console.log(e);
|
||
let value = e.detail.value;
|
||
this.data.searchText = value;
|
||
this.getListData();
|
||
},
|
||
clearSearch() {
|
||
this.setData({
|
||
searchText: ''
|
||
});
|
||
},
|
||
gotoUrl(e) {
|
||
if (e.detail) {
|
||
wx.navigateTo({
|
||
url: '/packageA/detail_v2/detail_v2?activity_id=' + e.detail + '&name=99'
|
||
});
|
||
}
|
||
}
|
||
}); |