|
@@ -123,23 +123,27 @@ export default ({ onClose, showSpace }) => {
|
|
|
};
|
|
|
|
|
|
const operateTime = () => {
|
|
|
- console.log(showSpace, 'showSpace');
|
|
|
- showSpace.meetTime = [
|
|
|
- { meetTimeStartTime: '06:00', meetTimeEndTime: '07:00' },
|
|
|
- { meetTimeStartTime: '08:00', meetTimeEndTime: '11:00' },
|
|
|
+ // console.log(showSpace, 'showSpace');
|
|
|
+ /* showSpace.meetTime = [
|
|
|
+ // { meetTimeStartTime: '06:00', meetTimeEndTime: '07:00' },
|
|
|
+ // { meetTimeStartTime: '08:00', meetTimeEndTime: '11:00' },
|
|
|
{ meetTimeStartTime: '14:00', meetTimeEndTime: '17:00' },
|
|
|
{ meetTimeStartTime: '08:30', meetTimeEndTime: '18:30' },
|
|
|
{ meetTimeStartTime: '14:00', meetTimeEndTime: '17:00' },
|
|
|
- { meetTimeStartTime: '16:00', meetTimeEndTime: '19:00' },
|
|
|
- { meetTimeStartTime: '20:00', meetTimeEndTime: '21:00' },
|
|
|
+ // { meetTimeStartTime: '16:00', meetTimeEndTime: '19:00' },
|
|
|
+ // { meetTimeStartTime: '20:00', meetTimeEndTime: '21:00' },
|
|
|
];
|
|
|
showSpace.workTimeStartTime = '08:30';
|
|
|
showSpace.workTimeEndTime = '18:30';
|
|
|
+ */
|
|
|
// 使用时间
|
|
|
let timeArr = [];
|
|
|
if (showSpace.meetTime && showSpace.workTimeStartTime) {
|
|
|
let arr = [];
|
|
|
const meetingArr = JSON.parse(JSON.stringify(showSpace.meetTime));
|
|
|
+
|
|
|
+ let startBetween = false; // 会议时间是否跨在 工作头部
|
|
|
+ let endBetween = false; // 会议时间是否跨在 工作尾部
|
|
|
let workTimeStartTime = showSpace.workTimeStartTime; // 工作开始时间
|
|
|
let workTimeEndTime = showSpace.workTimeEndTime; // 工作开始时间
|
|
|
workTimeStartTime = workTimeStartTime.replace(':', '');
|
|
@@ -149,50 +153,46 @@ export default ({ onClose, showSpace }) => {
|
|
|
let elementStartTime = element.meetTimeStartTime.replace(':', '');
|
|
|
let elementEndTime = element.meetTimeEndTime.replace(':', '');
|
|
|
if (elementEndTime > workTimeEndTime) {
|
|
|
- /*
|
|
|
- // 比较工作时间的尾巴
|
|
|
- -----------------
|
|
|
- ---- ----
|
|
|
- */
|
|
|
+ // 比较工作时间的尾巴
|
|
|
if (elementStartTime > workTimeEndTime) {
|
|
|
arr.unshift(elementEndTime);
|
|
|
arr.unshift(elementStartTime);
|
|
|
} else {
|
|
|
arr.unshift(elementEndTime);
|
|
|
+ endBetween = true;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if (elementStartTime < workTimeStartTime) {
|
|
|
- /*
|
|
|
- // 比较工作时间的头
|
|
|
- -----------------
|
|
|
- ---- ----
|
|
|
- */
|
|
|
+ // 比较工作时间的头
|
|
|
if (elementEndTime < workTimeStartTime) {
|
|
|
arr.unshift(elementEndTime);
|
|
|
arr.unshift(elementStartTime);
|
|
|
} else {
|
|
|
arr.unshift(elementStartTime);
|
|
|
+ startBetween = true;
|
|
|
}
|
|
|
}
|
|
|
- if (elementStartTime >= workTimeStartTime && elementEndTime <= workTimeEndTime) {
|
|
|
- /*
|
|
|
- // 比较工作时间
|
|
|
- -----------------------
|
|
|
- ---- ----
|
|
|
- */
|
|
|
- arr.push(workTimeStartTime);
|
|
|
- arr.push(workTimeEndTime);
|
|
|
- }
|
|
|
+ }
|
|
|
+ if (!startBetween && endBetween) {
|
|
|
+ // 尾巴交集
|
|
|
+ arr.push(workTimeStartTime);
|
|
|
+ }
|
|
|
+ if (startBetween && !endBetween) {
|
|
|
+ // 头部交集
|
|
|
+ arr.push(workTimeEndTime);
|
|
|
+ }
|
|
|
+ if (!startBetween && !endBetween) {
|
|
|
+ //无交集
|
|
|
+ arr.push(workTimeStartTime);
|
|
|
+ arr.push(workTimeEndTime);
|
|
|
}
|
|
|
arr = [...new Set(arr)].sort();
|
|
|
- console.log(arr, 'arr');
|
|
|
- // for (let i = 0; i < arr.length; i += 2) {
|
|
|
- // const element = arr[i];
|
|
|
- // const elementNext = arr[i + 2];
|
|
|
- // if (condition) {
|
|
|
- // }
|
|
|
- // }
|
|
|
+ for (let j = 0; j < arr.length; j += 2) {
|
|
|
+ const element = arr[j].slice(0, 2) + ':' + arr[j].slice(2);
|
|
|
+ const elemNext = arr[j + 1].slice(0, 2) + ':' + arr[j + 1].slice(2);
|
|
|
+ timeArr.push(`${element}-${elemNext}`);
|
|
|
+ }
|
|
|
} else {
|
|
|
// 会议时间
|
|
|
showSpace.meetTime &&
|
|
@@ -214,7 +214,6 @@ export default ({ onClose, showSpace }) => {
|
|
|
|
|
|
useEffect(() => {
|
|
|
getData();
|
|
|
- // operateTime();
|
|
|
}, []);
|
|
|
|
|
|
return (
|