From 54095a376b9c0bfd84bec8a1cdd062b9f385c34a Mon Sep 17 00:00:00 2001 From: whycq <whycq> Date: 星期四, 10 三月 2022 15:30:11 +0800 Subject: [PATCH] # ycq 项目执行进度表0.0.1 --- src/main/webapp/static/js/projectShow.js | 171 +++++++++++++++++++++++++++++++-------------------------- 1 files changed, 93 insertions(+), 78 deletions(-) diff --git a/src/main/webapp/static/js/projectShow.js b/src/main/webapp/static/js/projectShow.js index 64c7389..83877a6 100644 --- a/src/main/webapp/static/js/projectShow.js +++ b/src/main/webapp/static/js/projectShow.js @@ -4,13 +4,13 @@ var project = data[index] // 鎶奷ata涓殑绗琲ndex涓」鐩� 璧嬪�肩粰project if(project.id==rowName){ // 姣旇緝鏃堕棿 - var currT = new Date() // 绯荤粺褰撳墠鏃堕棿 currentTime currT - var staT = new Date(project.startDay.substring(0,10)) // 椤圭洰寮�濮嬫椂闂� startTime staT - var endT = new Date(project.endDay.substring(0,10)) // 椤圭洰缁撴潫鏃堕棿 endTime endT - var node = project.nodes - // 妫�娴嬮」鐩妭鐐规椂闂存槸鍚︽湁绌哄�� - for(var i=0;i<node.length;i++){ // 寰幆椤圭洰鑺傜偣鏃堕棿 - if(node[i].staT==''||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{ @@ -27,27 +27,23 @@ // 棰勮鑺傜偣鏃堕棿 var tab = '' var tabLeft3 = '' - var day = 86400000 - var allDay = (endT - staT + day ) / day - // 棰勮鑺傜偣鐨勫ぉ鏁�,瀹為檯鑺傜偣澶╂暟,鍗犲灏戞牸瀛�;棰勮/瀹為檯 鑺傜偣涓庨」鐩紑濮嬫椂闂寸殑鏃堕棿闂撮殧锛堜粠鍝釜鏍煎瓙寮�濮嬫覆鏌擄級 + 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)) // 瀹為檯缁撴潫鏃堕棿 + 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>'+nodeName+'</td>' - +'<td>'+node[i].startTime.substring(0,10)+'</td>' - +'<td>'+node[i].endTime$.substring(0,10)+'</td>' + +'<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-nodeRealEndTime + var overtime = endT-proRET if(overtime<0){ - bigDays.push(nodeRealEndTime) + bigDays.push(proRET) } } let max = bigDays[0] @@ -62,7 +58,7 @@ +'<tr id="tot">' +'</tr>' +'<tr id="tot-2">'+'</tr>' var tab3 = tab1+tab+'</tbody>' - /* 鑺傜偣鏃堕棿琛� */ + /* 鐢樼壒鍥惧乏渚� 椤圭洰鍐呭琛� */ var tabLeft = '<thead>' // 琛ㄥご +'<tr class="tab-head">' +'<th>'+'椤圭洰鍚嶇О'+'</th>' @@ -85,13 +81,13 @@ // 濉厖鍗曞厓鏍� 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) @@ -100,7 +96,7 @@ } if(max>endT){ - allDay = (max-staT+day)/day + days = (max-staT+day)/day endT=max getDateArr(staT,endT) }else{ @@ -139,20 +135,20 @@ $("#th-gz").append(strr) } // 椤圭洰鏃堕棿鍗曞厓鏍� - for(let i=0;i<allDay;i++){ - str = '<td class="loadBox-2">'+dateArr[i]+'</td>' + 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<allDay;j++){ - tds = '<td class="gz-color">'+'</td>' + 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 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) @@ -161,87 +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((currT - staT)/ day) if(runDay>0){ for(var j = 0;j < runDay;j++){ - $("#tot-2").find("td").eq(j).attr("style","background:#0f9a84") + $("#tot-2").find("td").eq(j).attr("style","background:#8bddde") } } - for(var i = 0;i<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 nodeEndTime2 = new Date(nodeEndTime.getTime()+day*2) // 璁″垝缁撴潫鏃ユ湡+2澶� - 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-staT)/day // 棰勮寮�濮嬫椂闂翠笌椤圭洰寮�濮嬫椂闂寸殑闂撮殧 - var intRealDay = (nodeRealStartTime-staT)/day // 瀹為檯寮�濮嬩笌椤圭洰寮�濮嬫椂闂寸殑闂撮殧 - var intRealEndDay = (nodeRealEndTime-staT)/day // 瀹為檯缁撴潫涓庨」鐩紑濮嬬殑闂撮殧 - var nodeRunDay = Math.ceil((currT-nodeStartTime)/ day) - var nodeRealRunDay = Math.ceil((currT-nodeRealStartTime)/ day) - var nodeRun = Math.ceil((currT-nodeEndTime-day)/ day) - var notRealStartDay = nodeRealEndTime-(nodeEndTime-nodeStartTime) // 鎺ㄧ畻鐨勫疄闄呭紑濮嬫棩鏈� + 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(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++){ - if(nodeRealEndTime<=nodeEndTime){ // 瀹為檯缁撴潫鏃ユ湡<=璁″垝缁撴潫鏃ユ湡 - $(nodeId3[i]).find('td').eq(intRealDay+j).attr("style","background:#49C7D3") - }else if(nodeRealEndTime>nodeEndTime && nodeRealEndTime<=nodeEndTime2){ // 瀹為檯缁撴潫鏃ユ湡>璁″垝缁撴潫鏃ユ湡 - $(nodeId3[i]).find('td').eq(intRealDay+j).attr("style","background:#ccc739") + if(proRET<=proET2){ // 瀹為檯缁撴潫鏃ユ湡<=璁″垝缁撴潫鏃ユ湡 + $(nodeId3[i]).find('td').eq(intRealDay+j).attr("style","background:#00cc88") + }else if(proRET>proET2 && proRET<=proET){ // 瀹為檯缁撴潫鏃ユ湡>璁″垝缁撴潫鏃ユ湡 + $(nodeId3[i]).find('td').eq(intRealDay+j).attr("style","background:#00cc88") }else { // 瀹為檯缁撴潫鏃ユ湡>璁″垝缁撴潫鏃ユ湡+2澶� - $(nodeId3[i]).find('td').eq(intRealDay+j).attr("style","background:#CC3333") + $(nodeId3[i]).find('td').eq(intRealDay+j).attr("style","background:#e63939") } } // 瀹為檯寮�濮嬫椂闂村凡濉� 瀹為檯缁撴潫鏃堕棿鏈~ (瀹為檯缁撴潫鏃堕棿鎸夐璁$粨鏉熸椂闂村~)鏀� 褰撳墠鏃堕棿涓庡疄闄呭紑濮嬫椂闂寸殑闂撮殧 - }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){ + }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(nodeRealEndTime<=nodeEndTime){ // 瀹為檯缁撴潫鏃ユ湡<=璁″垝缁撴潫鏃ユ湡 - for(var j=0;j<nodeDay;j++){ // 澶╂暟鏄妭鐐硅鍒掑ぉ鏁� - $(nodeId3[i]).find('td').eq(intNotRealStartTime+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(nodeRealEndTime<=nodeEndTime2){ //瀹為檯缁撴潫鏃ユ湡<=璁″垝缁撴潫鏃ユ湡+2澶� - for(var j=0;j<nodeDay;j++) { // 澶╂暟鏄妭鐐硅鍒掑ぉ鏁� - $(nodeId3[i]).find('td').eq(intNotRealStartTime + j).attr("style", "background:#ccc739")// 瀹為檯寮�濮嬫棩鏈熸槸 瀹為檯缁撴潫鏃ユ湡-璁″垝澶╂暟 - } - }else{ // 瀹為檯缁撴潫鏃ユ湡>璁″垝缁撴潫鏃ユ湡+2澶� - for(var j=0;j<nodeDay;j++) { // 澶╂暟鏄妭鐐硅鍒掑ぉ鏁� - $(nodeId3[i]).find('td').eq(intNotRealStartTime + j).attr("style", "background:#CC3333")// 瀹為檯寮�濮嬫棩鏈熸槸 瀹為檯缁撴潫鏃ユ湡-璁″垝澶╂暟 + }else{ // 瀹為檯缁撴潫鏃ユ湡>璁″垝缁撴潫鏃ユ湡 + for(var j=0;j<nodeREDay;j++) { // 澶╂暟鏄� 瀹為檯缁撴潫鏃ユ湡-璁″垝寮�濮嬫棩鏈� + $(nodeId3[i]).find('td').eq(intDay + j).attr("style", "background:#CC3333")// 瀹為檯寮�濮嬫棩鏈熸槸 瀹為檯缁撴潫鏃ユ湡-璁″垝澶╂暟 } } // 瀹為檯寮�濮嬫椂闂存湭濉� 瀹為檯缁撴潫鏃堕棿鏈~ - }else if(nodeRealStartTime == "Invalid Date" && nodeRealEndTime =="Invalid Date"){ + }else if(proRST == "Invalid Date" && proRET =="Invalid Date"){ } } // 榧犳爣缁忚繃 - // $("#tabBody").find("tr").eq(3).find("td").eq(30).attr("style","background:#354352") - // $("#tabBody").find("td").eq(30).attr("style","background:#f60313") + $(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) // 缁撴潫鏃堕棿 @@ -278,4 +291,6 @@ } } }) - \ No newline at end of file + + + -- Gitblit v1.9.1