sl-express/project-wl-yonghuduan-uniapp-vue3/unpackage/dist/dev/mp-weixin/pages/express-delivery/components/getTimePicker.js

102 lines
3.6 KiB
JavaScript
Raw Normal View History

2023-09-04 16:40:17 +08:00
"use strict";
var common_vendor = require("../../../common/vendor.js");
if (!Array) {
const _easycom_uni_popup2 = common_vendor.resolveComponent("uni-popup");
_easycom_uni_popup2();
}
const _easycom_uni_popup = () => "../../../uni_modules/uni-popup/components/uni-popup/uni-popup.js";
if (!Math) {
_easycom_uni_popup();
}
const _sfc_main = {
__name: "getTimePicker",
emits: ["@getTime"],
setup(__props, { expose, emit: emits }) {
const popup = common_vendor.ref();
let scrollTop = common_vendor.ref(0);
let selectedDay = common_vendor.ref(0);
let selectedDayLabel = common_vendor.ref("\u4ECA\u5929");
let selectedTime = common_vendor.ref(0);
let selectedTimeLabel = common_vendor.ref();
const selectDay = common_vendor.reactive(["\u4ECA\u5929", "\u660E\u5929", "\u540E\u5929"]);
let todayList = common_vendor.reactive({
todos: [{
label: "\u4E00\u5C0F\u65F6\u5185",
value: 1
}]
});
common_vendor.onMounted(() => {
todayList.todos = [...todayList.todos.concat(dateList.filter((item) => item.value > new Date().getHours()))];
});
const dateList = common_vendor.reactive(Array.from({
length: 11
}, (v, k) => ({
label: `${k + 9}:00-${k + 10}:00`,
value: k + 9
})));
const scroll = (e) => {
scrollTop.value = e.detail.scrollTop;
};
const handleSelectTime = (index, item) => {
selectedTime.value = index;
selectedTimeLabel.value = item;
popup.value.close("bottom");
emits("getTime", {
selectedDay: selectedDay.value,
selectedDayLabel: selectedDayLabel.value,
selectedTime: selectedTime.value,
selectedTimeLabel: selectedTimeLabel.value
});
};
const handleSelectDay = (index, item) => {
selectedDay.value = index;
scrollTop.value = 0;
selectedTime.value = 0;
selectedDayLabel.value = item;
};
const handleOpen = () => {
popup.value.open("bottom");
};
const handleCancel = () => {
popup.value.close("bottom");
};
expose({
handleOpen
});
return (_ctx, _cache) => {
return {
a: common_vendor.o(handleCancel),
b: common_vendor.f(selectDay, (item, index, i0) => {
return {
a: common_vendor.t(item),
b: common_vendor.n(common_vendor.unref(selectedDay) === index ? "active" : ""),
c: common_vendor.o(($event) => handleSelectDay(index, item), index),
d: index
};
}),
c: common_vendor.f(common_vendor.unref(selectedDay) === 0 ? common_vendor.unref(todayList).todos : dateList, (item, index, i0) => {
return common_vendor.e({
a: common_vendor.t(item.label),
b: common_vendor.unref(selectedTime) === item.value
}, common_vendor.unref(selectedTime) === item.value ? {} : {}, {
c: common_vendor.n(common_vendor.unref(selectedTime) === item.value ? "active" : ""),
d: index,
e: common_vendor.o(($event) => handleSelectTime(item.value, item.label), index)
});
}),
d: common_vendor.unref(scrollTop),
e: common_vendor.o(scroll),
f: common_vendor.sr(popup, "d7737426-0", {
"k": "popup"
}),
g: common_vendor.p({
type: "bottom",
["safe-area"]: false
})
};
};
}
};
var Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-d7737426"], ["__file", "E:/project/project-wl-yonghuduan-uniapp-vue3/pages/express-delivery/components/getTimePicker.vue"]]);
wx.createComponent(Component);