From 41426416bd250130129fb8a547bee874375768a8 Mon Sep 17 00:00:00 2001
From: 陶杰 <1378534974@qq.com>
Date: 星期四, 14 十一月 2024 09:47:15 +0800
Subject: [PATCH] 1.付款:改成15分钟,并使用服务器时间进行倒计时 2.优惠券中心:已经领取(达到最大次数),显示已领取且置灰,未领取根据创建时间放前面,已领取根据首次时间正序排序 3.购物车-提交订单:自动根据订单金额选择合适优惠券

---
 sub_pages/customer/shopping/shopping.vue |  117 ++++++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 97 insertions(+), 20 deletions(-)

diff --git a/sub_pages/customer/shopping/shopping.vue b/sub_pages/customer/shopping/shopping.vue
index 766613d..fc4b6a7 100644
--- a/sub_pages/customer/shopping/shopping.vue
+++ b/sub_pages/customer/shopping/shopping.vue
@@ -10,12 +10,13 @@
 			<view class="name">
 				15974805814
 			</view>
+			<view class="m-l-a m-r-0">
+				<uni-icons v-if="list&&list.length>0" type="trash" size="28" @click="batchDelete"></uni-icons>
+			</view>
 		</view>
 		<view class="">
 			<no-data v-if="!list||list.length===0" style="width: 100%;"></no-data>
 			<view class="shopping-item m-t-20" v-for="(item,index) of list" :key="index">
-
-
 				<view class="sup-title">
 					<radio :checked="ids.indexOf('supplier@'+item.supplierId)>=0" @click="changeItem(item,'supplier')">
 					</radio>
@@ -28,23 +29,26 @@
 						<u-swipe-action-item :options="options1" @click="(e)=>{clickSwipeButton(dto,true)}">
 							<view class="item-each flex">
 								<radio :checked="ids.indexOf(dto.id)>=0" @click="changeItem(dto,'flower')"></radio>
-								<image class="img img100 m-r-6 br-4" :class="[!dto.stock?'component-stock-zero':'']"
-									:src="dto.url||dto.cover"></image>
+								<image class="img img100 m-r-6 br-4" :lazy-load="true"
+									:class="[!dto.stock?'component-stock-zero':'']" :src="dto.url||dto.cover"></image>
 								<view class="flex1">
-									<view class="title" @click.stop="toDetail(dto)"><span class="m-r-5"
-											style="display: inline-block;">{{dto.categoryStr||''}}</span><span
-											v-if="dto.levelStr" class="m-r-5"
+									<view class="title" @click.stop="toDetail(dto)">
+										<!-- <span class="m-r-5"
+											style="display: inline-block;">{{dto.categoryStr||''}}</span> -->
+											<span
+											v-if="dto.levelStr" class="m-r-5 t-red"
 											style="display: inline-block;">{{ dto.levelStr || '' }}</span>{{ dto.name || '-' }}
 									</view>
 									<view class="price" @click.stop="toDetail(dto)">
-										{{ dto.price || '-' }}元/扎
+										{{ dto.priceMember || dto.price || '-' }}元/扎
 									</view>
 									<view class="flex">
 										<view class="desc  flex p-t-5" @click.stop="toDetail(dto)">
 											<view class="m-r-15">剩余:{{ dto.stock || 0 }}</view>
 											<view class="m-r-15">颜色:{{ dto.color || '-' }}</view>
+											<view class="m-r-15" v-if="dto.limited && dto.limited>0" >限购数量:{{ dto.limited || '-' }}</view>
 										</view>
-										<view class="button-icons flex m-l-a m-r-0">
+										<view class="button-icons flex m-l-a m-r-0 m-t-8">
 											<uni-icons v-if="dto.num&&dto.num>=1" type="minus" size="32"
 												@click.stop="addnum(dto,-1)"></uni-icons>
 											<view class="curnums" @click.stop="updateItemNum(dto)"
@@ -63,7 +67,7 @@
 			</view>
 
 		</view>
-		<view style="min-height:200rpx">
+		<view style="min-height:140rpx;background-color: #fff;">
 		</view>
 		<view class="bottom-price flex">
 			<view class="m-t-12">
