birdpaper-ui
Version:
一个通用的 vue3 UI组件库。A common vue3 UI component library.
109 lines (108 loc) • 5.07 kB
JavaScript
import _sfc_main from "./date-table.vue2.js";
import { resolveComponent, openBlock, createElementBlock, Fragment, createElementVNode, normalizeClass, withModifiers, toDisplayString, createVNode, renderList, withCtx, createTextVNode, createCommentVNode, createBlock } from "vue";
import _export_sfc from "../../../_virtual/_plugin-vue_export-helper.js";
const _hoisted_1 = ["onClick"];
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
const _component_IconArrowLeftDoubleFill = resolveComponent("IconArrowLeftDoubleFill");
const _component_IconArrowLeftSLine = resolveComponent("IconArrowLeftSLine");
const _component_IconArrowRightSLine = resolveComponent("IconArrowRightSLine");
const _component_IconArrowRightDoubleFill = resolveComponent("IconArrowRightDoubleFill");
const _component_bp_button = resolveComponent("bp-button");
const _component_time_table = resolveComponent("time-table");
return openBlock(), createElementBlock(Fragment, null, [
createElementVNode("div", {
class: normalizeClass(_ctx.name)
}, [
createElementVNode("div", {
class: normalizeClass(`${_ctx.name}-header`)
}, [
createElementVNode("div", {
class: normalizeClass(`${_ctx.name}-header-inner`)
}, [
createElementVNode("span", {
class: normalizeClass(`${_ctx.name}-header-inner-year`),
onClick: _cache[0] || (_cache[0] = withModifiers(($event) => _ctx.handleChangePicker(_ctx.PanelType.Year, _ctx.currentYear), ["stop"]))
}, toDisplayString(_ctx.currentYear), 3),
createElementVNode("span", {
class: normalizeClass(`${_ctx.name}-header-inner-month`),
onClick: _cache[1] || (_cache[1] = withModifiers(($event) => _ctx.handleChangePicker(_ctx.PanelType.Month, _ctx.currentMonth), ["stop"]))
}, toDisplayString(_ctx.months[_ctx.currentMonth]), 3)
], 2),
createElementVNode("div", {
class: normalizeClass(`${_ctx.name}-header-option`)
}, [
createVNode(_component_IconArrowLeftDoubleFill, {
onClick: _cache[2] || (_cache[2] = ($event) => _ctx.handleChange("year", "prev")),
size: "20px"
}),
createVNode(_component_IconArrowLeftSLine, {
onClick: _cache[3] || (_cache[3] = ($event) => _ctx.handleChange("month", "prev")),
size: "20px"
}),
createVNode(_component_IconArrowRightSLine, {
onClick: _cache[4] || (_cache[4] = ($event) => _ctx.handleChange("month", "next")),
size: "20px"
}),
createVNode(_component_IconArrowRightDoubleFill, {
onClick: _cache[5] || (_cache[5] = ($event) => _ctx.handleChange("year", "next")),
size: "20px"
})
], 2)
], 2),
createElementVNode("div", {
class: normalizeClass(`${_ctx.name}-week`)
}, [
(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.weeks, (v) => {
return openBlock(), createElementBlock("span", {
class: normalizeClass(`${_ctx.name}-week-inner`)
}, toDisplayString(v), 3);
}), 256))
], 2),
createElementVNode("div", {
class: normalizeClass(`${_ctx.name}-body`)
}, [
(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.dates, (row) => {
return openBlock(), createElementBlock("div", {
class: normalizeClass(`${_ctx.name}-body-row`)
}, [
(openBlock(true), createElementBlock(Fragment, null, renderList(row, (col) => {
return openBlock(), createElementBlock("span", {
class: normalizeClass([
`${_ctx.name}-body-inner`,
`day-cell-${col.type}`,
{ active: (_ctx.ctx.modelValue.value !== "" || _ctx.ctx.showTime) && _ctx.currentVal === col.value },
{ "to-day": col.value === _ctx.toDay }
]),
onClick: ($event) => _ctx.handleSelect(col)
}, toDisplayString(col.label), 11, _hoisted_1);
}), 256))
], 2);
}), 256))
], 2),
!_ctx.ctx.showTime ? (openBlock(), createElementBlock("div", {
key: 0,
class: normalizeClass(`${_ctx.name}-footer`)
}, [
createVNode(_component_bp_button, {
type: "text",
status: "primary",
onClick: _cache[6] || (_cache[6] = ($event) => _ctx.handleSelect({ value: _ctx.toDay }))
}, {
default: withCtx(() => [
createTextVNode(" 今天 ")
]),
_: 1
})
], 2)) : createCommentVNode("", true)
], 2),
_ctx.ctx.showTime ? (openBlock(), createBlock(_component_time_table, {
key: 0,
ref: "timeTableRef",
onOnSelect: _ctx.onTimeSelect
}, null, 8, ["onOnSelect"])) : createCommentVNode("", true)
], 64);
}
const dateTable = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
export {
dateTable as default
};