Kaynağa Gözat

commit -m 订单相关接口联调

zhengjinyi 4 yıl önce
ebeveyn
işleme
003527d522

+ 1 - 1
components/cm-module/orderDetails/goodsList.vue

@@ -8,7 +8,7 @@
 					<view class="title-text">{{item.shopName}}</view> 
 				</view>
 				<view class="productlist" v-for="(pros,idx) in item.orderProductList" :key="idx">
-					<view class="goods-pros-t " @click="details(pros)">
+					<view class="goods-pros-t">
 						<view class="pros-left">
 							<view class="pros-img"><image :src="pros.productImage" alt="" /></view>
 						</view>

+ 3 - 3
components/cm-module/orderDetails/orderButton.vue

@@ -1,13 +1,13 @@
 <template name="button">
 	<view class="button-template" :style="{paddingBottom :isIphoneX ? '68rpx' : '0rpx'}">
-		<!-- 底部按钮 -->
+		<!-- 底部按钮  -->
 		<view class="button-content">
 			<view class="btn btn-pay" v-if="btnState.isPay" @click.stop="btnConfirm('pay',order)">付款</view>
 			<view class="btn btn-pay" v-if="btnState.isConfirm" @click.stop="btnConfirm('confirm',order)">确认收货</view>
-			<view class="btn btn-pay" v-if="btnState.isAgain" @click.stop="btnConfirm('confirm',order)">再次购买</view>
+			<view class="btn btn-pay" v-if="btnState.isAgain" @click.stop="btnConfirm('again',order)">再次购买</view>
 			<view class="btn btn-cancel" v-if="btnState.isCancel" @click.stop="btnConfirm('cancel',order)">取消订单</view>
 			<view class="btn btn-cancel" v-if="btnState.isDelete" @click.stop="btnConfirm('delete',order)">删除订单</view>
-			<view class="btn btn-cancel" v-if="btnState.isQuery && order.secondHandOrderFlag!=1" @click.stop="btnConfirm('query',order)">查看物流</view>
+			<view class="btn btn-cancel" v-if="btnState.isQuery" @click.stop="btnConfirm('query',order)">查看物流</view>
 		</view>
 	</view>
 </template>

+ 16 - 6
components/cm-module/orderDetails/orderInformation.vue

@@ -5,25 +5,35 @@
 			<view class="information-view title">
 				<view class="view-num">
 					<view class="bage-text">
-						订单编号:<label class="label">{{orderData.orderNo =='undefined' ? '' : orderData.orderNo}}</label>
+						订单编号:<label class="label">{{orderData.orderNo ? orderData.orderNo : '' }}</label>
 						<text class="clipboard" @click="clipboard(orderData.orderNo)">复制</text>
 					</view>
 				</view>
 			</view>
 			<view class="information-view title">
-				<view class="view-num">订单总额:<label class="label">¥{{ orderData.payTotalFee =='undefined' ? '' : orderData.payTotalFee | NumFormat }}</label></view>
+				<view class="view-num">
+					订单总额:<label class="label">¥{{ orderData.payTotalFee ? (orderData.payTotalFee | NumFormat) : ''  }}</label>
+				</view>
 			</view>
 			<view class="information-view">
-				<view class="view-num time">下单时间:<label class="label">{{ orderData.orderTime =='undefined' ? '' : orderData.orderTime }}</label></view>
+				<view class="view-num time">
+					下单时间:<label class="label">{{ orderData.orderTime ? orderData.orderTime: ''  }}</label>
+				</view>
 			</view>
 			<view class="information-view bame">
-				<view class="view-num">运费:<label class="label">包邮</label></view>
+				<view class="view-num">
+					运费:<label class="label">包邮</label>
+				</view>
 			</view>
 			<view class="information-view">
-				<view class="view-num time">支付时间:<label class="label">{{ orderData.orderTime =='undefined' ? '' : orderData.orderTime }}</label></view>
+				<view class="view-num time" v-if="orderData.receiptAmount>0">
+					支付时间:<label class="label">{{ orderData.receiptDate ? orderData.receiptDate :  '' }}</label>
+				</view>
 			</view>
 			<view class="information-view bame">
-				<view class="view-man">已退货/已取消:<label class="label">{{ orderData.returnedNum }}/{{ orderData.actualCancelNum }}</label></view>
+				<view class="view-man">
+					已退货/已取消:<label class="label">{{ orderData.returnedNum }}/{{ orderData.actualCancelNum }}</label>
+				</view>
 			</view>
 		 </view>
 	</view>

+ 2 - 2
components/cm-module/orderDetails/orderListButton.vue

@@ -1,13 +1,13 @@
 <template name="button">
 	<view class="button-template">
-		<!-- 底部按钮 -->
+		<!-- 底部按钮 v-if="btnState.isConfirm"-->
 		<view class="button-content">
 			<view class="btn btn-pay" v-if="btnState.isPay" @click.stop="btnConfirm('pay',order)">付款</view>
 			<view class="btn btn-pay" v-if="btnState.isConfirm" @click.stop="btnConfirm('confirm',order)">确认收货</view>
 			<view class="btn btn-pay" v-if="btnState.isAgain" @click.stop="btnConfirm('again',order)">再次购买</view>
 			<view class="btn btn-cancel" v-if="btnState.isCancel" @click.stop="btnConfirm('cancel',order)">取消订单</view>
 			<view class="btn btn-cancel" v-if="btnState.isDelete" @click.stop="btnConfirm('delete',order)">删除订单</view>
-			<view class="btn btn-cancel" v-if="btnState.isQuery && order.secondHandOrderFlag!=1" @click.stop="btnConfirm('query',order)">查看物流</view>
+			<view class="btn btn-cancel" v-if="btnState.isQuery" @click.stop="btnConfirm('query',order)">查看物流</view>
 		</view>
 	</view>
 </template>

+ 1 - 1
pages/goods/product-activi.vue

