yk-element-components
Version:
74 lines (73 loc) • 2.25 kB
JavaScript
import { defineComponent as y, ref as r, watch as p, resolveComponent as v, openBlock as V, createElementBlock as C, createElementVNode as m, createVNode as c, mergeProps as f, unref as n, isRef as D } from "vue";
const E = { style: { display: "flex" } }, B = { style: { "margin-right": "20px" } }, F = /* @__PURE__ */ y({
__name: "index",
props: {
startPlaceholder: {
type: String,
default: "\u8BF7\u9009\u62E9\u5F00\u59CB\u65E5\u671F"
},
endPlaceholder: {
type: String,
default: "\u8BF7\u9009\u62E9\u7ED3\u675F\u65E5\u671F"
},
disableToday: {
type: Boolean,
default: !0
}
},
emits: ["startChange", "endChange"],
setup(a, { emit: s }) {
const h = a;
let t = r(null), l = r(null), u = r(!0), g = (e) => {
if (h.disableToday)
return e.getTime() < Date.now() - 1e3 * 60 * 60 * 24;
}, b = (e) => {
if (t.value)
return e.getTime() < t.value.getTime() + 1e3 * 60 * 60 * 24;
};
return p(
() => t.value,
(e) => {
e ? (s("startChange", e), u.value = !1) : (u.value = !0, l.value = null);
}
), p(
() => l.value,
(e) => {
e && s("endChange", {
startDate: t.value,
endDate: e
});
}
), (e, o) => {
const i = v("el-date-picker");
return V(), C("div", E, [
m("div", B, [
c(i, f({
modelValue: n(t),
"onUpdate:modelValue": o[0] || (o[0] = (d) => D(t) ? t.value = d : t = d),
type: "date",
placeholder: a.startPlaceholder,
disabledDate: n(g)
}, e.$attrs.startOptions), null, 16, ["modelValue", "placeholder", "disabledDate"])
]),
m("div", null, [
c(i, f({
modelValue: n(l),
"onUpdate:modelValue": o[1] || (o[1] = (d) => D(l) ? l.value = d : l = d),
type: "date",
placeholder: a.endPlaceholder,
disabled: n(u),
disabledDate: n(b)
}, e.$attrs.endOptions), null, 16, ["modelValue", "placeholder", "disabled", "disabledDate"])
])
]);
};
}
}), P = {
install(a) {
a.component("yk-choose-date", F);
}
};
export {
P as default
};