// components/local/couponItem/couponItem.js
Component({
  // options: {
  //   addGlobalClass: true
  // },
  /**
   * 组件的属性列表
   */
  properties: {
    source: {
      type: String,
      value: '' // 场景 默认为空（简单的列表），可选值：checkBox（勾选操作）
    },
    item: {
      type: Object,
      value: {}
    },
    couponStatus: {
      type: Number,
      value: 0 // 0待使用，1已使用，2已过期
    },
    checkStatus: {
      type: Boolean,
      value: false // 是否选中 0 未选择， 1选中
    }
  },

  /**
   * 组件的初始数据
   */
  data: {
    showRuleText: false,
    marks: {
      // 优惠券类型，1直接抵扣券，2满减券，3全额减免券，4卡券
      1: '抵扣券',
      2: '满减券',
      3: '全额减免券',
      4: '项目卡券'
    }
  },

  /**
   * 组件生命周期函数-在组件实例进入页面节点树时执行)
   */
  attached: function () {
    let { item } = this.data
    // 数据结构不一致，对齐参数
    this.setData({
      'item.coupon_type':
        item.coupon_type == undefined ? item.type : item.coupon_type
    })
  },

  // /**
  //  * 组件数据字段监听器，用于监听 properties 和 data 的变化
  //  */
  // observers: {
  //   checkStatus: function (checkStatus) {
  //     checkStatus == this.data.checkStatus
  //   }
  // },

  /**
   * 组件的方法列表
   */
  methods: {
    /**
     * 点击整条优惠券
     */
    clickItem: function (e) {
      let { source } = this.data
      if (source == 'checkbox') {
        this.check(e)
      }
    },
    /**
     * 展开、收起规则
     */
    clickRuleText: function () {
      this.setData({
        showRuleText: !this.data.showRuleText
      })
    },
    /**
     * 点击使用按钮、勾选按钮
     */
    check: function (e) {
      if (this.data.couponStatus != 0) {
        return
      }
      let checkStatus = !this.data.checkStatus
      this.setData(
        {
          checkStatus: checkStatus
        },
        this.triggerEvent('check', {
          id: e.currentTarget.dataset.id,
          checkStatus: checkStatus
        })
      )
    }
  }
})
