Skip to content
goods-order.ts 2.29 KiB
Newer Older
wangqinghua's avatar
wangqinghua committed
import {Component, ViewChild} from '@angular/core';
import {InfiniteScrollContent, IonicPage, NavController, NavParams} from 'ionic-angular';
import {ServeService} from "../../serve.service";
import {timer} from "rxjs/observable/timer";
import {CommonService} from "../../../../provide/common.service";


@Component({
    selector: 'page-goods-order',
    templateUrl: 'goods-order.html',
})
export class GoodsOrderPage {
    @ViewChild(InfiniteScrollContent) infiniteScrollContent: InfiniteScrollContent;


    orderList = [];
    pageNum = 1;
    pageSize = 10;

    loadMore = false;
    totalNum;

    constructor(public navCtrl: NavController, public navParams: NavParams,
                private serveSer: ServeService, private commonSer: CommonService) {
    }

    ionViewDidLoad() {
        this.getList();
    }

    getList() {
        const data = {
            P_pageNumber: this.pageNum,
            P_pageSize: this.pageSize,
        };
        this.serveSer.myOrder(data).subscribe(
            (res) => {
                this.orderList = res.list;
            }
        )
    }

    //下拉刷新
    doRefresh(e) {
        this.loadMore = true;
        this.infiniteScrollContent.inf.enable(true);
        const data = {
            P_pageNumber: 1,
            P_pageSize: this.pageSize,
        };
        this.serveSer.myOrder(data).subscribe(
            (res) => {
                this.orderList = res.list;
                this.totalNum = res.total;
                timer(800).subscribe(() => {
                    this.commonSer.toast('刷新成功');
                    e.complete()
                });
            }
        )
    }

    //加载更多
    doInfinite(e) {
        if (this.totalNum == this.orderList.length) {
            console.log("没有更多了")
            this.loadMore = false;
            e.enable(false);
            return false;
        }
        this.pageNum++;
        const data = {
            P_pageNumber: this.pageNum,
            P_pageSize: this.pageSize,
        };
        this.serveSer.myOrder(data).subscribe(
            (res) => {
                this.totalNum = res.total;
                res.list.forEach(e => {
                    this.orderList.push(e);
                });
                timer(800).subscribe(() => e.complete());
            }
        )
    }


}