消息
This commit is contained in:
198
unpackage/dist/dev/mp-weixin/TUIKit/components/common/DatePicker/index.js
vendored
Normal file
198
unpackage/dist/dev/mp-weixin/TUIKit/components/common/DatePicker/index.js
vendored
Normal file
@@ -0,0 +1,198 @@
|
||||
"use strict";
|
||||
const common_vendor = require("../../../../common/vendor.js");
|
||||
require("../../../adapter-vue.js");
|
||||
const TUIKit_utils_env = require("../../../utils/env.js");
|
||||
if (!Math) {
|
||||
DatePickerPanel();
|
||||
}
|
||||
const DatePickerPanel = () => "./date-picker-panel.js";
|
||||
const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
|
||||
__name: "index",
|
||||
props: {
|
||||
type: {
|
||||
type: String,
|
||||
default: "range"
|
||||
// "single" / "range"
|
||||
},
|
||||
rangeTableType: {
|
||||
type: String,
|
||||
default: "one"
|
||||
// "one"/ "two"
|
||||
},
|
||||
startPlaceholder: {
|
||||
type: String,
|
||||
default: () => common_vendor.Wt.t("开始时间")
|
||||
},
|
||||
endPlaceholder: {
|
||||
type: String,
|
||||
default: () => common_vendor.Wt.t("开始时间")
|
||||
},
|
||||
popupPosition: {
|
||||
type: String,
|
||||
default: "bottom"
|
||||
// "top" / "bottom"
|
||||
},
|
||||
// Default single-select date
|
||||
defaultSingleDate: {
|
||||
type: common_vendor.dayjs_minExports.Dayjs,
|
||||
default: null,
|
||||
required: false
|
||||
}
|
||||
},
|
||||
emits: ["pick", "change"],
|
||||
setup(__props, { emit: __emit }) {
|
||||
common_vendor.dayjs.extend(common_vendor.localeData);
|
||||
common_vendor.dayjs.extend(common_vendor.isSameOrAfter);
|
||||
common_vendor.dayjs.extend(common_vendor.isSameOrBefore);
|
||||
common_vendor.dayjs.locale("zh-cn");
|
||||
const emit = __emit;
|
||||
const props = __props;
|
||||
const isDatePanelShow = common_vendor.ref(false);
|
||||
const dateValue = common_vendor.ref(props.type === "single" ? props == null ? void 0 : props.defaultSingleDate : null);
|
||||
const startValue = common_vendor.ref(props.type === "single" ? props == null ? void 0 : props.defaultSingleDate : null);
|
||||
const endValue = common_vendor.ref(props.type === "single" ? props == null ? void 0 : props.defaultSingleDate : null);
|
||||
const startFormatDate = common_vendor.computed(() => {
|
||||
var _a;
|
||||
return (_a = startValue == null ? void 0 : startValue.value) == null ? void 0 : _a.format("YYYY/MM/DD");
|
||||
});
|
||||
const endFormatDate = common_vendor.computed(() => {
|
||||
var _a;
|
||||
return (_a = endValue == null ? void 0 : endValue.value) == null ? void 0 : _a.format("YYYY/MM/DD");
|
||||
});
|
||||
const startPlaceholderVal = props.startPlaceholder;
|
||||
const endPlaceholderVal = props.endPlaceholder;
|
||||
const leftCurrentPanelValue = common_vendor.ref();
|
||||
const rightCurrentPanelValue = common_vendor.ref();
|
||||
const setDatePanelDisplay = (show) => {
|
||||
isDatePanelShow.value = show;
|
||||
};
|
||||
const n = (classNameList) => {
|
||||
const resultClassList = [];
|
||||
classNameList.forEach((className) => {
|
||||
if (className) {
|
||||
resultClassList.push("tui-date-picker-" + className);
|
||||
!TUIKit_utils_env.isPC && resultClassList.push("tui-date-picker-h5-" + className);
|
||||
} else {
|
||||
resultClassList.push("tui-date-picker");
|
||||
!TUIKit_utils_env.isPC && resultClassList.push("tui-date-picker-h5");
|
||||
}
|
||||
});
|
||||
return resultClassList;
|
||||
};
|
||||
const handlePick = (cell) => {
|
||||
var _a, _b, _c;
|
||||
switch (props.type) {
|
||||
case "single":
|
||||
startValue.value = cell.date;
|
||||
endValue.value = cell.date;
|
||||
dateValue.value = cell.date;
|
||||
emit("change", cell);
|
||||
emit("pick", dateValue.value);
|
||||
setTimeout(() => {
|
||||
setDatePanelDisplay(false);
|
||||
}, 300);
|
||||
break;
|
||||
case "range":
|
||||
if (!(startValue == null ? void 0 : startValue.value)) {
|
||||
startValue.value = cell.date;
|
||||
} else if (!(endValue == null ? void 0 : endValue.value)) {
|
||||
if ((_a = startValue == null ? void 0 : startValue.value) == null ? void 0 : _a.isSameOrBefore(cell.date, "day")) {
|
||||
endValue.value = cell.date;
|
||||
} else {
|
||||
endValue.value = startValue.value;
|
||||
startValue.value = cell.date;
|
||||
}
|
||||
emit("pick", {
|
||||
startDate: (_b = startValue == null ? void 0 : startValue.value) == null ? void 0 : _b.startOf("date"),
|
||||
endDate: (_c = endValue == null ? void 0 : endValue.value) == null ? void 0 : _c.endOf("date")
|
||||
});
|
||||
setTimeout(() => {
|
||||
setDatePanelDisplay(false);
|
||||
}, 200);
|
||||
} else {
|
||||
startValue.value = cell.date;
|
||||
endValue.value = null;
|
||||
}
|
||||
emit("change", {
|
||||
startDate: startValue.value,
|
||||
endDate: endValue.value,
|
||||
leftCurrentPanel: leftCurrentPanelValue.value,
|
||||
rightCurrentPanel: leftCurrentPanelValue.value
|
||||
});
|
||||
break;
|
||||
}
|
||||
};
|
||||
const handleLeftPanelChange = (value) => {
|
||||
leftCurrentPanelValue.value = value;
|
||||
emit("change", {
|
||||
startDate: startValue.value,
|
||||
endDate: endValue.value,
|
||||
leftCurrentPanel: leftCurrentPanelValue.value,
|
||||
rightCurrentPanel: leftCurrentPanelValue.value
|
||||
});
|
||||
};
|
||||
const handleRightPanelChange = (value) => {
|
||||
rightCurrentPanelValue.value = value;
|
||||
emit("change", {
|
||||
startDate: startValue.value,
|
||||
endDate: endValue.value,
|
||||
leftCurrentPanel: leftCurrentPanelValue.value,
|
||||
rightCurrentPanel: leftCurrentPanelValue.value
|
||||
});
|
||||
};
|
||||
return (_ctx, _cache) => {
|
||||
return common_vendor.e({
|
||||
a: common_vendor.unref(startPlaceholderVal),
|
||||
b: common_vendor.n(n(["input-start"])),
|
||||
c: common_vendor.unref(TUIKit_utils_env.isUniFrameWork),
|
||||
d: common_vendor.unref(startFormatDate),
|
||||
e: common_vendor.o$1(($event) => common_vendor.isRef(startFormatDate) ? startFormatDate.value = $event.detail.value : null),
|
||||
f: __props.type !== "single"
|
||||
}, __props.type !== "single" ? {} : {}, {
|
||||
g: __props.type !== "single"
|
||||
}, __props.type !== "single" ? {
|
||||
h: common_vendor.unref(endPlaceholderVal),
|
||||
i: common_vendor.n(n(["input-end"])),
|
||||
j: common_vendor.unref(TUIKit_utils_env.isUniFrameWork),
|
||||
k: common_vendor.unref(endFormatDate),
|
||||
l: common_vendor.o$1(($event) => common_vendor.isRef(endFormatDate) ? endFormatDate.value = $event.detail.value : null)
|
||||
} : {}, {
|
||||
m: common_vendor.n(n(["input"])),
|
||||
n: common_vendor.n(common_vendor.unref(isDatePanelShow) && n(["input-active"])),
|
||||
o: common_vendor.o$1(($event) => setDatePanelDisplay(!common_vendor.unref(isDatePanelShow))),
|
||||
p: common_vendor.unref(isDatePanelShow)
|
||||
}, common_vendor.unref(isDatePanelShow) ? common_vendor.e({
|
||||
q: common_vendor.o$1(handlePick),
|
||||
r: common_vendor.o$1(handleLeftPanelChange),
|
||||
s: common_vendor.p({
|
||||
type: props.type,
|
||||
rangeType: "left",
|
||||
date: common_vendor.unref(dateValue),
|
||||
startDate: common_vendor.unref(startValue),
|
||||
endDate: common_vendor.unref(endValue),
|
||||
currentOtherPanelValue: common_vendor.unref(rightCurrentPanelValue)
|
||||
}),
|
||||
t: props.type === "range" && common_vendor.unref(TUIKit_utils_env.isPC) && __props.rangeTableType === "two"
|
||||
}, props.type === "range" && common_vendor.unref(TUIKit_utils_env.isPC) && __props.rangeTableType === "two" ? {
|
||||
v: common_vendor.o$1(handlePick),
|
||||
w: common_vendor.o$1(handleRightPanelChange),
|
||||
x: common_vendor.p({
|
||||
type: props.type,
|
||||
rangeType: "right",
|
||||
date: common_vendor.unref(dateValue),
|
||||
startDate: common_vendor.unref(startValue),
|
||||
endDate: common_vendor.unref(endValue),
|
||||
currentOtherPanelValue: common_vendor.unref(leftCurrentPanelValue)
|
||||
})
|
||||
} : {}, {
|
||||
y: common_vendor.n(n(["dialog-container", "dialog-container-" + __props.rangeTableType, "dialog-container-" + __props.popupPosition])),
|
||||
z: common_vendor.n(n(["dialog"]))
|
||||
}) : {}, {
|
||||
A: common_vendor.n(n([""]))
|
||||
});
|
||||
};
|
||||
}
|
||||
});
|
||||
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-eb57fa2c"]]);
|
||||
wx.createComponent(Component);
|
||||
//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/common/DatePicker/index.js.map
|
||||
Reference in New Issue
Block a user