// pages/bookExhibitionList/index.js
|
import Toast from 'tdesign-miniprogram/toast/index';
|
|
const app = getApp()
|
Page({
|
|
/**
|
* 页面的初始数据
|
*/
|
data: {
|
keynoteDisabled: true,
|
value: '',
|
keyword: '',
|
nameSort: null,
|
total: null,
|
page: {
|
start: 0,
|
size: 16
|
},
|
keynoteValue: null,
|
filteredItems: [],
|
newValue: null,
|
bookExhibitionList: [],
|
sorter: {
|
value: 'default',
|
},
|
product: {
|
value: '*',
|
options: [{
|
value: '*',
|
label: '总分类',
|
},
|
{
|
value: 'jsek_bFHigherEducation',
|
//重点项目
|
price: 'jsek_higherEducation',
|
label: '高等教育',
|
},
|
{
|
value: 'jsek_bFVocationalEducation',
|
//重点项目
|
price: 'jsek_vocationalEducation',
|
label: '职业教育',
|
},
|
{
|
value: 'jsek_bFTeacherEducation',
|
//重点项目
|
price: 'jsek_teacherEducation',
|
label: '教师教育',
|
},
|
],
|
},
|
multipleSelect: {
|
value: [],
|
options: [],
|
},
|
navBarHeight: '',
|
barHeight: '',
|
windowHeight: '',
|
|
},
|
|
|
|
/**
|
* 生命周期函数--监听页面加载
|
*/
|
onLoad(options) {
|
|
console.log(this.data.keynoteDisabled, 'keynoteDisabled');
|
// console.log(this.data.filteredItems, 88888);
|
const systInfo = wx.getSystemInfoSync();
|
const menu = wx.getMenuButtonBoundingClientRect(); // 胶囊信息
|
const navBarHeight = (menu.top - systInfo.statusBarHeight) * 2 + menu.height; // 导航栏高度
|
this.setData({
|
navBarHeight: navBarHeight,
|
barHeight: systInfo.statusBarHeight,
|
})
|
|
// 单列选择器选项
|
const singleSelectOptions = this.data.filteredItems.map(item => ({
|
label: item.name,
|
value: item.value,
|
disabled: false,
|
}))
|
|
if (this.data.filteredItems = []) {
|
console.log(11111);
|
// singleSelectOptions.push({
|
// label: '暂无数据',
|
// value: 'disabled',
|
// disabled: true,
|
// });
|
} else {
|
console.log(7889);
|
}
|
|
|
|
|
|
console.log(this.data.bookExhibitionList.length, 'this.data.bookExhibitionList.length');
|
// 更新数据
|
this.setData({
|
'multipleSelect.options': singleSelectOptions,
|
});
|
|
|
//
|
},
|
|
/**
|
* 生命周期函数--监听页面初次渲染完成
|
*/
|
onReady() {
|
|
},
|
|
/**
|
* 生命周期函数--监听页面显示
|
*/
|
onShow() {
|
this.bookExhibitionGet()
|
this.keyProjectsGet()
|
|
},
|
|
/**
|
* 生命周期函数--监听页面隐藏
|
*/
|
onHide() {
|
|
},
|
|
/**
|
* 生命周期函数--监听页面卸载
|
*/
|
onUnload() {
|
|
},
|
|
/**
|
* 页面相关事件处理函数--监听用户下拉动作
|
*/
|
onPullDownRefresh() {
|
|
},
|
onPullDownRefresh() {
|
this.data.page.size = 16 //更改显示的值
|
this.bookExhibitionGet(); // 调用方法加载更多数据
|
},
|
/**
|
* 页面上拉触底事件的处理函数
|
*/
|
onReachBottom() {
|
// console.log(this.data.page.size);
|
// console.log(this.data.total);
|
if (this.data.page.size >= this.data.total) {
|
console.log('已加载完所有数据');
|
Toast({
|
context: this,
|
selector: '#t-toast',
|
message: '没有更多了',
|
direction: 'column',
|
duration: 1000,
|
preventScrollThrough: true,
|
icon: 'poweroff',
|
});
|
} else {
|
// const currentPage = this.data.page.start + 1; // 获取当前页数并加1
|
const newSize = this.data.page.size + 10; // 原来的基础上加10
|
this.setData({
|
// 'page.start': currentPage,
|
'page.size': newSize
|
});
|
this.bookExhibitionGet(); // 调用方法加载更多数据
|
|
|
|
}
|
},
|
|
|
|
/**
|
* 用户点击右上角分享
|
*/
|
onShareAppMessage() {
|
|
},
|
// 图片数据的接口
|
bookExhibitionGet(newValue) {
|
wx.showLoading({
|
title: '加载中...',
|
})
|
let searchObj = {
|
'Name*': this.data.keyword,
|
'||subtitle*': this.data.keyword
|
}
|
// console.log(this.data.keynoteValue);
|
let sort = {
|
Name: this.data.nameSort || 'Desc'
|
}
|
app.MG.store.getProductList({
|
storeInfo: 'jsek_bookFair',
|
path: newValue,
|
queryType: '*',
|
fields: {
|
jsek_link: [],
|
subtitle: [],
|
'bookClassification*': this.data.keynoteValue || [],
|
...searchObj
|
},
|
paging: this.data.page,
|
sort: sort,
|
// coverSize: {
|
// width: 100
|
// },
|
}).then(res => {
|
res.datas.forEach((item) => {
|
item.subtitleName = item.subtitle + item.name
|
})
|
console.log(res, 'item');
|
this.data.total = res.total
|
|
// list.push(res.datas)
|
console.log(res.datas.length);
|
|
|
if (res.datas.length == 0) {
|
this.setData({
|
keynoteDisabled: true
|
})
|
}
|
|
const list = [...res.datas]
|
|
this.setData({
|
bookExhibitionList: list
|
})
|
// 判断数据长度
|
console.log(list.length, 'list.length');
|
|
|
//取消
|
wx.hideLoading()
|
// console.log(this.data.bookExhibitionList, '数据');
|
})
|
|
},
|
//重点项目接口
|
keyProjectsGet(newPrice) {
|
// console.log(newPrice, 'newPrice');
|
let parms = {
|
refCodes: ['bookClassification']
|
}
|
app.MG.store.getProductTypeField(parms).then(res => {
|
|
const checkData = JSON.parse(res[0].config)
|
|
|
checkData.option.forEach(item => {
|
if (newPrice == item.value) {
|
|
this.setData({
|
filteredItems: item.child || [] // 如果存在子项则赋值,否则赋值为空数组
|
});
|
|
// console.log(this.data.filteredItems);
|
|
}
|
})
|
|
this.onLoad();
|
})
|
},
|
|
|
|
|
// 总分类
|
// 总分类
|
onChange(e) {
|
|
this.data.page.size = 16 //更改显示的值
|
const newValue = e.detail.value;
|
const selectedOption = this.data.product.options.find(option => option.value === newValue);
|
const newPrice = selectedOption ? selectedOption.price : null;
|
const bookExhibitionListsubsidiary = []
|
this.setData({
|
bookExhibitionListsubsidiary: this.data.bookExhibitionList
|
})
|
console.log(bookExhibitionListsubsidiary, 'bookExhibitionListsubsidiary');
|
console.log(newValue, 'newValue');
|
console.log(newPrice, 'newPrice');
|
|
if (newPrice) {
|
this.setData({
|
keynoteDisabled: false
|
})
|
}
|
if (!newPrice) {
|
this.setData({
|
keynoteDisabled: true
|
})
|
}
|
this.setData({
|
'product.value': newValue,
|
'product.price': newPrice, // 将选中的 price 值保存在数据中
|
});
|
this.bookExhibitionGet(newValue);
|
this.keyProjectsGet(newPrice);
|
// 调用更新页面数据的函数,传入新的 value 和 price 值
|
|
if (this.data.keynoteValue) {
|
//如果有数据就清空并刷新页面
|
this.data.keynoteValue = []
|
this.bookExhibitionGet(newValue)
|
this.onLoad()
|
}
|
},
|
|
// 重点项目
|
handleMultipleSelect(e) {
|
this.setData({
|
'multipleSelect.value': e.detail.value,
|
});
|
|
},
|
handleConfirm(event) {
|
|
const {
|
value
|
} = event.detail;
|
// 确认操作的处理逻辑
|
|
console.log('确认操作,选中的值为:', value);
|
this.data.keynoteValue = value
|
this.bookExhibitionGet()
|
},
|
handleReset() {
|
|
// 重置操作的处理逻辑
|
this.data.keynoteValue = []
|
console.log('重置操作');
|
this.bookExhibitionGet()
|
},
|
onSwapRight() {
|
if (!this.data.nameSort) {
|
this.setData({
|
nameSort: 'Desc',
|
});
|
} else if (this.data.nameSort == 'Desc') {
|
this.setData({
|
nameSort: 'Asc',
|
});
|
} else if (this.data.nameSort == 'Asc') {
|
this.setData({
|
nameSort: '',
|
});
|
}
|
|
this.bookExhibitionGet()
|
|
},
|
onSwapLeft() {
|
this.data.nameSort = 'Desc'
|
// console.log('sssssss');
|
this.bookExhibitionGet()
|
},
|
onBookExhibitionDetails: function (event) {
|
const item = event.currentTarget.dataset.item;
|
console.log(item);
|
wx.navigateTo({
|
url: '/pages/bookExhibitionDetails/index?id=' + item.id + '&bookName=' + item.name + '&subtitleName=' + item.subtitleName // 假设跳转到详情页面,并传递了id参数
|
});
|
},
|
// 搜索框
|
onSearchSubmit(e) {
|
this.setData({
|
keyword: e.detail.value
|
})
|
console.log(this.data.keyword, 'keyword');
|
this.bookExhibitionGet()
|
},
|
goBack() {
|
wx.navigateBack();
|
},
|
})
|