From 72c120049ba6db6eded053e3ba106c2e13696e82 Mon Sep 17 00:00:00 2001
From: mrzhssss <pro6@qq.com>
Date: 星期五, 21 一月 2022 12:38:54 +0800
Subject: [PATCH] 更新前端

---
 src/main/webapp/static/js/clock.js        |   18 +
 src/main/webapp/static/js/tableData.js    |   44 +-
 src/main/webapp/static/js/projectShow.js  |  533 ++++++++++++++++++++++++++++++++++++++
 src/main/webapp/static/css/style.css      |  170 +++++++++---
 src/main/webapp/static/image/logo-bar.png |    0 
 src/main/webapp/views/index_datashow.html |   31 +
 6 files changed, 713 insertions(+), 83 deletions(-)

diff --git a/src/main/webapp/static/css/style.css b/src/main/webapp/static/css/style.css
index ecbd5f2..dcf0e4d 100644
--- a/src/main/webapp/static/css/style.css
+++ b/src/main/webapp/static/css/style.css
@@ -14,18 +14,36 @@
 }
 #top-tab {
     width: 100%;
-    height: 10%;
+    height: 109px;
     background-image: url(../image/head_bg.png);
     background-repeat: no-repeat;
 	background-position: center center;
 	background-size: cover
 }
+#logo-bar {
+	width: 200px;
+	height: 109px;
+	
+	position: absolute;
+	
+	
+	
+}
+#top-tab img {
+	width: 200px;
+	height: 109px;
+	position: absolute;
+	top: -15px;
+	left: 20px;
+	transform: scale(0.6);
+
+}
+
 #top-tab h1{
     color:white;
     line-height: 94px;
     text-align: center;
 }
-
 #showTime {
     width: 350px;
     height: 80px;
@@ -37,23 +55,9 @@
     text-align: center;
     font-size: 20px;
 }
-#showTime {
-	float: right;
-}
 
-table,th,td {
-	border: 1px solid #fff;
-	cursor: default;
-	
-}
-th {
-	height: 50px;
-	width: 50px;
-	background-color: /* #223962 */#3a4a5a;
-}
-td {
-	cursor: pointer;
-}
+
+
 
 #main-tab {
 	margin-top: 1%;
@@ -62,16 +66,27 @@
 	color: #d9d9d9;
 	margin-left: 1%;
 }
+#main-tab,th,td{
+	border: 1px solid #fff;
+	cursor: default;
+}
+#main-tab th {
+	height: 50px;
+	width: 50px;
+	background-color: /* #223962 */#3a4a5a;
+}
+
+
 #main-tab td {
    width: 50px;
    height: 50px;
    border-collapse: collapse;
    text-align: center;
-   
+   cursor: pointer;
 }
-/*.normal {*/
-/*	background-color: #009966;*/
-/*}*/
+/* .normal {
+	background-color: #009966;
+} */
 .nor-mal {
 	background-color: #3a4a5a;
 }
@@ -81,7 +96,7 @@
 #details {
 	width: 98%;
 	height: 95%;
-	background-color: rgba(255,255,255,1);
+	background-color: #FFF;
 	box-shadow: 0px 5px 20px #000;
 	border-radius: 15px;
 	position: relative;
@@ -90,6 +105,48 @@
 	display: none;
 	
 }
+#tips {
+	width: 30%;
+	height: 20%;
+	background-color: #FFF;
+	box-shadow: 0px 5px 20px #000;
+	border-radius: 15px;
+	position: relative;
+	top:30%;
+	left:35%;
+	display: none;
+}
+#tips h3 {
+	text-indent: 1em;
+	height: 40px;
+	line-height: 40px;
+	background-color: #2E4E7E;
+	color: #FFFFFF;
+}
+#text {
+	height: 100px;
+	width: 576px;
+/* 	background-color: #016165; */
+	font-size: 18px;
+	font-weight: 900;
+	text-indent: 2em;
+	line-height: 100px;
+}
+#closee {
+	display: inline-block;
+	color: #FFFFFF;
+	height: 30px;
+	width: 80px;
+	background-color: #354352;
+	border: 1px #354352;
+	border-radius: 30px;
+	position: relative;
+	left: 50%;
+	top: 5%;
+	transform: translate(-50% ,-30%);
+}
+
+
 #details .head {
 	width: 100%;
 	height: 50px;
@@ -100,33 +157,58 @@
 #details h2 {
 	display: inline-block;
 }
