django-vue3-admin-web/node_modules/@meetjs/vant4-kit/dist/es/datetime-picker-BvBgc-bC.js
2025-10-20 21:21:14 +08:00

131 lines
3.7 KiB
JavaScript

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