indexAttr.CM.getTakeupList(data, function (res) { if (res && res.S) { if (res.D) { /** * dataObj是全部人的衝突數據 * eg: * { * '647123': [{},{}], * '325425': [{}] * } */ var dataObj = {}, meetingNum = 0, // 會議衝突人數,即會議 restNum = 0, // 勿擾衝突人數,即佔用 UNO = JSON.parse(res.D[m].P).UNO // 工號 for (var m = 0; m < res.D.length; m++) { if (startTime < res.D[m].SD || endTime > res.D[m].ED) { // 衝突 if (dataObj[UNO] && dataObj.UNO.length) { // 非某員工首條佔用數據 var isAllMeeting = true // 是否全是會議佔用 for (var i = 0; i < dataObj[UNO].length; i++) { if (dataObj[UNO][i].BT === '1') { isAllMeeting = false break } } if (isAllMeeting && res.D[m].BT === '1') { meetingNum-- restNum++ } dataObj.push(res.D[m]) } else { // 某員工首條佔用數據 dataObj[UNO]= [res.D[m]] res.D[m].BT === '1' ? restNum++ : meetingNum++ } } } } } })