auction-bid-comp.js 1.68 KB
let app = getApp();
Component({
  options: {
    styleIsolation: 'apply-shared'
  },
  properties: {
    // 这里定义了innerText属性,属性值可以在组件使用时指定
    innerText: {
      type: String,
      value: 'default value',
    },
    maxPrice: {
      type: Number,
      value: 0,
    },
    productInfo: {
      type: Object,
      value: {},
    },
  },
  data: {
    // 这里是一些组件内部数据
    someData: {},
    bidPrice: 0
  },
  methods: {
    // 这里是一个自定义方法
    customMethod() {
      this.triggerEvent('evtcomp', {
        name: "_evt_custom"
      })
    },
    // 设置价格
    setBidPrice(val) {
      this.setData({
        bidPrice: val * 0.01 //表单以元作单位
      })
    },
    bindBidPriceInput(e) {
      this.setData({
        bidPrice: e.detail.value
      });
    },
    // 出价
    onSubmitHandler() {
      let minPrice = (this.properties.maxPrice + this.properties.productInfo.minScope) * 0.01;
      let maxPrice = (this.properties.maxPrice + this.properties.productInfo.maxScope) * 0.01;
      if (this.data.bidPrice < minPrice) {
        wx.showToast({
          title: `出价不能低于¥${minPrice}`,
          icon: 'none'
        })
        return;
      }
      if (this.data.bidPrice > maxPrice) {
        wx.showToast({
          title: `出价不能高于¥${maxPrice}`,
          icon: 'none'
        })
        return;
      }
      this.triggerEvent('evtcomp', {
        name: "_evt_bid_submit",
        data: {
          bidPrice: this.data.bidPrice
        }
      })
    },

    // 隐藏蒙层
    hideMask() {
      this.triggerEvent('evtcomp', {
        name: "_evt_hide_mask"
      });
    }
  }
})