import { getCatalogList,getCataLogTagList, getZhongTaiProductPage } from '../../api/index' let touchDot = 0 Component({ /** * 组件的属性列表 */ properties: { menuButtonInfo: Object }, data: { // 动画 showTouch: true, animationData: {}, activeIndex: -1, activeParam: [], tagCodes: [], cateList: [], secondCateList: [], datalist: [], isLoading:false, pageNum: 1, pageSize: 10, total: 0, query: '', sortType: '', 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) } this.animation = wx.createAnimation({ duration: 600, timingFunction: 'ease', }); }, methods: { bindscrolltoupper() { this.setData({ showTouch: true }) this.fadeIn(); }, touchstart(e){ touchDot = e.detail.scrollTop; }, touchmove(e) { var touchMove = e.detail.scrollTop; if(touchMove - touchDot > 24){ touchDot = touchMove this.fadeOut(); } if(touchDot - touchMove > 24){ touchDot = touchMove setTimeout(() => { this.setData({ showTouch: true }) this.fadeIn(); }, 200) } }, fadeIn: function () { this.animation.opacity(1).step(); this.setData({ animationData: this.animation.export() }); }, fadeOut: function () { this.animation.opacity(0).step(); this.setData({ animationData: this.animation.export() }); setTimeout(() => { this.setData({ showTouch: false }); }, 200); // 动画持续时间 }, refreshCount(){ let temData = wx.getStorageSync('conentCountTemp') if(temData && this.data.datalist){ var dataList =this.data.datalist; dataList.forEach(item =>{ if(item.id+'' == temData.id+'' ){ item.viewCount = (item.viewCount ||0)+1; if( item.isCollection != temData.isCollection){ if(item.isCollection){ item.collectCount = (item.collectCount || 0)-1 item.collectCount = item.collectCount >=0? item.collectCount :0; } else{ item.collectCount = (item.collectCount || 0)+1 } item.isCollection = temData.isCollection } } }) this.setData({datalist:dataList}) wx.setStorageSync('conentCountTemp',null) } }, 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 => { if(res.data && res.data.records){ this.setData({ datalist: [...this.data.datalist, ...res.data.records], total: res.data.total }) } }).finally(()=>{ this.setData({isLoading:false}) }) }, 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) { var {isLoading} = this.data if(isLoading){ return } this.setData({isLoading:true}) 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 if( secondCateList[activeIndex].tempParamIndex==null || secondCateList[activeIndex].tempParamIndex != paramIndex){ // 同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].tempParamIndex = paramIndex secondCateList[activeIndex].tempParamCode = code secondCateList[activeIndex].tempParamName = activeParam[paramIndex].labelValueName } else { // tagCodes.splice(index, 1) secondCateList[activeIndex].tempParamIndex = -1 secondCateList[activeIndex].tempParamCode = '' secondCateList[activeIndex].tempParamName = '' } 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.tempParamIndex = item.paramIndex item.tempParamName = item.paramName item.tempParamCode = item.paramCode }) // this.setData({ tagCodes: [], activeParam: [], secondCateList, activeIndex: -1 }) this.setData({ activeParam: [],activeIndex: -1 ,secondCateList}) }, subParam() { const { secondCateList } = this.data var codes = [] secondCateList.forEach(item => { item.paramIndex = item.tempParamIndex item.paramName = item.tempParamName item.paramCode = item.tempParamCode if( item.paramIndex>-1 && item.tempParamCode){ codes.push( item.tempParamCode) } }) this.setData({tagCodes:codes}) this.setData({ pageNum: 1, activeParam: [] ,activeIndex: -1, datalist: [], total: 0 }) this.getList() }, } })