From 1c4928947c1c233af5ce91b77d910625e365c9fc Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期一, 14 二月 2022 08:44:42 +0800
Subject: [PATCH] #

---
 src/main/webapp/static/js/projectShow.js |  585 +++++++++++++++++-----------------------------------------
 1 files changed, 174 insertions(+), 411 deletions(-)

diff --git a/src/main/webapp/static/js/projectShow.js b/src/main/webapp/static/js/projectShow.js
index 30e38e9..83877a6 100644
--- a/src/main/webapp/static/js/projectShow.js
+++ b/src/main/webapp/static/js/projectShow.js
@@ -3,55 +3,47 @@
 		var rowName = $(this).children(".projects").html() // 褰撳墠琛屼腑绫诲悕涓簆rojects鐨勭被涓殑鏂囧瓧
 		var project = data[index] // 鎶奷ata涓殑绗琲ndex涓」鐩� 璧嬪�肩粰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<node.length;i++){
-				if(node[i].startTime==''||node[i].endTime$==''){
+			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
+			// 鍒ゆ柇椤圭洰璁″垝鑺傜偣鏃堕棿鏄惁鏈夌┖鍊�
+			for(var i=0;i<nodes.length;i++){
+				if(nodes[i].staT==''||nodes[i].endTime$==''){
 					show = false
 					break
 				}else{
 					show = true
 				}
-				
-				
 			}
-			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 day = 86400000
-			var allDay = (endTime - startTime + day ) / day
-			// 棰勮鑺傜偣鐨勫ぉ鏁�,瀹為檯鑺傜偣澶╂暟,鍗犲灏戞牸瀛�;棰勮/瀹為檯 鑺傜偣涓庨」鐩紑濮嬫椂闂寸殑鏃堕棿闂撮殧锛堜粠鍝釜鏍煎瓙寮�濮嬫覆鏌擄級
+			var tabLeft3 = ''
+			var day = 86400000 // 涓�澶╂槸 86400000姣
+			var days = (endT - staT + day ) / day // 椤圭洰鑺傜偣澶╂暟
+
 			var bigDays = []
-			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 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 overtime = endTime-nodeRealEndTime
+			for(var i = 0;i<nodes.length;i++){
+				var projectsName = nodes[i].name // 鑺傜偣鍚嶇О                    鏀圭涓�涓姹傜敤
+				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].endTime$.substring(0,10)+'</td>'
+				tabLeft3 = tabLeft3 + tabLeft2
+				var overtime = endT-proRET
 				if(overtime<0){
-					bigDays.push(nodeRealEndTime)
+					bigDays.push(proRET)
 				}
 			}
 			let max = bigDays[0]
@@ -60,32 +52,42 @@
 			}
 			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: 50px">'+'椤圭洰鎬绘椂闀�'+'</td>'
+									+'<td style="height: 50px">'+project.startDay.substring(0,10)+'</td>'
+									+'<td style="height: 50px">'+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);
 			// 濉厖鍗曞厓鏍�
 			var nodeId = ["#tot-2"]
 			var nodeId4 = []
-			for(let k = 0;k<node.length;k++){
+			for(let k = 0;k<nodes.length;k++){
 				var getId = "#"+"td-node"+k+"-gz"
 				var getId2 = "#"+"td-node"+k+"-gz-2"
 				nodeId.push(getId)
 				nodeId.push(getId2)
 			}
-			for(let k = 0;k<node.length;k++){
+			for(let k = 0;k<nodes.length;k++){
 				var getId = "#"+"td-node"+k+"-gz"
 				var getId2 = "#"+"td-node"+k+"-gz-2"
 				nodeId4.push(getId)
@@ -93,326 +95,60 @@
 				k++
 			}
 			
-			if(max>endTime){
-				 allDay = (max-startTime+day)/day
-				 endTime=max
-				getDateArr(startTime,endTime)
+			if(max>endT){
+				 days = (max-staT+day)/day
+				endT=max
+				getDateArr(staT,endT)
 			}else{
-				getDateArr(startTime,endTime);
+				getDateArr(staT,endT);
 			}
 			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]-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]-staT.getDate()+1// 褰撳墠鏈堜唤鍓╀綑澶╂暟
+				stt = '<th class="loadBox" colspan="'+gz+'">'+newMonthArr[0]+'</th>' // 鏈夊灏戝ぉ灏辨í璺ㄥ灏戜釜鏍煎瓙
+				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]-staT.getDate()+1// 褰撳墠鏈堜唤鍓╀綑澶╂暟
+				stt = '<th class="loadBox" colspan="'+gz+'">'+newMonthArr[0]+'</th>' // 鏈夊灏戝ぉ灏辨í璺ㄥ灏戜釜鏍煎瓙
+				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()
+				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)
+			}
+			// 椤圭洰鏃堕棿鍗曞厓鏍�
+			for(let i=0;i<days;i++){
+				str = '<th class="loadBox-2">'+dateArr[i]+'</th>'
+				$("#tot").append(str);
+				// $(".loadBox").attr('style','width:50px')
+			}
+			// 鑺傜偣鏃堕棿鍗曞厓鏍�
+			for (let j=0;j<days;j++){
+				tds = '<td class="gz-color'+j+' time-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)
-									}
-								}
-				}
-			// 123
+			}
 			var nodeId2 = [],nodeId3 = []
