123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- <template>
- <view class="bg min100 pb-10">
- <u-sticky>
- <view class="bg-blue white">
- <u-tabs v-if="tabList.length>1" :list="tabList" font-size="32" bg-color="#286ceb" height="90" active-color="#fff" inactive-color="#eee"
- :is-scroll="false" :current="index" @change="change"></u-tabs>
- </view>
- </u-sticky>
- <view class="pd-30">
- <empty v-if="list.length==0" text="暂无订单"></empty>
- <view v-for="(item,i) in list" :key="i" class="mb-30">
- <orderItem v-if="current==0" :type="3" :item="item"></orderItem>
- <sfItem v-if="current==1" type="3" :item="item"></sfItem>
- <hyItem v-if="current==2" type="3" :item="item"></hyItem>
- </view>
- <u-loadmore v-show="list.length>9" :status="status" icon-type="flower" bg-color="transperant" margin-top="30"
- margin-bottom="30" />
- </view>
- </view>
- </template>
- <script>
- import {
- mapState
- } from 'vuex'
- export default {
- data() {
- return {
- index:0,
- current: '',
- timer3: null,
- page: 1,
- status: 'loadmore',
- list: [],
- }
- },
- onLoad() {
- this.timer3 = setInterval(()=>{
- if(this.tabList&&this.tabList[0]){
- this.current = this.tabList[0].id
- this.getList()
- clearInterval(this.timer3)
- this.timer3 = null
- }
- },200)
- },
- onUnload() {
- clearInterval(this.timer3)
- },
- onHide() {
- clearInterval(this.timer3)
- },
- computed: {...mapState(['tabList'])},
- onPullDownRefresh() {
- this.page = 1
- this.list = []
- this.getList()
- },
- onReachBottom() {
- //避免多次触发
- if (this.status == 'loading' || this.status == 'nomore') {
- return;
- }
- this.getList()
- },
- methods: {
- change(index) {
- this.index = index;
- this.current = this.tabList[index].id;
- this.page = 1
- this.list = []
- this.status = 'loadmore'
- this.getList()
- },
- getList() {
- this.status = "loading";
- if(this.current==2){
- this.$http('/addons/ddrive/hyorder/order_list', {
- type: 2,
- }, "POST").then(res => {
- let data = res.data
- if (data.length < 10) {
- this.status = "nomore"
- } else {
- this.page = this.page + 1
- this.status = "loadmore"
- }
- this.list = this.list.concat(data)
- uni.stopPullDownRefresh();
- })
-
- }else{
- this.$http(this.current==0?'/addons/ddrive/order/order_info':'/addons/ddrive/sforder/user_order', {
- order_type: 2,
- }, "POST").then(res => {
- let data = this.current==0?res.data:res
- if (data.length < 10) {
- this.status = "nomore"
- } else {
- this.page = this.page + 1
- this.status = "loadmore"
- }
- this.list = this.list.concat(data)
- uni.stopPullDownRefresh();
- })
-
- }
- },
- }
- }
- </script>
- <style scoped lang="scss">
- </style>
|