-button {
+#close {
 	display: inline-block;
+	color: #FFFFFF;
 	height: 30px;
 	width: 80px;
-	background-color: #009966;
-	border: 1px #009966;
+	background-color: #354352;
+	border: 1px #354352;
 	border-radius: 30px;
-	margin-top: 10px;
-	margin-right: 10px;
-}
-/* 鐢樼壒鍥� */
-#details-tab {
-	background-color: #282c35;
-	width: 90%;
-	height: 90%;
-	margin-left: 5%;
-	
-}
-#details-tab th {
-	height: 50px;
-	width: 50px;
-}
-#details-tab td {
-	height: 50px;
-	width: 50px;
+	margin-top: 20px;
+	margin-right: 50px;
 }
 
+/* 鐢樼壒鍥� */
+#details-tab {
+	background-color: #FFF;
+	width: 98%;
+	margin-top: 1%;
+	margin-left: 1%;
+	
+}
+#details-tab,th,td{
+	border: 1px solid #d9dce3;
+	cursor: default;
+
+}
+#details-tab th {
+	height: 35px;
+	width: 55px;
+}
+#details-tab td {
+	height: 28px;
+	text-align: center;
+	position: relative;
+}
+.loadBox {
+	width: 50px;
+	height: 50px;
+	background-color: #354352;
+	color: #FFFFFF;
+	font-size: 6px;
+}
+.gz-color {
+	height: 50px;
+	border: none;
+}
+
+.loadBox-2 {
+	width: 50px;
+	background-color: #354352;
+	color: #FFFFFF;
+	font-size: 1px;
+}
 
 
 
diff --git a/src/main/webapp/static/image/logo-bar.png b/src/main/webapp/static/image/logo-bar.png
new file mode 100644
index 0000000..4865504
--- /dev/null
+++ b/src/main/webapp/static/image/logo-bar.png
Binary files differ
diff --git a/src/main/webapp/static/js/clock.js b/src/main/webapp/static/js/clock.js
index 39b3f80..c28fc6a 100644
--- a/src/main/webapp/static/js/clock.js
+++ b/src/main/webapp/static/js/clock.js
@@ -1,11 +1,21 @@
+  
 
