From a587937ce53f79b4680e930b5d5f7fee33de5311 Mon Sep 17 00:00:00 2001
From: xuxueyang <xuxy@fengyuntec.com>
Date: 星期三, 14 八月 2024 14:50:40 +0800
Subject: [PATCH] 标签

---
 sub_pages/customer/shopping/shopping.vue |   77 +++++++++++++++++++++++++-------------
 1 files changed, 51 insertions(+), 26 deletions(-)

diff --git a/sub_pages/customer/shopping/shopping.vue b/sub_pages/customer/shopping/shopping.vue
index 6f1f5f5..766613d 100644
--- a/sub_pages/customer/shopping/shopping.vue
+++ b/sub_pages/customer/shopping/shopping.vue
@@ -22,13 +22,14 @@
 					{{ item.supplierName || '-' }}
 				</view>
 				<u-divider></u-divider>
-				<view v-for="(dto,j) of item.flowerList" :key="j">
+				<view v-for="(dto,j) of item.flowerList" :key="dto.id">
 					<u-divider v-if="j>0"></u-divider>
 					<u-swipe-action>
 						<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" :src="dto.url||dto.cover"></image>
+								<image class="img img100 m-r-6 br-4" :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
@@ -46,7 +47,8 @@
 										<view class="button-icons flex m-l-a m-r-0">
 											<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)" v-if="dto.num&&dto.num>=1">{{ dto.num }}</view>
+											<view class="curnums" @click.stop="updateItemNum(dto)"
+												v-if="dto.num&&dto.num>=1">{{ dto.num }}</view>
 											<uni-icons type="plus-filled" size="32"
 												@click.stop="addnum(dto,1)"></uni-icons>
 										</view>
@@ -97,14 +99,15 @@
 			}
 		},
 		onShow() {
-			if (this.sign['shopping']) {
-				this.init()
-			}
-		},
-		mounted() {
+			// if (this.sign['shopping']) {
+
+			// }
 			this.init()
 		},
-		async onPullDownRefresh(){
+		mounted() {
+			// this.init()
+		},
+		async onPullDownRefresh() {
 			await this.init()
 			uni.stopPullDownRefresh()
 		},
@@ -144,6 +147,7 @@
 				}
 				if (arr.length < 1) {
 					console.log('请选择商品', arr, this.ids)
+					this.$message.showToast('请选择商品')
 					return
 				}
 				this.$message.showLoading()
@@ -155,20 +159,27 @@
 						flowers: arr,
 					}
 				})
-				this.$message.hideLoading()
+				let that = this
 				if (code === 0) {
-					this.$storage.setItem('_cache_shopping_dto', JSON.stringify(data))
+					that.$message.hideLoading()
+					that.$storage.setItem('_cache_shopping_dto', JSON.stringify(data))
 					uni.navigateTo({
 						url: '/sub_pages/customer/shopping/confirm'
 					})
+				} else {
+					//提示消失快
+					setTimeout(() => {
+						that.$message.hideLoading()
+					}, 2000)
 				}
+
 			},
-			async clickSwipeButton(item,check) {
+			async clickSwipeButton(item, check) {
+				// console.log('clickSwipeButton', e)
 				//删除商品,重新加载数据?
-				if(check){
-					this.$message.confirm('是否删除商品')
-					return
-					
+				if (check) {
+					await this.$message.confirm('是否删除商品')
+
 				}
 
 				this.$message.showLoading()
@@ -181,6 +192,8 @@
 				})
 				this.$message.hideLoading()
 				if (code === 0) {
+					this.$store.dispatch('sign_add', 'shopnum');
+
 					if (this.ids.indexOf(item.id) >= 0) {
 						this.ids.splice(this.ids.indexOf(item.id), 1)
 					}
@@ -208,7 +221,17 @@
 							break
 						}
 					}
-					console.log('this.list', this.list)
+					// console.log('this.list', this.list)
+					// 解决滑动的swipe不自动关闭的问题
+					if (check) {
+						let arr = this.list
+						this.list = []
+						this.$nextTick(() => {
+							this.list = arr
+						})
+					}
+
+
 				}
 			},
 
@@ -308,30 +331,30 @@
 					var t = parseInt(res.content)
 					if (isNaN(t) || t < 0) {
 						this.$message.showToast('数目需要大于等于0')
-			
+
 					} else {
 						if (!item.stock || t > item.stock) {
 							this.$message.showToast('库存不足无法修改')
 							return
 						}
 						this.addnum(item, (t - item.num))
-			
+
 					}
 				} else {
-			
+
 				}
 			},
 			async addnum(dto, addnum) {
 				if (dto.num + addnum >= 0) {
 
 				} else {
-					console.log('addnum',dto,addnum)
+					console.log('addnum', dto, addnum)
 					return
 				}
 				if (!dto.stock) {
 					dto.stock = 0
 				}
-				if (dto.num + addnum > dto.stock) {
+				if (addnum > 0 && dto.num + addnum > dto.stock) {
 					this.$message.showToast('库存不足,无法修改')
 					return
 				}
@@ -349,17 +372,18 @@
 					dto.num += addnum
 					if (dto.num < 1) {
 						//id删除清空,并且
-						await this.clickSwipeButton(dto,false)
+						await this.clickSwipeButton(dto, false)
 						// await this.init()
 					}
+					this.$store.dispatch('sign_add', 'shopnum');
 					this.$forceUpdate()
 				}
 			},
 			async init() {
-				
+
 				this.ids = []
 				this.checkall = false
-				
+
 				if (!this.currentInfo.id) {
 					this.$message.showToast('请先登录')
 					return
@@ -401,7 +425,8 @@
 			left: 0rpx;
 			padding: 20rpx;
 			right: 0rpx;
-			bottom: 160rpx;
+			// bottom: 160rpx;
+			bottom: 130rpx;
 			z-index: 11;
 		}
 

--
Gitblit v1.9.3