comic-plus
Version:
<p align="center"> <img width="200px" src="./logo.png"/> </p>
138 lines (137 loc) • 5.71 kB
JavaScript
;
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
const vue = require("vue");
const list = require("./list.js");
const index = require("../../button/index.js");
const type = require("./type.js");
const _hoisted_1 = { key: 0 };
const _hoisted_2 = { class: "rangetime-box" };
const _hoisted_3 = { class: "cu-time-picker__listbox" };
const _hoisted_4 = { class: "rangetime-box" };
const _hoisted_5 = { class: "cu-time-picker__listbox" };
const _hoisted_6 = {
key: 1,
class: "cu-time-picker__listbox"
};
const _hoisted_7 = { class: "cu-time-picker__footer" };
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
__name: "time-select",
setup(__props) {
const { props, show, confirm } = vue.inject(type.TIMEPICKER_PROVIDE);
const currentTimes = vue.ref([]);
const getValue = (value) => value ?? "00:00:00";
const setTimeValue = () => {
if (props.range) {
currentTimes.value = [getValue(props.modelValue[0]).split(":"), getValue(props.modelValue[1]).split(":")];
} else {
currentTimes.value = getValue(props.modelValue).split(":");
}
};
setTimeValue();
const sort = () => {
currentTimes.value = currentTimes.value.sort((a, b) => {
for (let i = 0; i < a.length; i++) {
let numA = parseInt(a[i], 10);
let numB = parseInt(b[i], 10);
if (numA !== numB) {
return numA - numB;
}
}
return 0;
});
};
function _confirm() {
if (props.range) {
sort();
let arr = [currentTimes.value[0].join(":"), currentTimes.value[1].join(":")];
confirm(arr);
} else {
confirm(currentTimes.value.join(":"));
}
}
vue.watch(
() => show.value,
(val) => {
if (val) {
setTimeValue();
}
}
);
return (_ctx, _cache) => {
return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
vue.unref(props).range ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
vue.createElementVNode("div", _hoisted_2, [
_cache[9] || (_cache[9] = vue.createElementVNode("div", { class: "time-title" }, "开始时间", -1)),
vue.createElementVNode("div", _hoisted_3, [
vue.createVNode(vue.unref(list.default), {
modelValue: currentTimes.value[0][0],
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => currentTimes.value[0][0] = $event),
time: 24
}, null, 8, ["modelValue"]),
vue.createVNode(vue.unref(list.default), {
modelValue: currentTimes.value[0][1],
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => currentTimes.value[0][1] = $event),
time: 60
}, null, 8, ["modelValue"]),
vue.createVNode(vue.unref(list.default), {
modelValue: currentTimes.value[0][2],
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => currentTimes.value[0][2] = $event),
time: 60
}, null, 8, ["modelValue"])
])
]),
vue.createElementVNode("div", _hoisted_4, [
_cache[10] || (_cache[10] = vue.createElementVNode("div", { class: "time-title" }, "结束时间", -1)),
vue.createElementVNode("div", _hoisted_5, [
vue.createVNode(vue.unref(list.default), {
modelValue: currentTimes.value[1][0],
"onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => currentTimes.value[1][0] = $event),
time: 24
}, null, 8, ["modelValue"]),
vue.createVNode(vue.unref(list.default), {
modelValue: currentTimes.value[1][1],
"onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => currentTimes.value[1][1] = $event),
time: 60
}, null, 8, ["modelValue"]),
vue.createVNode(vue.unref(list.default), {
modelValue: currentTimes.value[1][2],
"onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => currentTimes.value[1][2] = $event),
time: 60
}, null, 8, ["modelValue"])
])
])
])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_6, [
vue.createVNode(vue.unref(list.default), {
modelValue: currentTimes.value[0],
"onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => currentTimes.value[0] = $event),
time: 24
}, null, 8, ["modelValue"]),
vue.createVNode(vue.unref(list.default), {
modelValue: currentTimes.value[1],
"onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => currentTimes.value[1] = $event),
time: 60
}, null, 8, ["modelValue"]),
vue.createVNode(vue.unref(list.default), {
modelValue: currentTimes.value[2],
"onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => currentTimes.value[2] = $event),
time: 60
}, null, 8, ["modelValue"])
])),
vue.createElementVNode("div", _hoisted_7, [
vue.createVNode(vue.unref(index.CuButton), {
size: "small",
type: "primary",
text: "",
onClick: _confirm
}, {
default: vue.withCtx(() => _cache[11] || (_cache[11] = [
vue.createTextVNode("确认")
])),
_: 1
})
])
], 64);
};
}
});
exports.default = _sfc_main;