接口获取的数据 分组 每组固定条数(除最后一组外)

   getPInBoundData() {
            axios.post('/InBoundLog/PageQuery', {
                OrderRecordID: [this.outdes.OrderRecordID]
                //PageIndex: '',
                //PageSize: '25'
            })
                .then(res => {
                    if (res.data.code === 1) {
                        var that=this
                        //this.inBoundCount = res.data.data.TotalItemCount
                        this.PinBoundData = res.data.data.Data
                        var resdata = res.data.data.Data
                        var printsizepage=11 
// 数据总条数 除以每页条数=组数和除不尽的余数,这个时候需要 组数(页数)加1,故,向上取证
//   var allprintdataL 打印页数 其实也是自己造的数组有多少个项(2级子数组)
                        var allprintdataL = Math.ceil(resdata.length / printsizepage);  //向上取整           
                    this.allPrintData=[ ]
                        for (i = 0; i < allprintdataL; i++) {
                            that.allPrintData.push([])
                            resdata.map((item, index) => {
                                item.num=index+1
                                if (Math.floor(index / printsizepage) == i) {
                                    that.allPrintData[i].push(item)
                                }                             
                            })                                                          
                        }
                    }
                })
                .catch(err => {
                    console.log(err)
                })
        },

代码说明:

  • 这里说的源数据 指的是请求获取到的数据
    
  • this.allPrintData 是我造的那个复合数组
    
  •   printsizepage 每页打印的固定条数
    

这是做一个出入库打印的项目,其中需要打印设置。打印设置的要求是获取到所有数据打印 打印分页,每页固定表头。

    • 逻辑
      于是我就给它造了一个复合数组的数据。然后把请求到数据push到复合数组中。
      先看每页放多少条正好复合打印要求。然后根据这个 分多少页,最后一页肯定就是请求得到的源数据除以固定条数后的余数。
      其中看多少页的时候需要向上取整。例如 :共115条数据,每页11条 我这个时候需要有11页才能放下这些数据。115/11=10余5 约等于 10.4545 向上取整后就是11
      遍历源数据,造复合数组。
      for循环根据页数,造2级空子数组,即给1级数组push几个空数组
      在这个循环中,在进行遍历原数组,同时通过条件 给2级空数组push对应数据
      这里需要说明的是,源数据条数除以固定条数的值要向下取整然后往对应的空子数组中push
      例如 源数据索引为 0--10 的这11条数据,每条索引值除以固定条数 整数向都是零,这时应往索引值为0的2级子数组中push,当源数据索引为11-21时整除固定条数11 为1 点多,这时往索引为1的2级数组中push。
      由于 当时需要添加一个序号列,所以每一个2级子数组,我都给她加了个num 属性,对应的值就是源数据的索引值加1

你可能感兴趣的:(接口获取的数据 分组 每组固定条数(除最后一组外))