处理数据,按月份划分

数据处理代码:

// 获取客户跟进记录
    fetchFollowList () {
      let url = `/agent/guest/follow/list`
      let params = {
        customer_id: this.clientId,
        page: this.page,
        per_page: 10
      }
      this.loading = true
      this.$_load.show()
      this.$post(url, params).then(res => {
        this.loading = false
        this.$_load.hide()
        if (res.code === 200) {
          let data = res.data
          if (data) {
            let list = data.data || []
            const groupedData = {};
            // 遍历数据数组,将数据按月份分组
            list.forEach(item => {
              const month = item.month
              if (!groupedData[month]) {
                groupedData[month] = []; // 如果该月份还没有分组,则创建一个新的分组数组
              }
              groupedData[month].push(item); // 将数据添加到对应的分组数组中
            })
            
            let followList = []
            let keys = Object.keys(groupedData)
            keys.forEach(item => {
              let obj = {
                month: item,
                dataList: groupedData[item]
              }
              followList.push(obj)
            })
            if (!this.followList || !this.followList.length) {
              this.followList = followList
            } else {
              let lastInfo = this.followList[this.followList.length - 1]
              let lastMonth = lastInfo.month
              followList.forEach(item => {
                if (item.month === lastMonth) {
                  lastInfo.dataList = lastInfo.dataList.concat(item.dataList)
                } else {
                  this.followList.push(item)
                }
              })
            }
          }
          if (this.page < data.last_page) {
            this.isEnd = false
          } else {
            this.isEnd = true
          }
          this.refreshScroll()
        } else {
          this.$toast(res.message)
        }
      })
    },

效果图:
image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容