$(document).on("dblclick",".row",function(){ var index = $(".row").index(this) // 确定在表格中的第几行 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 node = project.nodes for(var i=0;i'+''+'' tab = tab +tab2 var tabLeft2 = '' +''+nodeName+'' +''+node[i].startTime.substring(0,10)+'' +''+node[i].endTime$.substring(0,10)+'' tabLeft3 = tabLeft3 + tabLeft2 var overtime = endTime-nodeRealEndTime if(overtime<0){ bigDays.push(nodeRealEndTime) } } let max = bigDays[0] for(var i = 0;i' + '' +'' +'' +'' +'' +''+'' var tab3 = tab1+tab+'' /* 节点时间表 */ var tabLeft = '' // 表头 +'' +''+'项目名称'+'' +''+'开始时间'+'' +''+'结束时间'+'' +'' +'' +'' // 表身 (项目节点始末) +'' +''+'项目总时长'+'' +''+project.startDay.substring(0,10)+'' +''+project.endDay.substring(0,10)+'' +'' var tabLeft4 = tabLeft + tabLeft3 +'' $("#details-tab-left").empty() $("#details-tab-left").append(tabLeft4) $("#details-tab").empty() $("#details-tab").append(tab3); // 填充单元格 var nodeId = ["#tot-2"] var nodeId4 = [] for(let k = 0;kendTime){ allDay = (max-startTime+day)/day endTime=max getDateArr(startTime,endTime) }else{ getDateArr(startTime,endTime); } let newDataArr = [] // var strr ='' if(monthDays.length<2){ // 一个月 var gz=monthDays[0]-startTime.getDate()+1 // 当前月份剩余天数 stt = ''+newMonthArr[0]+'' // 有多少天就横跨多少个格子 $("#th-gz").append(stt) }else if (monthDays.length<3){ // 两个月 var gz=monthDays[0]-startTime.getDate()+1// 当前月份剩余天数 stt = ''+newMonthArr[0]+'' // 有多少天就横跨多少个格子 var gz2 = monthDays[1]-(monthDays[1]-endTime.getDate()) // 剩余的天数=当月天数-(当月天数-结束日期) stt2 = ''+newMonthArr[1]+'' strr =stt +stt2 $("#th-gz").append(strr) }else { // 三个月及以上 var gz=monthDays[0]-startTime.getDate()+1// 当前月份剩余天数 stt = ''+newMonthArr[0]+'' // 有多少天就横跨多少个格子 var gz2 = monthDays[monthDays.length-1]-(monthDays[monthDays.length-1]-endTime.getDate()) // 剩余的天数=当月天数-(当月天数-结束日期) stt2 = ''+newMonthArr[newMonthArr.length-1]+'' // 去除第一个月 和最后一个月 monthDays.shift() monthDays.pop() newMonthArr.shift() newMonthArr.pop() var std = '' for (var j=0;j'+newMonthArr[j]+'' std = std + stt3 } strr = stt + std +stt2 $("#th-gz").append(strr) } console.log(allDay) for(let i=0;i' $("#tot").append(str); // $(".loadBox").attr('style','width:50px') } for (let j=0;j' 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 = ''+newMonthArr[0]+'' // // strr = stt // $("#th-gz").append(strr) // }else{ // var gz=monthDays[0]-startTime.getDate()+1 // stt = ''+newMonthArr[0]+'' // var gze=monthDays[monthDays.length-1]-(monthDays[monthDays.length-1]-endTime.getDate()) // stc = ''+newMonthArr[newMonthArr.length-1]+'' // strr = stt+stc // $("#th-gz").append(strr) // // for(let i=0;i' // $("#tot").append(str); // // $(".loadBox").attr('style','width:50px') // } // for (let j=0;j' // 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'+newMonthArr[m]+'' // } // var gz=monthDays[0]-startTime.getDate()+1 // stt = ''+newMonthArr[0]+'' // var gze=monthDays[monthDays.length-1]-(monthDays[monthDays.length-1]-endTime.getDate()) // stc = ''+newMonthArr[newMonthArr.length-1]+'' // strr = stt+std+stc // $("#th-gz").append(strr) // for(let k=0;k' // $("#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' // 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'+newMonthArr[num]+'' // ste=ste+std // num++ // } // // var gz=monthDays[0]-startTime.getDate()+1 // stt = ''+newMonthArr[0]+'' // var gze=monthDays[monthDays.length-1]-(monthDays[monthDays.length-1]-endTime.getDate()) // stc = ''+newMonthArr[newMonthArr.length-1]+'' // 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' // $("#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' // 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'+newMonthArr[num]+'' // ste=ste+std // num++ // } // var gz=monthDays[0]-startTime.getDate()+1 // stt = ''+newMonthArr[0]+'' // var gze=monthDays[monthDays.length-1]-(monthDays[monthDays.length-1]-endTime.getDate()) // stc = ''+newMonthArr[newMonthArr.length-1]+'' // 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' // $("#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' // 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'+newMonthArr[num]+'' // ste=ste+std // num++ // } // var gz=monthDays[0]-startTime.getDate()+1 // stt = ''+newMonthArr[0]+'' // var gze=monthDays[monthDays.length-1]-(monthDays[monthDays.length-1]-endTime.getDate()) // stc = ''+newMonthArr[newMonthArr.length-1]+'' // 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' // $("#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' // 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'+newMonthArr[num]+'' // ste=ste+std // num++ // } // var gz=monthDays[0]-startTime.getDate()+1 // stt = ''+newMonthArr[0]+'' // var gze=monthDays[monthDays.length-1]-(monthDays[monthDays.length-1]-endTime.getDate()) // stc = ''+newMonthArr[newMonthArr.length-1]+'' // 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' // $("#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' // 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' // $("#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' // 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' // $("#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' // for(let k in nodeId){ // $(nodeId[k]).append(tds) // } // } // } // 123 var nodeId2 = [],nodeId3 = [] for(let k = 0;k0){ for(var j = 0;j < runDay;j++){ $("#tot-2").find("td").eq(j).attr("style","background:#49C7D3") } } for(var i = 0;i0){ $(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 && nodeRealEndTime>=nodeStartTime){ for(var j=0;j