| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 | <template>  <el-date-picker    v-model="value"    type="daterange"    :clearable="clearable"    :picker-options="pickerOptions"    @change="onSelect"    v-bind="$attrs"    class="customDatePicker"  /></template><script>// import sync from '@/components/computed.sync.ts'// import { set } from 'vue/types/umd';export default {  inheritAttrs: false,  data() {    return {};  },  computed: {    // pv: sync("value"),    // val:{    //     get(){return this.value},    //     set(v){    //         this.$emit("input",v)    //     }    // },    pickerOptions() {      return {        shortcuts: [          {            text: "今天",            onClick: (picker) => {              let date = this.$dateRange.before(0);              date[1] = date[0];              console.log(date);              picker.$emit("pick", date);            },          },          {            text: "昨天",            onClick: (picker) => {              let date = this.$dateRange.yesterday(-1);              date[1] = date[0];              console.log(date);              picker.$emit("pick", date);            },          },          {            text: "最近一周",            onClick: (picker) => {              picker.$emit("pick", this.$dateRange.before(-6));            },          },          {            text: "最近一个月",            onClick: (picker) => {              picker.$emit("pick", this.$dateRange.before(-29));            },          },          {            text: "最近三个月",            onClick: (picker) => {              picker.$emit("pick", this.$dateRange.before(-90));            },          },          {            text: "最近半年",            onClick: (picker) => {              picker.$emit("pick", this.$dateRange.before(-180));            },          },        ],      };    },  },  watch: {},  props: {    value: {},    clearable: {      type: Boolean,      default: true,    },  },  methods: {    onSelect(v) {      this.$emit("input", v);    },  },  mounted() {},};</script><style lang="scss" scoped>.customDatePicker {  ::v-deep .el-range-input {    font-size: 14px !important;  }  ::v-deep .el-range-separator {    font-size: 14px !important;  }}</style>
 |