shortcuts.js 2.51 KB
Newer Older
wanli's avatar
wanli committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
import Date from "./datetime.js";

export const calendarBaseShortcuts = [
  {
    text: "今天",
    onClick(picker) {
      const start = new Date();
      picker.$emit("pick", [start, start]);
    },
  },
  {
    text: "昨天",
    onClick(picker) {
      const start = new Date().daysAgo(1);
      picker.$emit("pick", [start, start]);
    },
  },
  {
    text: "最近一周",
    onClick(picker) {
      const start = new Date().daysAgo(7);
      picker.$emit("pick", [start, new Date()]);
    },
  },
  {
    text: "最近30天",
    onClick(picker) {
      const start = new Date().daysAgo(30);
      picker.$emit("pick", [start, new Date()]);
    },
  },
  {
    text: "这个月",
    onClick(picker) {
      const start = new Date().monthBegin();
      picker.$emit("pick", [start, new Date()]);
    },
  },
  {
    text: "本季度",
    onClick(picker) {
      const start = new Date().quarterBegin();
      picker.$emit("pick", [start, new Date()]);
    },
  },
];

export const calendarMoveShortcuts = [
  {
    text: "‹ 往前一天 ",
    onClick(picker) {
      if (picker.value.length === 0) {
        picker.value = [new Date(), new Date()];
      }
      const start = picker.value[0].daysAgo(1);
      const end = picker.value[1].daysAgo(1);
      picker.$emit("pick", [start, end]);
    },
  },
  {
    text: " 往后一天 ›",
    onClick(picker) {
      let start = new Date();
      let end = new Date();
      if (picker.value.length > 0) {
        if (end - picker.value[1] > 8.64e7) {
          start = picker.value[0].daysAgo(-1);
          end = picker.value[1].daysAgo(-1);
        } else {
          start = picker.value[0];
        }
      }
      picker.$emit("pick", [start, end]);
    },
  },
  {
    text: "« 往前一周 ",
    onClick(picker) {
      if (picker.value.length === 0) {
        picker.value = [new Date().daysAgo(7), new Date()];
      }
      const start = picker.value[0].daysAgo(7);
      const end = picker.value[1].daysAgo(7);
      picker.$emit("pick", [start, end]);
    },
  },
  {
    text: " 往后一周 »",
    onClick(picker) {
      let start = new Date().daysAgo(7);
      let end = new Date();
      if (picker.value.length > 0) {
        if (end - picker.value[1] > 8.64e7) {
          start = picker.value[0].daysAgo(-7);
          end = picker.value[1].daysAgo(-7);
        } else {
          start = picker.value[0];
        }
      }
      picker.$emit("pick", [start, end]);
    },
  },
];

export const calendarShortcuts = [
  ...calendarBaseShortcuts,
  ...calendarMoveShortcuts,
];