wh521518
11/19/2019 - 1:37 PM

egg.js后端分页

egg.js后端分页

  async indexCustomerContractList() {
    let { founder, customerName, page, pageSize } = this.ctx.query;
    //page从1开始
    page = +page,
    pageSize = +pageSize;
    founder = this.app.mongoose.Types.ObjectId(founder);

    let result = await this.ctx.model.Contract.find(
      {
        'formAttr.partyA.name': {
          $eq: customerName
        },
        "founder": founder
      }
    ).skip((page-1) * pageSize).limit(pageSize);

    let count = await this.ctx.model.Contract.find({
      'formAttr.partyA.name': {
        $eq: customerName
      },
      "founder": founder
    }).countDocuments();

    console.log('tag', count);

    this.ctx.body = {
      code: 0,
      msg: '获取客户订单列表成功',
      data: {
        data: result,
        count
      }
    };
  }

//客户端fetchdata
let page = 1; //模拟一个页码
let pageSize = 10;
let totalPage = 1;
fetchData(page, pageSize) {
  this.loadingType = 1;
  uni.request({
    url: _self.apiServer+'/api/v1/contract/customercontractlist',
    method: 'GET',
    header: {
      Authorization: `Bearer ${token}`
    },
    data: {
      founder: this.userId, 
      customerName: this.customerName, 
      page, 
      pageSize
    },
    success: res => {
      if(!res.data.code) {
        let data = res.data.data;
        this.contractList = this.contractList.concat(data.data);
        console.log(this.contractList);
        // 页数增加
        totalPage = Math.ceil(data.count/pageSize);
        console.log(totalPage);
        page++;
        if(page > totalPage) {
          this.loadingType = 2;
        } else {
          this.loadingType = 0;
        }
      }
    },
    fail: () => {
      this.loadingType = 0;
    },
    complete: () => {}
  });
}