-			for(let k = 0;k<node.length;k++){
+			for(let k = 0;k<nodes.length;k++){
 				var getId2 = "#"+"td-node"+k+"-gz"
 				var getId3 = "#"+"td-node"+k+"-gz-2"
 				nodeId2.push(getId2)
@@ -421,79 +157,104 @@
 			for(var i=0;i<nodeId4.length;i++){
 				$(nodeId4[i]).attr("style","background:#eeeeef")
 			}
-			// for(var j = 0;j < allDay;j++){
+			// for(var j = 0;j < days;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:#8bddde")
 				}
 			}
-			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 i = 0;i<nodes.length;i++){
+				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 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 nodeRealDay = (proRET-proRST+day)/day //瀹為檯鏃堕棿娈�
+				var intDay = (proST-staT)/day // 棰勮寮�濮嬫椂闂翠笌椤圭洰寮�濮嬫椂闂寸殑闂撮殧
+				var intRealDay = (proRST-staT)/day // 瀹為檯寮�濮嬩笌椤圭洰寮�濮嬫椂闂寸殑闂撮殧
+				var intRealEndDay = (proRET-staT)/day // 瀹為檯缁撴潫涓庨」鐩紑濮嬬殑闂撮殧
+				var nodeRunDay = Math.ceil((currT-proST)/ day)
+				var nodeRealRunDay = Math.ceil((currT-proRST)/ day)
+				var nodeRun = Math.ceil((currT-proET-day)/ day)
+				var notRealStartDay = proRET-(proET-proST) // 鎺ㄧ畻鐨勫疄闄呭紑濮嬫棩鏈�
+				var intNotRealStartTime = (new Date(notRealStartDay)-staT)/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:#5998f5")
 				}
-					// 瀹為檯寮�濮嬫椂闂翠笌缁撴潫鏃堕棿閮藉~鍐�  鎸夊疄闄呮椂闂磋繘娓叉煋
-				if(nodeRealStartTime != "Invalid Date" && nodeRealEndTime !="Invalid Date"){ 
+					// 瀹為檯寮�濮嬫棩鏈熶笌瀹為檯缁撴潫鏃ユ湡閮藉~鍐�  鎸夊疄闄呮椂闂磋繘娓叉煋
+				if(proRST != "Invalid Date" && proRET !="Invalid Date"){
+					
 					for(var j=0;j<nodeRealDay;j++){
-						$(nodeId3[i]).find('td').eq(intRealDay+j).attr("style","background:#49C7D3")
+						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:#e63939")
+						}
 					}
-					// 瀹為檯寮�濮嬫椂闂村凡濉� 瀹為檯缁撴潫鏃堕棿鏈~  瀹為檯缁撴潫鏃堕棿鎸夐璁$粨鏉熸椂闂村~	
-				}else if(nodeRealStartTime != "Invalid Date" && nodeRealEndTime =="Invalid Date"){ 
+					// 瀹為檯寮�濮嬫椂闂村凡濉� 瀹為檯缁撴潫鏃堕棿鏈~  (瀹為檯缁撴潫鏃堕棿鎸夐璁$粨鏉熸椂闂村~)鏀� 褰撳墠鏃堕棿涓庡疄闄呭紑濮嬫椂闂寸殑闂撮殧
+				}else if(proRST != "Invalid Date" && proRET =="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 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(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(proRST == "Invalid Date" && proRET !="Invalid Date"){
+					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(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{ // 瀹為檯缁撴潫鏃ユ湡>璁″垝缁撴潫鏃ユ湡
+						for(var j=0;j<nodeREDay;j++) { // 澶╂暟鏄� 瀹為檯缁撴潫鏃ユ湡-璁″垝寮�濮嬫棩鏈�
+							$(nodeId3[i]).find('td').eq(intDay + j).attr("style", "background:#CC3333")// 瀹為檯寮�濮嬫棩鏈熸槸 瀹為檯缁撴潫鏃ユ湡-璁″垝澶╂暟
 						}
 					}
 					// 瀹為檯寮�濮嬫椂闂存湭濉� 瀹為檯缁撴潫鏃堕棿鏈~
-				}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")
-					}
+				}else if(proRST == "Invalid Date" && proRET =="Invalid Date"){
+
 				}
 			}
+			// 榧犳爣缁忚繃
+			$(document).on('mouseover','.time-color',function () {
+				// console.log($(this).attr('class'))
+				var cls = $(this).attr('class').split(' ')[0]
+				var cll = '.'+cls
+				$(cll).addClass('over-color')
+			})
+			// 榧犳爣绂诲紑
+			$(document).on('mouseout','.time-color',function () {
+				// console.log($(this).attr('class'))
+				var cls = $(this).attr('class').split(' ')[0]
+				var cll = '.'+cls
+				$(cll).removeClass('over-color')
+			})
+			// 婊氳疆
+			
+			
+			
+
+
+
 			function getDateArr(start,end) {
 					let option = new Date(start) // 寮�濮嬫椂闂�
 					let nowDate = new Date(end) // 缁撴潫鏃堕棿
@@ -530,4 +291,6 @@
 			}
 			}
 			})
-			
\ No newline at end of file
+
+
+

--
Gitblit v1.9.1