desk.js 2.64 KB
var util = require('../../../../utils/util')
var uri = require('../../../../utils/uri');
Component({
  properties: {
    list: Array,
    checkedTids:{
      type:String,
      value:"",
    },
    reserveId:{
      type:String,
      value:"",
    },
    hasPubSub:{
      type:Boolean,
      value:false
    },
  },
  data: {},
  methods: {
    selectdesk: function (e) {
      var tebleid = e.currentTarget.dataset.id;
      var tables = util.cache('tableid') ? util.cache('tableid') : [];
      var list = this.data.list;
      if(this.data.hasPubSub){
        let checkedTids=this.data.checkedTids.split(',');
        list.forEach( (v, i)=>{
          if (v.id == tebleid) {
            console.log('click.board',v);
            if(this.data.reserveId){
              if(v.reserve_id!=this.data.reserveId){
                if(v.status_str && checkedTids._indexOf(v.id)<0) return util.toast('不能预订该桌位','none');
              }
            }else{
              if(v.status_str && checkedTids._indexOf(v.id)<0) return util.toast('不能预订该桌位','none');
            }
            if (v.isselect == true) {
              var thisindex = tables.indexOf(tebleid);
              tables.splice(thisindex, 1)
            } else {
              tables.push(tebleid)
            }
            v.isselect = !v.isselect
          }
        })
      }else{
        var pages = getCurrentPages();
        var addnewPage=pages[pages.length - 2];
        let checkedTids=this.data.checkedTids.split(',');
        list.forEach( (v, i) =>{
          if (v.id == tebleid) {
            console.log('click.board',v);
            if(this.data.reserveId){
              if(v.reserve_id!=this.data.reserveId) {
                if (v.status_str && checkedTids._indexOf(v.id) < 0) return util.toast('不能预订该桌位', 'none');
              }
            }else{
              if (v.status_str && checkedTids._indexOf(v.id) < 0) return util.toast('不能预订该桌位', 'none');
            }
            if (v.isselect == true) {
              var thisindex = tables.indexOf(tebleid);
              tables.splice(thisindex, 1)
              delete addnewPage.checkedTables[tebleid]
            } else {
              tables.push(tebleid)
              addnewPage.checkedTables[tebleid]=v.name;
            }
            v.isselect = !v.isselect
          }
        })
        addnewPage.data.form.tid = tables;
        addnewPage.setData({
          form: addnewPage.data.form
        })
        console.log('checkedTables',addnewPage.checkedTables);
      }
      util.cache('tableid', tables);
      this.triggerEvent("changedesk");
      this.setData({
        list: list
      })
    }
  }
})