yuminge-app/yun-min-program-plugin-master/packageI/groupWork/groupWorkIndex/groupWorkIndex.js

273 lines
6.3 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// 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'
});
}
}
});