123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- // 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
- })
- )
- }
- }
- })
|