seller-box.js 2.38 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,
    },
    hasSlogan: {
      type: Boolean,
      value: true,
    },
    sellerStyle: {//特殊样式
      type: String,
      value: '',
    }
  },

  /**
   * 组件的初始数据
   */
  data: {},
  attached(){
    this.init()
  },
  /**
   * 组件的方法列表
   */
  methods: {
    init(){
      let seller = this.data.seller
      if(seller && seller.distance){
        seller.distance = parseInt(seller.distance);
        if (seller.distance > 1000) {
          seller.distance = (seller.distance / 1000).toFixed(2) + '公里'
        } else {
          seller.distance += '米';
        }
      }
      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)
        }
      })
    },
  }
})