/*
 * @Descripttion: HJ
 * @Company: 思宏科技
 * @version: v1.0
 * @Author: HJ
 * @Date: 2021-06-16 15:09:32
 * @LastEditors: HJ
 * @LastEditTime: 2021-06-30 17:57:13
 */
const componentOptions = {
  // 组件选项
  options: {
    multipleSlots: true,
  },
  behaviors: [],
  properties: {
    visible: {
      type: Boolean,
      value: false,
      observer(visible) {
        this.setData({
          show: visible,
        });
      },
    },
    minHour: {
      type: Number,
      value: 0,
    },
    minDate: {
      type: Number,
      value: new Date().getTime(),
    },
    maxDate: {
      type: Number,
      value: null,
    },
    filter: {
      type: Function,
      value: null
    }
  },
  // 组件数据
  data: {
    isPageHidden: false, // 页面是否处于隐藏状态
    show: false,
    currentDate: null,
  },
  // 数据监听器
  observers: {},
  // 组件方法
  methods: {
    init() {},
    showPopup() {
      this.setData({ show: true });
    },
    onClose() {
      this.setData({ show: false });
    },
    onInput({ detail }) {
      this.setData({
        currentDate: detail,
      });
    },
    onConfirm({ detail }) {
      this.triggerEvent("change", { value: detail });
      wx.nextTick(() => {
        this.onClose();
      });
    },
  },
  // 组件生命周期
  lifetimes: {
    created() {},
    attached() {
      this.init();
    },
    ready() {},
    moved() {},
    detached() {},
  },
  definitionFilter() {},
  // 页面生命周期
  pageLifetimes: {
    // 页面被展示
    show() {
      const { isPageHidden } = this.data;

      // show事件发生前，页面不是处于隐藏状态时
      if (!isPageHidden) {
        return;
      }

      // 重新执行定时器等操作
    },
    // 页面被隐藏
    hide() {
      this.setData({
        isPageHidden: true,
      });

      // 清除定时器等操作
    },
    // 页面尺寸变化时
    resize() {},
  },
};

Component(componentOptions);
