<template> <view> <view class="width90"> <view class="flright fotct"> <image class="coupon-img" :src="imageUrl+couponsDetails.highDiscount.discountImg"></image> </view> <view class="coupon-mes mart10" style="margin-right: 90px;"> <view class="fcor333 fontwig6 font24 width100 text2">{{couponsDetails.highDiscount.discountName}}</view> <view class="fcor666 font13 width100 mart5"> 活动截止时间:{{salesEndTime | formatDate('-')}}</view> </view> <view class="fcor666 font13 width100 mart5"> 领取有效期:{{couponsDetails.highDiscount.effectiveDay}}天 </view> <view class="fcor666 font13 width100 mart5"> 剩余数量:{{couponsDetails.stockCount}} </view> </view> <view class="line1 mart15"></view> <button class="coupne-btn width60w mart20 marb20" @click="receiveDiscount">点击领取</button> <view class="width90 mart10 fcor666">去使用</view> <view v-if="minecoupones == '' " class="mart60 fotct font14 fcor666"> <image mode="widthFix" style="width: 70vw;" :src="imagewxUrl+imgadres"></image> </view> <view class="product-list mart20 width90"> <view class="product" v-for="product in minecoupones" :key="product.id" @tap="toGoods(product.highCoupon.id)"> <image mode="widthFix" :src="imageUrl+product.highCoupon.couponImg"></image> <view class="name">{{ product.highCoupon.couponName }}</view> <view class="info"> <view class="price"> ¥{{ product.highCoupon.discountPrice}} </view> <view class="slogan" v-if="product.highCoupon.discountPrice !== product.highCoupon.salesPrice"> ¥{{ product.highCoupon.salesPrice}} </view> </view> </view> </view> <view class="width100 height60"></view> </view> </template> <script> import { getCouponByDiscount, getDiscountByCode, receive, } from '../../Utils/Api.js'; let app = getApp(); export default { data() { return { minecoupones: [], imageUrl: app.globalData.imgUrl, imagewxUrl: app.globalData.imageWxImg, imgadres: 'noorder.png', pageNum: 1, pageSize: 10, isNoMoreData: false, couponsDetails: '', salesEndTime: '', codes: '', } }, filters: { //过滤器 用于格式化时间 formatDate: function(value, spe = '/') { let data = new Date(value); let year = data.getFullYear(); let month = data.getMonth() + 1; let day = data.getDate(); let h = data.getHours(); let mm = data.getMinutes(); let s = data.getSeconds(); month = month >= 10 ? month : "0" + month; day = day >= 10 ? day : "0" + day; h = h >= 10 ? h : "0" + h; mm = mm >= 10 ? mm : "0" + mm; s = s >= 10 ? s : "0" + s; return `${year}${spe}${month}${spe}${day}`; } }, onShow() {}, onLoad() { this.getDiscountByCode(); }, onUnload() { uni.removeStorage({ key: 'accountType' }) app.globalData.accountType = ''; }, methods: { //获取卡券详情 getDiscountByCode() { let that = this; let params = { code: app.globalData.staffCode } getDiscountByCode(params).then(res => { if (res.return_code == '000000') { that.couponsDetails = res.return_data; that.salesEndTime = res.return_data.highDiscount.salesEndTime; that.getCouponByDiscount(res.return_data.highDiscount.id); } else { uni.showToast({ title: res.return_msg, icon: 'none', duration: 2000 }) } }) }, //根据优惠券查询卡券列表 getCouponByDiscount(item) { let params = { discountId: item } getCouponByDiscount(params).then(res => { if (res.return_code == '000000') { this.minecoupones = res.return_data; } }) }, //领取 receiveDiscount() { uni.showLoading({ title: '领取中...' }) let params = { code: app.globalData.staffCode } receive(params).then(res => { if (res.return_code == '000000') { uni.hideLoading(); uni.showToast({ icon: 'none', title: res.return_data, duration: 2000 }) this.getDiscountByCode(); } else { uni.hideLoading(); uni.showToast({ icon: 'none', title: res.return_msg, duration: 2000 }) } }) }, //商品跳转 toGoods(e) { uni.navigateTo({ url: '../../pages/order/confirmation?id=' + e }) } } } </script> <style lang="scss"> .coupon-mes { // margin-right: 90px; } .coupon-img { width: 80px; height: 80px; } .product-list { display: flex; justify-content: space-between; flex-wrap: wrap; .product { width: 48%; border-radius: 20upx; background-color: #fff; margin: 0 0 15upx 0; box-shadow: 0upx 5upx 25upx rgba(0, 0, 0, 0.1); image { width: 100%; border-radius: 20upx 20upx 0 0; } .name { width: 92%; padding: 7upx 4%; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; text-align: justify; overflow: hidden; font-size: 30upx; } .info { display: flex; justify-content: space-between; align-items: flex-end; width: 92%; padding: 10upx 4% 10upx 4%; .price { color: #e65339; font-size: 30upx; font-weight: 600; } .slogan { color: #807c87; font-size: 24upx; text-decoration: line-through; margin-right: 10px; } } } } .coupne-btn { background-color: red; color: #FFFFFF; } </style>