HistoryRecordFrom.vue 3.65 KB
<template>
  <div>
    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
      <el-form-item>
        <el-date-picker
          v-model="queryParams.time"
          type="datetimerange"
          :picker-options="pickerOptions"
          range-separator="至"
          start-placeholder="开始日期"
          end-placeholder="结束日期"
          align="right"
        >
        </el-date-picker>
      </el-form-item>
      <el-form-item>
        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
        <el-button icon="el-icon-refresh-right" size="mini" @click="resetQuery">重置</el-button>
      </el-form-item>
    </el-form>
  </div>
</template>

<script>
//这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等),
//例如:import 《组件名称》 from '《组件路径》,
export default {
  name: "HistoricalRecordForm",
  //import引入的组件需要注入到对象中才能使用"
  components: {},
  props: {
    queryParams: {
      type: Object,
      default: {}
    }
  },
  data() {
    //这里存放数据"
    return {
      // 显示搜索条件
      showSearch: true,
      pickerOptions: {
        shortcuts: [{
          text: '最近一周',
          onClick(picker) {
            const end = new Date()
            const start = new Date()
            start.setTime(start.getTime() - 3600 * 1000 * 24 * 7)
            picker.$emit('pick', [start, end])
          }
        }, {
          text: '最近一个月',
          onClick(picker) {
            const end = new Date()
            const start = new Date()
            start.setTime(start.getTime() - 3600 * 1000 * 24 * 30)
            picker.$emit('pick', [start, end])
          }
        }, {
          text: '最近三个月',
          onClick(picker) {
            const end = new Date()
            const start = new Date()
            start.setTime(start.getTime() - 3600 * 1000 * 24 * 90)
            picker.$emit('pick', [start, end])
          }
        }]
      }
    }
  },
  //计算属性 类似于data概念",
  computed: {},
  //监控data中的数据变化",
  watch: {},
  //方法集合",
  methods: {
    handleQuery() {
      this.$emit('handleQuery', this.queryParams)
    },
    resetQuery() {
      this.queryParams.time = this.getYesterdayRange()
    },
    refreshQuery() {
      this.$emit('refreshQuery', this.queryParams)
    },
    getYesterdayRange() {
      const today = new Date(); // 获取当前日期
      const yesterday = new Date(today); // 复制当前日期
      yesterday.setDate(today.getDate() - 1); // 设置为昨天

      // 昨天的开始时间(00:00:00.000)
      const startOfYesterday = new Date(yesterday);
      startOfYesterday.setHours(0, 0, 0, 0);

      // 昨天的结束时间(23:59:59.999)
      const endOfYesterday = new Date(yesterday);
      endOfYesterday.setHours(23, 59, 59, 999);

      return [startOfYesterday, endOfYesterday];
    }
  },
  //生命周期 - 创建完成(可以访问当前this实例)",
  created() {
    this.resetQuery()
  },
  //生命周期 - 挂载完成(可以访问DOM元素)",
  mounted() {
  },
  beforeCreate() {
  }, //生命周期 - 创建之前",
  beforeMount() {
  }, //生命周期 - 挂载之前",
  beforeUpdate() {
  }, //生命周期 - 更新之前",
  updated() {
  }, //生命周期 - 更新之后",
  beforeDestroy() {
  }, //生命周期 - 销毁之前",
  destroyed() {
  }, //生命周期 - 销毁完成",
  activated() {
  } //如果页面有keep-alive缓存功能,这个函数会触发",
}
</script>
<style scoped>

</style>