From ffd407012d000d1a1b9d36c01646d2cdb22675b4 Mon Sep 17 00:00:00 2001
From: 陶杰 <1378534974@qq.com>
Date: 星期五, 11 十月 2024 15:12:21 +0800
Subject: [PATCH] 1.优惠券规则修改 2.已使用的优惠券样式修改

---
 sub_pages/customer/coupon/coupon-self.vue |  119 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 108 insertions(+), 11 deletions(-)

diff --git a/sub_pages/customer/coupon/coupon-self.vue b/sub_pages/customer/coupon/coupon-self.vue
index dacb1f9..7db99a3 100644
--- a/sub_pages/customer/coupon/coupon-self.vue
+++ b/sub_pages/customer/coupon/coupon-self.vue
@@ -1,6 +1,6 @@
 <template>
 	<view class="coupon-container">
-		<view class="p10">
+		<view class="p10" v-if="source!=='shopping'">
 			<top-tabs :tabs="tabs" :flg="flg" @change="changeTab" type="coupon">
 
 			</top-tabs>
@@ -8,7 +8,8 @@
 		<view class="">
 			<no-data v-if="!list||list.length==0" style="width: 100%;"></no-data>
 
-			<view v-for="(item,index) of list" :key="index" class="coupont-item" :class="[query.status]">
+			<view v-for="(item,index) of list" :key="index" class="coupont-item" :class="[query.status]"
+				@click.stop="selectCoupon(item)">
 				<view class="flex container img100">
 					<view class="info-price">
 						<view class="price1">
@@ -17,26 +18,46 @@
 						<view class="price2">{{item.minOrderAmount?(`满¥${item.minOrderAmount}可用`):'无门槛'}}</view>
 					</view>
 					<view class="info flex1">
-						<view class="title">
+						<view class="title flex">
 							{{item.couponName||'-'}}
+						<!-- 	<radio  :checked="cache_coupon.id===item.id"
+							v-if="source==='shopping'"
+								class="select-coupon"></radio> -->
+							<view :style="{ 'margin-right': '20rpx'}" v-if="source==='shopping'"
+								  class="component-radio m-l-a" :class="[cache_coupon.id===item.id?'cur':'']">
+							
+							</view>
+
 						</view>
 						<view class="time">
-							{{item.usageEndDate&&('有效期至:'+item.usageEndDate) || '长久有效'}}
+							<!-- {{item.effectiveStart&&(item.effectiveStart+' 生效,') || ''}} -->
+							{{item.effectiveEnd&&('有效期至 '+item.effectiveEnd) || '长久有效'}}
 						</view>
 					</view>
+					<view class="img-out">
+						
+					</view>
+					<view class="img-used">
+						
+					</view>
+					
+					.
 				</view>
 				<view class="tip">
 					<span
-						class="t-red">*</span>{{item.couponDescription || '此券每人限领1张。仅限用于花满芜鲜花交易平台鲜切花花款满额使用,不可与其他优惠同享、不可叠加使用'}}
+						class="t-red">*</span>{{item.couponDescription || '此券每人限领1张。仅限用于花满芫鲜花交易平台鲜切花花款满额使用,不可与其他优惠同享、不可叠加使用'}}
 				</view>
 			</view>
 		</view>
-		<view style="min-height: 130rpx;"></view>
-		<view class="bottom-button" @click="getCoupon">领取优惠券</view>
+		<view style="min-height: 130rpx;" v-if="source!=='shopping'"></view>
+		<view class="bottom-button" v-if="source!=='shopping'" @click="getCoupon">领取优惠券</view>
 	</view>
 </template>
 
 <script>
+	import {
+		mapState
+	} from 'vuex'
 	export default {
 		data() {
 			return {
@@ -63,17 +84,75 @@
 				query: {
 					status: 'unused'
 				},
-				list: []
+				list: [],
+				source: '',
+				paymoney: -1
+
 			}
 		},
-		async onLoad() {
-			this.listApi = '/api/v2/coupon/app' + `/mine/${this.query.status}/list`
+		async onLoad(options) {
+			if (options.source) {
+				this.source = options.source || ''
+			}
+			if (options.paymoney) {
+				this.paymoney = parseFloat(options.paymoney).toFixed(2)
+			}
+			if (this.source === 'shopping') {
+				//只展示可用的
+				this.page.size = 100
+				this.listApi = '/api/v2/coupon/app' + `/mine/unused/list`
+
+			} else {
+				this.listApi = '/api/v2/coupon/app' + `/mine/${this.query.status}/list`
+
+			}
 			await this.$store.dispatch('sign_clear', 'coupon')
 
 			this.getList()
 		},
-
+		onReachBottom() {
+			this.getMore()
+		},
 		methods: {
+			async selectCoupon(item) {
+				if (this.source == 'shopping') {
+					if (this.cache_coupon.id === item.id) {
+						await this.$message.confirm('是否取消使用此优惠券')
+						await this.$store.dispatch('cache_coupon_select', {})
+						uni.navigateBack()
+						return
+					}
+					console.log('paymoney',this.paymoney)
+					if (this.paymoney >= 0) {
+						//判断是否可以选择使用
+						if (item.couponDiscountType === 'zero') {
+							// if (this.cache_coupon.couponDiscountValue > this.paymoney) {
+							// 	this.$message.showToast('订单价格小于优惠券优惠额度')
+							// 	return
+							// }
+						} else if (item.minOrderAmount && item.minOrderAmount > 0) {
+							// if (this.cache_coupon.minOrderAmount > this.paymoney) {
+							// 	this.$message.showToast('订单价格')
+							// 	return
+							// }
+							if (this.paymoney < item.minOrderAmount) {
+								this.$message.showToast('订单价格不满足使用条件')
+								this.$nextTick(()=>{
+									this.$forceUpdate()
+								})
+								return
+							}
+						} else {
+							// if (this.cache_coupon.couponDiscountValue > this.paymoney) {
+							// 	this.$message.showToast('订单价格小于优惠券优惠额度')
+							// 	return
+							// }
+						}
+					}
+					await this.$store.dispatch('cache_coupon_select', item)
+					uni.navigateBack()
+				}
+			},
 			changeTab(flg) {
 				this.flg = '' + flg
 				this.query.status = this.tabs[flg].status
@@ -97,6 +176,16 @@
 			uni.stopPullDownRefresh()
 
 		},
+		computed: {
+			...mapState({
+				cache_coupon: state => {
+					return state.cache.coupon || {}
+				},
+				cache_goods: state => {
+					return state.cache.goods || []
+				},
+			}),
+		}
 	}
 </script>
 
@@ -114,6 +203,14 @@
 				display: unset;
 			}
 		}
+		
+		.coupont-item.used {
+			filter: grayscale(100%);
+		
+			.img-used {
+				display: unset;
+			}
+		}
 
 
 		.bottom-button {

--
Gitblit v1.9.3