时间管理器

135 阅读1分钟
    <el-form-item>
            <el-date-picker v-model="timeFrom"
                            type="daterange"
                            :clearable="false"
                            value-format="yyyy-MM-dd"
                            range-separator="至"
                            start-placeholder="开始日期"
                            end-placeholder="结束日期">
            </el-date-picker>
          </el-form-item>

format:
显示在输入框中的格式(默认为yyyy-MM-dd HH:mm:ss)
value-format:
可选,绑定值的格式(不指定则绑定值默认为 Date 对象)

value-format="yyyy-MM-dd" 可解决时间差问题

只能选择今天之后的时间 时间管理器里加上这个属性

:picker-options="pickerOption"

data(){
return{  
pickerOption: {
        disabledDate(time) {
          return time.getTime() < Date.now() - 24 * 60 * 60 * 1000
        },
      },}

因为时间选择器返回的是一个数组,在发请求的时候要做处理

   if (this.timeFrom[0]) {
        ;(data.startTime = this.timeFrom[0] + ' 00:00:00'),
          (data.endTime = this.timeFrom[1] + ' 23:59:59')
      }

    getPageList() {
      if (this.QueryRequest.pushTimeRange == -1) {
        this.QueryRequest.pushTimeRange = ''
      }
      let data = {
        ...this.QueryRequest,
        startTime: '',
        endTime: '',
      }

      if (this.timeFrom[0]) {
        ;(data.startTime = this.timeFrom[0] + ' 00:00:00'),
          (data.endTime = this.timeFrom[1] + ' 23:59:59')
      }

      houseKeeperPageList(data).then((res) => {
        if (!res.success) return
        if (res.data.list.length == 0 && this.QueryRequest.pageNum != 1) {
          this.QueryRequest.pageNum = 1
          this.getPageList()
          return
        }
        const targetObjMap = {}
        this.targetList.forEach((v) => (targetObjMap[v.value] = v.label))
        this.tableData = res.data.list.map((v) => {
          let pushTypeItem = this.pushTypeList.find(
            (item) => item.value == v.pushType
          )
          v.method = v.method == 1 ? '站内信' : ''
          v.pushTypeLabel = pushTypeItem ? pushTypeItem.label : ''
          v.targetLabel = v.target.map((value) => targetObjMap[value]).join('/')
          return v
        })
        this.totalPage = Number(res.data.total)
      })
    },