Merge pull request 'group buy 8.8' (#133) from zhy into master
Reviewed-on: http://git.luyuan.tk/luyuan/deming/pulls/133
This commit is contained in:
		
						commit
						6d6b1648bc
					
				@ -105,6 +105,7 @@ export default {
 | 
			
		||||
			flex-shrink: 0;
 | 
			
		||||
		}
 | 
			
		||||
		.title-wrap {
 | 
			
		||||
			flex: 1;
 | 
			
		||||
			.item-top {
 | 
			
		||||
				font-size: 30rpx;
 | 
			
		||||
				color: rgba(51,51,51,1);
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,5 @@
 | 
			
		||||
<template>
 | 
			
		||||
	<view class="order-item">
 | 
			
		||||
	<view class="order-item" v-if="order.extend_store">
 | 
			
		||||
		<view class="order-title">
 | 
			
		||||
			<view class="store-info">
 | 
			
		||||
				<image :src="order.extend_store.store_avatar"></image>
 | 
			
		||||
@ -24,13 +24,14 @@
 | 
			
		||||
				</view>
 | 
			
		||||
			</view>
 | 
			
		||||
		</view>
 | 
			
		||||
		<view class="order-btn" v-if="[1, 2, 3, 4, 8].indexOf(order.view_type) >= 0">
 | 
			
		||||
		<view class="order-btn" v-if="[1, 2, 3, 4, 8, 9].indexOf(order.view_type) >= 0">
 | 
			
		||||
			<view class="cancel" v-if="(order.view_type == 3 || order.view_type == 2) && order.is_refund == 1" @click="toOtherPage('RefundOrder')">申请退款</view>
 | 
			
		||||
			<view class="cancel" v-if="order.view_type == 3" @click="toOtherPage('Logistics')">查看物流</view>
 | 
			
		||||
			<view class="logistics" v-if="order.view_type == 3" @click="confirmReceive">确认收货</view>
 | 
			
		||||
			<view class="comment" v-if="order.view_type == 4" @click="toOtherPage('Comment')">立即评价</view>
 | 
			
		||||
			<view class="cancel" v-if="order.view_type == 1" @click="cancelOrder">取消支付</view>
 | 
			
		||||
			<view class="payment" v-if="order.view_type == 1" @click="payNow(order.pay_sn, order.order_amount,order.order_id)">立即支付</view>
 | 
			
		||||
			<view class="cancel" v-if="order.view_type == 9" @click="cancelOrder">取消订单</view>
 | 
			
		||||
			<view class="payment" v-if="order.view_type == 1 || order.view_type == 9" @click="payNow(order.pay_sn, order.order_amount,order.order_id)">立即支付</view>
 | 
			
		||||
			<view class="service" v-if="order.view_type == 8">联系官方客服</view>
 | 
			
		||||
			<view class="submit" v-if="order.view_type == 8">提交官方审核</view>
 | 
			
		||||
		</view>
 | 
			
		||||
 | 
			
		||||
@ -8,13 +8,16 @@
 | 
			
		||||
			</view>
 | 
			
		||||
        </view>
 | 
			
		||||
        <view class="label">
 | 
			
		||||
            <u-tabs-swiper ref="group" :list="classifyList" name="gc_name" :is-scroll="true" active-color="#FF780F" :current="current" font-size="24" :show-bar="false" @change="tabsChange" height="60"></u-tabs-swiper>
 | 
			
		||||
            <!-- <u-tabs-swiper ref="group" :list="classifyList" name="gc_name" :is-scroll="true" active-color="#FF780F" :current="current" font-size="24" :show-bar="false" @change="tabsChange" height="60"></u-tabs-swiper> -->
 | 
			
		||||
			<u-tabs :list="classifyList" name="gc_name" :is-scroll="true" :current="current" @change="tabsChange" active-color="#FF780F" :show-bar="false" height="60" font-size="24"  inactive-color="#333333"></u-tabs>
 | 
			
		||||
        </view>
 | 
			
		||||
		<swiper :current="swiperCurrent" @animationfinish="animationfinish" style="height: 340rpx;">
 | 
			
		||||
			<swiper-item class="swiper-item list" v-for="(_, i) in classifyList" :key="i">
 | 
			
		||||
				<!-- 最多显示3个 -->
 | 
			
		||||
				<sitem :info="info" v-for="(info, index) in groupList.slice(0, 3)" :key="index"></sitem>
 | 
			
		||||
				<u-empty text="暂无拼团商品" mode="list" color="#000" v-if="!groupList.length" style="margin: 0 auto;"></u-empty>
 | 
			
		||||
				<view v-if="groupList[i]">
 | 
			
		||||
					<sitem :info="info" v-for="(info, index) in groupList[i].slice(0, 3)" :key="index"></sitem>
 | 
			
		||||
				</view>
 | 
			
		||||
				<u-empty text="暂无拼团商品" mode="list" color="#000" v-if="!groupList[i] || !groupList[i].length" style="margin: 0 auto;"></u-empty>
 | 
			
		||||
			</swiper-item>
 | 
			
		||||
		</swiper>
 | 
			
		||||
    </view>
 | 
			
		||||
@ -58,7 +61,9 @@ export default {
 | 
			
		||||
				page: 0,
 | 
			
		||||
				gc_id: id,
 | 
			
		||||
			}).then(res => {
 | 
			
		||||
				this.groupList = res.data;
 | 
			
		||||
				this.groupList[this.current] = res.data;
 | 
			
		||||
				// console.log(this.groupList);
 | 
			
		||||
				this.$forceUpdate();
 | 
			
		||||
			})
 | 
			
		||||
		},
 | 
			
		||||
		tabsChange(index) {
 | 
			
		||||
 | 
			
		||||
@ -2,14 +2,15 @@
 | 
			
		||||
    <view class="list">
 | 
			
		||||
        <view class="top">商品推荐</view>
 | 
			
		||||
		<view>
 | 
			
		||||
			<u-tabs-swiper ref="uTabs" :list="classifyList" name="gc_name" :is-scroll="true" active-color="#FF780F" :current="current" font-size="26" :show-bar="false" @change="tabsChange" height="60"></u-tabs-swiper>
 | 
			
		||||
			<!-- <u-tabs-swiper ref="uTabs" :list="classifyList" name="gc_name" :is-scroll="true" active-color="#FF780F" :current="current" font-size="26" :show-bar="false" @change="tabsChange" height="60"></u-tabs-swiper> -->
 | 
			
		||||
			<u-tabs :list="classifyList" name="gc_name" :is-scroll="true" :current="current" @change="tabsChange" active-color="#FF780F" :show-bar="false" height="60" font-size="24"  inactive-color="#333333"></u-tabs>
 | 
			
		||||
		</view>
 | 
			
		||||
		<swiper class="swiper-box" :current="swiperCurrent" @transition="transition" @animationfinish="animationfinish" :style="{height: swiperHeight}">
 | 
			
		||||
		<swiper class="swiper-box" :current="swiperCurrent" @animationfinish="animationfinish" :style="{height: swiperHeight}">
 | 
			
		||||
			<swiper-item class="swiper-item" v-for="(_, index) in classifyList" :key="index">
 | 
			
		||||
				<view class="goods-item" v-if="goodsList.length">
 | 
			
		||||
					<item v-for="item in goodsList" :key="item.goods_id" :info="item"></item>
 | 
			
		||||
				<view class="goods-item">
 | 
			
		||||
					<item v-for="item in goodsList[index]" :key="item.goods_id" :info="item"></item>
 | 
			
		||||
				</view>
 | 
			
		||||
				<u-empty text="暂无商品" mode="list" color="#000" margin-top="20" v-else></u-empty>
 | 
			
		||||
				<u-empty text="暂无商品" mode="list" color="#000" margin-top="20" v-if="!goodsList[index] || !goodsList[index].length"></u-empty>
 | 
			
		||||
			</swiper-item>
 | 
			
		||||
		</swiper>
 | 
			
		||||
		<!-- 加载更多 -->
 | 
			
		||||
@ -39,7 +40,7 @@ export default {
 | 
			
		||||
	watch: {
 | 
			
		||||
		current(index) {
 | 
			
		||||
			this.page = 1;
 | 
			
		||||
			this.goodsList = [];
 | 
			
		||||
			// this.goodsList = [];
 | 
			
		||||
			const id = this.classifyList[index].gc_id;
 | 
			
		||||
			this.getGoodsRecommend({gc_id: id});
 | 
			
		||||
		}
 | 
			
		||||
@ -86,34 +87,30 @@ export default {
 | 
			
		||||
			// this.swiperCurrent = this.current;
 | 
			
		||||
			if (res.errCode == 0) {
 | 
			
		||||
				this.timer = true;
 | 
			
		||||
				if(reload) this.goodsList = res.data.goodsList;
 | 
			
		||||
				else this.goodsList.push(...res.data.goodsList);
 | 
			
		||||
				if(reload) this.goodsList[this.current] = res.data.goodsList;
 | 
			
		||||
				else this.goodsList[this.current].push(...res.data.goodsList);
 | 
			
		||||
				// console.log(this.goodsList);
 | 
			
		||||
				this.setSwiperHeight();
 | 
			
		||||
			}
 | 
			
		||||
			this.$forceUpdate();
 | 
			
		||||
			return res.data.goodsList.length;
 | 
			
		||||
		},
 | 
			
		||||
		setSwiperHeight() {
 | 
			
		||||
			// height: 230px, margin-bottom: 13
 | 
			
		||||
			const height = Math.ceil(this.goodsList.length / 2) * (500 + 26);
 | 
			
		||||
			// height: 480rpx, margin-bottom: 26rpx
 | 
			
		||||
			const height = Math.ceil(this.goodsList[this.current].length / 2) * (480 + 26);
 | 
			
		||||
			this.swiperHeight = height == 0 ? '230rpx' : height + 'rpx';
 | 
			
		||||
			// this.swiperHeight = Math.ceil(this.goodsList.length / 2) * (270 + 13) + 'px';
 | 
			
		||||
			// console.log(this.swiperHeight);
 | 
			
		||||
		},
 | 
			
		||||
		// tabs通知swiper切换
 | 
			
		||||
		tabsChange(index) {
 | 
			
		||||
			this.current = index;
 | 
			
		||||
			this.swiperCurrent = this.current;
 | 
			
		||||
			// this.getGoodsRecommend({ gc_id: this.classifyList[this.current].gc_id });
 | 
			
		||||
		},
 | 
			
		||||
		// swiper-item左右移动,通知tabs的滑块跟随移动
 | 
			
		||||
		transition(e) {
 | 
			
		||||
			let dx = e.detail.dx;
 | 
			
		||||
			this.$refs.uTabs.setDx(dx);
 | 
			
		||||
		},
 | 
			
		||||
		// 由于swiper的内部机制问题,快速切换swiper不会触发dx的连续变化,需要在结束时重置状态
 | 
			
		||||
		// swiper滑动结束,分别设置tabs和swiper的状态
 | 
			
		||||
		animationfinish(e) {
 | 
			
		||||
			let current = e.detail.current;
 | 
			
		||||
			this.$refs.uTabs.setFinishCurrent(current);
 | 
			
		||||
			this.current = current;
 | 
			
		||||
			this.swiperCurrent = current;
 | 
			
		||||
			// this.getGoodsRecommend({ gc_id: this.classifyList[this.current].gc_id });
 | 
			
		||||
@ -136,8 +133,7 @@ export default {
 | 
			
		||||
    }
 | 
			
		||||
    .swiper-box {
 | 
			
		||||
        height: 100%;
 | 
			
		||||
        padding: 20rpx 0;
 | 
			
		||||
        margin-bottom: 10rpx;
 | 
			
		||||
        padding-top: 20rpx;
 | 
			
		||||
        .swiper-item {
 | 
			
		||||
            // height: 100%;
 | 
			
		||||
            .goods-item {
 | 
			
		||||
 | 
			
		||||
@ -65,6 +65,7 @@ export default {
 | 
			
		||||
			margin-bottom: 16rpx;
 | 
			
		||||
            font-size: 26rpx;
 | 
			
		||||
            font-weight: 600;
 | 
			
		||||
			height: 60rpx;
 | 
			
		||||
			line-height: 30rpx;
 | 
			
		||||
            color: #333;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
@ -7,7 +7,7 @@
 | 
			
		||||
				<u-icon name="arrow-right" color="#999" size="22"></u-icon>
 | 
			
		||||
			</view>
 | 
			
		||||
        </view>
 | 
			
		||||
        <view class="connect">
 | 
			
		||||
        <view class="connect" @click="toOthersPage">
 | 
			
		||||
            <view class="time" v-if="type == 'spike'">
 | 
			
		||||
                <image src="/static/image/common/15.png"></image>
 | 
			
		||||
                <text>{{ info.groupbuy_starttime_histime }}</text>
 | 
			
		||||
@ -42,8 +42,8 @@ export default {
 | 
			
		||||
			this.$u.route({
 | 
			
		||||
				url: 'pageB/sdetails/index',
 | 
			
		||||
				params: {
 | 
			
		||||
					id: this.recommendData.groupbuy_id,
 | 
			
		||||
					type: 3,
 | 
			
		||||
					id: this.recommendData.goods_id,
 | 
			
		||||
					// type: 3,
 | 
			
		||||
				}
 | 
			
		||||
			})
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
@ -61,8 +61,8 @@ export default {
 | 
			
		||||
			this.$u.route({
 | 
			
		||||
				url: 'pageB/sdetails/index',
 | 
			
		||||
				params: {
 | 
			
		||||
					id: this.item.groupbuy_id,
 | 
			
		||||
					type: 3,
 | 
			
		||||
					id: this.item.goods_id,
 | 
			
		||||
					// type: 3,
 | 
			
		||||
				}
 | 
			
		||||
			})
 | 
			
		||||
		},
 | 
			
		||||
@ -85,8 +85,8 @@ export default {
 | 
			
		||||
			this.$u.route({
 | 
			
		||||
				url: 'pageB/sdetails/index',
 | 
			
		||||
				params: {
 | 
			
		||||
					id: this.item.pintuan_id,
 | 
			
		||||
					type: 2,
 | 
			
		||||
					id: this.item.goods_id,
 | 
			
		||||
					// type: 2,
 | 
			
		||||
				}
 | 
			
		||||
			})
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
@ -4,15 +4,18 @@
 | 
			
		||||
			<view class="title">全部优惠券</view>
 | 
			
		||||
			<view class="view-more" @click="toCouponPage">查看更多></view>
 | 
			
		||||
		</view>
 | 
			
		||||
		<u-tabs-swiper ref="coupon" :list="couponGroupList" name="gc_name" :is-scroll="true" active-color="#FF780F" :current="couponCurrent" font-size="24" :show-bar="false" @change="couponTabsChange" height="60" ></u-tabs-swiper>
 | 
			
		||||
		<!-- <u-tabs-swiper ref="coupon" :list="couponGroupList" name="gc_name" :is-scroll="true" active-color="#FF780F" :current="couponCurrent" font-size="24" :show-bar="false" @change="couponTabsChange" height="60" ></u-tabs-swiper> -->
 | 
			
		||||
		<u-tabs :list="couponGroupList" name="gc_name" :is-scroll="true" :current="couponCurrent" @change="couponTabsChange" active-color="#FF780F" :show-bar="false" height="60" font-size="24"  inactive-color="#333333"></u-tabs>
 | 
			
		||||
		 <!-- :style="{ height: swiperHeight }" -->
 | 
			
		||||
		<swiper class="box" :current="swiperCouponCurrent" @animationfinish="couponAnimationFinish" :style="{height: swiperHeight}">
 | 
			
		||||
			<swiper-item class="swiper-coupon-item" v-for="(_, i) in couponGroupList" :key="i">
 | 
			
		||||
				<!-- 最多显示四个 -->
 | 
			
		||||
				<view v-for="(coupon, index) in couponList.slice(0, 4)" :key="index" class="coupon-item">
 | 
			
		||||
					<Coupon :couponInfo="coupon" :status='0' :type="0"></Coupon>
 | 
			
		||||
				<view v-if="couponList[i]">
 | 
			
		||||
					<view v-for="(coupon, index) in couponList[i].slice(0, 4)" :key="index" class="coupon-item">
 | 
			
		||||
						<Coupon :couponInfo="coupon" :status='0' :type="0"></Coupon>
 | 
			
		||||
					</view>
 | 
			
		||||
				</view>
 | 
			
		||||
				<u-empty text="暂无优惠券" mode="coupon" color="#000" v-if="!couponList.length"></u-empty>
 | 
			
		||||
				<u-empty text="暂无优惠券" mode="coupon" color="#000" v-if="!couponList[i] || !couponList[i].length"></u-empty>
 | 
			
		||||
			</swiper-item>
 | 
			
		||||
		</swiper>
 | 
			
		||||
	</view>
 | 
			
		||||
@ -56,16 +59,18 @@ export default {
 | 
			
		||||
				gc_id: gc_id, 
 | 
			
		||||
			}).then(res => {
 | 
			
		||||
				if(res.errCode == 0) {
 | 
			
		||||
					this.couponList = res.data;
 | 
			
		||||
					this.couponList[this.couponCurrent] = res.data;
 | 
			
		||||
				} else {
 | 
			
		||||
					this.couponList = [];
 | 
			
		||||
					this.couponList[this.couponCurrent] = [];
 | 
			
		||||
				}
 | 
			
		||||
				// 设置 swiper 高度
 | 
			
		||||
				this.setViewHeight();
 | 
			
		||||
				this.$forceUpdate();
 | 
			
		||||
			})
 | 
			
		||||
		},
 | 
			
		||||
		couponTabsChange(index) {
 | 
			
		||||
			this.couponCurrent = index;
 | 
			
		||||
			this.swiperCouponCurrent = this.couponCurrent;
 | 
			
		||||
		},
 | 
			
		||||
		couponAnimationFinish(e) {
 | 
			
		||||
			const current = e.detail.current;
 | 
			
		||||
@ -75,8 +80,8 @@ export default {
 | 
			
		||||
		setViewHeight() {
 | 
			
		||||
			// 一个优惠券的高度 97px, 下距离 10px
 | 
			
		||||
			let num = 0;
 | 
			
		||||
			num = this.couponList.length 
 | 
			
		||||
				? this.couponList.length > 4 ? 4 : this.couponList.length
 | 
			
		||||
			num = this.couponList[this.couponCurrent].length 
 | 
			
		||||
				? this.couponList[this.couponCurrent].length > 4 ? 4 : this.couponList[this.couponCurrent].length
 | 
			
		||||
				: 1
 | 
			
		||||
			this.swiperHeight = (200 + 20) * num + 'rpx';
 | 
			
		||||
		},
 | 
			
		||||
 | 
			
		||||
@ -201,7 +201,7 @@ export default {
 | 
			
		||||
			showInvolvementUser: false, // 参团
 | 
			
		||||
			involvemenGroupInfo: [], // 参团的人
 | 
			
		||||
			groupbuyInfo: {}, // 秒杀详情
 | 
			
		||||
			spikeTime: '',
 | 
			
		||||
			spikeTime: '00:00:00',
 | 
			
		||||
			isSpike: false, // 是否超过秒杀时间
 | 
			
		||||
			timer: '', // 秒杀时间定时器
 | 
			
		||||
			spec_id: '', // 规格 id, 下单用的
 | 
			
		||||
@ -360,7 +360,7 @@ export default {
 | 
			
		||||
						this.id = res.data.goods.pintuan_id;
 | 
			
		||||
						this.getGoodsDetails(this.id);
 | 
			
		||||
					} else if(this.type == 3) {
 | 
			
		||||
						this.id = res.data.goods.groupbuy_id;
 | 
			
		||||
						this.id = res.data.groupbuy_id;
 | 
			
		||||
						this.getGoodsDetails(this.id);
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
@ -388,12 +388,12 @@ export default {
 | 
			
		||||
				groupbuy_id: id
 | 
			
		||||
			}).then(res => {
 | 
			
		||||
				if(res.errCode == 0) {
 | 
			
		||||
					this.id = res.data.groupbuy_id;
 | 
			
		||||
					// this.id = res.data.groupbuy_id;
 | 
			
		||||
					this.groupbuyInfo = res.data.groupbuyInfo;
 | 
			
		||||
					this.evaluate = res.data.goodsInfo.goods_evaluate_info;
 | 
			
		||||
					this.goodsInfo = res.data.goodsInfo.goods;
 | 
			
		||||
					this.setSwiperList(res.data.goodsInfo.goods_image);
 | 
			
		||||
					this.setSpikeTime(res.data.groupbuyInfo.groupbuy_endtime);
 | 
			
		||||
					this.setSpikeTime(res.data.groupbuyInfo.groupbuy_starttime);
 | 
			
		||||
				}
 | 
			
		||||
			})
 | 
			
		||||
		},
 | 
			
		||||
@ -423,7 +423,7 @@ export default {
 | 
			
		||||
				if(type == 'involvement') {
 | 
			
		||||
					// const userId = uni.getStorageSync('user_info').member.member_id;
 | 
			
		||||
					this.$store.commit('setGroupHeadId', this.involvemenGroupInfo[0].user_id);
 | 
			
		||||
					console.log(this.$store.state.pintuangroup_headid);
 | 
			
		||||
					// console.log(this.$store.state.pintuangroup_headid);
 | 
			
		||||
					Object.assign(params, {
 | 
			
		||||
						pintuan_id: this.id, 
 | 
			
		||||
						pintuangroup_id: this.involvemenGroupInfo[0].pintuangroup_id,
 | 
			
		||||
@ -492,6 +492,7 @@ export default {
 | 
			
		||||
					title = '秒杀商品详情';
 | 
			
		||||
					break;
 | 
			
		||||
				default:
 | 
			
		||||
					title = '商品详情';
 | 
			
		||||
					break;
 | 
			
		||||
			}
 | 
			
		||||
			uni.setNavigationBarTitle({
 | 
			
		||||
 | 
			
		||||
@ -464,6 +464,8 @@ export default {
 | 
			
		||||
							justify-content: space-between;
 | 
			
		||||
							.name {
 | 
			
		||||
								font-size: 30rpx;
 | 
			
		||||
								height: 88rpx;
 | 
			
		||||
								line-height: 44rpx;
 | 
			
		||||
								color: rgba(51,51,51,1);
 | 
			
		||||
							}
 | 
			
		||||
							.cart-info {
 | 
			
		||||
 | 
			
		||||
@ -5,7 +5,7 @@
 | 
			
		||||
			<view class="price">¥{{ price }}</view>
 | 
			
		||||
		</view>
 | 
			
		||||
		<view class="pay-view">
 | 
			
		||||
			<u-radio-group v-model="pay_way" @change="radioGroupChange" size="16">
 | 
			
		||||
			<u-radio-group v-model="pay_way" size="16">
 | 
			
		||||
				<view v-for="(item, index) in payLiat" :key="index" class="pay-item">
 | 
			
		||||
					<view class="pay-way">
 | 
			
		||||
						<image :src="item.icon"></image>
 | 
			
		||||
@ -53,12 +53,6 @@ export default {
 | 
			
		||||
        this.order_id = option.order_id;
 | 
			
		||||
	},
 | 
			
		||||
	methods: {
 | 
			
		||||
		radioGroupChange(e) {
 | 
			
		||||
			// console.log(e);
 | 
			
		||||
		},
 | 
			
		||||
		// getProvider() {
 | 
			
		||||
		// 	uni.getProvider({service: 'payment'})
 | 
			
		||||
		// },
 | 
			
		||||
		payOrder(provider, orderInfo) {
 | 
			
		||||
            let me = this;
 | 
			
		||||
			uni.requestPayment({
 | 
			
		||||
 | 
			
		||||
@ -3,13 +3,13 @@
 | 
			
		||||
		<view class="title">
 | 
			
		||||
            <view class="name">全部秒杀</view>
 | 
			
		||||
			<view class="time">
 | 
			
		||||
				<text class="num">{{ seckillTime.littleHour }}</text>
 | 
			
		||||
				<text class="num">{{ seckillTime.littleHour || '00' }}</text>
 | 
			
		||||
				<text class="mah">:</text>
 | 
			
		||||
				<text class="num">00</text>
 | 
			
		||||
				<text class="mah">:</text>
 | 
			
		||||
				<text class="num">00</text>
 | 
			
		||||
				<text>-</text>
 | 
			
		||||
				<text class="num">{{ seckillTime.bigHour }}</text>
 | 
			
		||||
				<text class="num">{{ seckillTime.bigHour || '00' }}</text>
 | 
			
		||||
				<text class="mah">:</text>
 | 
			
		||||
				<text class="num">00</text>
 | 
			
		||||
				<text class="mah">:</text>
 | 
			
		||||
@ -18,6 +18,7 @@
 | 
			
		||||
		</view>
 | 
			
		||||
		<view class="spike-list">
 | 
			
		||||
			<SpecialGoods v-for="(item, index) in spikeList" :key="index" :item="item" type='spike'></SpecialGoods>
 | 
			
		||||
			<u-empty mode="list" v-if="!spikeList.length" :margin-top="240"></u-empty>
 | 
			
		||||
		</view>
 | 
			
		||||
	</view>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
@ -1,9 +1,10 @@
 | 
			
		||||
<template>
 | 
			
		||||
	<view class="coupon-swiper">
 | 
			
		||||
		<scroll-view scroll-x="true" class="classify-coupon">
 | 
			
		||||
		<!-- <scroll-view scroll-x="true" class="classify-coupon">
 | 
			
		||||
			<view v-for="(classify, index) in couponGroupList" :key="index" class="classify-item" :class="{ 'active': couponCurrent == index }" @click="couponTabsChange(index)">{{ classify.gc_name }}</view>
 | 
			
		||||
		</scroll-view>
 | 
			
		||||
		<!-- <swiper :current="swiperCouponCurrent" @animationfinish="couponAnimationFinish" :style="{ height: swiperHeight }">
 | 
			
		||||
		</scroll-view> -->
 | 
			
		||||
		<u-tabs :list="couponGroupList" name="gc_name" :is-scroll="true" :current="couponCurrent" @change="couponTabsChange" active-color="#FF780F" :show-bar="false" height="88" font-size="24"  inactive-color="#333333"></u-tabs>
 | 
			
		||||
		<swiper :current="swiperCouponCurrent" @animationfinish="couponAnimationFinish" :style="{ height: swiperHeight }">
 | 
			
		||||
			<swiper-item class="swiper-coupon-item" v-for="(_, i) in couponGroupList" :key="i">
 | 
			
		||||
				<scroll-view scroll-y style="height: 100%;" @scrolltolower="onreachBottom" class="coupon-scroll">
 | 
			
		||||
					<view v-for="(coupon, index) in couponList" :key="index" class="coupon-item">
 | 
			
		||||
@ -13,14 +14,14 @@
 | 
			
		||||
					<u-empty text="暂无优惠券" mode="coupon" color="#000" v-if="!couponList.length"></u-empty>
 | 
			
		||||
				</scroll-view>
 | 
			
		||||
			</swiper-item>
 | 
			
		||||
		</swiper> -->
 | 
			
		||||
		<scroll-view scroll-y style="height: 100%;" @scrolltolower="onreachBottom" class="coupon-scroll" :style="{ height: swiperHeight }">
 | 
			
		||||
		</swiper>
 | 
			
		||||
		<!-- <scroll-view scroll-y style="height: 100%;" @scrolltolower="onreachBottom" class="coupon-scroll" :style="{ height: swiperHeight }">
 | 
			
		||||
			<view v-for="(coupon, index) in couponList" :key="index" class="coupon-item">
 | 
			
		||||
				<Coupon :couponInfo="coupon" :status='0' :type="0" @exchange="exchangeCoupon($event)"></Coupon>
 | 
			
		||||
			</view>
 | 
			
		||||
			<u-loadmore :status="loadStatus" bgColor="#FFF" margin-top="20" margin-bottom="20" v-if="couponList.length>=pageSize" @loadmore="onreachBottom"></u-loadmore>
 | 
			
		||||
			<u-empty text="暂无优惠券" mode="coupon" color="#000" v-if="!couponList.length"></u-empty>
 | 
			
		||||
		</scroll-view>
 | 
			
		||||
		</scroll-view> -->
 | 
			
		||||
	</view>
 | 
			
		||||
</template>
 | 
			
		||||
<script>
 | 
			
		||||
 | 
			
		||||
@ -67,13 +67,14 @@
 | 
			
		||||
				<view>创建时间:{{ orderInfo.add_time | date}}</view>
 | 
			
		||||
			</view>
 | 
			
		||||
		</view>
 | 
			
		||||
		<view class="btn" v-if="['1', '2', '4', '6'].indexOf(orderstate) >= 0">
 | 
			
		||||
		<view class="btn" v-if="['1', '2', '4', '6', '8'].indexOf(orderstate) >= 0">
 | 
			
		||||
			<view class="cancel" v-if="(orderstate == '4' || orderstate == '1') && orderInfo.is_refund == 1" @click="toOtherPage('RefundOrder')">申请退款</view>
 | 
			
		||||
			<view class="cancel" v-if="orderstate == '1'" @click="toOtherPage('Logistics')">查看物流</view>
 | 
			
		||||
			<view class="logistics" v-if="orderstate == '1'" @click="confirmReceive">确认收货</view>
 | 
			
		||||
			<view class="comment" v-if="orderstate == '2'" @click="toOtherPage('Comment')">立即评价</view>
 | 
			
		||||
			<view class="cancel" v-if="orderstate == '6'" @click="cancelOrder">取消支付</view>
 | 
			
		||||
			<view class="payment" v-if="orderstate == '6'" @click="payNow">立即支付</view>
 | 
			
		||||
			<view class="cancel" v-if="orderstate == '8'" @click="cancelOrder">取消订单</view>
 | 
			
		||||
			<view class="payment" v-if="orderstate == '6' || orderstate == '8'" @click="payNow">立即支付</view>
 | 
			
		||||
			<view class="service" v-if="orderstate == '7'">联系官方客服</view>
 | 
			
		||||
			<view class="submit" v-if="orderstate == '7'">提交官方审核</view>
 | 
			
		||||
		</view>
 | 
			
		||||
@ -83,7 +84,7 @@
 | 
			
		||||
export default {
 | 
			
		||||
	data() {
 | 
			
		||||
		return {
 | 
			
		||||
			orderstate: '', // 1: 待收货 2: 待评价 3: 交易成功 4: 已取消 5: 已退款 6: 待支付 7: 待退款 8: 已退款
 | 
			
		||||
			orderstate: '',
 | 
			
		||||
			s_object: {
 | 
			
		||||
				'1': {
 | 
			
		||||
					text: '待收货',
 | 
			
		||||
 | 
			
		||||
@ -1,19 +1,20 @@
 | 
			
		||||
<template>
 | 
			
		||||
	<view class="order">
 | 
			
		||||
		<view>
 | 
			
		||||
			<u-tabs-swiper ref="tabs" :list="list" active-color="#FF780F" :current="current" font-size="26" @change="tabsChange" height="88" :gutter="30"></u-tabs-swiper>
 | 
			
		||||
			<!-- <u-tabs-swiper ref="tabs" :list="list" active-color="#FF780F" :current="current" font-size="26" @change="tabsChange" height="88" :gutter="30"></u-tabs-swiper> -->
 | 
			
		||||
			<u-tabs :list="list" name="gc_name" :is-scroll="true" :current="current" @change="tabsChange" active-color="#FF780F" :show-bar="false" height="88" font-size="26" :gutter="20" inactive-color="#333333"></u-tabs>
 | 
			
		||||
		</view>
 | 
			
		||||
		<swiper :current="swiperCurrent" @animationfinish="animationfinish" :style="{ height: swiperHeight }">
 | 
			
		||||
			<swiper-item class="swiper-item" v-for="(item, index) in list" :key="index">
 | 
			
		||||
				<scroll-view scroll-y style="height: 100%;" @scrolltolower="reachBottom" class="order-scroll">
 | 
			
		||||
					<view>
 | 
			
		||||
						<view class="item-container" v-for="order in orderList" :key="order.order_id">
 | 
			
		||||
					<view v-if="orderList[index]">
 | 
			
		||||
						<view class="item-container" v-for="order in orderList[index]" :key="order.order_id">
 | 
			
		||||
							<OrderItem :order="order" @refreshOrderList="refreshOrderList" v-if="current != 4"></OrderItem>
 | 
			
		||||
							<TryOrderItem :order="order" @refreshOrderList="refreshOrderList" v-else></TryOrderItem>
 | 
			
		||||
						</view>
 | 
			
		||||
					</view>
 | 
			
		||||
					<u-empty text="暂无订单" mode="order" color="#000000" v-if="!orderList.length"></u-empty>
 | 
			
		||||
					<u-loadmore :status="loadStatus[index]" bgColor="#ECECEC" margin-bottom="20" v-if="current != 4 && orderList.length>3" class="order-loadmore"></u-loadmore>
 | 
			
		||||
					<u-empty text="暂无订单" mode="order" color="#000000" v-if="!orderList[index] || !orderList[index].length"></u-empty>
 | 
			
		||||
					<u-loadmore :status="loadStatus[index]" bgColor="#ECECEC" margin-bottom="20" v-if="current != 4 && (!orderList[index] || orderList[index].length>3)" class="order-loadmore"></u-loadmore>
 | 
			
		||||
				</scroll-view>
 | 
			
		||||
			</swiper-item>
 | 
			
		||||
		</swiper>
 | 
			
		||||
@ -57,9 +58,7 @@ export default {
 | 
			
		||||
	},
 | 
			
		||||
	watch: {
 | 
			
		||||
		current(value, origin) {
 | 
			
		||||
			if((origin == 4 && value != 4) || (value == 4 && origin != 4)) {
 | 
			
		||||
				this.orderList = [];
 | 
			
		||||
			}
 | 
			
		||||
			// this.orderList = [];
 | 
			
		||||
			this.page = 0;
 | 
			
		||||
			// reload 重新请求列表 loadmore 往列表里添加
 | 
			
		||||
			if(value == 4) {
 | 
			
		||||
@ -69,6 +68,9 @@ export default {
 | 
			
		||||
			}
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
	onShow() {
 | 
			
		||||
		this.refreshOrderList();
 | 
			
		||||
	},
 | 
			
		||||
	onLoad(option) {
 | 
			
		||||
		const current = option.current ? Number(option.current) : 0;
 | 
			
		||||
		this.current = current;
 | 
			
		||||
@ -131,23 +133,25 @@ export default {
 | 
			
		||||
			this.timer = true;
 | 
			
		||||
			uni.stopPullDownRefresh(); // 结束刷新
 | 
			
		||||
			if(res.errCode == 0) {
 | 
			
		||||
				if(load == 'reload') this.orderList = res.data;
 | 
			
		||||
				else if(load == 'loadmore') this.orderList.push(...res.data);
 | 
			
		||||
			}
 | 
			
		||||
			return res.data.length;
 | 
			
		||||
		},
 | 
			
		||||
		// 售后
 | 
			
		||||
		async getAfterSaleList({ load = 'loadmore' } = {}) {
 | 
			
		||||
			const res = await this.$u.api.getAfterSaleList({
 | 
			
		||||
				page: this.page,
 | 
			
		||||
			})
 | 
			
		||||
			this.timer = true;
 | 
			
		||||
			if(res.errCode == 0) {
 | 
			
		||||
				if(load == 'reload') this.orderList = res.data;
 | 
			
		||||
				else if(load == 'loadmore') this.orderList.push(...res.data);
 | 
			
		||||
				if(load == 'reload') this.orderList[this.current] = res.data;
 | 
			
		||||
				else if(load == 'loadmore') this.orderList[this.current].push(...res.data);
 | 
			
		||||
			}
 | 
			
		||||
			this.$forceUpdate();
 | 
			
		||||
			// console.log(this.orderList);
 | 
			
		||||
			return res.data.length;
 | 
			
		||||
		},
 | 
			
		||||
		// 售后 废弃
 | 
			
		||||
		// async getAfterSaleList({ load = 'loadmore' } = {}) {
 | 
			
		||||
		// 	const res = await this.$u.api.getAfterSaleList({
 | 
			
		||||
		// 		page: this.page,
 | 
			
		||||
		// 	})
 | 
			
		||||
		// 	this.timer = true;
 | 
			
		||||
		// 	if(res.errCode == 0) {
 | 
			
		||||
		// 		if(load == 'reload') this.orderList[this.current] = res.data;
 | 
			
		||||
		// 		else if(load == 'loadmore') this.orderList[this.current].push(...res.data);
 | 
			
		||||
		// 	}
 | 
			
		||||
		// 	return res.data.length;
 | 
			
		||||
		// },
 | 
			
		||||
		// 试穿
 | 
			
		||||
		async goodsTryOrderList({ load = 'loadmore' } = {}) {
 | 
			
		||||
			const res = await this.$u.api.goodsTryOrderList({
 | 
			
		||||
@ -156,9 +160,10 @@ export default {
 | 
			
		||||
			uni.stopPullDownRefresh(); // 结束刷新
 | 
			
		||||
			this.timer = true;
 | 
			
		||||
			if(res.errCode == 0) {
 | 
			
		||||
				if(load == 'reload') this.orderList = res.data.list;
 | 
			
		||||
				else if(load == 'loadmore') this.orderList.push(...res.data.list);
 | 
			
		||||
				if(load == 'reload') this.orderList[this.current] = res.data.list;
 | 
			
		||||
				else if(load == 'loadmore') this.orderList[this.current].push(...res.data.list);
 | 
			
		||||
			}
 | 
			
		||||
			this.$forceUpdate();
 | 
			
		||||
			return res.data.list.length;
 | 
			
		||||
		},
 | 
			
		||||
		reachBottom() {
 | 
			
		||||
 | 
			
		||||
@ -4,10 +4,12 @@
 | 
			
		||||
		<swiper :current="swiperCurrent" @animationfinish="animationfinish" :style="{ height: swiperHeight }">
 | 
			
		||||
			<swiper-item class="swiper-item" v-for="(_, index) in list" :key="index">
 | 
			
		||||
				<scroll-view scroll-y class="scroll-coupon">
 | 
			
		||||
					<view class="coupon-item" v-for="(coupon, c_index) in couponList" :key="c_index">
 | 
			
		||||
						<Coupon :couponInfo="coupon" :status='index' :type="1" @use="useCoupon($event)" :goodsClass="goodsClass"></Coupon>
 | 
			
		||||
					<view v-if="couponList[index]">
 | 
			
		||||
						<view class="coupon-item" v-for="(coupon, c_index) in couponList[index]" :key="c_index">
 | 
			
		||||
							<Coupon :couponInfo="coupon" :status='index' :type="1" @use="useCoupon($event)" :goodsClass="goodsClass"></Coupon>
 | 
			
		||||
						</view>
 | 
			
		||||
					</view>
 | 
			
		||||
					<u-empty text="暂无优惠券" mode="coupon" v-if="!couponList.length"></u-empty>
 | 
			
		||||
					<u-empty text="暂无优惠券" mode="coupon" v-if="!couponList[index] || !couponList[index].length"></u-empty>
 | 
			
		||||
				</scroll-view>
 | 
			
		||||
			</swiper-item>
 | 
			
		||||
		</swiper>
 | 
			
		||||
@ -59,10 +61,11 @@ export default {
 | 
			
		||||
				status: current
 | 
			
		||||
			}).then(res => {
 | 
			
		||||
				if(res.errCode == 0) {
 | 
			
		||||
					this.couponList = res.data;
 | 
			
		||||
					this.couponList[this.current] = res.data;
 | 
			
		||||
				} else {
 | 
			
		||||
					this.couponList = [];
 | 
			
		||||
					this.couponList[this.current] = [];
 | 
			
		||||
				}
 | 
			
		||||
				this.$forceUpdate();
 | 
			
		||||
			})
 | 
			
		||||
		},
 | 
			
		||||
		useCoupon(id) {
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user