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) 
 | 
      console.log('code', code); 
 | 
      console.log('tagCodes', tagCodes); 
 | 
      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({ pageNum: 1,datalist: [],total: 0}) 
 | 
      this.setData({ tagCodes, secondCateList }) 
 | 
    }, 
 | 
    changeShowParams(e){ 
 | 
      const { secondCateList } = this.data 
 | 
      const activeIndex = e.currentTarget.dataset.index 
 | 
      console.log('activeIndex', 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 = '' 
 | 
      }) 
 | 
      this.setData({ tagCodes: [],activeParam: [],secondCateList,activeIndex: -1 }) 
 | 
    }, 
 | 
    subParam() { 
 | 
      this.setData({ activeParam: [] }) 
 | 
      this.setData({ pageNum: 1,datalist: [],total: 0}) 
 | 
      this.getList() 
 | 
    }, 
 | 
  } 
 | 
}) 
 |