-setInterval(function () {
-    let dt = new Date();
+setInterval(function(){
+    dt = new Date();
     var y = dt.getFullYear();
     var mt = dt.getMonth()+1;
     var day = dt.getDate();
     var h = dt.getHours();
     var m = dt.getMinutes();
     var s = dt.getSeconds();
-    document.getElementById('showTime').innerHTML =y+'骞�'+mt+'鏈�'+day+'鏃�'+h+'鏃�'+m+'鍒�'+s+'绉�';
-}, 1000);
\ No newline at end of file
+	
+    // document.getElementById('showTime').innerHTML = y+'骞�'+mt+'鏈�'+day+'鏃�'+h+'鏃�'+m+'鍒�'+s+'绉�';
+	document.getElementById('showTime').innerHTML =y+'-'+padding1(mt,2)+'-'+padding1(day,2)+' '+padding1(h,2)+':'+padding1(m,2)+':'+padding1(s,2)+'';
+	
+	function padding1(num, length) {
+	    for(var len = (num + "").length; len < length; len = num.length) {
+	        num = "0" + num;
+	    }
+	    return num;
+	}
+},1000)
\ No newline at end of file
diff --git a/src/main/webapp/static/js/projectShow.js b/src/main/webapp/static/js/projectShow.js
new file mode 100644
index 0000000..30e38e9
--- /dev/null
+++ b/src/main/webapp/static/js/projectShow.js
@@ -0,0 +1,533 @@
+$(document).on("dblclick",".row",function(){
+		var index = $(".row").index(this) // 纭畾鍦ㄨ〃鏍间腑鐨勭鍑犺
+		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$==''){
+					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 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
+				if(overtime<0){
+					bigDays.push(nodeRealEndTime)
+				}
+			}
+			let max = bigDays[0]
+			for(var i = 0;i<bigDays.length;i++){
+				max = max <max[i+1] ? max[i+1] : max
+			}
+			var tab1 =
+				'<thead>'
+				+'<tr id="th-gz">'
+				+'<th class="loadBox">'+'浠诲姟鍚嶇О'+'</th>'
+				+'<th class="loadBox">'+'寮�濮嬫椂闂�'+'</th>'
+				+'<th class="loadBox">'+'缁撴潫鏃堕棿'+'</th>'
+				+ '</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>'
+			var tab3 = tab1+tab+'</tbody>'
+			$("#details-tab").empty()
+			$("#details-tab").append(tab3);
+			// 濉厖鍗曞厓鏍�
+			var nodeId = ["#tot-2"]
+			var nodeId4 = []
+			for(let k = 0;k<node.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++){
+				var getId = "#"+"td-node"+k+"-gz"
+				var getId2 = "#"+"td-node"+k+"-gz-2"
+				nodeId4.push(getId)
+				nodeId4.push(getId2)
+				k++
+			}
+			
+			if(max>endTime){
+				 allDay = (max-startTime+day)/day
+				 endTime=max
+				getDateArr(startTime,endTime)
+			}else{
+				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)
+								}
+							}
+				}
+				
+			}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++){
+				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")
+			// }
+			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(3+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")
+					}
+				}
+			}
+			function getDateArr(start,end) {
+					let option = new Date(start) // 寮�濮嬫椂闂�
+					let nowDate = new Date(end) // 缁撴潫鏃堕棿
+					let times = option.getTime() // 鑾峰彇褰撳墠鏃堕棿鎴�(姣锛�
+					let ms = (nowDate - option ) / 86400000 // 鐩稿樊鐨勬�诲ぉ鏄殑姣鏁�(澶╂暟)
+					let days = Math.ceil(ms) // 鍚戜笂鍙栨暣鏁�
+					dateArr = [] // 鍒涘缓鏃ユ湡鏁扮粍
+					monthArr = []
+					monthDays=[]
+					let num = 0
+					while (num<=days){
+						let needDate = new Date(times)
+						times += 86400000 // 鍔犱竴澶�
+						let dayDAY = needDate.getDate(); // 鑾峰彇褰撳墠鏃堕棿鐨勬棩鏈�  1鍙� 2鍙� 3鍙� 4鍙� 绛�
+						dayDAY = dayDAY<10 ? '0'+dayDAY : dayDAY
+						dateArr.push(dayDAY)
+						let month = needDate.getMonth()+1
+						month = month<10 ? '0'+month : month
+						let year = needDate.getFullYear()
+						yMonth = year+'-'+month
+						monthArr.push(yMonth)	 
+						num++; // 璁℃鐢�
+					}
+					function unique (monthArr) {
+					  return Array.from(new Set(monthArr))
+					}
+					newMonthArr = unique(monthArr)
+					for(var i=0;i<newMonthArr.length;i++){
+						s = newMonthArr[i].split("-")
+						var d = new Date(s[0],s[1],0);
+						a = d.getDate()
+						monthDays.push(a)
+					}
+			}
+			}
+			})
+			
\ No newline at end of file
diff --git a/src/main/webapp/static/js/tableData.js b/src/main/webapp/static/js/tableData.js
index 9ff0868..3b799e5 100644
--- a/src/main/webapp/static/js/tableData.js
+++ b/src/main/webapp/static/js/tableData.js
@@ -1,17 +1,16 @@
-setTimeout(function(){
-	getTheaddData()
-	getThbodyData()
-},0)
-setInterval(function(){
-
-	getThbodyData()
-
-},50000)
-
+	setTimeout(function(){
+		getTheaddData()
+		getThbodyData()
+	},0)
+	setInterval(function(){
+		getThbodyData()
+	},5000)
+	
+	
 	var proData = ["椤圭洰鍚嶇О","寮�濮嬫椂闂�","缁撴潫鏃堕棿",]
 	var getTheaddData = function(){
 		$.ajax({
-			url:baseUrl + '/projectPlan/flowStatus',
+			url:'http://192.168.4.99:8080/pms/projectPlan/flowStatus',
 			type:'GET',
 			dataType:'JSON',
 			data:{},
@@ -32,19 +31,18 @@
 			},
 			})
 			}
