| import { getCataLogTagList, getZhongTaiWholecasePage, actionDo } from '../../api/index' | 
| import { eventBus } from '../../utils/eventBus' | 
| Component({ | 
|   /** | 
|    * 组件的属性列表 | 
|    */ | 
|   properties: { | 
|     menuButtonInfo: Object | 
|   }, | 
|   data: { | 
|     activeIndex: -1, | 
|     activeParam: [], | 
|     selParam: '', | 
|     tagCodes: [], | 
|     isLoading :false, | 
|   | 
|     cateList: [], | 
|     dataList: [], | 
|     total: 0, | 
|     pageNum: 1, | 
|     pageSize: 10, | 
|     query: '', | 
|     sortType: '', | 
|     catalogCode: 'whole_case' | 
|   }, | 
|   pageLifetimes: { | 
|     show: function() { | 
|       // 页面被展示 | 
|       console.log('组件被展示'); | 
|       eventBus.once('caseDeBack', (info) => { | 
|         const dataList = this.data.dataList | 
|         dataList.forEach(item => { | 
|           if(item.id === info.id){ | 
|             item.isCollection = info.isCollection | 
|             item.viewCount ++ | 
|           } | 
|         }) | 
|         this.setData({ dataList }) | 
|       }) | 
|     }, | 
|   }, | 
|   attached() { | 
|     this.getCatelist() | 
|     this.getList() | 
|   }, | 
|   methods: { | 
|     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) { | 
|           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) { | 
|         // // 同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) | 
|         cateList[activeIndex].tempParamIndex = paramIndex | 
|         cateList[activeIndex].tempParamName = activeParam[paramIndex].labelValueName | 
|         cateList[activeIndex].tempParamCode = code | 
|       } else { | 
|         // tagCodes.splice(index, 1) | 
|         cateList[activeIndex].tempParamIndex = -1 | 
|         cateList[activeIndex].tempParamName = null | 
|         cateList[activeIndex].tempParamCode = null | 
|       } | 
|       // this.setData({ pageNum: 1, dataList: [], total: 0 }) | 
|       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 }) | 
|     }, | 
|   } | 
| }) |