puyao 1 viikko sitten
vanhempi
commit
3654aacad3
2 muutettua tiedostoa jossa 34 lisäystä ja 5 poistoa
  1. 17 2
      pages/shopping/productDetails.vue
  2. 17 3
      pages_company/storeProductPackageDetails.vue

+ 17 - 2
pages/shopping/productDetails.vue

@@ -160,7 +160,8 @@
 						</view>
 					</view>
 				</view>
-				<view class="sub-btn" @click="submit">确定</view>
+				<button  :class="isSubmitting?'btnsel sub-btn':'sub-btn'" :disabled="isSubmitting"
+				 @click="submit">{{ isSubmitting ? '订单生成中...' : '立即购买' }}</button>
 			</view>
 		</popupBottom>
 		<view class="loadding" v-if="loadding==true">
@@ -204,7 +205,8 @@
 				specVisible: false,
 				// 规格数量
 				specNum: 1,
-				 show: false
+				 show: false,
+				 isSubmitting: false // 控制按钮禁用状态
 			};
 		},
 		onLoad(options) {
@@ -302,6 +304,7 @@
 								uni.navigateTo({
 									url: '/pages/shopping/confirmOrder?type='+this.type+"&cartIds="+res.id+"&orderType="+this.orderType
 								})
+								 this.isSubmitting = false; // 禁用按钮
 							}
 							else
 							{
@@ -485,6 +488,14 @@
 			},
 			// 确定选择该规格
 			submit() {
+				if (this.isSubmitting) return; // 防止重复点击
+				 this.isSubmitting = true; // 禁用按钮
+				 if(this.isSubmitting){
+				 	uni.showToast({
+				 		icon:'none',
+				 		title: '不能重复点击',
+				 	});
+				 }
 				this.specVisible = false
 				this.doAddCart(this.type);
 				 
@@ -1032,4 +1043,8 @@
 			margin-top: 20rpx;
 		}
 	}
+	.btnsel{
+		color: #5f5f5f !important;
+		background: #ebebeb !important;
+	}
 </style>

+ 17 - 3
pages_company/storeProductPackageDetails.vue

@@ -90,7 +90,8 @@
 				 
 			</view>
 			<view class="btn-box">
-				<view class="btn buy" @click="buy">立即购买</view>
+				<button :class="isSubmitting?'btnsel btn buy':'btn buy'" @click="buy" 
+				:disabled="isSubmitting">{{ isSubmitting ? '提交中...' : '立即购买' }}</button>
 			</view>
 		</view>
 		<view class="message-box" v-if="messageShow">
@@ -117,7 +118,7 @@
 				products:[],
 				// 当前轮播的图片
 				activeBanner: 1,
-				 
+				 isSubmitting: false // 控制按钮禁用状态
 			};
 		},
 		onLoad(options) {
@@ -234,11 +235,20 @@
 				this.activeBanner = event.detail.current + 1
 			},
 			buy() {
+				if (this.isSubmitting) return; // 防止重复点击
+				 this.isSubmitting = true; // 禁用按钮
+				 if(this.isSubmitting){
+				 	uni.showToast({
+				 		icon:'none',
+				 		title: '不能重复点击',
+				 	});
+				 }
 				this.utils.isLogin().then(res => {
 					if(res){
 						uni.navigateTo({
 							url: '/pages/shopping/confirmPackageOrder?packageId='+this.packageId+"&companyUserId="+this.companyUserId
 						})
+						this.isSubmitting = false; // 禁用按钮
 					}
 				})
 				
@@ -911,6 +921,10 @@
 			border-radius: 24upx;
 			margin-left: 30upx;
 		}
+		
+	}
+	.btnsel{
+		color: #5f5f5f !important;
+		background: #ebebeb !important;
 	}
-	
 </style>