dever 4 năm trước cách đây
mục cha
commit
161c4a1280
4 tập tin đã thay đổi với 66 bổ sung39 xóa
  1. 10 4
      lib/dever/index.js
  2. 4 3
      pages/dream/func/share.vue
  3. 1 1
      pages/dream/view.vue
  4. 51 31
      pages/dream/view/product.vue

+ 10 - 4
lib/dever/index.js

@@ -922,8 +922,12 @@ var dever = {
 				}
 			}
 		}
-		if (!state) {
-			uni.showLoading({title: '加载中', mask: true});
+		if (!state) {
+			var title = '加载中';
+			if (method == 'POST') {
+				title = '提交中';
+			}
+			uni.showLoading({title: title, mask: true});
 			//uni.showNavigationBarLoading();
 			this.showLoad = true;
 		}
@@ -1306,8 +1310,10 @@ var dever = {
 			location = location + fix + 'order_id=' + result.order_id;
 		}
 		
-		if (result.type == 'test') {
-			self.location(location, 'to');
+		if (result.type == 'test') {
+			self.alert('支付成功','none', function() {
+				self.location(location, 'to');
+			})
 		} else if (self.source == 'h5') {
 			uni.hideLoading();
 			uni.showLoading({title: '跳转中', mask: true});

+ 4 - 3
pages/dream/func/share.vue

@@ -21,9 +21,10 @@
 					</view>
 				</view>
 			</swiper-item>
-		</swiper>
-		<view class="">
-			分享给好友后,你将获得100积分,100余额
+		</swiper>
+		<view style="text-align: center;" v-if="fetch.info.reward > 0">
+			<text class="grace-capsule-icon">佣金</text>
+			<text class="grace-capsule-text">分享给你的好友,好友购买后你至少获得{{fetch.info.reward}}元</text>
 		</view>
 		<view class="share_save_box">
 			<!-- #ifdef MP -->

+ 1 - 1
pages/dream/view.vue

@@ -135,7 +135,7 @@ export default{
 				title:option.name
 			});
 		}
-		
+		this.Dever.config.name = option.name;
 		this.Dever.config.code = option.code;
 		this.getData();
 	},

+ 51 - 31
pages/dream/view/product.vue

@@ -19,7 +19,7 @@
 					<text class="grace-product-price">¥{{item.goods.price.min.price}}</text>
 					<text class="grace-text grace-gray grace-line-through" style="margin-left:30rpx;">¥{{item.goods.price.min.s_price}}</text>
 				</view>
-				<view class="grace-space-between grace-flex-vcenter" v-if="item.goods.type == 1">
+				<view class="grace-space-between grace-flex-vcenter" v-if="item.goods.platform == 1">
 					<text class="grace-text-small grace-gray" v-if="item.goods.freight && item.goods.freight.price">运费 ¥{{item.goods.freight.price}}</text>
 					<text class="grace-text-small grace-gray">已售 {{item.goods.sell_num}} 件</text>
 				</view>
@@ -81,7 +81,7 @@
 							<view class="grace-form-body" style="padding:20rpx 0;">
 								<radio-group name="danxuan" @change="setMode">
 									<label class="grace-check-item-v" v-if="item.goods.mode == 1 || item.goods.mode == 3"><radio value="1" checked></radio><text style="margin-left:10rpx;">快递</text></label>
-									<label class="grace-check-item-v" v-if="item.goods.mode == 2 || item.goods.mode == 3"><radio value="2"></radio><text style="margin-left:10rpx;">自提</text></label>
+									<label class="grace-check-item-v" v-if="store_state && (item.goods.mode == 2 || item.goods.mode == 3)"><radio value="2"></radio><text style="margin-left:10rpx;">自提</text></label>
 								</radio-group>
 							</view>
 						</view>
@@ -89,15 +89,19 @@
 						<view class="grace-wrap" style="margin-top: 20rpx;">
 							<view class="grace-capsule margin" v-if="(item.goods.mode == 1 || item.goods.mode == 3) && mode == 1" @click="openDialog">
 								<text class="grace-capsule-icon">地址</text>
-								<text class="grace-capsule-text">{{fetch.area_name}}{{fetch.address}}</text>
+								<text class="grace-capsule-text" v-if="fetch.area_id">{{fetch.area_name}}{{fetch.address}}</text>
+								<text class="grace-capsule-text" v-if="!fetch.area_id">您还没有收货地址,请点此填写地址</text>
 							</view>
 							<view class="grace-capsule margin" v-if="(item.goods.mode == 2 || item.goods.mode == 3) && mode == 2">
 								<text class="grace-capsule-icon grace-icon-br" style="background:#E76B61;">自提</text>
-								<picker @change="storeChange" :value="store_index" :range="store_data">
+								<picker @change="storeChange" :value="store_index" :range="store_data" v-if="store_state">
 									<text class="picker grace-capsule-text grace-text-br" style="border-color:#E76B61; color:#E76B61;">
 										{{store_data[store_index]}}
 									</text>
 								</picker>
+								<text class="grace-capsule-text grace-text-br" style="border-color:#E76B61; color:#E76B61;" v-if="!store_state" @click="openDialog">
+									暂无自提点,点此更换地址
+								</text>
 							</view>
 						</view>
 					</view>
