上篇 点击面板触发事件

------------恢复内容开始------------

async addEvent() {
      if (this.setClick) return
      document.querySelector('.el-month-table').addEventListener('click', () => {
        this.monthChange()
      })
      document.querySelectorAll("[aria-label='下个月'],[aria-label='上个月'],[aria-label='后一年'],[aria-label='前一年']")
        .forEach(item => item.addEventListener('click', () => {
          this.monthChange()
        }))
      this.setClick = true
    },
上面的函数时点击面板是会触发monthChange()这个函数

------------恢复内容结束------------

通过日期选择器的ref属性 获取当前面板的月份年份 row

const month = this.$refs['ref'].picker.month + 1
      const year = this.$refs['ref'].picker.year
      const rows = this.$refs['ref'].picker.$children[0].rows
      // console.log(rows);
      const nowDate = new Date('')
      // 是个位数加0
      let isOneAddZero = value => {
        return value < 10 ? '0' + value : value
      }
      // 获取年-月
      let getY_M = () => {
        let returnData = ['', year + '-' + isOneAddZero(month) + '-', '']
        if (month == 1) {
          returnData[0] = (parseInt(year, 10) - 1) + '-12-'
          returnData[2] = year + '-02-'
        } else if (month == 12) {
          returnData[0] = year + '-11-'
          returnData[2] = (parseInt(year, 10) + 1) + '-01-'
        } else {
          returnData[0] = year + '-' + isOneAddZero(parseInt(month, 10) - 1) + '-'
          returnData[2] = year + '-' + isOneAddZero(parseInt(month, 10) + 1) + '-'
        }
        return returnData
      }
      const Y_M = getY_M() 
      let startDate = (rows[0][0].type == 'prev-month' ? Y_M[0] : Y_M[1]) + isOneAddZero(rows[0][0].text)
      let endDate = ''
      if (nowDate.getFullYear() == year && nowDate.getMonth() + 1 == month) endDate = nowDate.getFullYear() + '-' + isOneAddZero(nowDate.getMonth() + 1) + '-' + isOneAddZero(nowDate.getDate())
      else if (nowDate.getFullYear() < year || (nowDate.getFullYear() == year && nowDate.getMonth() + 1 < month)) return;
      else endDate = (rows[5][6].type == 'next-month' ? Y_M[2] : Y_M[1]) + isOneAddZero(rows[5][6].text)

      let reportData = { item_id: this.item_id, report_date_start: startDate, report_date_end: endDate }
      // console.log(reportData, Y_M)
请求后台数据
      getReportDataDailyList(reportData).then(res => {
        this.dataList = res.data.list ? res.data.list : []
        // console.log(res.data);
        // console.log(this.dataList);
      })
posted @ 2021-06-18 08:57  非自然数  阅读(78)  评论(0编辑  收藏  举报