@@ -77,7 +81,7 @@
 				提交订单
 			</view>
 		</view>
-		<view style="min-height:200rpx">
+		<view style="min-height:140rpx">
 		</view>
 		<common-footer flg="2"></common-footer>
 	</view>
@@ -115,18 +119,64 @@
 			totalprice() {
 
 				let totalprice = 0
-				this.list && this.list.forEach(dto => {
-					dto.flowerList && dto.flowerList.forEach(item => {
-						if (this.ids.indexOf(item.id) >= 0) {
-							totalprice += item.price * item.num
-						}
+				if (this.ids.length > 0) {
+					this.list && this.list.forEach(dto => {
+						dto.flowerList && dto.flowerList.forEach(item => {
+							if (this.ids.indexOf(item.id) >= 0) {
+								totalprice += (item.priceMember || item.price || 0) * item.num
+							}
+						})
 					})
-				})
+				}
+
 				return totalprice.toFixed(2)
 			},
 		},
 		methods: {
+
+			async batchDelete() {
+				// /api/customer/flower/cart/delete/batch
+				var arr = []
+
+				for (var id of this.ids) {
+					console.log('id', id)
+					if (('' + id).startsWith('supplier@')) {
+
+					} else {
+						arr.push(parseInt(id))
+					}
+				}
+
+				if (arr.length == 0) {
+					this.$message.showToast('请选择需要删除的商品')
+					return
+				}
+
+				await this.$message.confirm(`是否批量删除这${arr.length}个商品`)
+
+
+				this.$message.showLoading()
+				const {
+					code
+				} = await this.$http.request('post', '/api/customer/flower/cart/delete/batch', {
+					data: {
+						ids: arr,
+					}
+				})
+				this.$message.hideLoading()
+				if (code === 0) {
+					this.$store.dispatch('sign_add', 'shopnum');
+					this.ids = []
+					this.checkall = false
+					this.init()
+				}
+
+
+
+
+			},
 			async submitPay() {
+				await this.$store.dispatch('cache_coupon_select_cancel', 0)
 				// order/confirm/info
 				var arr = []
 				for (var j = 0; j < this.list.length; j++) {
@@ -269,6 +319,20 @@
 								this.ids.push(item.id)
 							}
 						})
+						//如果所有的话都悬赏了,设置为return true;
+						var tmpSelectAll = true
+						for (var i = 0; i < this.list.length; i++) {
+							for (var j = 0; j < this.list[i].flowerList.length; j++) {
+								if (this.ids.indexOf(this.list[i].flowerList[j].id) < 0) {
+									tmpSelectAll = false
+									break
+								}
+							}
+
+						}
+						this.checkall = tmpSelectAll
+
+
 					} else {
 						this.checkall = false
 						this.ids.splice(this.ids.indexOf('supplier@' + dto.supplierId), 1)
@@ -305,6 +369,18 @@
 						} else {
 							console.log('has', this.ids, dto)
 						}
+						//如果所有的话都悬赏了,设置为return true;
+						var tmpSelectAll = true
+						for (var i = 0; i < this.list.length; i++) {
+							for (var j = 0; j < this.list[i].flowerList.length; j++) {
+								if (this.ids.indexOf(this.list[i].flowerList[j].id) < 0) {
+									tmpSelectAll = false
+									break
+								}
+							}
+
+						}
+						this.checkall = tmpSelectAll
 
 					} else {
 						this.checkall = false
@@ -392,8 +468,9 @@
 					this.$message.showToast('请先前往个人中心补充个人信息')
 					return
 				}
+				this.$store.dispatch('sign_clear', 'shopping');
+
 				this.$message.showLoading()
-				await this.$store.dispatch('sign_clear', 'shopping');
 				const {
 					code,
 					data
@@ -402,7 +479,7 @@
 				this.list = []
 				if (code === 0) {
 					this.list = data || []
-
+					this.$forceUpdate()
 				}
 			},
 			toDetail(dto) {
@@ -426,7 +503,7 @@
 			padding: 20rpx;
 			right: 0rpx;
 			// bottom: 160rpx;
-			bottom: 130rpx;
+			bottom: 120rpx;
 			z-index: 11;
 		}
 

--
Gitblit v1.9.3