seller-box.js 3.21 KB
// components/reserve/seller-box/seller-box.js
import util from '../../../utils/util';
import App from '../../../utils/api';
const {regeneratorRuntime} = global
Component({
  /**
   * 组件的属性列表
   */
  properties: {
    seller:{
        type:Object,
        value:{},
    },
    hasStat:{
      type:Boolean,
      value:false,
    },
    hasAverage:{
      type:Boolean,
      value:true,
    },
    hasActivity:{//滚动优惠
      type:Boolean,
      value:false,
    },
    hasActivityTags:{//优惠标签
      type:Boolean,
      value:false,
    },
    hasActivityShort:{//店铺名后面的惠字
      type:Boolean,
      value:false,
    },
    hasSlogan:{
      type:Boolean,
      value:true,
    },
    hasBrand:{//店铺品牌
      type:Boolean,
      value:false,
    },
    hasActivityTese:{//店铺特色
      type:Boolean,
      value:false,
    },
    sellerStyle:{//特殊样式
      type:String,
      value:'',
    }
  },

  /**
   * 组件的初始数据
   */
  data: {
  },
  lifetimes: {
    attached: function () {},
    moved: function () { },
    detached: function () { },
  },
  observers:{
    'seller':function(seller){
      this.init()
    }
  },
  /**
   * 组件的方法列表
   */
  methods: {
      init(){
        let seller=this.data.seller
        if(seller.distance || seller.distance!=="") {
          seller.distance = parseInt(seller.distance);
          if (seller.distance > 1000) {
            seller.distanceStr = (seller.distance / 1000).toFixed(2) + 'km'
          } else {
            seller.distanceStr = seller.distance+'m';
          }
          if(seller.label_c.length>0) {
            let label_cstr=[];
            seller.label_c.forEach(l=>{
              label_cstr.push(l.name)
            })
            seller.label_cstr=label_cstr.join(' | ')
          }
          this.setData({
            se: seller,
          })
        }
      },
      tapButton(e){
          let type=util.attr(e,'type');
          if(type=='oncall'){
              let seller_tel=this.data.seller.seller_tel;
              if(seller_tel.length<1){
                seller_tel=[this.data.seller.phone]
              }
              if(seller_tel.length==1){
                wx.makePhoneCall({
                  phoneNumber:seller_tel[0].replace(/[^\d]/g,'')
                })
              }else{
                //wx.hideTabBar();
                wx.showActionSheet({
                  itemList:seller_tel,
                  complete:()=>{
                    //wx.showTabBar();
                  },
                  success:(res)=>{
                    let phone=seller_tel[res.tapIndex]
                    wx.makePhoneCall({
                      phoneNumber:phone.replace(/[^\d]/g,'')
                    })
                  }
                });
              }

          }else{
              util.toast('请打电话预订','none');
          }
      },
      lookLocation:function(){
          wx.openLocation({
              latitude:Number(this.data.seller.lat),
              longitude:Number(this.data.seller.long),
              scale:17,
              address:this.data.seller.map_address,
              success:function (res) {
                  console.log(res)
              }
          })
      },
  }
})