seckill-order-comp.js 2.56 KB
let app = getApp();
Component({
  options: {
    styleIsolation: 'apply-shared'
  },
  properties: {
    // 这里定义了innerText属性,属性值可以在组件使用时指定
    // cid 用户区分组件
    cid: {
      type: String,
      value: '1',
    },
    innerTitle: {
      type: String,
      value: '',
    },
    innerText: {
      type: String,
      value: '',
    },
    innerButton: {
      type: String,
      value: '确定',
    },
    userInfo: {
      type: Object,
      value: {}
    },
    productInfo: {
      type: Object,
      value: {}
    },
    // 订单状态
    orderStatus: {
      type: Number,
      value: 0,
    },
    // 是否售罄
    isSellOut: {
      type: Boolean,
      value: false,
    }
  },
  data: {
    // 这里是一些组件内部数据
    someData: {},
    num: 1,
    remark: "",
  },
  methods: {

    // 这里是一个自定义方法
    customMethod() {
      this.triggerEvent('evtcomp', {
        name: "_evt_custom"
      })
    },
    onStepperChange(e) {
      let val = e.detail;
      // if(val > this.properties.productInfo.maxNum) val = this.properties.productInfo.maxNum;
      // if(val < this.properties.productInfo.minNum) val = this.properties.productInfo.minNum;
      this.setNum(val);
    },
    onStepperBlur(e) {
      let val = e.detail.value;
      this.fixStepperVal(val);
    },
    onStepperMod(e) {
      let val = this.data.num;
      this.fixStepperVal(val);
    },
    fixStepperVal(val) {
      if (val > this.properties.productInfo.maxNum) val = this.properties.productInfo.maxNum;
      if (val < this.properties.productInfo.minNum) val = this.properties.productInfo.minNum;
      this.setNum(val);
    },

    bindRemarkInput(e) {
      this.setData({
        remark: e.detail.value
      });
    },
    setNum(val) {
      this.setData({
        num: val
      })
    },
    setRemark(val) {
      this.setData({
        remark: val
      })
    },
    // 隐藏蒙层
    hideMask() {
      this.triggerEvent('evtcomp', {
        name: "_evt_hide_mask"
      });
    },

    // 点击自定义按钮
    onInnerButtonHandler(evt) {
      this.triggerEvent('evtcomp', {
        name: "_evt_hide_mask"
      });
    },

    // 确认下单
    onSubmitOrderHandler(evt) {
      this.triggerEvent('evtcomp', {
        name: "_evt_submit_order",
        data: {
          num: this.data.num,
          remark: this.data.remark,
        }
      });
    },

    // 返回个人中心
    onReturnUserCenterHandler(evt) {
      this.triggerEvent('evtcomp', {
        name: "_evt_return_user_center"
      });
    }
  }
})