seller-box.js 3.08 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: '',
    },
    hasSuggestion:{//是否有搜索目的地
      type: Boolean,
      value: false,
    },
  },

  /**
   * 组件的初始数据
   */
  data: {},
  lifetimes: {
    attached: function () {
    },
    moved: function () {
    },
    detached: function () {
    },
  },
  observers: {
    'seller': function () {
      this.init()
    }
  },
  /**
   * 组件的方法列表
   */
  methods: {
    init() {
      let seller = this.data.seller
      seller.label_cstr=''
      if (seller && seller.label_c && 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') {
        if(this.data.seller.is_online_reserve==1){
          return wx.navigateTo({
            url:util.http_build_query({id:this.data.seller.id,activeTab:'reserve'},'/pages/reserve/detail')
          })
        }
        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)
        }
      })
    },
  }
})