yuminge-app/yun-min-program-plugin-master/packageE/appointment/ProjectList/ProjectList.js

290 lines
5.8 KiB
JavaScript

// packageE/appointment/ProjectList/ProjectList.js
const app = getApp();
Page({
/**
* 页面的初始数据
*/
data: {
show1: false,
sort: "asc",
category: {id:''},
name: "",
// more
isLoadMore: true,
page: 1,
total_page: 0,
titleInfo: "", // 标题
commentList: [],
categoryList: [],
appointmentLang: {},
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
this.setData({
appointmentLang: wx.getStorageSync('yz_basic_info').lang.appointment
});
wx.setNavigationBarTitle({
title: this.data.appointmentLang.project + "列表"
});
this.init();
this.search();
this.getCategoryList();
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
if (this.data.isLoadMore) {
this.getMoreData();
} else {
console.log('没有更多数据');
}
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
},
bind(e){
this.setData({
name:e.detail.value
});
},
search(e) {
let urlStr = app.getNetAddresss('plugin.appointment.frontend.project.get-list');
app._getNetWork({
url: urlStr,
data:{
sort: this.data.sort,
category_id: this.data.category.id,
name: this.data.name,
page: this.data.page
},
success: (resdata) => {
var response = resdata.data;
if (response.result == 1) {
this.setData({
isLoadMore: true,
total_page: response.data.last_page,
commentList: response.data.data
});
if (!this.data.total_page) {
this.setData({
total_page: 0
});
}
} else {
wx.showToast({
title: response.msg,
icon: 'none'
});
}
},
fail: function (res) {
console.log(res);
}
});
},
// 获取更多数据
getMoreData() {
this.setData({
isLoadMore: false
});
// 防止多次请求分页数据
if (this.data.page >= this.data.total_page) {
return;
} else {
let page = this.data.page + 1;
this.setData({
page
});
let urlStr = app.getNetAddresss('plugin.appointment.frontend.project.get-list');
app._getNetWork({
url: urlStr,
data:{
sort: this.data.sort,
category_id: this.data.category.id,
name: this.data.name,
page: this.data.page
},
success: (resdata) => {
var response = resdata.data;
if (response.result == 1) {
var myData = response.data.data.concat(this.data.commentList);
this.setData({
commentList: myData
});
} else {
wx.showToast({
title: response.msg,
icon: 'none'
});
let pages = this.data.page - 1;
this.setData({
page: pages,
isLoadMore: false
});
}
},
fail: function (res) {
console.log(res);
}
});
}
},
evaluateBtn() {
if (this.data.sort == "asc") {
this.setData({
sort: "desc"
});
} else {
this.setData({
sort: "asc"
});
}
this.setData({
page: 1,
isLoadMore: true,
total_page: 0,
show1: false
});
this.search();
},
goProjectDetails(e){
let id = e.currentTarget.dataset.id;
let point = JSON.stringify(wx.getStorageSync('address-point').point);
wx.navigateTo({
url: '/packageE/appointment/ProjectDetails/ProjectDetails?project_id=' + id + '&point=' + point,
});
},
selectionBtn(e){
let item = e.currentTarget.dataset.item;
if (!item.name) {
this.setData({
category:{}
});
} else {
this.setData({
category: item
});
}
this.setData({
page: 1,
isLoadMore:true,
total_page:0,
show1:false
});
this.search();
},
toIndex() {
wx.navigateTo({
url: '/packageE/appointment/appointment_index'
});
},
toUrl() {
var str = JSON.stringify(this.data.appointmentLang);
wx.navigateTo({
url: '/packageE/appointment/mine/mine?appointmentLang=' + str,
});
},
showClass() {
this.setData({
show1:!this.show1
});
},
close(){
this.setData({
show1: false
});
},
enterSearch(event) {
this.setData({
page:1,
isLoadMore:true,
total_page:0,
});
this.search();
},
getCategoryList() {
let that = this;
let urlStr = app.getNetAddresss("plugin.appointment.frontend.project-category.get-list");
app._getNetWork({
url: urlStr,
data: {
},
success: function (resdata) {
var res = resdata.data;
if (res.result == 1) {
that.setData({
categoryList: res.data
});
} else {
wx.showToast({
icon: 'none',
title: res.msg,
duration: 1500
});
}
},
fail: function (res) {
console.log(res);
}
});
},
init() {
this.setData({
category:{},
name:'',
sort:'asc',
show1:false,
page:1,
isLoadMore:true,
total_page:0,
commentList:[],
});
},
});