|
@@ -554,6 +554,7 @@ const generateTimeArray = async () => {
|
|
|
|
|
|
// 时间字符串转分钟数(支持带日期和不带日期)
|
|
|
function parseTimeToMinutes(timeStr: string): number {
|
|
|
+ if (timeStr === null) return 24 * 60; // null视为次日0点
|
|
|
if (!timeStr.trim()) return 24 * 60; // 空字符串视为次日0点
|
|
|
const timePart = timeStr.includes(' ') ? timeStr.split(' ')[1] : timeStr;
|
|
|
const [hours, minutes] = timePart.split(':').slice(0, 2).map(Number);
|
|
@@ -578,13 +579,18 @@ const getAlarmHistoryList = () => {
|
|
|
const isOverlap = triggerStart < aEnd && recoverEnd >= aStart;
|
|
|
|
|
|
// 特殊处理:当recoverTime为空时,触发时间后的所有区间
|
|
|
- const isInfiniteMode = !bItem.recoverTime.trim() && aStart >= triggerStart;
|
|
|
+ const recoverTimeString = bItem.recoverTime === null ? '' : bItem.recoverTime;
|
|
|
+ const isInfiniteMode = !recoverTimeString.trim() && aStart >= triggerStart;
|
|
|
|
|
|
if (isOverlap || isInfiniteMode) {
|
|
|
aItem.backgroundShow = true;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ } else {
|
|
|
+ for (const aItem of timeList.value) {
|
|
|
+ aItem.backgroundShow = false;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
});
|