消息
This commit is contained in:
218
unpackage/dist/dev/mp-weixin/TUIKit/components/common/DatePicker/date-picker-panel.js
vendored
Normal file
218
unpackage/dist/dev/mp-weixin/TUIKit/components/common/DatePicker/date-picker-panel.js
vendored
Normal file
@@ -0,0 +1,218 @@
|
||||
"use strict";
|
||||
const common_vendor = require("../../../../common/vendor.js");
|
||||
require("../../../adapter-vue.js");
|
||||
const common_assets = require("../../../../common/assets.js");
|
||||
const TUIKit_utils_env = require("../../../utils/env.js");
|
||||
if (!Math) {
|
||||
(Icon + DateTable)();
|
||||
}
|
||||
const DateTable = () => "./date-table.js";
|
||||
const Icon = () => "../Icon.js";
|
||||
const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
|
||||
__name: "date-picker-panel",
|
||||
props: {
|
||||
type: {
|
||||
type: String,
|
||||
default: "range"
|
||||
// "single"/"range"
|
||||
},
|
||||
// Unique attribute when type is single
|
||||
date: {
|
||||
type: common_vendor.dayjs_minExports.Dayjs,
|
||||
default: () => common_vendor.dayjs()
|
||||
},
|
||||
// Unique attribute when type is range
|
||||
startDate: {
|
||||
type: common_vendor.dayjs_minExports.Dayjs,
|
||||
default: null
|
||||
},
|
||||
endDate: {
|
||||
type: common_vendor.dayjs_minExports.Dayjs,
|
||||
default: null
|
||||
},
|
||||
rangeType: {
|
||||
type: String,
|
||||
default: ""
|
||||
// "left"/"right"
|
||||
},
|
||||
currentOtherPanelValue: {
|
||||
type: common_vendor.dayjs_minExports.Dayjs,
|
||||
default: null
|
||||
}
|
||||
},
|
||||
emits: ["pick", "change"],
|
||||
setup(__props, { emit: __emit }) {
|
||||
const props = __props;
|
||||
const emit = __emit;
|
||||
const n = (className) => {
|
||||
return className ? [
|
||||
"tui-date-picker-panel-" + className,
|
||||
!TUIKit_utils_env.isPC && "tui-date-picker-panel-h5-" + className
|
||||
] : ["tui-date-picker-panel", !TUIKit_utils_env.isPC && "tui-date-picker-panel-h5"];
|
||||
};
|
||||
const currentPanelDate = common_vendor.ref();
|
||||
const year = common_vendor.computed(() => {
|
||||
var _a;
|
||||
return (_a = currentPanelDate.value) == null ? void 0 : _a.get("year");
|
||||
});
|
||||
const month = common_vendor.computed(() => {
|
||||
var _a;
|
||||
return (_a = currentPanelDate.value) == null ? void 0 : _a.format("MMMM");
|
||||
});
|
||||
const canYearMore = common_vendor.computed(() => {
|
||||
var _a, _b, _c;
|
||||
const prevYearNumber = ((_a = props.currentOtherPanelValue) == null ? void 0 : _a.year()) - 1;
|
||||
const prevYear = (_b = props.currentOtherPanelValue) == null ? void 0 : _b.year(prevYearNumber);
|
||||
return props.rangeType === "right" || ((_c = currentPanelDate.value) == null ? void 0 : _c.isBefore(prevYear, "year"));
|
||||
});
|
||||
const canMonthMore = common_vendor.computed(() => {
|
||||
var _a, _b, _c;
|
||||
const prevMonthNumber = ((_a = props.currentOtherPanelValue) == null ? void 0 : _a.month()) - 1;
|
||||
const prevMonth = (_b = props.currentOtherPanelValue) == null ? void 0 : _b.month(prevMonthNumber);
|
||||
return props.rangeType === "right" || ((_c = currentPanelDate.value) == null ? void 0 : _c.isBefore(prevMonth, "month"));
|
||||
});
|
||||
const canYearLess = common_vendor.computed(() => {
|
||||
var _a, _b, _c;
|
||||
const nextYearNumber = ((_a = props.currentOtherPanelValue) == null ? void 0 : _a.year()) + 1;
|
||||
const nextYear = (_b = props.currentOtherPanelValue) == null ? void 0 : _b.year(nextYearNumber);
|
||||
return props.rangeType === "left" || ((_c = currentPanelDate.value) == null ? void 0 : _c.isAfter(nextYear, "year"));
|
||||
});
|
||||
const canMonthLess = common_vendor.computed(() => {
|
||||
var _a, _b, _c;
|
||||
const nextMonthNumber = ((_a = props.currentOtherPanelValue) == null ? void 0 : _a.month()) + 1;
|
||||
const nextMonth = (_b = props.currentOtherPanelValue) == null ? void 0 : _b.month(nextMonthNumber);
|
||||
return props.rangeType === "left" || ((_c = currentPanelDate.value) == null ? void 0 : _c.isAfter(nextMonth, "month"));
|
||||
});
|
||||
const handleSingleDate = () => {
|
||||
var _a;
|
||||
if (props.date && ((_a = common_vendor.dayjs(props.date)) == null ? void 0 : _a.isValid())) {
|
||||
return {
|
||||
date: props == null ? void 0 : props.date
|
||||
};
|
||||
}
|
||||
return {
|
||||
date: common_vendor.dayjs()
|
||||
};
|
||||
};
|
||||
const handleRangeDate = () => {
|
||||
var _a;
|
||||
switch (props.rangeType) {
|
||||
case "left":
|
||||
if (props.startDate && common_vendor.dayjs.isDayjs(props.startDate)) {
|
||||
return {
|
||||
date: props == null ? void 0 : props.startDate
|
||||
};
|
||||
} else {
|
||||
return {
|
||||
date: common_vendor.dayjs()
|
||||
};
|
||||
}
|
||||
case "right":
|
||||
if (props.endDate && common_vendor.dayjs.isDayjs(props.endDate) && ((_a = props == null ? void 0 : props.endDate) == null ? void 0 : _a.isAfter(props.startDate, "month"))) {
|
||||
return {
|
||||
date: props == null ? void 0 : props.endDate
|
||||
};
|
||||
} else {
|
||||
const _month = (props.startDate || common_vendor.dayjs()).month();
|
||||
return {
|
||||
date: (props.startDate || common_vendor.dayjs()).month(_month + 1)
|
||||
};
|
||||
}
|
||||
default:
|
||||
return {
|
||||
date: common_vendor.dayjs()
|
||||
};
|
||||
}
|
||||
};
|
||||
function handlePick(cell) {
|
||||
emit("pick", cell);
|
||||
}
|
||||
function change(type, num) {
|
||||
currentPanelDate.value = common_vendor.dayjs(currentPanelDate.value.toDate()).add(
|
||||
num,
|
||||
type
|
||||
);
|
||||
emit("change", currentPanelDate.value);
|
||||
}
|
||||
common_vendor.onBeforeMount(() => {
|
||||
switch (props.type) {
|
||||
case "single":
|
||||
currentPanelDate.value = handleSingleDate().date;
|
||||
emit("change", currentPanelDate.value);
|
||||
break;
|
||||
case "range":
|
||||
currentPanelDate.value = handleRangeDate().date;
|
||||
emit("change", currentPanelDate.value);
|
||||
break;
|
||||
}
|
||||
});
|
||||
return (_ctx, _cache) => {
|
||||
return common_vendor.e({
|
||||
a: common_vendor.unref(canYearLess)
|
||||
}, common_vendor.unref(canYearLess) ? {
|
||||
b: common_vendor.p({
|
||||
file: common_vendor.unref(common_assets.dLeftArrowIcon),
|
||||
width: "12px",
|
||||
height: "12px"
|
||||
}),
|
||||
c: common_vendor.n(n("icon")),
|
||||
d: common_vendor.o$1(($event) => change("year", -1))
|
||||
} : {}, {
|
||||
e: common_vendor.unref(canMonthLess)
|
||||
}, common_vendor.unref(canMonthLess) ? {
|
||||
f: common_vendor.p({
|
||||
file: common_vendor.unref(common_assets.leftArrowIcon),
|
||||
width: "10px",
|
||||
height: "10px"
|
||||
}),
|
||||
g: common_vendor.n(n("icon")),
|
||||
h: common_vendor.o$1(($event) => change("month", -1))
|
||||
} : {}, {
|
||||
i: common_vendor.n(n("body-header-prev")),
|
||||
j: common_vendor.t(common_vendor.unref(year)),
|
||||
k: common_vendor.n(n("body-header-label-item")),
|
||||
l: common_vendor.t(common_vendor.unref(common_vendor.Wt).t(`time.${common_vendor.unref(month)}`)),
|
||||
m: common_vendor.n(n("body-header-label-item")),
|
||||
n: common_vendor.n(n("body-header-label")),
|
||||
o: common_vendor.unref(canMonthMore)
|
||||
}, common_vendor.unref(canMonthMore) ? {
|
||||
p: common_vendor.p({
|
||||
file: common_vendor.unref(common_assets.rightArrowIcon),
|
||||
width: "10px",
|
||||
height: "10px"
|
||||
}),
|
||||
q: common_vendor.n(n("icon")),
|
||||
r: common_vendor.o$1(($event) => change("month", 1))
|
||||
} : {}, {
|
||||
s: common_vendor.unref(canYearMore)
|
||||
}, common_vendor.unref(canYearMore) ? {
|
||||
t: common_vendor.p({
|
||||
file: common_vendor.unref(common_assets.dRightArrowIcon),
|
||||
width: "12px",
|
||||
height: "12px"
|
||||
}),
|
||||
v: common_vendor.n(n("icon")),
|
||||
w: common_vendor.o$1(($event) => change("year", 1))
|
||||
} : {}, {
|
||||
x: common_vendor.n(n("body-header-next")),
|
||||
y: common_vendor.n(n("body-header")),
|
||||
z: common_vendor.o$1(handlePick),
|
||||
A: common_vendor.p({
|
||||
type: props.type,
|
||||
date: props.date,
|
||||
startDate: props.startDate,
|
||||
endDate: props.endDate,
|
||||
currentPanelDate: common_vendor.unref(currentPanelDate)
|
||||
}),
|
||||
B: common_vendor.n(n("body-content")),
|
||||
C: common_vendor.n(n("body")),
|
||||
D: common_vendor.n(n("")),
|
||||
E: common_vendor.o$1(() => {
|
||||
})
|
||||
});
|
||||
};
|
||||
}
|
||||
});
|
||||
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-389108a1"]]);
|
||||
wx.createComponent(Component);
|
||||
//# sourceMappingURL=../../../../../.sourcemap/mp-weixin/TUIKit/components/common/DatePicker/date-picker-panel.js.map
|
||||
Reference in New Issue
Block a user