@@ -362,7 +362,7 @@
 					this.goodsData.cartCount = response.data
 					this.$store.commit('updateAllNum',response.data)
 				}).catch(error =>{
-					this.$util.msg(error.msg,2000);
+					console.log('查询购物车数量错误信息',error)
 				})
 			},
 			swiperChange(e) {//顶部商品图片切换

+ 1 - 1
pages/goods/product.vue

@@ -355,7 +355,7 @@
 					this.goodsData.cartCount = response.data
 					this.$store.commit('updateAllNum',response.data)
 				}).catch(error =>{
-					this.$util.msg(error.msg,2000);
+					console.log('查询购物车数量错误信息',error)
 				})
 			},
 			swiperChange(e) {//顶部商品图片切换

+ 1 - 1
pages/tabBar/cart/index.vue

@@ -1,7 +1,7 @@
 <template>
 	<view class="container cart clearfix" v-if="hasLogin"> 	
 		<tui-skeleton v-if="skeletonShow" backgroundColor="#fafafa" borderRadius="10rpx" :isLoading	="true" :loadingType="5"></tui-skeleton>
-		<view class="container-cart-main tui-skeleton" :style="{paddingTop:isshowDelbtn || goodsList.length == 0 ? '0rpx':'80rpx'}">
+		<view class="container-cart-main tui-skeleton" :style="{paddingTop:isshowDelbtn ? '0rpx':'80rpx'}">
 			<view class="foot-check-delbtn" v-if="!isshowDelbtn && goodsList.length>0">
 				<view class="foot-text">共<text>{{kindCount}}</text>件商品</view>
 				<view class="delBtn" @tap.stop="showDelManager">删除</view>

+ 12 - 3
pages/tabBar/index/index.vue

@@ -166,10 +166,19 @@
 				if(!this.hasLogin){
 					this.$api.navigateTo(`/pages/login/login`)
 				}else{
-					this.ProductService.shoppingAddCart({productId:pro.productId,userId:this.userId,productCount:1,heUserId:0}).then(response => {
+					this.ProductService.shoppingAddCart(
+						{
+							productId:pro.productId,
+							userId:this.userId,
+							productCount:1,
+							heUserId:0,
+						}
+					)
+					.then(response => {
 						this.$util.msg('加入购物车成功',1500,true,'success')
 						this.GetCartNumber()
-					}).catch(error =>{
+					})
+					.catch(error =>{
 						this.$util.msg(error.msg,2000);
 					})
 				}
@@ -179,7 +188,7 @@
 					this.$store.commit('updateAllNum',response.data)
 					this.skeletonShow = false;
 				}).catch(error =>{
-					this.$util.msg(error.msg,2000);
+					console.log('查询购物车数量错误信息',error)
 				})
 			},
 			handleClick(data){

+ 9 - 1
pages/user/activity/activity.vue

@@ -98,10 +98,18 @@
 						this.$util.msg('加入购物车成功',1500,true,'success')
 						this.GetCartNumber()
 					}).catch(error =>{
-						this.$util.msg(error.msg,2000);
+						console.log('查询购物车数量错误信息',error)
 					})
 				}
 			},
+			GetCartNumber(){//查询购物车数量
+				this.ProductService.QueryShoppingQuantity({userId:this.userId}).then(response => {
+					this.$store.commit('updateAllNum',response.data)
+					this.skeletonShow = false;
+				}).catch(error =>{
+					console.log('查询购物车数量错误信息',error)
+				})
+			}
 		},
 		onPullDownRefresh() {//下拉刷新
 			this.listQuery.pageNum = 1

+ 43 - 4
pages/user/order/create-order.vue

@@ -27,6 +27,7 @@
 </template>
 
 <script> 
+	import authorize from '@/common/config/authorize.js'
 	import choiceAddress from '@/components/cm-module/creatOrder/address'  
 	import goodsList from '@/components/cm-module/creatOrder/goodsList'
 	import sellerFreight from '@/components/cm-module/creatOrder/sellerFreight'
@@ -151,17 +152,55 @@
 				this.isSubLoading = true;	
 				this.OrderService.CreatedOrderSubmit(this.subParams).then(response =>{
 					const data = response.data;
-					this.$util.msg('订单提交成功',2000,true,'success')
 					setTimeout(()=>{
 						this.isSubLoading = false;
 					},2000)
-					setTimeout(()=>{
-						this.$api.redirectTo(`/pages/user/order/success?orderId=${data.orderId}`)
-					},2000)
+					this.MiniWxPayFor(data)
 				}).catch(error =>{
 					this.$util.msg(error.msg,2000);
 				})
 			},
