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