146 lines
3.6 KiB
JavaScript
146 lines
3.6 KiB
JavaScript
import { c as M, w as V } from "./utils-CTHIEenF.js";
|
|
import { defineComponent as N, computed as h, ref as T, createVNode as k, mergeProps as C } from "vue";
|
|
import { i as b, P as B } from "./vendor-BQjPAPzR.js";
|
|
const F = {
|
|
type: Boolean,
|
|
default: !0
|
|
}, H = [Number, String], g = (e) => ({
|
|
type: H,
|
|
default: e
|
|
}), A = Object.assign(
|
|
{},
|
|
{
|
|
modelValue: {
|
|
type: Array,
|
|
default: () => []
|
|
},
|
|
filter: Function,
|
|
formatter: {
|
|
type: Function,
|
|
default: (e, n) => n
|
|
},
|
|
loading: Boolean,
|
|
readonly: Boolean,
|
|
allowHtml: Boolean,
|
|
title: String,
|
|
cancelButtonText: String,
|
|
confirmButtonText: String,
|
|
optionHeight: g(44),
|
|
showToolbar: F,
|
|
swipeDuration: g(1e3),
|
|
visibleOptionNum: g(6)
|
|
}
|
|
);
|
|
function j(e, n) {
|
|
if (e < 0)
|
|
return [];
|
|
const r = Array(e);
|
|
let u = -1;
|
|
for (; ++u < e; )
|
|
r[u] = n(u);
|
|
return r;
|
|
}
|
|
function E(e, n = 2) {
|
|
let r = e + "";
|
|
for (; r.length < n; )
|
|
r = "0" + r;
|
|
return r;
|
|
}
|
|
const l = (e, n, r, u, c, f) => {
|
|
const o = j(n - e + 1, (s) => {
|
|
const m = E(e + s);
|
|
return u(r, {
|
|
text: m,
|
|
value: m
|
|
});
|
|
});
|
|
return c ? c(r, o, f) : o;
|
|
}, X = (e, n) => 32 - new Date(e, n - 1, 32).getDate(), i = (e) => e < 10 ? `0${e}` : `${e}`, [$] = M("datetime-picker"), I = Object.assign({}, A, {
|
|
minYear: {
|
|
type: Number,
|
|
validator: (e) => e > 1970,
|
|
default: (/* @__PURE__ */ new Date()).getFullYear() - 10
|
|
},
|
|
maxYear: {
|
|
type: Number,
|
|
default: (/* @__PURE__ */ new Date()).getFullYear()
|
|
},
|
|
columnsType: {
|
|
type: Array,
|
|
default: () => ["hour", "minute"]
|
|
}
|
|
}), R = /* @__PURE__ */ N({
|
|
name: $,
|
|
props: I,
|
|
emits: ["confirm", "cancel", "change", "update:modelValue"],
|
|
setup(e, {
|
|
emit: n,
|
|
slots: r,
|
|
expose: u
|
|
}) {
|
|
const c = /* @__PURE__ */ new Date(), f = [String(c.getFullYear()), i(c.getMonth() + 1), i(c.getDate()), i(c.getHours()), i(c.getMinutes()), i(c.getSeconds())], o = h({
|
|
get: () => b(e.modelValue) ? f : e.modelValue,
|
|
set(t) {
|
|
n("update:modelValue", t);
|
|
}
|
|
}), s = T(), m = () => {
|
|
const t = e.minYear, a = e.maxYear;
|
|
return l(t, a, "year", e.formatter, e.filter, o.value);
|
|
}, y = () => l(1, 12, "month", e.formatter, e.filter, o.value), v = () => {
|
|
const t = o.value[0], a = o.value[1], d = 1, S = X(t ? +t : e.minYear, a ? +a : 1);
|
|
return l(d, S, "day", e.formatter, e.filter, o.value);
|
|
}, D = () => {
|
|
const {
|
|
filter: t,
|
|
formatter: a
|
|
} = e;
|
|
return l(0, 23, "hour", a, t, o.value);
|
|
}, p = () => {
|
|
const {
|
|
filter: t,
|
|
formatter: a
|
|
} = e;
|
|
return l(0, 59, "minute", a, t, o.value);
|
|
}, w = () => {
|
|
const {
|
|
filter: t,
|
|
formatter: a
|
|
} = e;
|
|
return l(0, 59, "second", a, t, o.value);
|
|
}, x = h(() => {
|
|
const t = [m(), y(), v()], a = e.columnsType.map((d) => {
|
|
switch (d) {
|
|
case "hour":
|
|
return D();
|
|
case "minute":
|
|
return p();
|
|
case "second":
|
|
return w();
|
|
default:
|
|
return [];
|
|
}
|
|
});
|
|
return t.concat(a);
|
|
}), P = (...t) => n("change", ...t), Y = (...t) => n("cancel", ...t), O = (...t) => n("confirm", ...t);
|
|
return u({
|
|
confirm: () => {
|
|
var t;
|
|
return (t = s.value) == null ? void 0 : t.confirm();
|
|
},
|
|
getSelectedDate: () => o.value
|
|
}), () => k(B, C({
|
|
ref: s,
|
|
modelValue: o.value,
|
|
"onUpdate:modelValue": (t) => o.value = t,
|
|
columns: x.value
|
|
}, e, {
|
|
onConfirm: O,
|
|
onCancel: Y,
|
|
onChange: P
|
|
}), r);
|
|
}
|
|
}), J = V(R);
|
|
export {
|
|
J as X
|
|
};
|