hldy_app/unpackage/dist/dev/mp-weixin/pages/timeMatrix/indexnew.js

288 lines
10 KiB
JavaScript
Raw Normal View History

2025-05-20 16:10:53 +08:00
"use strict";
const common_vendor = require("../../common/vendor.js");
const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
__name: "indexnew",
setup(__props) {
common_vendor.ref(false);
const timearr = common_vendor.ref([]);
const buttonArray = common_vendor.ref(["全部", "日常", "周期"]);
const buttonTarget = common_vendor.ref(0);
const getClass = (item, index0, index1) => {
if (item.cycleType === "日常") {
return "title-time-border-yellow";
} else if (item.cycleType) {
return "title-time-border-pouple";
}
return "title-time-border";
};
const moveDownNumber = common_vendor.ref(0);
function handleScrolltime(e) {
let num = e.detail.scrollTop;
let formattedNum = parseFloat(num.toFixed(2));
moveDownNumber.value = formattedNum;
}
const getClassItem = (index) => {
if (buttonTarget.value !== index) {
return `titlebutton`;
} else {
switch (index) {
case 0:
return `titlebutton-target`;
case 1:
return `titlebutton-target-yellow`;
case 2:
return `titlebutton-target-pouple`;
}
}
};
function splitString(str) {
if (str) {
let result = [];
let remainingStr = str;
let regex = /([^(]*)[(]([^)]+)[)]/;
while (regex.test(remainingStr)) {
let match = remainingStr.match(regex);
if (match) {
if (match[1].trim()) {
result.push(match[1].trim());
}
if (match[2].trim()) {
result.push(match[2].trim());
}
remainingStr = remainingStr.replace(match[0], "").trim();
}
}
if (remainingStr.trim()) {
result.push(remainingStr.trim());
}
return result;
} else {
return [];
}
}
const scrollLeft = common_vendor.ref(0);
const changetimearr = common_vendor.ref([]);
common_vendor.onLoad((options) => {
let arr = common_vendor.index.getStorageSync("myArray");
timearr.value = arr;
if (timearr.value[0].children.length < 8) {
timearr.value.forEach((element) => {
while (element.children.length < 8) {
element.children.push({ directiveName: "" });
}
});
}
changetimearr.value = JSON.parse(JSON.stringify(timearr.value));
scrollLeft.value = 740;
});
const openX = common_vendor.ref(0);
const openY = common_vendor.ref(0);
const isopen = common_vendor.ref(false);
const isopacity = common_vendor.ref(false);
const clickX = common_vendor.ref(-1);
const clickY = common_vendor.ref(-1);
common_vendor.ref(null);
const rulerTouchClick = (item, index0, index1, e) => {
if (item.directiveName) {
clickX.value = index0;
clickY.value = index1;
const query = common_vendor.index.createSelectorQuery();
query.selectAll(".super-card-time-card").boundingClientRect((data) => {
data.forEach(async (res) => {
if (res.dataset.index0 == index0 && res.dataset.index1 == index1) {
if (res.left < 500) {
openX.value = Math.floor(res.left) + 510;
} else {
openX.value = Math.floor(res.left) - 10;
}
if (res.top < 300) {
openY.value = Math.floor(res.top) + 250;
} else {
openY.value = Math.floor(res.top);
}
await common_vendor.nextTick$1();
isopen.value = true;
isopacity.value = false;
setTimeout(() => {
isopacity.value = true;
}, 100);
}
});
}).exec();
}
};
const routerBack = () => {
common_vendor.index.navigateBack();
};
const closeIsOpen = (index0, index1) => {
common_vendor.index.navigateBack({
delta: 1,
success: () => {
common_vendor.index.$emit("where", {
index0,
index1
});
}
});
};
const changeWhiteLine = () => {
let emptyChildIndices = [];
changetimearr.value.forEach((res, rowIndex) => {
emptyChildIndices = [];
res.children.forEach((child, index) => {
if (child.directiveName === null || child.directiveName === "" || child.directiveName === void 0) {
const isEmptyInAllRows = changetimearr.value.every((otherRes) => {
const otherChild = otherRes.children[index];
return otherChild.directiveName === "";
});
if (isEmptyInAllRows) {
emptyChildIndices.push(index);
}
}
});
});
const sortedIndices = [...emptyChildIndices].sort((a, b) => b - a);
changetimearr.value.forEach((element) => {
sortedIndices.forEach((idx) => {
element.children.splice(idx, 1);
});
});
if (changetimearr.value[0].children.length < 8) {
changetimearr.value.forEach((element) => {
while (element.children.length < 8) {
element.children.push({ directiveName: "" });
}
});
}
};
const changeTarget = (index) => {
if (buttonTarget.value !== index) {
changetimearr.value = [];
buttonTarget.value = index;
switch (index) {
case 0:
changetimearr.value = JSON.parse(JSON.stringify(timearr.value));
break;
case 1:
changetimearr.value = JSON.parse(JSON.stringify(timearr.value));
changetimearr.value.forEach((element0) => {
element0.children.forEach((element1) => {
if (element1.directiveName && element1.cycleType !== "日常") {
element1.directiveName = "";
element1.cycleType = "";
element1.startTime = "";
}
});
});
changeWhiteLine();
break;
case 2:
changetimearr.value = JSON.parse(JSON.stringify(timearr.value));
changetimearr.value.forEach((element0) => {
element0.children.forEach((element1) => {
if (element1.directiveName && element1.cycleType === "日常") {
element1.directiveName = "";
element1.cycleType = "";
element1.startTime = "";
}
});
});
changeWhiteLine();
break;
}
}
};
const lastTap = common_vendor.ref(0);
const clickTimer = common_vendor.ref(null);
function handleTap(item, index0, index1, e) {
const now = Date.now();
if (clickTimer.value != null) {
clearTimeout(clickTimer.value);
}
if (now - lastTap.value < 250) {
closeIsOpen(index0, index1);
lastTap.value = 0;
} else {
clickTimer.value = setTimeout(() => {
rulerTouchClick(item, index0, index1);
}, 250);
lastTap.value = now;
}
}
return (_ctx, _cache) => {
var _a, _b;
return {
a: common_vendor.f(buttonArray.value, (item, index, i0) => {
return {
a: common_vendor.t(item),
b: common_vendor.n(getClassItem(index)),
c: common_vendor.o(($event) => changeTarget(index), index),
d: index
};
}),
b: common_vendor.o(routerBack),
c: common_vendor.f(changetimearr.value, (item0, index0, i0) => {
return {
a: common_vendor.t((item0.positioning.length == 1 ? "0" + item0.positioning : item0.positioning) + ":00"),
b: index0
};
}),
d: common_vendor.f(changetimearr.value, (item0, index0, i0) => {
return {
a: common_vendor.f(item0.children, (item1, index1, i1) => {
return common_vendor.e({
a: item1.startTime
}, item1.startTime ? {
b: common_vendor.t(item1.startTime + `-` + item1.endTime),
c: item1.cycleType == "日常" ? `/static/index/yellowbian.png` : `/static/index/puoplebian.png`,
d: common_vendor.t(item1.cycleType)
} : {}, {
e: common_vendor.t(splitString(item1.directiveName)[0]),
f: common_vendor.s(splitString(item1.directiveName)[1] ? {} : {
marginTop: `20rpx`
}),
g: splitString(item1.directiveName)[1]
}, splitString(item1.directiveName)[1] ? {
h: common_vendor.f(splitString(item1.directiveName).slice(1), (item, index, i2) => {
return {
a: common_vendor.t(splitString(item1.directiveName)[index + 1]),
b: index
};
}),
i: common_vendor.s(item1.cycleType != "日常" ? {
backgroundColor: `rgb(123,97,255)`
} : {}),
j: common_vendor.s(item1.cycleType != "日常" ? {
backgroundColor: `rgb(212,203,255)`
} : {})
} : {}, {
k: common_vendor.n(getClass(item1)),
l: common_vendor.n(clickX.value === index0 && clickY.value === index1 ? `title-time-border-blue` : ``),
m: common_vendor.o(($event) => handleTap(item1, index0, index1), index1),
n: index1,
o: index1
});
}),
b: index0,
c: index0
};
}),
e: common_vendor.o(handleScrolltime),
f: scrollLeft.value,
g: `/static/index/teeth.png`,
h: 2 * openY.value - 350 + "rpx",
i: 2 * openX.value - 780 + "rpx",
j: isopacity.value ? 1 : 0,
k: ((_b = (_a = timearr.value[clickY.value]) == null ? void 0 : _a.children[clickX.value]) == null ? void 0 : _b.type) === "日常" ? "#fffcf6" : "rgb(246, 244, 254)",
l: common_vendor.o(() => {
}),
m: isopen.value,
n: common_vendor.o(($event) => isopen.value = false)
};
};
}
});
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-d5065f48"]]);
wx.createPage(MiniProgramPage);
//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/timeMatrix/indexnew.js.map