You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
1.1 KiB
58 lines
1.1 KiB
2 years ago
|
const statusMap = {
|
||
|
default: { text: '去使用', theme: 'primary' },
|
||
|
useless: { text: '已使用', theme: 'default' },
|
||
|
disabled: { text: '已过期', theme: 'default' },
|
||
|
};
|
||
|
Component({
|
||
|
options: {
|
||
|
addGlobalClass: true,
|
||
|
multipleSlots: true, // 在组件定义时的选项中启用多slot支持
|
||
|
},
|
||
|
|
||
|
externalClasses: ['coupon-class'],
|
||
|
|
||
|
properties: {
|
||
|
couponDTO: {
|
||
|
type: Object,
|
||
|
value: {}, // 优惠券数据
|
||
|
},
|
||
|
},
|
||
|
|
||
|
data: {
|
||
|
btnText: '',
|
||
|
btnTheme: '',
|
||
|
},
|
||
|
|
||
|
observers: {
|
||
|
couponDTO: function (couponDTO) {
|
||
|
if (!couponDTO) {
|
||
|
return;
|
||
|
}
|
||
|
const statusInfo = statusMap[couponDTO.status];
|
||
|
|
||
|
this.setData({
|
||
|
btnText: statusInfo.text,
|
||
|
btnTheme: statusInfo.theme,
|
||
|
});
|
||
|
},
|
||
|
},
|
||
|
|
||
|
attached() {},
|
||
|
|
||
|
methods: {
|
||
|
// 跳转到详情页
|
||
|
gotoDetail() {
|
||
|
wx.navigateTo({
|
||
|
url: `/pages/coupon/coupon-detail/index?id=${this.data.couponDTO.key}`,
|
||
|
});
|
||
|
},
|
||
|
|
||
|
// 跳转到商品列表
|
||
|
gotoGoodsList() {
|
||
|
wx.navigateTo({
|
||
|
url: `/pages/coupon/coupon-activity-goods/index?id=${this.data.couponDTO.key}`,
|
||
|
});
|
||
|
},
|
||
|
},
|
||
|
});
|