浏览代码

更改立即购买逻辑

gcz 2 年之前
父节点
当前提交
6d0c083a33
共有 3 个文件被更改,包括 49 次插入10 次删除
  1. 36 7
      shopping/productdetails.vue
  2. 12 3
      shopping/submitorder.vue
  3. 1 0
      store/index.js

+ 36 - 7
shopping/productdetails.vue

@@ -125,11 +125,9 @@
 				swiperList: [],
 				details:{
 					slideImgList:[]
-				}
+				},
+				hasAddr:false,
 			}
-		},
-		onShow() {
-			
 		},
 		onLoad(page) {
 			this.id = page.id;
@@ -137,7 +135,8 @@
 			this.getDetails(this.id);
 		},
 		onShow(){
-			this.getCartList()
+			this.getCartList();
+			this.getAddrList();
 		},
 		methods: {
 			leftClick(e){
@@ -195,7 +194,24 @@
 				})
 			},
 			buyNow(id){
-				this.addCart(id,'buyNow')
+				// this.addCart(id,'buyNow')//跳购物车
+				if(!this.hasAddr){
+					uni.showModal({
+						title: '温馨提示',
+						content: '请先设置地址!',
+						success: res => {
+							if (res.confirm) {
+								uni.$u.route('/center/addrlist', {
+									from: 'productdetails',
+									backUrl:'/shopping/productdetails?id='+this.id
+								});
+							}
+						}
+					})
+					return
+				}
+				this.$u.vuex('buyNowGoods',[{goodsId:this.id,quantity:1}]);
+				uni.$u.route('/shopping/submitorder', {fromPage: 'productdetails'});
 			},
 			addCreditOrder(id){
 				let that = this;
@@ -239,7 +255,20 @@
 			  }
 			  // 返回shareObj
 			  return shareObj;
-			}
+			},
+			getAddrList(){
+				this.$u.api.addrList().then(res=>{
+					// this.dataList = res.data.rows;
+					console.log('getAddrList',res);
+					if( res.data.total>0){
+						this.hasAddr = true;
+					}else{
+						this.hasAddr = false;
+					}
+				}).catch(err=>{
+					console.log('getAddrList',err.data);
+				})
+			},
 		}
 	}
 </script>

+ 12 - 3
shopping/submitorder.vue

@@ -140,9 +140,10 @@
             }
         },
 		onLoad(page) {
-			// console.log('page',page);
+			console.log('page',page);
 			// console.log('this.creditGoods',this.creditGoods);
 			this.fromPage = page.fromPage;
+			console.log('fromPage',this.fromPage);
 			// if(this.cartGoods>0&&this.fromPage!='cart'){
 			// 	console.log('fromPagecart',this.fromPage);
 			// 	this.orderInfo.goodsList = this.cartGoods;
@@ -152,14 +153,22 @@
 			// 	this.orderInfo.goodsList = this.creditGoods;
 			// }
 			this.orderInfo.goodsList = this.cartGoods;
+			console.log('this.buyNowGoods',this.buyNowGoods);
+			if(this.buyNowGoods.length>0&&this.fromPage=='productdetails'){
+				console.log('fromPagecart',this.fromPage);
+				this.orderInfo.goodsList = this.buyNowGoods;
+			}
 			this.settlement();
 		},
+		onUnload() {
+		    this.$u.vuex('buyNowGoods',[]);
+			console.log('this.buyNowGoods',this.buyNowGoods);
+		},
 		onShow() {
 			if(this.fromPage=='addrlist'){
 				this.settlement()
 			}
-			console.log('cartGoods===',this.cartGoods);
-			
+			// console.log('cartGoods===',this.cartGoods);
 		},
 		computed: {
 			totalWeight() {

+ 1 - 0
store/index.js

@@ -37,6 +37,7 @@ const store = new Vuex.Store({
 		vuex_wechatOpenid:lifeData.vuex_wechatOpenid ? lifeData.vuex_wechatOpenid : '',
 		cartGoods:[],//购物车商品
 		creditGoods:[],//积分商品
+		buyNowGoods:[],//立即购买商品
 		// vuex_version: '1.0.1',
 	},
 	mutations: {