|
|
// pages/material/subpage/newest/newest.js
|
|
|
import {
|
|
|
http,
|
|
|
formatTime,
|
|
|
lookup
|
|
|
} from '../../../../utils/util'
|
|
|
Page({
|
|
|
|
|
|
/**
|
|
|
* 页面的初始数据
|
|
|
*/
|
|
|
data: {
|
|
|
navItem: [{
|
|
|
id: 0,
|
|
|
name: '全部标签',
|
|
|
is: false
|
|
|
}, {
|
|
|
id: 1,
|
|
|
name: '全部日期',
|
|
|
is: false
|
|
|
}, {
|
|
|
id: 2,
|
|
|
name: '全部车型',
|
|
|
is: false
|
|
|
}],
|
|
|
selectItem: [{
|
|
|
id: 0,
|
|
|
rank: [{
|
|
|
name: '全部标签',
|
|
|
is: true
|
|
|
},]
|
|
|
}, {
|
|
|
id: 1,
|
|
|
rank: [{
|
|
|
name: '全部日期',
|
|
|
is: true
|
|
|
}, {
|
|
|
name: '一个月内',
|
|
|
is: false
|
|
|
}, {
|
|
|
name: '三个月内',
|
|
|
is: false
|
|
|
}, {
|
|
|
name: '半年内',
|
|
|
is: false
|
|
|
}, {
|
|
|
name: '一年内',
|
|
|
is: false
|
|
|
}]
|
|
|
}, {
|
|
|
id: 2,
|
|
|
rank: [{
|
|
|
name: '全部车型',
|
|
|
is: true
|
|
|
}]
|
|
|
}],
|
|
|
// 下拉选项,被选中那组的数据,由下面的js控制赋值
|
|
|
selectedItem: [],
|
|
|
// 记录菜单栏第几项被点开,方便对样式的绑定
|
|
|
listNum: -1,
|
|
|
// 下拉选项的隐藏和显示,默认隐藏
|
|
|
showOrHide: false,
|
|
|
ac: false,
|
|
|
choose: false,
|
|
|
id: null,
|
|
|
listdata: [],
|
|
|
count: 0,
|
|
|
flag: 7,
|
|
|
cdn: getApp().globalData.cdn
|
|
|
},
|
|
|
/**
|
|
|
* 生命周期函数--监听页面加载
|
|
|
*/
|
|
|
onLoad: function (options) {
|
|
|
this.setData({
|
|
|
id: options.id
|
|
|
})
|
|
|
this.getdata()
|
|
|
wx.setNavigationBarTitle({
|
|
|
title: options.name,
|
|
|
success: function (res) {}
|
|
|
})
|
|
|
http("/brand/list", "post", {}).then(res => {
|
|
|
// console.log(res.data.records)
|
|
|
res.data.records.forEach(element => {
|
|
|
element.is = false
|
|
|
let a = element
|
|
|
this.setData({
|
|
|
'selectItem[2].rank': this.data.selectItem[2].rank.concat(a)
|
|
|
})
|
|
|
});
|
|
|
})
|
|
|
http("/tag/list", "post", {}).then(res => {
|
|
|
// console.log(res.data.records)
|
|
|
res.data.records.forEach(element => {
|
|
|
element.is = false
|
|
|
element.name = element.title
|
|
|
let a = element
|
|
|
this.setData({
|
|
|
'selectItem[0].rank': this.data.selectItem[0].rank.concat(a)
|
|
|
})
|
|
|
});
|
|
|
})
|
|
|
},
|
|
|
getmore () {
|
|
|
this.setData({
|
|
|
flag: 7
|
|
|
})
|
|
|
this.getdata()
|
|
|
},
|
|
|
getdata() {
|
|
|
let that = this
|
|
|
http("/reference/listByDay", "post", {
|
|
|
date: formatTime(new Date(new Date().getTime() - 86400000 * that.data.count)),
|
|
|
groupId: Number(this.data.id),
|
|
|
}).then(res => {
|
|
|
if (res.data.length === 0) {
|
|
|
// wx.showToast({
|
|
|
// title: '当前至'+formatTime(new Date(new Date().getTime() - 86400000 * that.data.count)).split(' ')[0]+ '已全部展示,点击加载更多',
|
|
|
// icon: 'none',
|
|
|
// duration: 2000
|
|
|
// })
|
|
|
this.setData({
|
|
|
count: this.data.count + 1,
|
|
|
flag: this.data.flag - 1,
|
|
|
})
|
|
|
// this.getdata()
|
|
|
} else {
|
|
|
// 单日数据
|
|
|
let arr = {}
|
|
|
// 是否全选
|
|
|
arr.all = false
|
|
|
arr.time = formatTime(new Date(new Date().getTime() - 86400000 * that.data.count)).split(' ')[0]
|
|
|
arr.refrence = []
|
|
|
res.data.forEach(el=>{
|
|
|
// 单卡数据
|
|
|
let ele = el
|
|
|
// 单选
|
|
|
ele.choose = false
|
|
|
// 当前位置
|
|
|
ele.index = that.data.count
|
|
|
// 卡片数据
|
|
|
arr.refrence = arr.refrence.concat(ele)
|
|
|
})
|
|
|
this.setData({
|
|
|
listdata: this.data.listdata.concat(arr),
|
|
|
flag: this.data.flag - 1,
|
|
|
})
|
|
|
this.setData({
|
|
|
count: this.data.count + 1,
|
|
|
})
|
|
|
}
|
|
|
if (this.data.flag > 0) {
|
|
|
this.getdata()
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
to(e) {
|
|
|
if (this.data.choose) {} else {
|
|
|
// wx.navigateTo({
|
|
|
// url: e.currentTarget.dataset.url,
|
|
|
// })
|
|
|
lookup(e.currentTarget.dataset.item)
|
|
|
}
|
|
|
// lookup(e.currentTarget.dataset.item)
|
|
|
},
|
|
|
// 点击菜单栏触发的事件函数
|
|
|
handleClick: function (e) {
|
|
|
const index = e.currentTarget.dataset.id;
|
|
|
const {
|
|
|
selectItem,
|
|
|
navItem
|
|
|
} = this.data;
|
|
|
// 点击事件,开始时一定会执行的,先令所有下拉选项先隐藏
|
|
|
const promise = new Promise((res) => {
|
|
|
this.setData({
|
|
|
showOrHide: true
|
|
|
})
|
|
|
res()
|
|
|
})
|
|
|
promise.then(() => {
|
|
|
// 定义一个延迟0.1秒的函数,和函数动画事件对上
|
|
|
setTimeout(() => {
|
|
|
// 当点击的是已经点开的菜单项,则隐藏
|
|
|
if (this.data.listNum === index) {
|
|
|
navItem[index].is = false
|
|
|
// 重置所有样式
|
|
|
this.setData({
|
|
|
navItem,
|
|
|
listNum: -1
|
|
|
})
|
|
|
return;
|
|
|
} else {
|
|
|
// 否则就令当前的index = listNum方便下一次判断
|
|
|
this.setData({
|
|
|
listNum: index
|
|
|
})
|
|
|
}
|
|
|
// 令当前点击的菜单栏高亮
|
|
|
navItem.forEach((v, i) => i === index ? v.is = true : v.is = false)
|
|
|
this.setData({
|
|
|
showOrHide: true,
|
|
|
selectedItem: selectItem[index].rank,
|
|
|
navItem
|
|
|
})
|
|
|
}, 100)
|
|
|
})
|
|
|
},
|
|
|
// 关闭下拉选项的函数
|
|
|
// 两种情况下会关闭下拉选项
|
|
|
// 1. 选择下拉选项,选择后被选的下拉选项高亮,关闭下拉选项列表
|
|
|
// 2. 点击遮罩层关闭
|
|
|
closeMask: function (e) {
|
|
|
let {
|
|
|
navItem,
|
|
|
listNum,
|
|
|
selectedItem
|
|
|
} = this.data;
|
|
|
// 获取点击的下拉选项内容
|
|
|
const {
|
|
|
contant
|
|
|
} = e.currentTarget.dataset
|
|
|
// 被点击的下拉选项高亮
|
|
|
selectedItem.forEach((v) => v.name === contant ? v.is = true : v.is = false)
|
|
|
// 判断点击的是遮罩层还是下拉选项,如果是下拉选项则把选择的内容赋值到导航栏上,并且把v.is = false,让菜单栏高亮消失
|
|
|
// 如果不是,不用赋值,直接把v.is = false,让菜单栏高亮消失
|
|
|
contant ? (navItem.forEach((v, i) => {
|
|
|
(i === listNum ? (v.name = contant) : (v.name = v.name));
|
|
|
// (i === listNum ? ( e.currentTarget.dataset.id !== 0 ? v.is = true : v.is = false) : (v.is = v.is));
|
|
|
v.is = false
|
|
|
})) : (navItem.forEach((v) => v.is = false))
|
|
|
// 调取借口触发筛选
|
|
|
this.setData({
|
|
|
listNum: -1,
|
|
|
showOrHide: false,
|
|
|
navItem,
|
|
|
selectedItem
|
|
|
})
|
|
|
},
|
|
|
tochoose() {
|
|
|
this.setData({
|
|
|
choose: !this.data.choose
|
|
|
})
|
|
|
},
|
|
|
choose(e) {
|
|
|
let a = e.currentTarget.dataset.data.index
|
|
|
let b = e.currentTarget.dataset.index
|
|
|
let c = 'listdata[' + a + '].refrence[' + b + '].choose'
|
|
|
console.log(this.data,a,b)
|
|
|
// this.setData({
|
|
|
// [c] : !this.data.listdata[a].refrence[b].choose
|
|
|
// })
|
|
|
|
|
|
// let flag = true
|
|
|
// for (let i = 0; i < this.data.listdata[a].refrence.length; i++) {
|
|
|
// if (this.data.listdata[a].refrence[i].choose) {
|
|
|
// } else {
|
|
|
// flag = false
|
|
|
// }
|
|
|
// }
|
|
|
// if (flag) {
|
|
|
// // this.data.listdata[a].all = true
|
|
|
// let d = 'listdata[' + a + '].all'
|
|
|
// this.setData({
|
|
|
// [d]: true
|
|
|
// })
|
|
|
// } else {
|
|
|
// // this.data.listdata[a].all = false
|
|
|
// let d = 'listdata[' + a + '].all'
|
|
|
// this.setData({
|
|
|
// [d]: false
|
|
|
// })
|
|
|
// }
|
|
|
},
|
|
|
chooseall (e) {
|
|
|
let a = 'listdata[' + e.currentTarget.dataset.index + '].all'
|
|
|
let b = e.currentTarget.dataset.index
|
|
|
for (let i = 0; i < this.data.listdata[b].refrence.length; i++) {
|
|
|
let c = 'listdata['+b+'].refrence['+i+'].choose'
|
|
|
this.setData({
|
|
|
[c]: !this.data.listdata[b].all
|
|
|
})
|
|
|
}
|
|
|
this.setData({
|
|
|
[a]: !this.data.listdata[b].all
|
|
|
})
|
|
|
},
|
|
|
/**
|
|
|
* 生命周期函数--监听页面初次渲染完成
|
|
|
*/
|
|
|
onReady() {
|
|
|
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
* 生命周期函数--监听页面显示
|
|
|
*/
|
|
|
onShow() {
|
|
|
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
* 生命周期函数--监听页面隐藏
|
|
|
*/
|
|
|
onHide() {
|
|
|
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
* 生命周期函数--监听页面卸载
|
|
|
*/
|
|
|
onUnload() {
|
|
|
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
* 页面相关事件处理函数--监听用户下拉动作
|
|
|
*/
|
|
|
onPullDownRefresh() {
|
|
|
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
* 页面上拉触底事件的处理函数
|
|
|
*/
|
|
|
onReachBottom() {
|
|
|
this.getdata()
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
* 用户点击右上角分享
|
|
|
*/
|
|
|
onShareAppMessage() {
|
|
|
|
|
|
}
|
|
|
}) |