| import { getCatalogList,getCataLogTagList, getZhongTaiProductPage } from '../../api/index' | 
| Component({ | 
|   /** | 
|    * 组件的属性列表 | 
|    */ | 
|   properties: { | 
|     menuButtonInfo: Object | 
|   }, | 
|   data: { | 
|     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) | 
|     } | 
|   }, | 
|   methods: { | 
|     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 => { | 
|         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() | 
|     }, | 
|   } | 
| }) |