+			async MiniWxPayFor(data){
+				const wechatCode = await authorize.getCode('weixin')
+				this.PayService.WeChatMiniWxPay(
+					{
+						payAmount:data.payableAmount*100,
+						payWay:"WEIXIN",
+						code:wechatCode,
+						orderId:data.orderId
+					}
+				)
+				.then(response =>{
+					let PayInfo = JSON.parse(response.data.data.payInfo);
+					this.WxRequestPayment(PayInfo)
+				})
+				.catch(error =>{
+					this.$util.msg(error.msg,2000)
+				})
+			},
+			WxRequestPayment(data){
+				let self = this
+				wx.requestPayment(
+					{
+						'timeStamp': data.timeStamp,
+						'nonceStr': data.nonceStr,
+						'package': data.package,
+						'signType': data.signType,
+						'paySign': data.paySign,
+						'success':function(res){
+							wx.reLaunch({url: '/pages/index/index'});
+						},
+						'fail':function(res){
+							console.log(res)
+							console.log('ORDERiD',data.orderId)
+							self.$api.redirectTo(`/pages/user/order/success?orderId=${data.orderId}`)
+						},
+						'complete':function(res){
+			
+						}
+					}
+				)
+			},
 		},
 		onShow() {
 			let pages = getCurrentPages();

+ 203 - 22
pages/user/order/order-details.vue

@@ -16,10 +16,6 @@
 			<goods-list ref='goods' v-if="isRequest" :shopOrderData="shopOrderData" :information="information" @popupClick="hanldePopupFn"></goods-list>
 			<!-- 订单信息 -->
 			<order-information ref="information" v-if="isRequest" :information="information"></order-information>
-			<!-- 支付记录 -->
-			<payment-record ref="payment" v-if="isRequest" :discernReceiptList="discernReceiptList" :receiptAmount="receiptAmount"></payment-record>
-			<!-- 退款记录 -->
-			<refund-record ref="refund" v-if="isRequest" :returnedPurchaseList="returnedPurchaseList" :returnedPurchaseFee="returnedPurchaseFee"></refund-record>
 			<!-- 底部button -->
 			<order-button ref="orderButton" 
 						  v-if= "isRequest" 
@@ -30,13 +26,34 @@
 			</order-button>
 		</view>
 		<!-- 操作弹窗 -->
-		<tui-modal :show="modal" @click="handleClick" @cancel="hideMobel" :content="contentModalText" color="#333" :size="32" shape="circle" :maskClosable="false"></tui-modal>
+		<tui-modal :show="modal" @click="handleClick" @cancel="hideMobel(1)" :content="contentModalText" color="#333" :size="32" shape="circle" :maskClosable="false"></tui-modal>
+		<!-- 再次购买订单商品全部下架弹窗 -->
+		<tui-modal :show="modal2" @click="handleClick2" @cancel="hideMobel(2)" shape="circle" content="订单内商品已全部下架,不能购买!" :button="button"></tui-modal>
+		<!-- 再次购买部分商品失效弹窗 -->
+		<tui-modal :show="modal3" @cancel="hideMobel(3)" :custom="true">
+			<view class="tui-modal-custom">
+				<view class="tui-modal-custom-text">
+					<view class="title">以下商品已失效,不能进行购买;是否先将其他商品加入购物车?</view>
+					<scroll-view scroll-y class="tui-modal-custom-list">
+						<view class="custom-list" v-for="(invalid,index) in invalidList" :key="index">
+							<view class="custom-list-image"><image :src="invalid.productImage" mode=""></image></view>
+							<view class="custom-list-name">{{ invalid.name }}</view>
+						</view>
+					</scroll-view>
+				</view>
+				<view class="tui-modal-button">
+					<button  class="modal-button cancel" @click="hideMobel(3)">我再想想</button>
+					<button  class="modal-button confirm" @click="handleClick3">加入购物车</button>
+				</view>
+			</view>
+		</tui-modal>
 		<!-- 促销活动弹窗 -->
 		<activi-popup :Promotion="handlerPros" :popupShow="popupShow"></activi-popup>
 	</view>
 </template>
 
 <script>
+	import authorize from '@/common/config/authorize.js'
 	import headerBack from '@/components/cm-module/headerNavbar/header-back' 		 	 //自定义导航
 	import orderAddress from '@/components/cm-module/orderDetails/orderAddress' 		 //地址信息
 	import goodsList from '@/components/cm-module/orderDetails/goodsList'		 		 //商品列表
@@ -96,8 +113,17 @@
 				orderSubmitType:false,//自主订单
 				userId:0,
 				modal:false,
+				modal2:false,
+				modal3:false,
 				OperationType:'',
-				contentModalText:''
+				contentModalText:'',
+				button: [
+					{
+						text: '确定',
+						type:'danger'
+					}
+				],
+				invalidList:[]
 			}
 		},
 		onLoad(option){
@@ -207,12 +233,11 @@
 						this.isModalLayer = true;
 						this.$api.navigateTo('/pages/user/order/order-logistics?orderId='+data.orderId)
 						break;
+					case 'again':
+						this.handBuyAgainInfo()					
+						break;
 					case 'pay':
-						if(data.order.onlinePayFlag == '0'){
-						this.$api.navigateTo(`/pages/user/order/order-payment?type=payfirm&orderId=${data.orderId}`)
-						}else{
-							this.$api.navigateTo(`/pages/user/order/order-payment?type=onlinePay&Amount=${data.order.pendingPayments}&orderId=${data.orderId}`)
-						}
+						this.MiniWxPayFor(data.order)
 						break;
 				}
 			},
@@ -233,11 +258,62 @@
 				}
 				this.modal = false;
 			},
+			handleClick2(){
+				this.modal2 = false;
+			},
+			handleClick3(){
+				this.handShoppingAgainCart()
+				this.modal3 = false
+			},
+			hideMobel(index) {
+				switch(index){
+					case 1:this.modal = false;break;
+					case 2:this.modal2 = false;break;
+					case 3:this.modal3 = false;break;
+				}
+				
+			},
+			handBuyAgainInfo(){//再次购买初始化查询订单商品信息
+				this.OrderService.GetOrderBuyAgain(
+					{
+						orderId:this.orderId,
+					}
+				)
+				.then(response =>{
+					this.handShoppingAgainCart()
+				})
+				.catch(error =>{
+					console.log(error.data)
+					if(error.data && error.data.length > 0){
+						this.modal3 = true
+						this.invalidList = error.data
+					}else{
+						this.modal2 = true
+					}
+				})
+			},
+			handShoppingAgainCart(){ //一键加入购物车
+				this.ProductService.ShoppingAgainCart(
+					{
+						orderId:this.orderId,
+					}
+				)
+				.then(response => {
+					this.ProductService.QueryShoppingQuantity({userId:this.userId}).then(response => {
+						this.$api.switchTabTo('/pages/tabBar/cart/index');
+					}).catch(error =>{
+						console.log('查询购物车数量错误信息',error)
+					})
+				})
+				.catch(error =>{
+					this.$util.msg(error.msg,2000);
+				})
+			},
 			handOrderConfirm (id){//确认收货
 				this.OrderService.ConfirmReceipt({orderId:id}).then(response =>{
 					this.$util.msg(response.msg,2000,true,'success');
 					setTimeout(() => {
-						this.GetOrderDetaileData(this.currentTab)
+						this.GetOrderDatainit(this.currentTab)
 					},2000)
 				}).catch(error =>{
 					this.$util.msg(error.msg,2000)
@@ -247,12 +323,8 @@
 				this.OrderService.DeleteOrder({orderId:id}).then(response =>{
 					this.$util.msg(response.msg,2000,true,'success');
 					setTimeout(() => {
-						if(this.shareType ==='share'){
-							this.$api.redirectTo('/pages/index/index')
-						}else{
-							this.$api.redirectTo(`/pages/user/order/order-list?type=detele&state=${this.state}`)
-						}
-					},500)
+						this.GetOrderDatainit(this.currentTab)
+					},2000)
 				}).catch(error =>{
 					this.$util.msg(error.msg,2000)
 				})
@@ -261,14 +333,50 @@
 				this.OrderService.CancelOrder({orderId:id}).then(response =>{
 					this.$util.msg(response.msg,2000,true,'success');
 					setTimeout(() => {
-						this.GetOrderDetaileData(this.currentTab)
+						this.GetOrderDatainit(this.currentTab)
 					},2000)
 				}).catch(error =>{
 					this.$util.msg(error.msg,2000)
 				})
 			},
