import { getCatalogList,getCataLogTagList, getZhongTaiProductPage } from '../../api/index'
|
Component({
|
/**
|
* 组件的属性列表
|
*/
|
properties: {
|
menuButtonInfo: Object
|
},
|
data: {
|
activeIndex: -1,
|
activeParam: [],
|
tagCodes: [],
|
|
cateList: [],
|
secondCateList: [],
|
datalist: [],
|
pageNum: 1,
|
pageSize: 10,
|
total: 0,
|
query: '',
|
sortType: 'NORMAL',
|
catalogCode: ""
|
},
|
attached() {
|
this.getCatelist()
|
var app = getApp()
|
console.log('globalData', app.globalData);
|
if(app.globalData.catalogCode){
|
this.setData({ catalogCode: app.globalData.catalogCode })
|
setTimeout(() => {
|
console.log('catalogCode', this.data.catalogCode);
|
getApp().globalData.catalogCode = ''
|
}, 2000)
|
}
|
},
|
methods: {
|
getCatelist(){
|
getCatalogList({
|
catalogCode: 'product_intro'
|
}).then(res => {
|
if(res.data && res.data.length > 0){
|
this.setData({
|
catalogCode: this.data.catalogCode || res.data[0].code,
|
cateList: res.data
|
})
|
this.getTag()
|
setTimeout(() => {
|
this.getList()
|
}, 300)
|
}
|
})
|
},
|
getTag() {
|
const catalogCode = this.data.catalogCode
|
getCataLogTagList({
|
catalogCode
|
}).then(res => {
|
this.setData({
|
secondCateList: res.data || [],
|
activeParam: []
|
})
|
})
|
},
|
bindblur() {
|
console.log('失去焦点');
|
this.setData({ pageNum: 1,datalist: [],total: 0})
|
this.getList()
|
},
|
getList() {
|
const { catalogCode,tagCodes, pageNum, pageSize, sortType, query } = this.data
|
getZhongTaiProductPage({
|
catalogCode,pageNum,pageSize,sortType,query,tagCodes
|
}).then(res => {
|
this.setData({
|
datalist: [...this.data.datalist, ...res.data.records],
|
total: res.data.total
|
})
|
})
|
},
|
scrolltolower() {
|
console.log('触底事件');
|
const { total, datalist, pageNum } = this.data
|
if(total > datalist.length){
|
this.setData({ pageNum: pageNum + 1 })
|
this.getList()
|
}else{
|
wx.showToast({
|
title: '暂无更多数据',
|
icon: 'none'
|
})
|
}
|
},
|
cateClick(e) {
|
const catalogCode = e.currentTarget.dataset.code
|
this.setData({ catalogCode, tagCodes: [] })
|
this.setData({ pageNum: 1,datalist: [],total: 0})
|
this.getTag()
|
this.getList()
|
},
|
statusChange(e) {
|
const sortType = e.currentTarget.dataset.status
|
this.setData({sortType})
|
this.setData({ pageNum: 1,datalist: [],total: 0})
|
this.getList()
|
},
|
handleDetail(e) {
|
const id = e.currentTarget.dataset.id
|
wx.navigateTo({
|
url: '/pages/detailDis/product?id=' + id,
|
})
|
},
|
tagClick(e) {
|
const code = e.currentTarget.dataset.code
|
const paramIndex = e.currentTarget.dataset.index
|
const { secondCateList, tagCodes, activeParam, activeIndex } = this.data
|
const index = tagCodes.indexOf(code)
|
if(index === -1){
|
// 同param里code重复
|
if(activeParam && activeParam.length > 0){
|
activeParam.forEach(item => {
|
const indexTemp = tagCodes.indexOf(item.labelValueCode)
|
if(indexTemp > -1){
|
tagCodes.splice(indexTemp, 1)
|
}
|
})
|
}
|
tagCodes.push(code)
|
secondCateList[activeIndex].paramIndex = paramIndex
|
secondCateList[activeIndex].paramName = activeParam[paramIndex].labelValueName
|
}else{
|
tagCodes.splice(index, 1)
|
secondCateList[activeIndex].paramIndex = -1
|
secondCateList[activeIndex].paramName = ''
|
}
|
this.setData({ tagCodes, secondCateList })
|
},
|
changeShowParams(e){
|
const { secondCateList } = this.data
|
const activeIndex = e.currentTarget.dataset.index
|
console.log('activeIndex', activeIndex);
|
console.log('activeIndex', this.data.activeIndex);
|
console.log('secondCateList', secondCateList);
|
if(activeIndex === this.data.activeIndex){
|
this.setData({ activeIndex: -1, activeParam: [] })
|
}else{
|
this.setData({
|
activeIndex,
|
activeParam: secondCateList[activeIndex].valueVos
|
})
|
}
|
console.log('activeParam', this.data.activeParam);
|
// this.setData({showTwo: false})
|
},
|
cancelParam() {
|
const { secondCateList } = this.data
|
secondCateList.forEach(item => {
|
item.paramIndex = -1
|
item.paramName = item.paramName || ''
|
})
|
this.setData({ tagCodes: [],activeParam: [],secondCateList,activeIndex: -1 })
|
},
|
subParam() {
|
this.setData({ activeParam: [] })
|
this.setData({ pageNum: 1,activeIndex: -1, datalist: [],total: 0})
|
this.getList()
|
},
|
}
|
})
|