UNPKG

@layui/layui-vue

Version:

a component library for Vue 3 base on layui-vue

26 lines (25 loc) 2.36 kB
import { defineComponent as g, ref as m, computed as C, watch as w, openBlock as V, createElementBlock as j, createElementVNode as n, createVNode as r, unref as l, toDisplayString as u } from "vue"; import v from "dayjs"; import { useI18n as x } from "../../../language/index.js"; import { setDateList as O } from "../../util.js"; import s from "../../../icon/index.js"; import B from "./DateContent.js"; const E = { class: "layui-laydate-main" }, N = { class: "layui-laydate-header" }, _ = { class: "laydate-set-ym" }, z = g({ name: "DatePanel", __name: "Date", props: { modelValue: {}, showDate: {}, dateType: {}, classes: {} }, emits: ["year-month-change", "type-change", "pick"], setup(f, { emit: P }) { const c = f, d = P, { t: a } = x(), y = m(v()), p = m(), k = m([]), D = C(() => [a("datePicker.january"), a("datePicker.february"), a("datePicker.march"), a("datePicker.april"), a("datePicker.may"), a("datePicker.june"), a("datePicker.july"), a("datePicker.august"), a("datePicker.september"), a("datePicker.october"), a("datePicker.november"), a("datePicker.december")]); w([() => c.modelValue, () => c.showDate], ([t, e]) => { k.value = O(e.year(), e.month()), y.value = t || e, p.value = t ? t.startOf("day").valueOf() : null; }, { immediate: !0 }); const i = (t, e) => { const o = c.showDate[t](1, e); d("year-month-change", o); }, h = (t) => { d("type-change", t); }, b = (t) => { const e = v(t), o = y.value.clone().set("year", e.year()).set("month", e.month()).set("date", e.date()); d("pick", o); }; return (t, e) => (V(), j("div", E, [n("div", N, [r(l(s), { type: "layui-icon-prev", onClick: e[0] || (e[0] = (o) => i("subtract", "year")) }), r(l(s), { type: "layui-icon-left", onClick: e[1] || (e[1] = (o) => i("subtract", "month")) }), n("div", _, [n("span", { onClick: e[2] || (e[2] = (o) => h("year")) }, u(t.showDate.year()) + " " + u(l(a)("datePicker.year")), 1), n("span", { onClick: e[3] || (e[3] = (o) => h("month")) }, u(D.value[t.showDate.month()]), 1)]), r(l(s), { type: "layui-icon-right", onClick: e[4] || (e[4] = (o) => i("add", "month")) }), r(l(s), { type: "layui-icon-next", onClick: e[5] || (e[5] = (o) => i("add", "year")) })]), r(B, { "date-list": k.value, "model-value": p.value, "onUpdate:modelValue": b }, null, 8, ["date-list", "model-value"])])); } }); export { z as default };