-			handlSearchPath(){
-				this.$api.navigateTo('/pages/user/order/search-order')
+			async MiniWxPayFor(data){
+				const wechatCode = await authorize.getCode('weixin')
+				this.PayService.WeChatMiniWxPay(
+					{
+						payAmount:data.payableAmount*100,
+						payWay:"WEIXIN",
+						code:wechatCode,
+						orderId:data.orderId
+					}
+				)
+				.then(response =>{
+					let PayInfo = JSON.parse(response.data.data.payInfo);
+					this.WxRequestPayment(PayInfo)
+				})
+				.catch(error =>{
+					this.$util.msg(error.msg,2000)
+				})
+			},
+			WxRequestPayment(data){
+				let self = this
+				wx.requestPayment({
+					'timeStamp': data.timeStamp,
+					'nonceStr': data.nonceStr,
+					'package': data.package,
+					'signType': data.signType,
+					'paySign': data.paySign,
+					'success':function(res){
+						wx.reLaunch({url: '/pages/tabBar/index/index'});
+					},
+					'fail':function(res){
+						console.log(res)
+						console.log('ORDERiD',self.hanldOrder)
+						self.$api.redirectTo(`/pages/user/order/success?data=${JSON.stringify({data:self.hanldOrder.order})}`)
+					},
+					'complete':function(res){
+			
+					}
+				})
 			},
 			hanldePopupFn(data){//监听活动内容
 				this.popupShow = true
@@ -418,5 +526,78 @@
 			color: $color-system;
 		}
 	}
-	
+	.tui-modal-custom-text{
+		min-height: 300rpx;
+		margin-bottom: 30rpx;
+		.title{
+			width: 100%;
+			height: auto;
+			font-size: $font-size-30;
+			text-align: justify;
+			color: #333333;
+			line-height: 40rpx;
+			margin-bottom: 30rpx;
+		}
+		.tui-modal-custom-list{
+			width: 100%;
+			height: 350rpx;
+			overflow: hidden;
+			.custom-list{
+				width: 100%;
+				height: 117rpx;
+				box-sizing: border-box;
+				float: left;
+				padding: 15rpx 0;
+				.custom-list-image{
+					width: 86rpx;
+					height: 86rpx;
+					float: left;
+					border-radius: 6rpx;
+					box-sizing: border-box;
+					border: 1px solid #e1e1e1;
+					image{
+						width: 84rpx;
+						height: 84rpx;
+						border-radius: 6rpx;
+						display: block;
+					}
+				}
+				.custom-list-name{
+					width: 400rpx;
+					height: 86rpx;
+					float: right;
+					line-height: 43rpx;
+					font-size: $font-size-26;
+					color: #666666;
+					text-overflow: ellipsis;
+					overflow: hidden;
+					display: -webkit-box;
+					-webkit-line-clamp: 2;
+					line-clamp: 2;
+					-webkit-box-orient: vertical;
+				}
+			}
+		}
+	}
+	.tui-modal-button{
+		width: 100%;
+		height: 72rpx;
+		display: flex;
+		.modal-button{
+			width: 200rpx;
+			height: 72rpx;
+			line-height: 72rpx;
+			border-radius: 36rpx;
+			box-sizing: border-box;
+			&.cancel{
+				border: 1px solid #b2b2b2;
+				background: #FFFFFF;
+				color: #333333;
+			}
+			&.confirm{
+				background: $btn-confirm;
+				color: #FFFFFF;
+			}
+		}
+	}
 </style>

+ 97 - 48
pages/user/order/order-list-retail.vue

@@ -75,10 +75,12 @@
 									</view>
 								</view>
 								<!-- 底部button -->
-								<order-button ref="orderButton" 
-											  :status="order.status" 
-											  :order="order" 
-											  @buttonConfirm="handButtonConfirm">
+								
+								<order-button   v-if="order.userId == userId"
+												ref="orderButton" 
+												:status="order.status" 
+												:order="order"
+												@buttonConfirm="handButtonConfirm">
 								</order-button>
 							</view>
 							<!--加载loadding-->
@@ -101,7 +103,7 @@
 					<view class="title">以下商品已失效,不能进行购买;是否先将其他商品加入购物车?</view>
 					<scroll-view scroll-y class="tui-modal-custom-list">
 						<view class="custom-list" v-for="(invalid,index) in invalidList" :key="index">
-							<view class="custom-list-image"><image :src="invalid.image" mode=""></image></view>
+							<view class="custom-list-image"><image :src="invalid.productImage" mode=""></image></view>
 							<view class="custom-list-name">{{ invalid.name }}</view>
 						</view>
 					</scroll-view>
@@ -118,6 +120,7 @@
 </template>
 
 <script>
+	import authorize from '@/common/config/authorize.js'
 	import headerBack from '@/components/cm-module/headerNavbar/header-back' 		 	 //自定义导航
 	import btSearch from '@/components/uni-search/bt-search.vue'						//搜索
 	import tuiSkeleton from "@/components/tui-skeleton/tui-skeleton"
@@ -195,28 +198,7 @@
 						type:'danger'
 					}
 				],
-				invalidList:[
-					{
-						image:'https://img.caimei365.com/group1/M00/00/0A/rB-lGGBrzcmAbarfAG8gcPdEFtI777.jpg',
-						name:'韩国恩盛进口氢洁气小气泡清韩国恩盛进口氢洁气小气泡清',
-					},
-					{
-						image:'https://img.caimei365.com/group1/M00/00/0A/rB-lGGBrzcmAbarfAG8gcPdEFtI777.jpg',
-						name:'韩国恩盛进口氢洁气小气泡清韩国恩盛进口氢洁气小气泡清',
-					},
-					{
-						image:'https://img.caimei365.com/group1/M00/00/0A/rB-lGGBrzcmAbarfAG8gcPdEFtI777.jpg',
-						name:'韩国恩盛进口氢洁气小气泡清韩国恩盛进口氢洁气小气泡清',
-					},
-					{
-						image:'https://img.caimei365.com/group1/M00/00/0A/rB-lGGBrzcmAbarfAG8gcPdEFtI777.jpg',
-						name:'韩国恩盛进口氢洁气小气泡清韩国恩盛进口氢洁气小气泡清',
-					},
-					{
-						image:'https://img.caimei365.com/group1/M00/00/0A/rB-lGGBrzcmAbarfAG8gcPdEFtI777.jpg',
-						name:'韩国恩盛进口氢洁气小气泡清韩国恩盛进口氢洁气小气泡清',
-					},
-				]
+				invalidList:[]
 			}
 		},
 		onLoad(e) {
@@ -396,7 +378,6 @@
 				this.$api.navigateTo(`/pages/user/order/order-details?state=${this.currentTab}&orderId=${id}`)
 			},
 			handButtonConfirm(data) {//获取点击
-				console.log(data)
 				this.hanldOrder = data
 				this.btnoRderID = data.orderId
 				this.OperationType = data.type
@@ -421,19 +402,10 @@
 						this.$api.navigateTo('/pages/user/order/order-logistics?orderId='+data.orderId)
 						break;
 					case 'again':
-						const isAgainType = 2
-						if(isAgainType == 1){
-							this.modal2 = true
-						}else{
-							this.modal3 = true
-						}
+						this.handBuyAgainInfo()					
 						break;
 					case 'pay':
-						if(data.order.onlinePayFlag == '0'){
-							this.$api.navigateTo(`/pages/user/order/order-payment?type=payfirm&orderId=${data.orderId}`)
-						}else{
-							this.$api.navigateTo(`/pages/user/order/order-payment?type=onlinePay&Amount=${data.order.pendingPayments}&orderId=${data.orderId}`)
-						}
+						this.MiniWxPayFor(data.order)
 						break;
 				}
 			},
