| | |
| | | |
| | | |
| | | } |
| | | console.log(show) |
| | | if(show==true){ |
| | | $("#details").attr("style","display:block") |
| | | }else if(show==false){ |
| | | $("#tips").attr("style","display:block") |
| | | } |
| | | |
| | | // 项目名称 |
| | | $("#details h2").html(project.id) |
| | | // 预计节点时间 |
| | | var tab = '' |
| | | var tabLeft3 = '' |
| | | var day = 86400000 |
| | | var allDay = (endTime - startTime + day ) / day |
| | | // 预计节点的天数,实际节点天数,占多少格子;预计/实际 节点与项目开始时间的时间间隔(从哪个格子开始渲染) |
| | | var bigDays = [] |
| | | |
| | | for(var i = 0;i<node.length;i++){ |
| | | var nodeName = node[i].name // 节点名称 |
| | | |
| | |
| | | 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 tab2 = |
| | | '<tr id="td-node'+i+'-gz">' |
| | | +'<td rowspan="2" class="loadBox">'+nodeName+'</td>' |
| | | +'<td rowspan="2" class="loadBox">'+node[i].startTime.substring(0,10)+'</td>' |
| | | +'<td rowspan="2" class="loadBox">'+node[i].endTime$.substring(0,10)+'</td>' |
| | | +'<tr id="td-node'+i+'-gz-2">'+'</tr>' |
| | | tab = tab +tab2 |
| | | 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>'+nodeName+'</td>' |
| | | +'<td>'+node[i].startTime.substring(0,10)+'</td>' |
| | | +'<td>'+node[i].endTime$.substring(0,10)+'</td>' |
| | | tabLeft3 = tabLeft3 + tabLeft2 |
| | | var overtime = endTime-nodeRealEndTime |
| | | if(overtime<0){ |
| | | bigDays.push(nodeRealEndTime) |
| | |
| | | } |
| | | var tab1 = |
| | | '<thead>' |
| | | +'<tr id="th-gz">' |
| | | +'<th class="loadBox">'+'任务名称'+'</th>' |
| | | +'<th class="loadBox">'+'开始时间'+'</th>' |
| | | +'<th class="loadBox">'+'结束时间'+'</th>' |
| | | + '</tr>' |
| | | +'<tr id="th-gz">' + '</tr>' |
| | | +'</thead>' |
| | | +'<tbody>' |
| | | +'<tr id="tot">' |
| | | +'<td rowspan="2" class="loadBox">'+'任务总时间'+'</td>' |
| | | +'<td rowspan="2" class="loadBox">'+project.startDay.substring(0,10)+'</td>' |
| | | +'<td rowspan="2" class="loadBox">'+project.endDay.substring(0,10)+'</td>' |
| | | +'</tr>' |
| | | +'<tr id="tot-2">'+'</tr>' |
| | | +'<tbody id="tabBody">' |
| | | +'<tr id="tot">' +'</tr>' |
| | | +'<tr id="tot-2">'+'</tr>' |
| | | var tab3 = tab1+tab+'</tbody>' |
| | | /* 节点时间表 */ |
| | | var tabLeft = '<thead>' // 表头 |
| | | +'<tr class="tab-head">' |
| | | +'<th>'+'项目名称'+'</th>' |
| | | +'<th>'+'开始时间'+'</th>' |
| | | +'<th>'+'结束时间'+'</th>' |
| | | +'</tr>' |
| | | +'</thead>' |
| | | +'<tbody>' // 表身 (项目节点始末) |
| | | +'<tr class="tab-body">' |
| | | +'<td style="height: 54px">'+'项目总时长'+'</td>' |
| | | +'<td style="height: 54px">'+project.startDay.substring(0,10)+'</td>' |
| | | +'<td style="height: 54px">'+project.endDay.substring(0,10)+'</td>' |
| | | +'</tr>' |
| | | |
| | | var tabLeft4 = tabLeft + tabLeft3 +'</tbody>' |
| | | $("#details-tab-left").empty() |
| | | $("#details-tab-left").append(tabLeft4) |
| | | $("#details-tab").empty() |
| | | $("#details-tab").append(tab3); |
| | | // 填充单元格 |
| | |
| | | getDateArr(startTime,endTime); |
| | | } |
| | | let newDataArr = [] |
| | | 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) |
| | | } |
| | | } |
| | | // |
| | | var strr ='' |
| | | if(monthDays.length<2){ // 一个月 |
| | | var gz=monthDays[0]-startTime.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// 当前月份剩余天数 |
| | | stt = '<th class="loadBox" colspan="'+gz+'">'+newMonthArr[0]+'</th>' // 有多少天就横跨多少个格子 |
| | | var gz2 = monthDays[1]-(monthDays[1]-endTime.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// 当前月份剩余天数 |
| | | stt = '<th class="loadBox" colspan="'+gz+'">'+newMonthArr[0]+'</th>' // 有多少天就横跨多少个格子 |
| | | var gz2 = monthDays[monthDays.length-1]-(monthDays[monthDays.length-1]-endTime.getDate()) // 剩余的天数=当月天数-(当月天数-结束日期) |
| | | stt2 = '<th class="loadBox" colspan="'+gz2+'">'+newMonthArr[newMonthArr.length-1]+'</th>' |
| | | // 去除第一个月 和最后一个月 |
| | | monthDays.shift() |
| | | monthDays.pop() |
| | | newMonthArr.shift() |
| | | newMonthArr.pop() |
| | | var std = '' |
| | | for (var j=0;j<monthDays.length;j++){ |
| | | stt3 = '<th class="loadBox" colspan="'+monthDays[j]+'">'+newMonthArr[j]+'</th>' |
| | | std = std + stt3 |
| | | } |
| | | |
| | | }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>' |
| | | 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) |
| | | } |
| | | 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) |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | // 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++){ |
| | |
| | | // 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((currentTime - startTime)/ day) |
| | | if(runDay>0){ |
| | | for(var j = 0;j < runDay;j++){ |
| | | $("#tot-2").find("td").eq(j).attr("style","background:#49C7D3") |
| | |
| | | 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 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(3+intDay+j).attr("style","background:#3597D6") |
| | | $(nodeId2[i]).find('td').eq(intDay+j).attr("style","background:#3597D6") |
| | | } |
| | | // 实际开始时间与结束时间都填写 按实际时间进渲染 |
| | | if(nodeRealStartTime != "Invalid Date" && nodeRealEndTime !="Invalid Date"){ |
| | | 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"){ |
| | | // 实际开始时间已填 实际结束时间未填 实际结束时间按预计结束时间填 |
| | | }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(nodeRealStartTime == "Invalid Date" && nodeRealEndTime !="Invalid Date"){ |
| | | }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(nodeRealStartTime == "Invalid Date" && nodeRealEndTime =="Invalid Date"){ |
| | | }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) // 结束时间 |