import { getCataLogTagList, getZhongTaiWholecasePage, actionDo } from '../../api/index' let touchDot = 0 Component({ /** * 组件的属性列表 */ properties: { menuButtonInfo: Object }, data: { // 动画 showTouch: true, animationData: {}, activeIndex: -1, activeParam: [], selParam: '', tagCodes: [], isLoading:false, cateList: [], dataList: [], total: 0, pageNum: 1, pageSize: 10, query: '', sortType: '', catalogCode: 'whole_case' }, attached() { this.getCatelist() this.getList() 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(){ const { catalogCode } = this.data getCataLogTagList({ catalogCode }).then(res => { if(res.data && res.data.length > 0){ this.setData({ cateList: res.data }) } }) }, getList() { if(this.data.isLoading){ return } this.setData({isLoading:true}) const { sortType, query, tagCodes, pageNum, pageSize,catalogCode } = this.data getZhongTaiWholecasePage({ catalogCode,pageNum,pageSize,tagCodes, sortType,query }).then(res => { if(res.data && res.data.records){ this.setData({ total: res.data.total, dataList: [...this.data.dataList, ...res.data.records], }) } }).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' }) } }, statusChange(e) { const sortType = e.currentTarget.dataset.status this.setData({sortType}) this.setData({ pageNum: 1,dataList: [],total: 0}) this.getList() }, handleAction(e){ const actionType = e.currentTarget.dataset.code const id = e.currentTarget.dataset.id actionDo({ actionType, id }).then(res => { this.getList() }) }, handleDetail(e) { const id = e.currentTarget.dataset.id wx.navigateTo({ url: '/pages/detailDis/case?id=' + id, }) }, tagClick(e) { if(this.data.isLoading){ return } const code = e.currentTarget.dataset.code const paramIndex = e.currentTarget.dataset.index const { cateList, tagCodes, activeParam, activeIndex } = this.data const index = tagCodes.indexOf(code) if( cateList[activeIndex].tempParamIndex==null || cateList[activeIndex].tempParamIndex != paramIndex){ cateList[activeIndex].tempParamIndex = paramIndex cateList[activeIndex].tempParamName = activeParam[paramIndex].labelValueName cateList[activeIndex].tempParamCode = code } else { cateList[activeIndex].tempParamIndex = -1 cateList[activeIndex].tempParamName = null cateList[activeIndex].tempParamCode = null } this.setData({cateList }) console.log('tagCodes', tagCodes); }, cancelParam() { const { cateList } = this.data cateList.forEach(item => { item.tempParamIndex =item.paramIndex item.tempParamName =item.paramName item.tempParamCode =item.paramCode }) this.setData({ activeParam: [],cateList , activeIndex: -1 }) }, bindblur() { this.setData({ pageNum: 1,dataList: [],total: 0}) this.getList() }, subParam() { this.setData({ activeParam: [] }) const { cateList } = this.data var codes = [] cateList.forEach(item => { item.paramIndex =item.tempParamIndex item.paramName =item.tempParamName item.paramCode =item.tempParamCode if(item.paramIndex >-1 && item.paramCode){ codes.push(item.paramCode) } }) this.setData({tagCodes:codes, pageNum: 1, activeIndex: -1, dataList: [], total: 0 }) this.getList() }, changeShowParams(e){ const { cateList } = this.data const activeIndex = e.currentTarget.dataset.index if(activeIndex === this.data.activeIndex){ this.setData({ activeIndex: -1, activeParam: [], selParam: '' }) }else{ this.setData({ activeIndex, activeParam: cateList[activeIndex].valueVos }) } // this.setData({showTwo: false}) }, changeTwo(){ const showTwo = !this.data.showTwo this.setData({showTwo}) this.setData({showOne: false}) }, } })