@@ -457,6 +429,53 @@
 			handleClick2(){
 				this.modal2 = false;
 			},
+			handleClick3(){
+				this.handShoppingAgainCart()
+				this.modal3 = false
+			},
+			hideMobel(index) {
+				switch(index){
+					case 1:this.modal = false;break;
+					case 2:this.modal2 = false;break;
+					case 3:this.modal3 = false;break;
+				}
+				
+			},
+			handBuyAgainInfo(){//再次购买初始化查询订单商品信息
+				this.OrderService.GetOrderBuyAgain(
+					{
+						orderId:this.btnoRderID,
+					}
+				)
+				.then(response =>{
+					this.handShoppingAgainCart()
+				})
+				.catch(error =>{
+					if(error.data && error.data.length > 0){
+						this.modal3 = true
+						this.invalidList = error.data
+					}else{
+						this.modal2 = true
+					}
+				})
+			},
+			handShoppingAgainCart(){ //一键加入购物车
+				this.ProductService.ShoppingAgainCart(
+					{
+						orderId:this.btnoRderID,
+					}
+				)
+				.then(response => {
+					this.ProductService.QueryShoppingQuantity({userId:this.userId}).then(response => {
+						this.$api.switchTabTo('/pages/tabBar/cart/index');
+					}).catch(error =>{
+						console.log('查询购物车数量错误信息',error)
+					})
+				})
+				.catch(error =>{
+					this.$util.msg(error.msg,2000);
+				})
+			},
 			handOrderConfirm (id){//确认收货
 				this.OrderService.ConfirmReceipt({orderId:id}).then(response =>{
 					this.$util.msg(response.msg,2000,true,'success');
@@ -487,6 +506,44 @@
 					this.$util.msg(error.msg,2000)
 				})
 			},
+			async MiniWxPayFor(data){
+				const wechatCode = await authorize.getCode('weixin')
+				this.PayService.WeChatMiniWxPay(
+					{
+						payAmount:data.payableAmount*100,
+						payWay:"WEIXIN",
+						code:wechatCode,
+						orderId:data.orderId
+					}
+				)
+				.then(response =>{
+					let PayInfo = JSON.parse(response.data.data.payInfo);
+					this.WxRequestPayment(PayInfo)
+				})
+				.catch(error =>{
+					this.$util.msg(error.msg,2000)
+				})
+			},
+			WxRequestPayment(data){
+				let self = this
+				wx.requestPayment({
+					'timeStamp': data.timeStamp,
+					'nonceStr': data.nonceStr,
+					'package': data.package,
+					'signType': data.signType,
+					'paySign': data.paySign,
+					'success':function(res){
+						wx.reLaunch({url: '/pages/tabBar/index/index'});
+					},
+					'fail':function(res){
+						console.log(res)
+						self.$api.redirectTo(`/pages/user/order/success?data=${JSON.stringify({data:self.hanldOrder.order})}`)
+					},
+					'complete':function(res){
+			
+					}
+				})
+			},
 			handlSearchPath(){
 				this.$api.navigateTo('/pages/user/order/search-order')
 			},
@@ -559,15 +616,7 @@
 					}
 				});
 				return HtmlStateText;
-			},
-			hideMobel(index) {
-				switch(index){
-					case 1:this.modal = false;break;
-					case 2:this.modal2 = false;break;
-					case 3:this.modal3 = false;break;
-				}
-				
-			},
+			}
 		},
 		onPageScroll(e) {
 			this.scrollTop = e.scrollTop;

+ 90 - 43
pages/user/order/order-list.vue

@@ -93,7 +93,7 @@
 					<view class="title">以下商品已失效,不能进行购买;是否先将其他商品加入购物车?</view>
 					<scroll-view scroll-y class="tui-modal-custom-list">
 						<view class="custom-list" v-for="(invalid,index) in invalidList" :key="index">
-							<view class="custom-list-image"><image :src="invalid.image" mode=""></image></view>
+							<view class="custom-list-image"><image :src="invalid.productImage" mode=""></image></view>
 							<view class="custom-list-name">{{ invalid.name }}</view>
 						</view>
 					</scroll-view>
@@ -110,6 +110,7 @@
 </template>
 
 <script>
+	import authorize from '@/common/config/authorize.js'
 	import headerBack from '@/components/cm-module/headerNavbar/header-back' 		 	 //自定义导航
 	import btSearch from '@/components/uni-search/bt-search.vue'						//搜索
 	import tuiSkeleton from "@/components/tui-skeleton/tui-skeleton"
@@ -181,28 +182,7 @@
 						type:'danger'
 					}
 				],
