// components/static/coupon-popup/coupon-popup.ts
import { request } from "../../../utils/request";
const app = getApp<IAppOption>();

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 });
        },
    }
})
