@ledvance/base 1.3.33 → 1.3.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/utils/common.ts +14 -5
package/package.json
CHANGED
package/src/utils/common.ts
CHANGED
|
@@ -3,7 +3,7 @@ import I18n from '../i18n/index'
|
|
|
3
3
|
import { formatNumber, openDownloadFile } from 'api/native'
|
|
4
4
|
import dayjs from 'dayjs'
|
|
5
5
|
import RNFetchBlob from 'rn-fetch-blob'
|
|
6
|
-
import { isEqual } from 'lodash'
|
|
6
|
+
import { cloneDeep, isEqual } from 'lodash'
|
|
7
7
|
import { Dialog, Utils } from 'tuya-panel-kit'
|
|
8
8
|
import {GlobalParams} from "../models/GlobalParams";
|
|
9
9
|
|
|
@@ -448,17 +448,26 @@ export function isConflictTask(task1, task2) {
|
|
|
448
448
|
function checkOverlap(start1, end1, start2, end2) {
|
|
449
449
|
return (start1 <= end2 && start2 <= end1);
|
|
450
450
|
}
|
|
451
|
+
const cloneTask1 = cloneDeep(task1)
|
|
452
|
+
const cloneTask2 = cloneDeep(task2)
|
|
453
|
+
const weekDay = dayjs().day()
|
|
454
|
+
if (cloneTask1.weeks.every(w => Number(w) === 0)){
|
|
455
|
+
cloneTask1.weeks[weekDay] = 1
|
|
456
|
+
}
|
|
457
|
+
if (cloneTask2.weeks.every(w => Number(w) === 0)){
|
|
458
|
+
cloneTask2.weeks[weekDay] = 1
|
|
459
|
+
}
|
|
451
460
|
// 检查一周的每一天
|
|
452
461
|
for (let i = 0; i < 7; i++) {
|
|
453
462
|
// 如果 task1 在该天执行
|
|
454
|
-
if (Number(
|
|
455
|
-
const [start1, end1] = [
|
|
463
|
+
if (Number(cloneTask1.weeks[i]) === 1) {
|
|
464
|
+
const [start1, end1] = [cloneTask1.startTime, cloneTask1.endTime];
|
|
456
465
|
const task1CrossDay = start1 > end1;
|
|
457
466
|
|
|
458
467
|
// 如果 task2 在该天或跨天执行
|
|
459
468
|
for (let j = 0; j < 7; j++) {
|
|
460
|
-
if (Number(
|
|
461
|
-
const [start2, end2] = [
|
|
469
|
+
if (Number(cloneTask2.weeks[j]) === 1) {
|
|
470
|
+
const [start2, end2] = [cloneTask2.startTime, cloneTask2.endTime];
|
|
462
471
|
const task2CrossDay = start2 > end2;
|
|
463
472
|
// 检查当前天是否有重叠
|
|
464
473
|
if (i === j && checkOverlap(start1, end1, start2, end2)) {
|