-				invalidList:[
-					{
-						image:'https://img.caimei365.com/group1/M00/00/0A/rB-lGGBrzcmAbarfAG8gcPdEFtI777.jpg',
-						name:'韩国恩盛进口氢洁气小气泡清韩国恩盛进口氢洁气小气泡清',
-					},
-					{
-						image:'https://img.caimei365.com/group1/M00/00/0A/rB-lGGBrzcmAbarfAG8gcPdEFtI777.jpg',
-						name:'韩国恩盛进口氢洁气小气泡清韩国恩盛进口氢洁气小气泡清',
-					},
-					{
-						image:'https://img.caimei365.com/group1/M00/00/0A/rB-lGGBrzcmAbarfAG8gcPdEFtI777.jpg',
-						name:'韩国恩盛进口氢洁气小气泡清韩国恩盛进口氢洁气小气泡清',
-					},
-					{
-						image:'https://img.caimei365.com/group1/M00/00/0A/rB-lGGBrzcmAbarfAG8gcPdEFtI777.jpg',
-						name:'韩国恩盛进口氢洁气小气泡清韩国恩盛进口氢洁气小气泡清',
-					},
-					{
-						image:'https://img.caimei365.com/group1/M00/00/0A/rB-lGGBrzcmAbarfAG8gcPdEFtI777.jpg',
-						name:'韩国恩盛进口氢洁气小气泡清韩国恩盛进口氢洁气小气泡清',
-					},
-				]
+				invalidList:[]
 			}
 		},
 		onLoad(e) {
@@ -369,7 +349,6 @@
 				this.$api.navigateTo(`/pages/user/order/order-details?state=${this.currentTab}&orderId=${id}`)
 			},
 			handButtonConfirm(data) {//获取点击
-				console.log(data)
 				this.hanldOrder = data
 				this.btnoRderID = data.orderId
 				this.OperationType = data.type
@@ -394,19 +373,10 @@
 						this.$api.navigateTo('/pages/user/order/order-logistics?orderId='+data.orderId)
 						break;
 					case 'again':
-						const isAgainType = 2
-						if(isAgainType == 1){
-							this.modal2 = true
-						}else{
-							this.modal3 = true
-						}
+						this.handBuyAgainInfo()					
 						break;
 					case 'pay':
-						if(data.order.onlinePayFlag == '0'){
-							this.$api.navigateTo(`/pages/user/order/order-payment?type=payfirm&orderId=${data.orderId}`)
-						}else{
-							this.$api.navigateTo(`/pages/user/order/order-payment?type=onlinePay&Amount=${data.order.pendingPayments}&orderId=${data.orderId}`)
-						}
+						this.MiniWxPayFor(data.order)
 						break;
 				}
 			},
@@ -430,6 +400,53 @@
 			handleClick2(){
 				this.modal2 = false;
 			},
+			handleClick3(){
+				this.handShoppingAgainCart()
+				this.modal3 = false
+			},
+			hideMobel(index) {
+				switch(index){
+					case 1:this.modal = false;break;
+					case 2:this.modal2 = false;break;
+					case 3:this.modal3 = false;break;
+				}
+				
+			},
+			handBuyAgainInfo(){//再次购买初始化查询订单商品信息
+				this.OrderService.GetOrderBuyAgain(
+					{
+						orderId:this.btnoRderID,
+					}
+				)
+				.then(response =>{
+					this.handShoppingAgainCart()
+				})
+				.catch(error =>{
+					if(error.data && error.data.length > 0){
+						this.modal3 = true
+						this.invalidList = error.data
+					}else{
+						this.modal2 = true
+					}
+				})
+			},
+			handShoppingAgainCart(){ //一键加入购物车
+				this.ProductService.ShoppingAgainCart(
+					{
+						orderId:this.btnoRderID,
+					}
+				)
+				.then(response => {
+					this.ProductService.QueryShoppingQuantity({userId:this.userId}).then(response => {
+						this.$api.switchTabTo('/pages/tabBar/cart/index');
+					}).catch(error =>{
+						console.log('查询购物车数量错误信息',error)
+					})
+				})
+				.catch(error =>{
+					this.$util.msg(error.msg,2000);
+				})
+			},
 			handOrderConfirm (id){//确认收货
 				this.OrderService.ConfirmReceipt({orderId:id}).then(response =>{
 					this.$util.msg(response.msg,2000,true,'success');
@@ -460,6 +477,44 @@
 					this.$util.msg(error.msg,2000)
 				})
 			},
+			async MiniWxPayFor(data){
+				const wechatCode = await authorize.getCode('weixin')
+				this.PayService.WeChatMiniWxPay(
+					{
+						payAmount:data.payableAmount*100,
+						payWay:"WEIXIN",
+						code:wechatCode,
+						orderId:data.orderId
+					}
+				)
+				.then(response =>{
+					let PayInfo = JSON.parse(response.data.data.payInfo);
+					this.WxRequestPayment(PayInfo)
+				})
+				.catch(error =>{
+					this.$util.msg(error.msg,2000)
+				})
+			},
+			WxRequestPayment(data){
+				let self = this
+				wx.requestPayment({
+					'timeStamp': data.timeStamp,
+					'nonceStr': data.nonceStr,
+					'package': data.package,
+					'signType': data.signType,
+					'paySign': data.paySign,
+					'success':function(res){
+						wx.reLaunch({url: '/pages/tabBar/index/index'});
+					},
+					'fail':function(res){
+						console.log(res)
+						self.$api.redirectTo(`/pages/user/order/success?data=${JSON.stringify({data:self.hanldOrder.order})}`)
+					},
+					'complete':function(res){
+			
+					}
+				})
+			},
 			handlSearchPath(){
 				this.$api.navigateTo('/pages/user/order/search-order')
 			},
@@ -533,14 +588,6 @@
 				});
 				return HtmlStateText;
 			},
