335 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			335 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
|  | <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="JZYScreen.aspx.cs" Inherits="FineUIPro.Web.HSSE.KqShowScreen.JZYScreen" %> | |||
|  | 
 | |||
|  | <!DOCTYPE html> | |||
|  | <html lang="en"> | |||
|  | 
 | |||
|  | <head runat="server"> | |||
|  |     <meta charset="UTF-8"> | |||
|  |     <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |||
|  |     <title>Document</title> | |||
|  |     <script src="../..//res/lib/flex.js"></script> | |||
|  |     <link rel="stylesheet" href="../../res/css/jzyscreen.css"> | |||
|  | </head>  | |||
|  |     <style> | |||
|  |         .header{ | |||
|  |             position: relative; | |||
|  |         } | |||
|  |         .b-wrap{ | |||
|  |             position: absolute; | |||
|  |             top:6px; | |||
|  |             right:6px; | |||
|  |             font-size: 12px; | |||
|  |             padding:2px 6px; | |||
|  |             border: 1px solid #ffffff; | |||
|  |             text-align: center; | |||
|  |             color:#fff; | |||
|  |         } | |||
|  |     </style> | |||
|  |     <body> | |||
|  |     <div class="wrap"> | |||
|  |         <div class="header"> | |||
|  |             <h1><%=ProjectName%>现场人员动态看板</h1> | |||
|  |             <div style="position: absolute;top: 0.5rem;right: 0.2rem;color: #ffffff;" id="divTime"></div>  | |||
|  |             <div class="b-wrap">全屏</div> | |||
|  |         </div> | |||
|  |         <div class="conterner"> | |||
|  |             <div class="row"> | |||
|  |                 <div class="row-1"> | |||
|  |                    | |||
|  |                     <div class="label">距离12·31中交目标还剩余(天)</div> | |||
|  |                     <div class="number" id ="divDayRel">0</div> | |||
|  |                      | |||
|  |                       | |||
|  |                 </div> | |||
|  |                 <div class="row-1" style="margin-top: .25rem;"> | |||
|  |                     <div class="label">累计安全人工时</div> | |||
|  |                     <div class="number" id ="divSafeTotal">0</div> | |||
|  |                 </div> | |||
|  |                 <div class="row-1" style="margin-top: .25rem;"> | |||
|  |                     <div class="label">一周安全人工时</div> | |||
|  |                     <div class="number"id ="divSafeWeek">0</div> | |||
|  |                 </div> | |||
|  | 
 | |||
|  |                 <div id="rs"> | |||
|  | 
 | |||
|  |                 </div> | |||
|  |             </div> | |||
|  |             <div class="c-row"> | |||
|  |                 <div class="table"> | |||
|  |                     <div class="table-head"> | |||
|  |                         <div class="th" style="width: 20%;"> | |||
|  |                             <span>施工单位名称</span> | |||
|  |                         </div> | |||
|  |                         <div class="th" style="width: 20%;"> | |||
|  |                             <span>当日总数/系统总数</span> | |||
|  |                         </div> | |||
|  |                         <div class="th" style="width: 60%;"> | |||
|  |                             <div class="th-1">特种作业人员</div> | |||
|  |                             <div class="th-2"> | |||
|  |                                 <span style="width: 50%;">特岗名称</span> | |||
|  |                                 <span style="width: 25%;">系统登记人数</span> | |||
|  |                                 <span style="width: 25%;">当前在场人数</span> | |||
|  |                             </div> | |||
|  |                         </div> | |||
|  |                     </div> | |||
|  |                     <div class="table-body"> | |||
|  |                         <div class="scroll-box"> | |||
|  |                             <div class="t" id="divScroller"> | |||
|  |                                | |||
|  |                                 | |||
|  |                             </div> | |||
|  |                         </div> | |||
|  |                     </div> | |||
|  |                 </div> | |||
|  |             </div> | |||
|  |         </div> | |||
|  |     </div> | |||
|  | </body> | |||
|  | 
 | |||
|  | </html> | |||
|  | 
 | |||
