filter-group.js 2.11 KB
// components/2.0/filter/filter-group.js
import DA from '../../../pages/reserve/data';
Component({
  /**
   * 组件的属性列表
   */
  properties: {
    height:Number,
  },

  /**
   * 组件的初始数据
   */
  data: {
    multiArray: ['全部菜系'],
    multiIndex: [0],
    tags: [
      {id: 1, name: '环境好'},
      {id: 2, name: '菜品有特色'},
      {id: 3, name: '超大包间'},
    ],
    caixiOpened:false,
    filterOpened:false,
  },
  attached(){
    this.init()
    this.filterParams= null
  },
  /**
   * 组件的方法列表
   */
  methods: {
    async init(){
      this.setData({
        multiArray: [['全部菜系'].concat(await DA.getCates())]
      })
    },
    caixiActive(e) {
      console.log('caixiActive', e);
      this.setData({
        multiIndex: [e.detail]
      })
      this.hide()
    },
    caixiShow() {
      if(this.data.caixiOpened){
        this.selectComponent('#caixi').hide();
        this.setData({
          caixiOpened:false,
        })
      }else{
        this.selectComponent('#filter').hide();
        this.selectComponent('#caixi').show();
        this.setData({
          caixiOpened:true,
          filterOpened:false,
        })
      }
    },
    filterShow() {
      if(this.data.filterOpened){
        this.selectComponent('#filter').hide();
        this.setData({
          filterOpened:false,
        })
      }else{
        this.selectComponent('#caixi').hide();
        this.selectComponent('#filter').show(this.filterParams);
        this.setData({
          filterOpened:true,
          caixiOpened:false,
        })
      }
    },

    filterEvent(e) {
      console.log('filterEvent', e)
      if (e.detail.type == 'clean') {
        this.filterParams = null
        this.setData({
          filterParams: null,
        })
      } else {
        this.filterParams = e.detail.data
        this.setData({
          filterParams: this.filterParams,
        })
      }
    },
    hide(){
      this.selectComponent('#caixi').hide();
      this.selectComponent('#filter').hide();
      this.setData({
        filterOpened:false,
        caixiOpened:false,
      })
    },
  }
})