-			hideMobel(index) {
-				switch(index){
-					case 1:this.modal = false;break;
-					case 2:this.modal2 = false;break;
-					case 3:this.modal3 = false;break;
-				}
-				
-			},
 		},
 		onPageScroll(e) {
 			this.scrollTop = e.scrollTop;

+ 200 - 24
pages/user/order/search-order.vue

@@ -14,8 +14,7 @@
 		<view class="search-container-history" v-if="!isShowWrapper">
 			<view :class="'s-' + themeClass" v-if="serachRecordList.length>0">
 				<view class="header">
-					搜索历史
-					<text class="iconfont icon-shanchu" @click="confirmDetele"></text>
+					搜索历史<text class="iconfont icon-shanchu" @click="confirmDetele"></text>
 				</view>
 				<view class="list">
 					<view v-for="(item,index) in serachRecordList" :key="index" @click="keywordsClick(item)">{{item}}</view>
@@ -85,7 +84,8 @@
 								</view>
 							</view>
 							<!-- 底部button -->
-							<order-button ref="orderButton" 
+							<order-button v-if="order.userId == userId"
+										  ref="orderButton" 
 										  :status="order.status" 
 										  :order="order" 
 										  @buttonConfirm="handButtonConfirm">
@@ -100,8 +100,27 @@
 			</scroll-view>
 		</view>
 		<!-- 操作弹窗 -->
-		<tui-modal :show="modal" @click="handleClick" @cancel="hideMobel" :content="contentModalText" color="#333" :size="32" shape="circle" :maskClosable="false"></tui-modal>
-		<!-- 透明模态层 -->
+		<tui-modal :show="modal" @click="handleClick" @cancel="hideMobel(1)" :content="contentModalText" color="#333" :size="32" shape="circle" :maskClosable="false"></tui-modal>
+		<!-- 再次购买订单商品全部下架弹窗 -->
+		<tui-modal :show="modal2" @click="handleClick2" @cancel="hideMobel(2)" shape="circle" content="订单内商品已全部下架,不能购买!" :button="button"></tui-modal>
+		<!-- 再次购买部分商品失效弹窗 -->
+		<tui-modal :show="modal3" @cancel="hideMobel(3)" :custom="true">
+			<view class="tui-modal-custom">
+				<view class="tui-modal-custom-text">
+					<view class="title">以下商品已失效,不能进行购买;是否先将其他商品加入购物车?</view>
+					<scroll-view scroll-y class="tui-modal-custom-list">
+						<view class="custom-list" v-for="(invalid,index) in invalidList" :key="index">
+							<view class="custom-list-image"><image :src="invalid.productImage" mode=""></image></view>
+							<view class="custom-list-name">{{ invalid.name }}</view>
+						</view>
+					</scroll-view>
+				</view>
+				<view class="tui-modal-button">
+					<button  class="modal-button cancel" @click="hideMobel(3)">我再想想</button>
+					<button  class="modal-button confirm" @click="handleClick3">加入购物车</button>
+				</view>
+			</view>
+		</tui-modal>		<!-- 透明模态层 -->
 		<modal-layer v-if='isModalLayer'></modal-layer>
 	</view>
 </template>
@@ -150,8 +169,17 @@
 				nomoreText: '上拉显示更多',
 				scrollHeight:'',
 				modal:false,
+				modal2:false,
+				modal3:false,
 				OperationType:'',
-				contentModalText:''
+				contentModalText:'',
+				button: [
+					{
+						text: '确定',
+						type:'danger'
+					}
+				],
+				invalidList:[]
 			}
 		},
 		onLoad() {
@@ -314,7 +342,6 @@
 				this.$api.navigateTo(`/pages/user/order/order-details?state=${this.currentTab}&orderId=${id}`)
 			},
 			handButtonConfirm(data) {//获取点击
-				console.log(data)
 				this.hanldOrder = data
 				this.btnoRderID = data.orderId
 				this.OperationType = data.type
@@ -338,15 +365,12 @@
 						this.isModalLayer = true;
 						this.$api.navigateTo('/pages/user/order/order-logistics?orderId='+data.orderId)
 						break;
+					case 'again':
+						this.handBuyAgainInfo()					
+						break;
 					case 'pay':
-						if(data.order.onlinePayFlag == '0'){
-							this.$api.navigateTo(`/pages/user/order/order-payment?type=payfirm&orderId=${data.orderId}`)
-						}else{
-							this.$api.navigateTo(`/pages/user/order/order-payment?type=onlinePay&Amount=${data.order.pendingPayments}&orderId=${data.orderId}`)
-						}
+						this.MiniWxPayFor(data.order)
 						break;
-					
-						
 				}
 			},
 			handleClick(e) {//用户操作订单
@@ -355,19 +379,67 @@
 					switch(this.OperationType){
 						case 'delete':
 							this.handOrderDetele(this.btnoRderID);
-							break;
+							break
 						case 'cancel':
 							this.handCenceConfirm(this.btnoRderID)
-							break;
+							break
 						case 'confirm':
 							this.handOrderConfirm(this.btnoRderID);
-							break;
-						case 'history':	
-							this.handDeleteHistory(this.userId)
+							break
 					}
 				}
 				this.modal = false;
 			},
+			handleClick2(){
+				this.modal2 = false;
+			},
+			handleClick3(){
+				this.handShoppingAgainCart()
+				this.modal3 = false
+			},
+			hideMobel(index) {
+				switch(index){
+					case 1:this.modal = false;break;
+					case 2:this.modal2 = false;break;
+					case 3:this.modal3 = false;break;
+				}
+				
+			},
+			handBuyAgainInfo(){//再次购买初始化查询订单商品信息
+				this.OrderService.GetOrderBuyAgain(
+					{
+						orderId:this.btnoRderID,
+					}
+				)
+				.then(response =>{
+					this.handShoppingAgainCart()
+				})
+				.catch(error =>{
+					if(error.data && error.data.length > 0){
+						this.modal3 = true
+						this.invalidList = error.data
+					}else{
+						this.modal2 = true
+					}
+				})
+			},
+			handShoppingAgainCart(){ //一键加入购物车
+				this.ProductService.ShoppingAgainCart(
+					{
+						orderId:this.btnoRderID,
+					}
+				)
+				.then(response => {
+					this.ProductService.QueryShoppingQuantity({userId:this.userId}).then(response => {
+						this.$api.switchTabTo('/pages/tabBar/cart/index');
+					}).catch(error =>{
+						console.log('查询购物车数量错误信息',error)
+					})
+				})
+				.catch(error =>{
+					this.$util.msg(error.msg,2000);
+				})
+			},
 			handOrderConfirm (id){//确认收货
 				this.OrderService.ConfirmReceipt({orderId:id}).then(response =>{
 					this.$util.msg(response.msg,2000,true,'success');
@@ -398,14 +470,44 @@
 					this.$util.msg(error.msg,2000)
 				})
 			},
-			handDeleteHistory(){
-				this.OrderService.ClearOrderHistory({userId:this.userId}).then(response =>{
-					this.$util.msg('删除记录成功',2000,true,'success')
-					this.serachRecordList=[]
-				}).catch(error =>{
+			async MiniWxPayFor(data){
+				const wechatCode = await authorize.getCode('weixin')
+				this.PayService.WeChatMiniWxPay(
+					{
+						payAmount:data.payableAmount*100,
+						payWay:"WEIXIN",
+						code:wechatCode,
+						orderId:data.orderId
+					}
+				)
+				.then(response =>{
+					let PayInfo = JSON.parse(response.data.data.payInfo);
+					this.WxRequestPayment(PayInfo)
+				})
+				.catch(error =>{
 					this.$util.msg(error.msg,2000)
 				})
 			},
+			WxRequestPayment(data){
+				let self = this
+				wx.requestPayment({
+					'timeStamp': data.timeStamp,
+					'nonceStr': data.nonceStr,
+					'package': data.package,
+					'signType': data.signType,
+					'paySign': data.paySign,
+					'success':function(res){
+						wx.reLaunch({url: '/pages/tabBar/index/index'});
+					},
+					'fail':function(res){
+						console.log(res)
+						self.$api.redirectTo(`/pages/user/order/success?data=${JSON.stringify({data:self.hanldOrder.order})}`)
+					},
+					'complete':function(res){
+			
+					}
+				})
+			},
 			handlSearchPath(){
 				this.$api.navigateTo('/pages/user/order/search-order')
 			},
@@ -894,4 +996,78 @@
 			}
 		}
 	}