-
-
-
+	
+/*****************************************************************************************************************************************************************************/
 	var getThbodyData = function(){
 		$.ajax({
-			url:baseUrl+'/projectPlan/toFront',
+			url:'http://192.168.4.99:8080/pms/projectPlan/toFront',
 			type:'GET',
 			dataType:'JSON',
 			data:{},
-			success:function(res){
-				// console.log(JSON.stringify(res.data));
+			success:function(res){				
 				if(res.code==200){
 					data=res.data
+					console.log(data)
 					// 鍒ゆ柇鏃堕棿鏄惁鏈塶ull  鏈塶ull鐨勬敼涓� ""
 					for(var i = 0;i<data.length;i++){
 						var dataNode = data[i].nodes
@@ -86,12 +84,12 @@
 							var realEndTime$ = data[t].nodes[k].realEndTime$.substring(0,10)
 							// 椤圭洰鑺傜偣璁″垝缁撴潫鏃堕棿
 							var endTime$ = data[t].nodes[k].endTime$.substring(0,10)
-
+							console.log(endTime$)
 							var myDate = new Date()
 							var nowDay = myDate.getFullYear()+"-"+(myDate.getMonth()+1)+"-"+myDate.getDate()
 							var eDay = new Date(endTime$)
 							// 鍒ゆ柇realEndTime$.substring(0,10) 鏄惁涓虹┖
-
+							console.log(realEndTime$)
 							if(realEndTime$ === ""){
 								// 璁″垝鏃ユ湡涓庣郴缁熸棩鏈熸瘮杈�
 									var ExDay = eDay.getTime()-myDate.getTime()
@@ -118,7 +116,7 @@
 											
 								    }
 								}
-								tab(endTime$,realEndTime$);
+								tab(endTime$,realEndTime$,);
 							}
 							
 						}
@@ -127,6 +125,8 @@
 				
 			}
 		})
-	}
+	} 
 
-	
+/*****************************************************************************************************************************************************************************/	
+
+
diff --git a/src/main/webapp/views/index_datashow.html b/src/main/webapp/views/index_datashow.html
index 58958ba..c350256 100644
--- a/src/main/webapp/views/index_datashow.html
+++ b/src/main/webapp/views/index_datashow.html
@@ -5,18 +5,20 @@
 	<title>椤圭洰杩涘害琛�</title>
 	<link rel="stylesheet" href="../static/css/style.css">
 	<script src="../static/js/jquery-3.3.1.min.js"></script>
-	<script src="../static/js/common.js"></script>
-<!--	<script src="../static/js/index.js" type="text/javascript" charset="utf-8"></script>-->
 	<script src="../static/js/clock.js"></script>
 	<script src="../static/js/tableData.js"></script>
-<!--	<script src="../static/js/projectShow.js"></script>-->
+	<script src="../static/js/projectShow.js"></script>
 </head>
 <body>
     <div id="root">
 		<!-- 鏍囬 -->
 		<div id="top-tab">
-			<h1>涓壃绔嬪簱 2022骞撮泦鎴愰」鐩繘搴︿竴瑙堣〃</h1>
-			<div id="showTime"></div>
+			<h1>椤圭洰杩涘害琛�</h1>
+			<div id="logo-bar"></div>
+			<img src="../static/image/logo-bar.png" alt="logo">
+			<div id="showTime">
+				
+			</div>
 		</div>
         <table id="main-tab" cellspacing="0" cellpadding="0">
 			<!-- 琛ㄥご -->
@@ -33,24 +35,27 @@
 	<div id="details">
 		<div class="head">
 			<h2></h2>
-			<button id="close" type="button" style="float: right;">鍏抽棴</button>
+			<button id="close" type="button" style="float: right;">鍏� 闂�</button>
 		</div>
-		<table id="details-tab">
+		<table id="details-tab" cellspacing="0" cellpadding="0">
 			<thead>
-				<tr><th>浠诲姟鍚嶇О</th><th>寮�濮嬫椂闂�</th><th>缁撴潫鏃堕棿</th></tr>
 			</thead>
 			<tbody>
-				<tr><td>寮�濮嬫椂闂�</td><td>2022-01-11</td><td></td></tr>
-				<tr><td>缁撴潫鏃堕棿</td><td>2022-02-05</td><td></td></tr>
-				<tr><td>鍚堢害绛捐</td><td>2022-02-05</td><td></td></tr>
 			</tbody>
 		</table>
+	</div>
+	<div id="tips">
+		<h3>鎻愮ず</h3>
+		<div id="text">褰撳墠椤圭洰璁″垝鏃堕棿涓嶅畬鏁达紱璇疯ˉ鍏呭畬鎴愬悗閲嶈瘯!</div>
+		<button id="closee" onclick="">纭� 璁�</button>
 	</div>
 </body>
 </html>
 <script type="text/javascript">
-	// 鏄庣粏鍏抽棴
 	$("#close").on("click",function(){
 		$("#details").attr("style","display:none")
 	})
-</script>
+	$("#closee").on("click",function(){
+		$("#tips").attr("style","display:none")
+	})
+</script>
\ No newline at end of file

--
Gitblit v1.9.1