|
|
<template> <view> <!-- tab标签 --> <view class="lf-p-r-32 lf-p-l-32"> <u-tabs :list="tab_list" bg-color="#F6F6F6" :is-scroll="true" :current="current" @change="change"></u-tabs> </view> <swiper :style="{height: 'calc('+ windowHeight +'px - 110rpx)', width: '750rpx'}" :current="current" @change="swiperChange"> <swiper-item v-for="(tab, tabIndex) in tab_list" :key="tabIndex"> <scroll-view class="com" :scroll-y="true" :refresher-enabled="true" :refresher-triggered="isRefresher" @scrolltolower="onScrolltolower" @refresherrefresh="onRefresherrefresh"> <view class="flex-direction justify-around list" @click="$url('/pages/order/order_details?order_id=1')"> <view class="lf-row-between"> <view class="left" style="position: relative;display: flex;"> <image src="../../static/logo.png" mode="aspectFill"></image> </view> <view class="right"> <view class="lf-line-2 title lf-font-28 lf-color-333" style="line-height: 40rpx;">南澳站·潮玩旅游胜地 身处亚热带风情/玩转南澳</view> <view class="lf-flex tips lf-m-t-10"> <text class="progress margin-right-xs lf-color-gray">数量</text> <text class="bought lf-color-gray">x 1</text> </view> <view class="lf-row-between price lf-m-t-16" style="padding-right: 6rpx;"> <lf-price :price="599.00" style="margin-top: 10rpx;" /> <button class="lf-font-24 radius-order">立即付款</button> <!-- <button class="cu-btn1 lf-color-green lf-border-green">立即使用</button> --> <!-- <button class="cu-btn1 lf-color-blue lf-border-blue">已使用</button> --> <!-- <button class="cu-btn1 lf-color-gray lf-border-gray">等待审核</button> --> </view> </view> </view> <view> <view class="solid-top flex justify-between align-center text-center"> <view class="text-gray lf-font-28" style="padding: 20rpx;"> 2021-7-6 23:24:46 </view> <view class="lf-color-price" style="padding: 20rpx 24rpx 20rpx 20rpx;"> 请在10分钟内付款 </view> </view> </view> </view> <!-- 空数据的情况 --> <view class="loading-more"> <text v-if="tab.list.length" :class="{'loading-more-text': tab.loadingClass}">{{ tab.loadingText }}</text> <my-nocontent v-else></my-nocontent> </view> <!-- 回到顶部 --> <u-back-top :scroll-top="pageScrollTop" :custom-style="{background: 'rgba(51, 51 51, 0.3)'}"> </u-back-top> </scroll-view> </swiper-item> </swiper> </view></template>
<script> export default { data() { return { tab_list: [{ name: '全部', type: 'all', list: [], loadingClass: true, loadingText: '正在加载中', page: 1, isPage: true }, { name: '待付款', type: 'unpaid', list: [], loadingClass: true, loadingText: '正在加载中', page: 1, isPage: true }, { name: '已付款', type: 'paid', list: [], loadingClass: true, loadingText: '正在加载中', page: 1, isPage: true }, { name: '已完成', type: 'complete', list: [], loadingClass: true, loadingText: '正在加载中', page: 1, isPage: true }, { name: '售后', type: 'after_sales', list: [], loadingClass: true, loadingText: '正在加载中', page: 1, isPage: true } ], current: 0, // tab下表
pageSize: 10, windowHeight: 0, // 屏幕可用高度
} }, onLoad(e) { this.windowHeight = getApp().globalData.windowHeight; }, methods: { //获取订单数据
getUserOrder() { console.log('获取数据') },
// 切换tab
change(index) { this.current = index; this.getUserOrder(); }, // 滑块下标值变化
swiperChange(event) { this.current = event.detail.current; if (event.detail.source == '') return; // 如果是被动出发,没有事件类型则不做处理
this.getUserOrder(); },
// 页面触底,加载下一页
onScrolltolower() { let tab_item = this.tab_list[this.current]; if (tab_item.isPage) { tab_item.page = tab_item.page + 1; this.getUserOrder(); } }, // scroll-view 下拉刷新
onRefresherrefresh() { this.isRefresher = true; this.refreshFn({ type: 'scrollRefresh' }); }, // 下拉刷新处理
refreshFn(options) { let tab_item = this.tab_list[this.current]; tab_item.page = 1; tab_item.isPage = true; tab_item.loadingClass = true; tab_item.loadingText = '正在加载中'; this.getUserOrder(options); } }, onPullDownRefresh() { this.refreshFn({ type: 'pageRefresh' }); } }</script>
<style lang="scss"> page { background-color: #F6F6F6; } .radius-order { border-radius: 31.5rpx; } .font-400 { font-weight: 400; }
.tag-self { position: absolute !important; top: 0 !important; border-radius: 20rpx 0 20rpx 0 !important; width: max-content; height: 32rpx !important; }
.title { font-size: 28rpx; color: $u-content-color; height: 80rpx; }
// tab
.ctab { width: 100%; margin: 20rpx 0 0rpx 0rpx; padding: 0 22rpx; }
// 商品列表
.com { width: 100%; overflow: hidden;
.list { border-radius: 20rpx; overflow: hidden; margin: 0 32rpx 30rpx 32rpx; background-color: #FFFFFF; // box-shadow: 0 10rpx 20rpx 0 rgba(0, 0, 0, 0.1);
align-items: flex-start;
.left { overflow: hidden;
image { width: 210rpx; height: 210rpx; margin: 20rpx; border-radius: 20rpx; } }
.right { overflow: hidden; width: 67%;
.title { margin: 0rpx 20rpx 0rpx 0; color: #222222; font-size: 32rpx; }
.tips { margin: 16rpx 0; overflow: hidden;
.u-line-progress { width: 112rpx; overflow: hidden; margin-right: 20rpx; }
.progress { color: #777777; font-size: 24rpx; }
.bought { color: #777777; font-size: 24rpx; margin-right: 20rpx; } }
.price { overflow: hidden; color: #FF0000;
button { width: 150rpx; height: 63rpx; background: #fff; border-radius: 31.5rpx; font-size: 24rpx; color: #FF0000; margin: 0rpx 20rpx 0rpx 20rpx; border: 1px solid #FF0000; line-height: 60rpx; padding: 0; } } } } }</style>
|