+	.tui-modal-custom-text{
+		min-height: 300rpx;
+		margin-bottom: 30rpx;
+		.title{
+			width: 100%;
+			height: auto;
+			font-size: $font-size-30;
+			text-align: justify;
+			color: #333333;
+			line-height: 40rpx;
+			margin-bottom: 30rpx;
+		}
+		.tui-modal-custom-list{
+			width: 100%;
+			height: 350rpx;
+			overflow: hidden;
+			.custom-list{
+				width: 100%;
+				height: 117rpx;
+				box-sizing: border-box;
+				float: left;
+				padding: 15rpx 0;
+				.custom-list-image{
+					width: 86rpx;
+					height: 86rpx;
+					float: left;
+					border-radius: 6rpx;
+					box-sizing: border-box;
+					border: 1px solid #e1e1e1;
+					image{
+						width: 84rpx;
+						height: 84rpx;
+						border-radius: 6rpx;
+						display: block;
+					}
+				}
+				.custom-list-name{
+					width: 400rpx;
+					height: 86rpx;
+					float: right;
+					line-height: 43rpx;
+					font-size: $font-size-26;
+					color: #666666;
+					text-overflow: ellipsis;
+					overflow: hidden;
+					display: -webkit-box;
+					-webkit-line-clamp: 2;
+					line-clamp: 2;
+					-webkit-box-orient: vertical;
+				}
+			}
+		}
+	}
+	.tui-modal-button{
+		width: 100%;
+		height: 72rpx;
+		display: flex;
+		.modal-button{
+			width: 200rpx;
+			height: 72rpx;
+			line-height: 72rpx;
+			border-radius: 36rpx;
+			box-sizing: border-box;
+			&.cancel{
+				border: 1px solid #b2b2b2;
+				background: #FFFFFF;
+				color: #333333;
+			}
+			&.confirm{
+				background: $btn-confirm;
+				color: #FFFFFF;
+			}
+		}
+	}
 </style>

+ 45 - 7
pages/user/order/success.vue

@@ -17,10 +17,10 @@
 			</view>
 			<view class="container-money">
 				<view class="label">支付金额</view>
-				<view class="money">¥{{ payMoney | NumFormat}}</view>
+				<view class="money">¥{{ orderInfo.payableAmount | NumFormat}}</view>
 			</view>
 			<view class="container-button">
-				<view class="btn btn-pay" @click="handPayWxMinPay">重新支付</view>
+				<view class="btn btn-pay" @click="MiniWxPayFor(orderInfo)">重新支付</view>
 				<view class="btn btn-open" @click="this.$api.redirectTo('/pages/user/order/order-details?type=confim&orderId='+orderId)">查看订单</view>
 			</view>
 		</view>
@@ -29,7 +29,7 @@
 
 <script>
 	import custom from '@/components/cm-custom/pay-custom' //自定义导航
-	
+	import authorize from '@/common/config/authorize.js'
 	export default{
 		components:{
 			custom
@@ -50,11 +50,14 @@
 				isIphoneX:this.$store.state.isIphoneX,
 				CustomBar:this.CustomBar,// 顶部导航栏高度
 				successText:'订单支付失败',
-				payMoney:88888
+				orderInfo:{},
 			}
 		},
 		onLoad(option) {
-			this.initData(option)
+			console.log(option)
+			let data = JSON.parse(option.data);
+			this.orderInfo = data.data
+			console.log(this.orderInfo)
 		},
 		filters:{
 			NumFormat(value) {//处理金额
@@ -76,8 +79,43 @@
 				})
 				return systeminfo
 			},
-			handPayWxMinPay(){
-				
+			async MiniWxPayFor(data){
+				const wechatCode = await authorize.getCode('weixin')
+				this.PayService.WeChatMiniWxPay(
+					{
+						payAmount:data.payableAmount*100,
+						payWay:"WEIXIN",
+						code:wechatCode,
+						orderId:data.orderId
+					}
+				)
+				.then(response =>{
+					let PayInfo = JSON.parse(response.data.data.payInfo);
+					this.WxRequestPayment(PayInfo)
+				})
+				.catch(error =>{
+					this.$util.msg(error.msg,2000)
+				})
+			},
+			WxRequestPayment(data){
+				let self = this
+				wx.requestPayment({
+					'timeStamp': data.timeStamp,
+					'nonceStr': data.nonceStr,
+					'package': data.package,
+					'signType': data.signType,
+					'paySign': data.paySign,
+					'success':function(res){
+						wx.reLaunch({url: '/pages/tabBar/index/index'});
+					},
+					'fail':function(res){
+						console.log(res)
+						self.$api.redirectTo(`/pages/user/order/success?data=${JSON.stringify({data:self.orderInfo})}`)
+					},
+					'complete':function(res){
+			
+					}
+				})
 			},
 			initData(option){
 				console.log(option)

+ 8 - 0
services/order.service.js

@@ -70,6 +70,14 @@ export default class OrderService {
 			isLoading: true ,
 		})
 	}
+	/* 再次购买查询操作 */
+	GetOrderBuyAgain (data = {}) {
+		return this.AjaxService.get({ 
+			url:'/order/buyAgain', 
+			data, 
+			isLoading: false ,
+		})
+	}
 	/* 查询物流 */
 	QueryLogistics (data = {}) {
 		return this.AjaxService.get({ 

+ 12 - 1
services/product.service.js

@@ -41,7 +41,18 @@ export default class ProductService {
 		return this.AjaxService.post({ 
 			url:'/shopping/add/cart', 
 			data, 
-			isLoading: true 
+			isLoading: false 
+		})
+	}
+	/**
+	 * @再次购买----一键加入购物车
+	 * @param:orderId 用户ID(必填)
+	 */
+	ShoppingAgainCart (data = {}) {
+		return this.AjaxService.get({ 
+			url:'/shopping/addCart', 
+			data, 
+			isLoading: false 
 		})
 	}