#
whycq
2022-02-09 ff97ed48521bcac4defb8f6c7cf07fedfbcff5ca
src/main/webapp/static/js/projectShow.js
@@ -63,7 +63,7 @@
            '<thead>'
               +'<tr id="th-gz">' + '</tr>'
            +'</thead>'
            +'<tbody>'
            +'<tbody id="tabBody">'
               +'<tr id="tot">' +'</tr>'
               +'<tr id="tot-2">'+'</tr>'
         var tab3 = tab1+tab+'</tbody>'
@@ -116,21 +116,20 @@
         var strr =''
         if(monthDays.length<2){ // 一个月
            var gz=monthDays[0]-startTime.getDate()+1 // 当前月份剩余天数
            stt = '<td class="loadBox" colspan="'+gz+'">'+newMonthArr[0]+'</td>' // 有多少天就横跨多少个格子
            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// 当前月份剩余天数
            stt = '<td class="loadBox" colspan="'+gz+'">'+newMonthArr[0]+'</td>' // 有多少天就横跨多少个格子
            stt = '<th class="loadBox" colspan="'+gz+'">'+newMonthArr[0]+'</th>' // 有多少天就横跨多少个格子
            var gz2 = monthDays[1]-(monthDays[1]-endTime.getDate()) // 剩余的天数=当月天数-(当月天数-结束日期)
            stt2 = '<td class="loadBox" colspan="'+gz2+'">'+newMonthArr[1]+'</td>'
            stt2 = '<th class="loadBox" colspan="'+gz2+'">'+newMonthArr[1]+'</th>'
            strr =stt +stt2
            $("#th-gz").append(strr)
         }else { // 三个月及以上
            var gz=monthDays[0]-startTime.getDate()+1// 当前月份剩余天数
            stt = '<td class="loadBox" colspan="'+gz+'">'+newMonthArr[0]+'</td>' // 有多少天就横跨多少个格子
            stt = '<th class="loadBox" colspan="'+gz+'">'+newMonthArr[0]+'</th>' // 有多少天就横跨多少个格子
            var gz2 = monthDays[monthDays.length-1]-(monthDays[monthDays.length-1]-endTime.getDate()) // 剩余的天数=当月天数-(当月天数-结束日期)
            stt2 = '<td class="loadBox" colspan="'+gz2+'">'+newMonthArr[newMonthArr.length-1]+'</td>'
            console.log(gz2)
            stt2 = '<th class="loadBox" colspan="'+gz2+'">'+newMonthArr[newMonthArr.length-1]+'</th>'
            // 去除第一个月 和最后一个月
            monthDays.shift()
            monthDays.pop()
@@ -138,12 +137,50 @@
            newMonthArr.pop()
            var std = ''
            for (var j=0;j<monthDays.length;j++){
               stt3 = '<td class="loadBox" colspan="'+monthDays[j]+'">'+newMonthArr[j]+'</td>'
               stt3 = '<th class="loadBox" colspan="'+monthDays[j]+'">'+newMonthArr[j]+'</th>'
               std = std + stt3
            }
            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){
@@ -454,89 +491,92 @@
         //                }
         //    }
         // 123
         // var nodeId2 = [],nodeId3 = []
         // for(let k = 0;k<node.length;k++){
         //    var getId2 = "#"+"td-node"+k+"-gz"
         //    var getId3 = "#"+"td-node"+k+"-gz-2"
         //    nodeId2.push(getId2)
         //    nodeId3.push(getId3)
         var nodeId2 = [],nodeId3 = []
         for(let k = 0;k<node.length;k++){
            var getId2 = "#"+"td-node"+k+"-gz"
            var getId3 = "#"+"td-node"+k+"-gz-2"
            nodeId2.push(getId2)
            nodeId3.push(getId3)
         }
         for(var i=0;i<nodeId4.length;i++){
            $(nodeId4[i]).attr("style","background:#eeeeef")
         }
         // for(var j = 0;j < allDay;j++){
         //    $("#tot").find("td").eq(j+3).attr("style","background:#3597D6")
         // }
         // for(var i=0;i<nodeId4.length;i++){
         //    $(nodeId4[i]).attr("style","background:#eeeeef")
         // }
         // // for(var j = 0;j < allDay;j++){
         // //    $("#tot").find("td").eq(j+3).attr("style","background:#3597D6")
         // // }
         // var runDay = Math.ceil((currentTime - startTime)/ day)
         // if(runDay>0){
         //    for(var j = 0;j < runDay;j++){
         //       $("#tot-2").find("td").eq(j).attr("style","background:#49C7D3")
         //    }
         // }
         // 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 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 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")
         //       }
         //       // 实际开始时间已填 实际结束时间未填  实际结束时间按预计结束时间填
         //    }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")
         //          }else{
         //             $(nodeId3[i]).find('td').eq(intRealDay+j).attr("style","background:#49C7D3")
         //          }
         //       }
         //       // 实际开始时间未填 实际结束时间已填  实际开始时间按预计开始时间填
         //    }else if(nodeRealStartTime == "Invalid Date" && nodeRealEndTime !="Invalid Date"){
         //       if(nodeEndTime<nodeRealEndTime){
         //          for(var j=0;j<nodeREDay;j++){
         //             $(nodeId3[i]).find('td').eq(intDay+j).attr("style","background:#49C7D3")
         //          }
         //       }else if(nodeEndTime>=nodeRealEndTime && nodeRealEndTime>=nodeStartTime){
         //          for(var j=0;j<nodeREDay;j++){
         //             $(nodeId3[i]).find('td').eq(intDay+j).attr("style","background:#49C7D3")
         //          }
         //       }else{
         //          if(intRunDay<0){
         //             intRunDay = 0
         //             for(var j=0;j<nodeDay;j++){
         //                $(nodeId3[i]).find('td').eq(intRunDay+j).attr("style","background:#49C7D3")
         //             }
         //          }
         //          for(var j=0;j<nodeDay;j++){
         //             $(nodeId3[i]).find('td').eq(intRunDay+j).attr("style","background:#49C7D3")
         //          }
         //       }
         //       // 实际开始时间未填 实际结束时间未填
         //    }else if(nodeRealStartTime == "Invalid Date" && nodeRealEndTime =="Invalid Date"){
         //       for(var j=0;j<nodeDay;j++){
         //          $(nodeId3[i]).find('td').eq(intDay+j).attr("style","background:#49C7D3")
         //       }
         //    }
         // }
         var runDay = Math.ceil((currentTime - startTime)/ day)
         if(runDay>0){
            for(var j = 0;j < runDay;j++){
               $("#tot-2").find("td").eq(j).attr("style","background:#49C7D3")
            }
         }
         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 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 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")
               }
               // 实际开始时间已填 实际结束时间未填  实际结束时间按预计结束时间填
            }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")
                  }else{
                     $(nodeId3[i]).find('td').eq(intRealDay+j).attr("style","background:#49C7D3")
                  }
               }
               // 实际开始时间未填 实际结束时间已填  实际开始时间按预计开始时间填
            }else if(nodeRealStartTime == "Invalid Date" && nodeRealEndTime !="Invalid Date"){
               if(nodeEndTime<nodeRealEndTime){
                  for(var j=0;j<nodeREDay;j++){
                     $(nodeId3[i]).find('td').eq(intDay+j).attr("style","background:#49C7D3")
                  }
               }else if(nodeEndTime>=nodeRealEndTime && nodeRealEndTime>=nodeStartTime){
                  for(var j=0;j<nodeREDay;j++){
                     $(nodeId3[i]).find('td').eq(intDay+j).attr("style","background:#49C7D3")
                  }
               }else{
                  if(intRunDay<0){
                     intRunDay = 0
                     for(var j=0;j<nodeDay;j++){
                        $(nodeId3[i]).find('td').eq(intRunDay+j).attr("style","background:#49C7D3")
                     }
                  }
                  for(var j=0;j<nodeDay;j++){
                     $(nodeId3[i]).find('td').eq(intRunDay+j).attr("style","background:#49C7D3")
                  }
               }
               // 实际开始时间未填 实际结束时间未填
            }else if(nodeRealStartTime == "Invalid Date" && nodeRealEndTime =="Invalid Date"){
               for(var j=0;j<nodeDay;j++){
                  $(nodeId3[i]).find('td').eq(intDay+j).attr("style","background:#49C7D3")
               }
            }
         }
         // 鼠标经过
         // $("#tabBody").find("tr").eq(3).find("td").eq(30).attr("style","background:#354352")
         // $("#tabBody").find("td").eq(30).attr("style","background:#f60313")
         function getDateArr(start,end) {
               let option = new Date(start) // 开始时间
               let nowDate = new Date(end) // 结束时间