// components/static/coupon-popup/coupon-popup.ts import { request } from "../../../utils/request"; const app = getApp(); Component({ /** * 组件的属性列表 */ properties: { hasTabBar: { type: Boolean, value: false, }, }, /** * 组件的初始数据 */ data: { visible: false, couponList: [], safeBottom: app.globalData.safeBottom, }, /** * 组件的方法列表 */ methods: { async handleSwitch(amount?: number) { const that = this as any; if (amount) { try { const res = await request({ options: { url: "/app/mini-app/user-coupon", data: { amount, mbuId: wx.getStorageSync('mbuId') } }, needLogin: true }) if (!res || !res.data || res.data.length == 0) { // wx.showToast({ // title: "没有可使用的优惠券", // icon: "none", // duration: 2000 // }) that.triggerEvent('select', { coupon: null }); return; } else { if (res.data.length > 0) res.data.forEach((item: any) => { item.discountPrice = (item.discountPrice / 100).toFixed(2); item.usePrice = item.usePrice / 100; item.validStartTime = item.validStartTime.replace("T", " "); item.validEndTime = item.validEndTime.replace("T", " "); }); //金额单位为分 that.setData({ couponList: res.data, visible: true }) } } catch (e) { console.log(e, 'error'); wx.showToast({ title: "查询优惠券信息出错了!", icon: "none", duration: 2000 }) that.setData({ visible: false, }) } } else { that.setData({ visible: false, }) } }, //选择优惠券 handleSelect(e: any) { const that = this as any; const index = e.currentTarget.dataset.index; const coupon = that.data.couponList[index]; that.setData({ visible: false }); that.triggerEvent('select', { couponId: coupon?.couponIds?.[0] ?? coupon?.id ?? null, coupon }); }, handleClose(this: WechatMiniprogram.Component.TrivialInstance) { this.setData({ visible: false }); this.triggerEvent("select", { couponId: null }); }, closePopup(this: WechatMiniprogram.Component.TrivialInstance) { this.setData({ visible: false }); }, } })