whycq
2022-02-10 17ba7be8ea897e5227bbcc051b92df08064b3dc0
2-10
1个文件已修改
442 ■■■■ 已修改文件
src/main/webapp/static/js/projectShow.js 442 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/projectShow.js
@@ -3,23 +3,19 @@
        var rowName = $(this).children(".projects").html() // 当前行中类名为projects的类中的文字
        var project = data[index] // 把data中的第index个项目 赋值给project
        if(project.id==rowName){
            // 比较时间
            var currentTime = new Date() // 系统当前时间
            var startTime = new Date(project.startDay.substring(0,10)) // 项目开始时间
            var endTime = new Date(project.endDay.substring(0,10)) // 项目结束时间
            var currT = new Date() // 系统当前时间 currentTime  currT
            var staT = new Date(project.startDay.substring(0,10)) // 项目开始时间 startTime staT
            var endT = new Date(project.endDay.substring(0,10)) // 项目结束时间 endTime endT
            var node = project.nodes
            for(var i=0;i<node.length;i++){
                if(node[i].startTime==''||node[i].endTime$==''){
            // 检测项目节点时间是否有空值
            for(var i=0;i<node.length;i++){ // 循环项目节点时间
                if(node[i].staT==''||node[i].endTime$==''){
                    show = false
                    break
                }else{
                    show = true
                }
            }
            if(show==true){
                $("#details").attr("style","display:block")
@@ -32,16 +28,15 @@
            var tab = ''
            var tabLeft3 = ''
            var day = 86400000
            var allDay = (endTime - startTime + day ) / day
            var allDay = (endT - staT + day ) / day
            // 预计节点的天数,实际节点天数,占多少格子;预计/实际 节点与项目开始时间的时间间隔(从哪个格子开始渲染)
            var bigDays = []
            for(var i = 0;i<node.length;i++){
                var nodeName = node[i].name // 节点名称
                var nodeName = node[i].name // 节点名称                    改第一个请求用
                
                var nodeStartTime = new Date(node[i].startTime.substring(0,10)) // 预计开始时间
                var nodeEndTime = new Date(node[i].endTime$.substring(0,10)) // 预计结束时间
                var nodeRealStartTime =new Date(node[i].realStartTime$.substring(0,10)) // 实际开始时间
                var nodeRealStartTime =    new Date(node[i].realStartTime$.substring(0,10)) // 实际开始时间
                var nodeRealEndTime =new Date(node[i].realEndTime$.substring(0,10)) // 实际结束时间
                var tab2 ='<tr id="td-node'+i+'-gz">'+'<tr id="td-node'+i+'-gz-2">'+'</tr>'
                tab = tab +tab2
@@ -50,7 +45,7 @@
                                    +'<td>'+node[i].startTime.substring(0,10)+'</td>'
                                    +'<td>'+node[i].endTime$.substring(0,10)+'</td>'
                tabLeft3 = tabLeft3 + tabLeft2
                var overtime = endTime-nodeRealEndTime
                var overtime = endT-nodeRealEndTime
                if(overtime<0){
                    bigDays.push(nodeRealEndTime)
                }
@@ -104,31 +99,31 @@
                k++
            }
            
            if(max>endTime){
                 allDay = (max-startTime+day)/day
                 endTime=max
                getDateArr(startTime,endTime)
            if(max>endT){
                 allDay = (max-staT+day)/day
                endT=max
                getDateArr(staT,endT)
            }else{
                getDateArr(startTime,endTime);
                getDateArr(staT,endT);
            }
            let newDataArr = []
            //
            var strr =''
            // 年份
            if(monthDays.length<2){ // 一个月
                var gz=monthDays[0]-startTime.getDate()+1 // 当前月份剩余天数
                var gz=monthDays[0]-staT.getDate()+1 // 当前月份剩余天数
                stt = '<th class="loadBox" colspan="'+gz+'">'+newMonthArr[0]+'</th>' // 有多少天就横跨多少个格子
                $("#th-gz").append(stt)
            }else if (monthDays.length<3){ // 两个月
                var gz=monthDays[0]-startTime.getDate()+1// 当前月份剩余天数
                var gz=monthDays[0]-staT.getDate()+1// 当前月份剩余天数
                stt = '<th class="loadBox" colspan="'+gz+'">'+newMonthArr[0]+'</th>' // 有多少天就横跨多少个格子
                var gz2 = monthDays[1]-(monthDays[1]-endTime.getDate()) // 剩余的天数=当月天数-(当月天数-结束日期)
                var gz2 = monthDays[1]-(monthDays[1]-endT.getDate()) // 剩余的天数=当月天数-(当月天数-结束日期)
                stt2 = '<th class="loadBox" colspan="'+gz2+'">'+newMonthArr[1]+'</th>'
                strr =stt +stt2
                $("#th-gz").append(strr)
            }else { // 三个月及以上
                var gz=monthDays[0]-startTime.getDate()+1// 当前月份剩余天数
                var gz=monthDays[0]-staT.getDate()+1// 当前月份剩余天数
                stt = '<th class="loadBox" colspan="'+gz+'">'+newMonthArr[0]+'</th>' // 有多少天就横跨多少个格子
                var gz2 = monthDays[monthDays.length-1]-(monthDays[monthDays.length-1]-endTime.getDate()) // 剩余的天数=当月天数-(当月天数-结束日期)
                var gz2 = monthDays[monthDays.length-1]-(monthDays[monthDays.length-1]-endT.getDate()) // 剩余的天数=当月天数-(当月天数-结束日期)
                stt2 = '<th class="loadBox" colspan="'+gz2+'">'+newMonthArr[newMonthArr.length-1]+'</th>'
                // 去除第一个月 和最后一个月
                monthDays.shift()
@@ -143,354 +138,19 @@
                strr = stt + std +stt2
                $("#th-gz").append(strr)
            }
            console.log(allDay)
            // 项目时间单元格
            for(let i=0;i<allDay;i++){
                str = '<td class="loadBox-2">'+dateArr[i]+'</td>'
                $("#tot").append(str);
                // $(".loadBox").attr('style','width:50px')
            }
            // 节点时间单元格
            for (let j=0;j<allDay;j++){
                tds = '<td class="gz-color">'+'</td>'
                for(let k in nodeId){
                    $(nodeId[k]).append(tds)
                }
            }
            // if(allDay <= 40){
            //     let iday = allDay
            //     if(monthDays.length<2){
            //         var gz=monthDays[0]-startTime.getDate()+1
            //              stt = '<td class="loadBox" colspan="'+gz+'">'+newMonthArr[0]+'</td>'
            //
            //                 strr = stt
            //                 $("#th-gz").append(strr)
            //     }else{
            //         var gz=monthDays[0]-startTime.getDate()+1
            //              stt = '<td class="loadBox" colspan="'+gz+'">'+newMonthArr[0]+'</td>'
            //         var gze=monthDays[monthDays.length-1]-(monthDays[monthDays.length-1]-endTime.getDate())
            //             stc = '<td class="loadBox" colspan="'+gze+'">'+newMonthArr[newMonthArr.length-1]+'</td>'
            //                 strr = stt+stc
            //                 $("#th-gz").append(strr)
            //
            //             for(let i=0;i<iday;i++){
            //                 str = '<td class="loadBox-2">'+dateArr[i]+'</td>'
            //                 $("#tot").append(str);
            //                 // $(".loadBox").attr('style','width:50px')
            //             }
            //                 for (let j=0;j<allDay;j++){
            //                     tds = '<td class="gz-color">'+'</td>'
            //                     for(let k in nodeId){
            //                         $(nodeId[k]).append(tds)
            //                     }
            //                 }
            //     }
            //
            // }else if(allDay>40 && allDay<=80){
            //     let iday = Math.ceil(allDay / 2 )
            //     for(var m=0;m<monthDays.length-1;m++){
            //         var gzd=monthDays[m]
            //              std = '<td class="loadBox" colspan="'+gzd+'">'+newMonthArr[m]+'</td>'
            //     }
            //         var gz=monthDays[0]-startTime.getDate()+1
            //              stt = '<td class="loadBox" colspan="'+gz+'">'+newMonthArr[0]+'</td>'
            //         var gze=monthDays[monthDays.length-1]-(monthDays[monthDays.length-1]-endTime.getDate())
            //             stc = '<td class="loadBox" colspan="'+gze+'">'+newMonthArr[newMonthArr.length-1]+'</td>'
            //                 strr = stt+std+stc
            //                 $("#th-gz").append(strr)
            //         for(let k=0;k<dateArr.length;k++){
            //             var newDays = dateArr[k]
            //             newDataArr.push(newDays)
            //             k++
            //         }
            //             for(let i=0;i<iday;i++){
            //                 str = '<td class="loadBox-2" colspan="2">'+newDataArr[i]+'</td>'
            //                 $("#tot").append(str);
            //                 // $(".loadBox").attr('style','width:50px')
            //             }
            //                 allDays = allDay%2
            //                 if(allDays==1){
            //                     allDay = allDay+1
            //                 }else {
            //                     allDay = allDay
            //                 }
            //                     for (let j=0;j<allDay;j++){
            //                         tds = '<td class="gz-color">'+'</td>'
            //                         for(let k in nodeId){
            //                             $(nodeId[k]).append(tds)
            //                         }
            //                     }
            // }else if(allDay>80 && allDay<=120){
            //     let iday = Math.ceil(allDay / 3 )
            //     var num = 1
            //     var ste = null
            //     for(var m=0;m<monthDays.length-2;m++){
            //         var gzd=monthDays[m+1]
            //
            //             std = '<td class="loadBox" colspan="'+gzd+'">'+newMonthArr[num]+'</td>'
            //             ste=ste+std
            //             num++
            //     }
            //
            //         var gz=monthDays[0]-startTime.getDate()+1
            //              stt = '<td class="loadBox" colspan="'+gz+'">'+newMonthArr[0]+'</td>'
            //         var gze=monthDays[monthDays.length-1]-(monthDays[monthDays.length-1]-endTime.getDate())
            //             stc = '<td class="loadBox" colspan="'+gze+'">'+newMonthArr[newMonthArr.length-1]+'</td>'
            //                 strr = stt+ste+stc
            //                 $("#th-gz").append(strr)
            //         for(let k=0;k<=dateArr.length;k++){
            //             var newDays = dateArr[k]
            //             newDataArr.push(newDays)
            //             k=k+2
            //         }
            //             for(let i=0;i<iday;i++){
            //                 // 固定表
            //                 str = '<td class="loadBox-2" colspan="3">'+newDataArr[i]+'</td>'
            //                 $("#tot").append(str);
            //                 // $(".loadBox").attr('style','width:10px;padding:0px')
            //             }
            //                 allDays = allDay%3
            //                 if(allDays==1){
            //                     allDay = allDay+2
            //                 }else if(allDays==2){
            //                     allDay = allDay+1
            //                 }else{
            //                     allDay = allDay
            //                 }
            //                     for (let j=0;j<allDay;j++){
            //                         tds = '<td class="gz-color">'+'</td>'
            //                         for(let k in nodeId){
            //                             $(nodeId[k]).append(tds)
            //                         }
            //                     }
            // }else if(allDay>120 && allDay<=160){
            //     let iday = Math.ceil(allDay / 4 )
            //     var num = 1
            //     var ste = null
            //     for(var m=0;m<monthDays.length-2;m++){
            //         var gzd=monthDays[m+1]
            //             std = '<td class="loadBox" colspan="'+gzd+'">'+newMonthArr[num]+'</td>'
            //             ste=ste+std
            //             num++
            //     }
            //         var gz=monthDays[0]-startTime.getDate()+1
            //              stt = '<td class="loadBox" colspan="'+gz+'">'+newMonthArr[0]+'</td>'
            //         var gze=monthDays[monthDays.length-1]-(monthDays[monthDays.length-1]-endTime.getDate())
            //             stc = '<td class="loadBox" colspan="'+gze+'">'+newMonthArr[newMonthArr.length-1]+'</td>'
            //                 strr = stt+ste+stc
            //                 $("#th-gz").append(strr)
            //         for(let k=0;k<=dateArr.length;k++){
            //             var newDays = dateArr[k]
            //             newDataArr.push(newDays)
            //             k=k+3
            //         }
            //             for(let i=0;i<iday;i++){
            //                 str = '<td class="loadBox-2" colspan="4">'+newDataArr[i]+'</td>'
            //                 $("#tot").append(str);
            //             }
            //                 allDays = allDay%4
            //                 if(allDays==1){
            //                     allDay = allDay+3
            //                 }else if(allDays==2){
            //                     allDay = allDay+2
            //                 }else if(allDays==3){
            //                     allDay = allDay+1
            //                 }else{
            //                     allDay = allDay
            //                 }
            //                     for (let j=0;j<allDay;j++){
            //                         tds = '<td class="gz-color">'+'</td>'
            //                         for(let k in nodeId){
            //                             $(nodeId[k]).append(tds)
            //                         }
            //                     }
            // }else if(allDay>160 && allDay<=200){
            //     let iday = Math.ceil(allDay / 5 )
            //     var num = 1
            //     var ste = null
            //     for(var m=0;m<monthDays.length-2;m++){
            //         var gzd=monthDays[m+1]
            //
            //             std = '<td class="loadBox" colspan="'+gzd+'">'+newMonthArr[num]+'</td>'
            //             ste=ste+std
            //             num++
            //     }
            //         var gz=monthDays[0]-startTime.getDate()+1
            //              stt = '<td class="loadBox" colspan="'+gz+'">'+newMonthArr[0]+'</td>'
            //         var gze=monthDays[monthDays.length-1]-(monthDays[monthDays.length-1]-endTime.getDate())
            //             stc = '<td class="loadBox" colspan="'+gze+'">'+newMonthArr[newMonthArr.length-1]+'</td>'
            //                 strr = stt+ste+stc
            //                 $("#th-gz").append(strr)
            //         for(let k=0;k<=dateArr.length;k++){
            //             var newDays = dateArr[k]
            //             newDataArr.push(newDays)
            //             k=k+4
            //         }
            //             for(let i=0;i<iday;i++){
            //                 // 固定表
            //                 str = '<td class="loadBox-2" colspan="5">'+newDataArr[i]+'</td>'
            //                 $("#tot").append(str);
            //             }
            //                 allDays = allDay%5
            //                 if(allDays==1){
            //                     allDay = allDay+4
            //                 }else if(allDays==2){
            //                     allDay = allDay+3
            //                 }else if(allDays==3){
            //                     allDay = allDay+2
            //                 }else if(allDays==4){
            //                     allDay = allDay+1
            //                 }else{
            //                     allDay = allDay
            //                 }
            //                     for (let j=0;j<allDay;j++){
            //                         tds = '<td class="gz-color">'+'</td>'
            //                         for(let k in nodeId){
            //                             $(nodeId[k]).append(tds)
            //                         }
            //                     }
            // }else if(allDay>200 && allDay<=240){
            //     let iday = Math.ceil(allDay / 6 )
            //     var num = 1
            //     var ste = null
            //     for(var m=0;m<monthDays.length-2;m++){
            //         var gzd=monthDays[m+1]
            //             std = '<td class="loadBox" colspan="'+gzd+'">'+newMonthArr[num]+'</td>'
            //             ste=ste+std
            //             num++
            //     }
            //         var gz=monthDays[0]-startTime.getDate()+1
            //              stt = '<td class="loadBox" colspan="'+gz+'">'+newMonthArr[0]+'</td>'
            //         var gze=monthDays[monthDays.length-1]-(monthDays[monthDays.length-1]-endTime.getDate())
            //             stc = '<td class="loadBox" colspan="'+gze+'">'+newMonthArr[newMonthArr.length-1]+'</td>'
            //                 strr = stt+ste+stc
            //                 $("#th-gz").append(strr)
            //         for(let k=0;k<=dateArr.length;k++){
            //             var newDays = dateArr[k]
            //             newDataArr.push(newDays)
            //             k=k+5
            //         }
            //             for(let i=0;i<iday;i++){
            //                 // 固定表
            //                 str = '<td class="loadBox-2" colspan="6">'+newDataArr[i]+'</td>'
            //                 $("#tot").append(str);
            //             }
            //                 allDays = allDay%6
            //                 if(allDays==1){
            //                     allDay = allDay+5
            //                 }else if(allDays==2){
            //                     allDay = allDay+4
            //                 }else if(allDays==3){
            //                     allDay = allDay+3
            //                 }else if(allDays==4){
            //                     allDay = allDay+2
            //                 }else if(allDays==5){
            //                     allDay = allDay+1
            //                 }else{
            //                     allDay = allDay
            //                 }
            //                     for (let j=0;j<allDay;j++){
            //                         tds = '<td class="gz-color">'+'</td>'
            //                         for(let k in nodeId){
            //                             $(nodeId[k]).append(tds)
            //                         }
            //                     }
            // }else if(allDay>240){
            //     let iday = Math.ceil(allDay / 7 )
            //         for(let k=0;k<=dateArr.length;k++){
            //             var newDays = dateArr[k]
            //             newDataArr.push(newDays)
            //             k=k+6
            //         }
            //             for(let i=0;i<iday;i++){
            //                 // 固定表
            //                 str = '<td class="loadBox" colspan="7">'+newDataArr[i]+'</td>'
            //                 $("#th-gz").append(str);
            //             }
            //                 allDays = allDay%7
            //                 if(allDays==1){
            //                     allDay = allDay+6
            //                 }else if(allDays==2){
            //                     allDay = allDay+5
            //                 }else if(allDays==3){
            //                     allDay = allDay+4
            //                 }else if(allDays==4){
            //                     allDay = allDay+3
            //                 }else if(allDays==5){
            //                     allDay = allDay+2
            //                 }else if(allDays==6){
            //                     allDay = allDay+1
            //                 }else{
            //                     allDay = allDay
            //                 }
            //                     for (let j=0;j<allDay;j++){
            //                         tds = '<td class="gz-color">'+'</td>'
            //                         for(let k in nodeId){
            //                             $(nodeId[k]).append(tds)
            //                         }
            //                     }
            // }else if(allDay>280){
            //     let iday = Math.ceil(allDay / 8 )
            //         for(let k=0;k<=dateArr.length;k++){
            //             var newDays = dateArr[k]
            //             newDataArr.push(newDays)
            //             k=k+7
            //         }
            //             for(let i=0;i<iday;i++){
            //                 // 固定表
            //                 str = '<td class="loadBox-2" colspan="8">'+newDataArr[i]+'</td>'
            //                 $("#th-gz").append(str);
            //             }
            //                 allDays = allDay%8
            //                 if(allDays==1){
            //                     allDay = allDay+7
            //                 }else if(allDays==2){
            //                     allDay = allDay+6
            //                 }else if(allDays==3){
            //                     allDay = allDay+5
            //                 }else if(allDays==4){
            //                     allDay = allDay+4
            //                 }else if(allDays==5){
            //                     allDay = allDay+3
            //                 }else if(allDays==6){
            //                     allDay = allDay+2
            //                 }else if(allDays==7){
            //                     allDay = allDay+1
            //                 }else{
            //                     allDay = allDay
            //                 }
            //                     for (let j=0;j<allDay;j++){
            //                         tds = '<td class="gz-color">'+'</td>'
            //                         for(let k in nodeId){
            //                             $(nodeId[k]).append(tds)
            //                         }
            //                     }
            //     }
            // 123
            var nodeId2 = [],nodeId3 = []
            for(let k = 0;k<node.length;k++){
                var getId2 = "#"+"td-node"+k+"-gz"
@@ -504,57 +164,65 @@
            // for(var j = 0;j < allDay;j++){
            //     $("#tot").find("td").eq(j+3).attr("style","background:#3597D6")
            // }
            var runDay = Math.ceil((currentTime - startTime)/ day)
            var runDay = Math.ceil((currT - staT)/ day)
            if(runDay>0){
                for(var j = 0;j < runDay;j++){
                    $("#tot-2").find("td").eq(j).attr("style","background:#49C7D3")
                    $("#tot-2").find("td").eq(j).attr("style","background:#0f9a84")
                }
            }
            for(var i = 0;i<node.length;i++){
                var nodeName = node[i].name // 节点名称
                var nodeStartTime = new Date(node[i].startTime.substring(0,10)) // 预计开始时间
                var nodeEndTime = new Date(node[i].endTime$.substring(0,10)) // 预计结束时间
                var nodeRealStartTime =new Date(node[i].realStartTime$.substring(0,10)) // 实际开始时间
                var nodeRealEndTime =new Date(node[i].realEndTime$.substring(0,10)) // 实际结束时间
                var nodeDay = (nodeEndTime-nodeStartTime+day)/day // 预计开始-预计结束时间段
                var nodeRSDay = (nodeEndTime-nodeRealStartTime+day)/day // 实际开始-预计结束时间段
                var nodeREDay = (nodeRealEndTime-nodeStartTime+day)/day // 预计开始-实际结束时间段
                var nodeName = node[i].name // 节点
                var nodeStartTime = new Date(node[i].startTime.substring(0,10)) // 计划开始日期
                var nodeEndTime = new Date(node[i].endTime$.substring(0,10)) // 计划结束日期
                var nodeEndTime2 = new Date(nodeEndTime.getTime()+day*2)
                var nodeRealStartTime =new Date(node[i].realStartTime$.substring(0,10)) // 实际开始日期
                var nodeRealEndTime =new Date(node[i].realEndTime$.substring(0,10)) // 实际结束日期
                var nodeDay = (nodeEndTime-nodeStartTime+day)/day // 计划工作天数
                var nodeRSDay = (nodeEndTime-nodeRealStartTime+day)/day // 节点实际工作天数
                        var nodeREDay = (nodeRealEndTime-nodeStartTime+day)/day // 预计开始-实际结束时间段
                var nodeRealDay = (nodeRealEndTime-nodeRealStartTime+day)/day //实际时间段
                var intDay = (nodeStartTime-startTime)/day // 预计开始时间与项目开始时间的间隔
                var intRealDay = (nodeRealStartTime-startTime)/day // 实际开始与项目开始时间的间隔
                var nodeRunDay = Math.ceil((currentTime-nodeStartTime)/ day)
                var nodeRealRunDay = Math.ceil((currentTime-nodeRealStartTime)/ day)
                var nodeRun = Math.ceil((currentTime-nodeEndTime-day)/ day)
                var intDay = (nodeStartTime-staT)/day // 预计开始时间与项目开始时间的间隔
                var intRealDay = (nodeRealStartTime-staT)/day // 实际开始与项目开始时间的间隔
                var nodeRunDay = Math.ceil((currT-nodeStartTime)/ day)
                var nodeRealRunDay = Math.ceil((currT-nodeRealStartTime)/ day)
                var nodeRun = Math.ceil((currT-nodeEndTime-day)/ day)
                var intRunDay = nodeRealEndTime-(nodeRealEndTime-(nodeEndTime-nodeStartTime))/day
                // 与当前时间的时间差
                for(var j=0;j<nodeDay;j++){
                    $(nodeId2[i]).find('td').eq(intDay+j).attr("style","background:#3597D6")
                }
                    // 实际开始时间与结束时间都填写  按实际时间进渲染
                    // 实际开始日期与实际结束日期都填写  按实际时间进渲染
                if(nodeRealStartTime != "Invalid Date" && nodeRealEndTime !="Invalid Date"){
                    // 实际结束时间超过计划结束时间  超过的时间变红色
                    for(var j=0;j<nodeRealDay;j++){
                        $(nodeId3[i]).find('td').eq(intRealDay+j).attr("style","background:#49C7D3")
                        if(nodeRealEndTime<=nodeEndTime){ // 实际结束日期<=计划结束日期
                            $(nodeId3[i]).find('td').eq(intRealDay+j).attr("style","background:#49C7D3")
                        }else if(nodeRealEndTime>nodeEndTime && nodeRealEndTime<=nodeEndTime2){ // 实际结束日期>计划结束日期
                            $(nodeId3[i]).find('td').eq(intRealDay+j).attr("style","background:#ccc739")
                        }else { // 实际结束日期>计划结束日期+2天
                            $(nodeId3[i]).find('td').eq(intRealDay+j).attr("style","background:#CC3333")
                        }
                    }
                    // 实际开始时间已填 实际结束时间未填  实际结束时间按预计结束时间填
                    // 实际开始时间已填 实际结束时间未填  (实际结束时间按预计结束时间填)改 当前时间与实际开始时间的间隔
                }else if(nodeRealStartTime != "Invalid Date" && nodeRealEndTime =="Invalid Date"){
                    for(var j=0;j<nodeRealRunDay;j++){
                        if(nodeRun>0){
                            $(nodeId3[i]).find('td').eq(intRealDay+j).attr("style","background:#CC3333")
                        }else if(nodeRun>-2 && nodeRun<=0){
                            $(nodeId3[i]).find('td').eq(intRealDay+j).attr("style","background:#CC9933")
                            $(nodeId3[i]).find('td').eq(intRealDay+j).attr("style","background:#ccc739")
                        }else{
                            $(nodeId3[i]).find('td').eq(intRealDay+j).attr("style","background:#49C7D3")
                        }
                    }
                    // 实际开始时间未填 实际结束时间已填  实际开始时间按预计开始时间填
                    // 实际开始时间未填 实际结束时间已填  实际开始时间按计划时长往前移
                }else if(nodeRealStartTime == "Invalid Date" && nodeRealEndTime !="Invalid Date"){
                    if(nodeEndTime<nodeRealEndTime){
                    if(nodeRealEndTime>nodeEndTime){ // 实际结束日期>计划结束日期
                        for(var j=0;j<nodeREDay;j++){
                            $(nodeId3[i]).find('td').eq(intDay+j).attr("style","background:#49C7D3")
                            $(nodeId3[i]).find('td').eq(intDay+j).attr("style","background:#CC3333")
                        }
                    }else if(nodeEndTime>=nodeRealEndTime && nodeRealEndTime>=nodeStartTime){
                    }else if(nodeRealEndTime<=nodeEndTime && nodeRealEndTime>=nodeStartTime){
                        for(var j=0;j<nodeREDay;j++){
                            $(nodeId3[i]).find('td').eq(intDay+j).attr("style","background:#49C7D3")
                            $(nodeId3[i]).find('td').eq(intDay+j).attr("style","background:#b2e5e8")
                        }
                    }else{
                        if(intRunDay<0){