@@ -161,7 +165,7 @@
 			<view v-if="showComment">
 				<dever-publish :title="title" :is_upload="true" @hideModal="hideModal" @getRefresh="getRefresh" :type="key" :type_id="item.goods.id" :api="api"></dever-publish>
 			</view>
-			<graceAddressPicker v-if="address_default.length > 0" :value="address_default" :show="graceAddressPickerShow" @confirm="pickerConfirm" @close="closePicker" cancelTColor="关闭"></graceAddressPicker>
+			<graceAddressPicker :value="address_default" :show="graceAddressPickerShow" @confirm="pickerConfirm" @close="closePicker" cancelTColor="关闭"></graceAddressPicker>
 		</view> 
 		<!-- 底部 -->
 		
@@ -214,6 +218,7 @@ export default {
 				store : [],
 			},
 			mode : -1,
+			store_state : false,
 			store_data : [],
 			store_index : 0,
 			store_relation : [],
@@ -267,14 +272,7 @@ export default {
 			data.noloading = 1;
 			this.Dever.get(this, 'app/user/?l=api.goods', data, function(t) {
 				self.address_default = self.fetch.area_id.split(',');
-				if (t && t.store) {
-					var j = 0;
-					for (var i in t.store) {
-						self.store_data[j] = t.store[i].name;
-						self.store_relation[j] = i;
-						j++;
-					}
-				}
+				self.setStore(t.store);
 			});
 			/*
 			this.Dever.getLocation('wgs84', '', function(t) {
@@ -284,6 +282,24 @@ export default {
 			});
 			*/
 		},
+		setStore : function(store) {
+			var data = Object.keys(store);
+			if (data.length > 0) {
+				var j = 0;
+				for (var i in store) {
+					this.store_data[j] = store[i].name;
+					this.store_relation[j] = i;
+					j++;
+				}
+				this.store_state = true;
+			} else {
+				this.store_data = [];
+				this.store_relation = [];
+				this.store_index = 0;
+				this.store_state = false;
+			}
+			
+		},
 		getData : function(page) {
 			if (this.active == 0) {
 				return;
@@ -347,13 +363,8 @@ export default {
 			this.buyNum = e[0];
 			this.getAttrKey();
 		},
-		// 属性提交
-		attrSubmit : function(e) {
-			//后续操作
-			uni.showToast({
-				title:"属性已经收集,请观察控制台",
-				icon:"none"
-			});
+		// 支付
+		attrSubmit : function(e) {
 			var data = {};
 			data.goods_id = this.item.goods.id;
 			data.price = this.payPrice;
@@ -363,16 +374,21 @@ export default {
 			data.mode = this.mode;
 
 			if (this.mode == 2) {
+				if (this.store_data.length < 0) {
+					this.Dever.alert('暂无自提点,请选择快递');
+					return;
+				}
 				var store = this.fetch.store[this.store_relation[this.store_index]].id;
 				data.store_id = store;
 			}
-			
-			console.log(data);
-			return;
+
 			//如果想关闭属性
 			//this.closeAttr();
+			var location = 'dream/view?code='+this.Dever.config.code + '&name=' + this.Dever.config.name;
+			data.refer = this.Dever.host + '/' + location;
+			var self = this;
 			this.Dever.post('app/user/?l=pay.product', data, function(t) {
-				console.info(t);
+				self.Dever.pay(t, location, '支付失败');
 			});
 		},
 		// 获取属性key
@@ -404,6 +420,7 @@ export default {
 				
 				if (this.item.goods.freight.type == 2) {
 					freight_price = this.payPrice*(price/100);
+					freight_price = freight_price.toFixed(2);
 				} else {
 					freight_price = price;
 				}
@@ -414,7 +431,7 @@ export default {
 					this.freight_price = freight_price;
 				}
 			} else {
-				
+				this.freight_price = 0;
 			}
 			
 			return true;
@@ -457,12 +474,12 @@ export default {
 			data.address_mobile = this.fetch.address_mobile;
 			data.address = this.fetch.address;
 			data.area_id = this.fetch.area_id;
-			data.noloading = 1;
-			this.closeDialog();
+			//data.noloading = 1;
 			var self = this;
 			this.Dever.post('app/user/?l=api.saveAddress', data, function(t) {
-				console.info(t);
-				self.item.goods.freight = t;
+				self.closeDialog();
+				self.item.goods.freight = t.freight;
+				self.setStore(t.store);
 				self.getAttrKey();
 			});
 		}
@@ -519,12 +536,15 @@ export default {
 
 .grace-capsule-icon {
 	white-space: nowrap;
-	overflow: hidden;
+	line-height: 34rpx;
 	text-overflow: ellipsis;
+	display: -webkit-box; /** 对象作为伸缩盒子模型显示 **/
+	-webkit-box-orient: vertical; /** 设置或检索伸缩盒对象的子元素的排列方式 **/
+	-webkit-line-clamp: 1; /** 显示的行数 **/
 }
 
 .grace-capsule-text {
-	white-space: nowrap;
+	line-height : 34rpx;
 	overflow: hidden;
 	text-overflow: ellipsis;
     word-break: break-all;