#
whycq
2022-09-12 e7dbfd37c1d00950b101aeb7825355b07b91bb98
src/main/webapp/static/js/projectShow.js
@@ -2,15 +2,15 @@
      var index = $(".row").index(this) // 确定在表格中的第几行
      var rowName = $(this).children(".projects").html() // 当前行中类名为projects的类中的文字
      var project = data[index] // 把data中的第index个项目 赋值给project
      if(project.id==rowName){
      if(project.projectName==rowName){
         // 比较时间
         var currT = new Date() // 当前时间
         var staT = new Date(project.startDay.substring(0,10)) // 项目开始时间
         var endT = new Date(project.endDay.substring(0,10)) // 项目结束时间
         var nodes = project.nodes
         var staT = new Date(project.projectStartTime.substring(0,10)) // 项目开始时间
         var endT = new Date(project.projectEndTime.substring(0,10)) // 项目结束时间
         var nodes = project.projectPlans
         // 判断项目计划节点时间是否有空值
         for(var i=0;i<nodes.length;i++){
            if(nodes[i].staT==''||nodes[i].endTime$==''){
            if(nodes[i].startTime$==''||nodes[i].endTime$==''){
               show = false
               break
            }else{
@@ -23,7 +23,7 @@
            $("#tips").attr("style","display:block")
         }
         // 项目名称
         $("#details h2").html(project.id)
         $("#details h2").html(project.projectName)
         // 预计节点时间
         var tab = ''
         var tabLeft3 = ''
@@ -32,13 +32,13 @@
         var bigDays = []
         for(var i = 0;i<nodes.length;i++){
            var projectsName = nodes[i].name // 节点名称                    改第一个请求用
            var projectsName = nodes[i].flowId$ // 节点名称                    改第一个请求用
            var proRET = new Date(nodes[i].realEndTime$.substring(0,10)) // 节点实际结束时间
            var tab2 ='<tr id="td-node'+i+'-gz">'+'<tr id="td-node'+i+'-gz-2">'+'</tr>'
            tab = tab +tab2
            var tabLeft2 = '<tr class="tab-body">'
                           +'<td>'+projectsName+'</td>'
                           +'<td>'+nodes[i].startTime.substring(0,10)+'</td>'
                           +'<td>'+nodes[i].startTime$.substring(0,10)+'</td>'
                           +'<td>'+nodes[i].endTime$.substring(0,10)+'</td>'
            tabLeft3 = tabLeft3 + tabLeft2
            var overtime = endT-proRET
@@ -68,9 +68,9 @@
                     +'</thead>'
                     +'<tbody>' // 表身 (项目节点始末)
                        +'<tr class="tab-body">'
                           +'<td style="height: 50px">'+'项目总时长'+'</td>'
                           +'<td style="height: 50px">'+project.startDay.substring(0,10)+'</td>'
                           +'<td style="height: 50px">'+project.endDay.substring(0,10)+'</td>'
                           +'<td style="height: 40px">'+'项目总时长'+'</td>'
                           +'<td style="height: 40px">'+project.projectStartTime.substring(0,10)+'</td>'
                           +'<td style="height: 40px">'+project.projectEndTime.substring(0,10)+'</td>'
                        +'</tr>'
         var tabLeft4 = tabLeft + tabLeft3 +'</tbody>'
@@ -163,18 +163,18 @@
         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:#0f9a84")
               $("#tot-2").find("td").eq(j).attr("style","background:#8bddde")
            }
         }
         for(var i = 0;i<nodes.length;i++){
            var proST = new Date(nodes[i].startTime.substring(0,10)) // 计划开始日期
            var proST = new Date(nodes[i].startTime$.substring(0,10)) // 计划开始日期
            var proET = new Date(nodes[i].endTime$.substring(0,10)) // 计划结束日期
            var proET2 = new Date(proET.getTime()+day*2) // 计划结束日期+2天
            var proET2 = new Date(proET.getTime()-day*2) // 计划结束日期-2天
            var proRST =new Date(nodes[i].realStartTime$.substring(0,10)) // 实际开始日期
            var proRET =new Date(nodes[i].realEndTime$.substring(0,10)) // 实际结束日期
            var nodeDay = (proET-proST+day)/day // 计划工作天数
            var nodeRSDay = (proET-proRST+day)/day // 节点实际工作天数
                  var nodeREDay = (proRET-proST+day)/day // 预计开始-实际结束时间段
                  var nodeREDay = (proRET-proST+day)/day // 实际结束减计划开始时间
            var nodeRealDay = (proRET-proRST+day)/day //实际时间段
            var intDay = (proST-staT)/day // 预计开始时间与项目开始时间的间隔
            var intRealDay = (proRST-staT)/day // 实际开始与项目开始时间的间隔
@@ -189,18 +189,18 @@
            // 与当前时间的时间差
            for(var j=0;j<nodeDay;j++){
               $(nodeId2[i]).find('td').eq(intDay+j).attr("style","background:#3597D6")
               $(nodeId2[i]).find('td').eq(intDay+j).attr("style","background:#5998f5")
            }
               // 实际开始日期与实际结束日期都填写  按实际时间进渲染
            if(proRST != "Invalid Date" && proRET !="Invalid Date"){
               // 实际结束时间超过计划结束时间  超过的时间变红色
               for(var j=0;j<nodeRealDay;j++){
                  if(proRET<=proET){ // 实际结束日期<=计划结束日期
                     $(nodeId3[i]).find('td').eq(intRealDay+j).attr("style","background:#49C7D3")
                  }else if(proRET>proET && proRET<=proET2){ // 实际结束日期>计划结束日期
                     $(nodeId3[i]).find('td').eq(intRealDay+j).attr("style","background:#ccc739")
                  if(proRET<=proET2){ // 实际结束日期<=计划结束日期
                     $(nodeId3[i]).find('td').eq(intRealDay+j).attr("style","background:#00cc88")
                  }else if(proRET>proET2 && proRET<=proET){ // 实际结束日期>计划结束日期
                     $(nodeId3[i]).find('td').eq(intRealDay+j).attr("style","background:#00cc88")
                  }else { // 实际结束日期>计划结束日期+2天
                     $(nodeId3[i]).find('td').eq(intRealDay+j).attr("style","background:#CC3333")
                     $(nodeId3[i]).find('td').eq(intRealDay+j).attr("style","background:#e63939")
                  }
               }
               // 实际开始时间已填 实际结束时间未填  (实际结束时间按预计结束时间填)改 当前时间与实际开始时间的间隔
@@ -208,25 +208,25 @@
               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){
                  }else if(nodeRun>-3 && nodeRun<=0){
                     $(nodeId3[i]).find('td').eq(intRealDay+j).attr("style","background:#ccc739")
                  }else{
                     $(nodeId3[i]).find('td').eq(intRealDay+j).attr("style","background:#49C7D3")
                     $(nodeId3[i]).find('td').eq(intRealDay+j).attr("style","background:#8bddde")
                  }
               }
                  // 实际开始时间未填 实际结束时间已填  实际开始时间按计划时长往前移
                  // 实际开始时间未填 实际结束时间已填  实际开始时间按计划开始时间
            }else if(proRST == "Invalid Date" && proRET !="Invalid Date"){
               if(proRET<=proET){ // 实际结束日期<=计划结束日期
                  for(var j=0;j<nodeDay;j++){ // 天数是节点计划天数
                     $(nodeId3[i]).find('td').eq(intNotRealStartTime+j).attr("style","background:#49C7D3") // 实际开始日期是 实际结束日期-计划天数
               if(proRET<=proST){ // 实际结束日期<=计划开始日期  暂时不填充
                  // for(var j=0;j<nodeDay;j++){ // 天数是节点计划天数
                  //    $(nodeId3[i]).find('td').eq(intNotRealStartTime+j).attr("style","background:#49C7D3") // 实际开始日期是 实际结束日期-计划天数
                  // }
               }else if(proRET<=proET){ //实际结束日期<=计划结束日期
                  for(var j=0;j<nodeREDay;j++) { // 天数是 实际结束日期-计划开始日期
                     $(nodeId3[i]).find('td').eq(intDay + j).attr("style", "background:#00cc88")// 实际开始日期是 实际结束日期-计划天数
                  }
               }else if(proRET<=proET2){ //实际结束日期<=计划结束日期+2天
                  for(var j=0;j<nodeDay;j++) { // 天数是节点计划天数
                     $(nodeId3[i]).find('td').eq(intNotRealStartTime + j).attr("style", "background:#ccc739")// 实际开始日期是 实际结束日期-计划天数
                  }
               }else{ // 实际结束日期>计划结束日期+2天
                  for(var j=0;j<nodeDay;j++) { // 天数是节点计划天数
                     $(nodeId3[i]).find('td').eq(intNotRealStartTime + j).attr("style", "background:#CC3333")// 实际开始日期是 实际结束日期-计划天数
               }else{ // 实际结束日期>计划结束日期
                  for(var j=0;j<nodeREDay;j++) { // 天数是 实际结束日期-计划开始日期
                     $(nodeId3[i]).find('td').eq(intDay + j).attr("style", "background:#CC3333")// 实际开始日期是 实际结束日期-计划天数
                  }
               }
               // 实际开始时间未填 实际结束时间未填
@@ -248,7 +248,10 @@
            var cll = '.'+cls
            $(cll).removeClass('over-color')
         })
         // 滚轮