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