|  | <script src="../../res/lib/echarts.min.js"></script> | |||
|  | <script src="../../res/lib/jquery.js"></script> | |||
|  | <script> | |||
|  |     var projectid = '<%=ProjectId%>' | |||
|  |     var timer = null; | |||
|  |     | |||
|  |     function isScroll() { | |||
|  |         let mainEle = document.querySelector('.table-body') | |||
|  |         let serollEle = document.querySelector('.scroll-box') | |||
|  |         if (serollEle.children[0].children.length < 6) { | |||
|  |             return | |||
|  |         } | |||
|  |         serollEle.appendChild(serollEle.children[0].cloneNode(true)) | |||
|  | 
 | |||
|  |         function Marquee() { | |||
|  |             if (mainEle.offsetHeight + mainEle.scrollTop < serollEle.offsetHeight) { | |||
|  |                 mainEle.scrollTop++ | |||
|  |                 console.log(mainEle.offsetHeight, serollEle.offsetHeight) | |||
|  |             } else { | |||
|  |                 serollEle.appendChild(serollEle.children[0].cloneNode(true)) | |||
|  |                 serollEle.removeChild(serollEle.children[0]) | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         timer = setInterval(Marquee, 90) | |||
|  |         mainEle.onmouseover = function () { clearInterval(timer) } | |||
|  |         mainEle.onmouseout = function () { timer = setInterval(Marquee, 90) } | |||
|  |     } | |||
|  | 
 | |||
|  | 
 | |||
|  |     var temp=[] | |||
|  |     function createSM(value1) { | |||
|  |         var chartDom = document.getElementById('rs'); | |||
|  |         var myChart = echarts.init(chartDom); | |||
|  |         var option; | |||
|  |          | |||
|  |         let leftLabel = ['施工人员       ', '天辰管理人员', '监理管理人员', '业主管理人员', '当前现场人数', '当日最高人数'] | |||
|  |         option = { | |||
|  |             grid: { | |||
|  |                 top: 4, | |||
|  |                 left: 4, | |||
|  |                 right: 4, | |||
|  |                 bottom: 4, | |||
|  |                 containLabel: true | |||
|  |             }, | |||
|  |             xAxis: { | |||
|  |                 type: 'value', | |||
|  |                 splitLine: { | |||
|  |                     show: false | |||
|  |                 }, | |||
|  |                 axisLabel: { | |||
|  |                     show: false, | |||
|  |                 } | |||
|  |             }, | |||
|  |             yAxis: [ | |||
|  |                 { | |||
|  |                     type: 'category', | |||
|  |                     position: 'left', | |||
|  |                     axisLine: { | |||
|  |                         show: false | |||
|  |                     }, | |||
|  |                     axisTick: { | |||
|  |                         show: false | |||
|  |                     }, | |||
|  |                     splitLine: { | |||
|  |                         show: false | |||
|  |                     }, | |||
|  |                     axisLabel: { | |||
|  |                         color: "#ffffff", | |||
|  |                         fontWeight: "bolder", | |||
|  |                         fontSize: 24, | |||
|  |                         textShadowColor: '#000000', // 设置阴影颜色 | |||
|  |                         textShadowBlur: 1, // 设置阴影模糊度 | |||
|  |                         textShadowOffsetX: 1, // 设置阴影水平偏移 | |||
|  |                         textShadowOffsetY: 1 // 设置阴影垂直偏移 | |||
|  |                     }, | |||
|  |                     data: leftLabel, | |||
|  | 
 | |||
|  |                 }, { | |||
|  |                     type: '', | |||
|  |                     position: 'right', | |||
|  |                     axisLine: { | |||
|  |                         show: false | |||
|  |                     }, | |||
|  |                     axisTick: { | |||
|  |                         show: false | |||
|  |                     }, | |||
|  |                     splitLine: { | |||
|  |                         show: false | |||
|  |                     }, | |||
|  |                     axisLabel: { | |||
|  |                         fontFamily: "DIN", | |||
|  |                         color: "#CCCCCC", | |||
|  |                         fontWeight: "bolder", | |||
|  |                         fontSize: 30, | |||
|  |                         textShadowColor: '#000000', // 设置阴影颜色 | |||
|  |                         textShadowBlur: 1, // 设置阴影模糊度 | |||
|  |                         textShadowOffsetX: 1, // 设置阴影水平偏移 | |||
|  |                         textShadowOffsetY: 1 // 设置阴影垂直偏移 | |||
|  |                     }, | |||
|  |                     data: value1, | |||
|  | 
 | |||
|  |                 } | |||
|  |             ], | |||
|  |             series: [ | |||
|  |                 { | |||
|  |                     name: '人数', | |||
|  |                     type: 'bar', | |||
|  |                     // stack: 'total', | |||
|  |                     barWidth: 30, | |||
|  |                     label: { | |||
|  |                         show: false, | |||
|  |                         fontSize: 30, | |||
|  |                         fontFamily: "DIN", | |||
|  |                         align: "left", | |||
|  | 
 | |||
|  |                     }, | |||
|  |                     itemStyle: { | |||
|  |                         color: "#1e7bc9" | |||
|  |                     }, | |||
|  |                     emphasis: { | |||
|  |                         focus: 'series' | |||
|  |                     }, | |||
|  |                     data: value1 | |||
|  |                 } | |||
|  |             ] | |||
|  |         }; | |||
|  | 
 | |||
|  |         if (temp.length != value1.length || (temp[0] != value1[0] || temp[1] != value1[1] || temp[2] != value1[2] || temp[3] != value1[3] || temp[4] != value1[4] || temp[5] != value1[5])) { | |||
|  |             myChart.clear(); | |||
|  |             temp = value1; | |||
|  |             option && myChart.setOption(option); | |||
|  |         } | |||
|  |     } | |||
|  | 
 | |||
|  | 
 | |||
|  |     getData(); | |||
|  |     function getData() { | |||
|  |         $.ajax({ | |||
|  |             url: "JZYScreen.aspx/getData", | |||
|  |             type: "POST", | |||
|  |             contentType: "application/json; charset=utf-8", | |||
|  |             dataType: "json", | |||
|  |             data: JSON.stringify({ | |||
|  |                 projectId: projectid | |||
|  |             }), | |||
|  |             success: function (data) { | |||
|  |                 if (data.d != null) { | |||
|  |                     var company = data.d.company; | |||
|  |                     if (company != null) { | |||
|  |                         $("#divScroller").html(data.d.company); | |||
|  |                         //if (timer != null) { | |||
|  |                         //    clearInterval(timer); | |||
|  |                         //} | |||
|  |                         //isScroll();                         | |||
|  |                     } | |||
|  |                     debugger | |||
|  |                     createSM(data.d.num) | |||
|  |                     $("#divSafeTotal").html(data.d.safeTotal); | |||
|  |                     $("#divSafeWeek").html(data.d.safeTotalWeek); | |||
|  | 
 | |||
|  |                     const now = new Date(); | |||
|  |                     const yearEnd = new Date(now.getFullYear(), 11, 31); | |||
|  |                     const diff = yearEnd - now; | |||
|  |                     var  dayRes = diff > 0 ? Math.ceil(diff / (1000 * 60 * 60 * 24)) + 1 : 0; | |||
|  |                     $("#divDayRel").html(dayRes); | |||
|  | 
 | |||
|  |                      | |||
|  |                 } | |||
|  |             } | |||
|  |         }) | |||
|  |     } | |||
|  |     setInterval(function () { //执行任务  | |||
|  |         getData(); | |||
|  |     }, 10000);  | |||
|  | 
 | |||
|  |     setInterval(function () { //执行任务 | |||
|  |         var now = new Date();  // 获取当前时间 | |||
|  |         var years = now.getFullYear();  // 小时 | |||
|  |         var months = now.getMonth()+1;  // 小时 | |||
|  |         var days = now.getDate();  // 小时 | |||
|  |         var hours = now.getHours();  // 小时 | |||
|  |         var minutes = now.getMinutes();  // 分钟 | |||
|  |         var seconds = now.getSeconds();  // 秒 | |||
|  | 
 | |||
|  |         // 确保时间总是以两位数显示 | |||
|  |         hours = hours < 10 ? '0' + hours : hours; | |||
|  |         minutes = minutes < 10 ? '0' + minutes : minutes; | |||
|  |         seconds = seconds < 10 ? '0' + seconds : seconds; | |||
|  | 
 | |||
|  |         // 更新时钟显示 | |||
|  |         var clock = years + '-' + months+'-'+days+' ' + hours + ':' + minutes + ':' + seconds; | |||
|  |         $("#divTime").html(clock); | |||
|  |         | |||
|  |     }, 1000);  | |||
|  | 
 | |||
|  |      | |||
|  | 
 | |||
|  | 
 | |||
|  | 
 | |||
|  | 
 | |||
|  |        $('.b-wrap').on('click', function () { | |||
|  |             if (isFullScreen()) { | |||
|  |                 // 处于全屏 | |||
|  |                 exitFullScreen() | |||
|  |             } else { | |||
|  |                 // 未处于全屏 | |||
|  |                 requestFullScreen(document.querySelector(".wrap")); | |||
|  |             } | |||
|  | 
 | |||
|  | 
 | |||
|  |         }) | |||
|  | 
 | |||
|  |         function isFullScreen() { | |||
|  |         return !!(document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement); | |||
|  |     } | |||
|  | 
 | |||
|  | 
 | |||
|  |     function requestFullScreen(element) { | |||
|  |         if (element.requestFullscreen) { | |||
|  |             element.requestFullscreen(); | |||
|  |         } else if (element.mozRequestFullScreen) { | |||
|  |             element.mozRequestFullScreen(); | |||
|  |         } else if (element.webkitRequestFullscreen) { | |||
|  |             element.webkitRequestFullscreen(); | |||
|  |         } else if (element.msRequestFullscreen) { | |||
|  |             element.msRequestFullscreen(); | |||
|  |         } | |||
|  |         $('.b-wrap').text("退出全屏") | |||
|  |     } | |||
|  | 
 | |||
|  |     // 退出全屏 | |||
|  |     function exitFullScreen() { | |||
|  |         if (document.exitFullscreen) { | |||
|  |             document.exitFullscreen(); | |||
|  |         } else if (document.mozCancelFullScreen) { | |||
|  |             document.mozCancelFullScreen(); | |||
|  |         } else if (document.webkitExitFullscreen) { | |||
|  |             document.webkitExitFullscreen(); | |||
|  |         } else if (document.msExitFullscreen) { | |||
|  |             document.msExitFullscreen(); | |||
|  |         } | |||
|  |                 $('.b-wrap').text("全屏") | |||
|  |     } | |||
|  | </script> |