From 0b8e43d5f5fd889ffcb715dafdaa6d4511532665 Mon Sep 17 00:00:00 2001 From: suerwei <18810552194@163.com> Date: 星期六, 22 六月 2024 18:04:15 +0800 Subject: [PATCH] 摄像头列表功能 --- javaweb-plus/javaweb-admin/src/main/resources/templates/main.html | 409 +++++++++++++++++++++++++-------------------------------- 1 files changed, 181 insertions(+), 228 deletions(-) diff --git a/javaweb-plus/javaweb-admin/src/main/resources/templates/main.html b/javaweb-plus/javaweb-admin/src/main/resources/templates/main.html index ff61655..5d6e63c 100644 --- a/javaweb-plus/javaweb-admin/src/main/resources/templates/main.html +++ b/javaweb-plus/javaweb-admin/src/main/resources/templates/main.html @@ -13,213 +13,45 @@ .content { width: 100%; background-color: rgba(0,0,0,0.01) !important; + padding:10px; } - .el-card__header{ - height: 40px; - padding: 8px 20px; + [v-cloak]{ + display: none; } - .active-red{ - width: 20px; - height: 20px; - border-radius: 50%; - font-size: 14px; - color: white; - background: #314659; - text-align: center; - line-height: 20px; - float: left; + .ilblock>span{ + display: block; + line-height: 30px; } - - .active-blue{ - width: 20px; - height: 20px; - border-radius: 50%; - font-size: 16px; - color: white; - background: dodgerblue; - text-align: center; - line-height: 20px; - float: left; + .el-table th, + .el-table tr, + .el-table td { + background-color: transparent; + border: 0px; + color: #4D4D4D; + font-size: 13px; + font-family: Source Han Sans CN Normal, Source Han Sans CN Normal-Normal; + font-weight: Normal; } - .cdcode{ - width: 15%; - float: left; - margin-left: 10px; - font-size: 16px; - line-height: 20px; + .el-table__body tr, + .el-table__body td { + padding: 0; + height: 22px; } - .cdstatus{ - width: 15%; - float: left; - margin-left: 0px; - font-size: 16px; - line-height: 20px; + .custom-icon:hover { + color: #0981ea; + cursor: pointer; } - .cdprocess{ - width: 60%; - float: left; - margin-left: 10px; - } - .rankrow{ - margin-top: 12px; - } - </style> </head> <body class="gray-bg"> - <div class="content" id="app"> - <el-row style="height: 130px;"> - <el-col :span="6"> - <el-card class="box-card"> - <div> - <span style="color:rgba(0,0,0,.65);font-size: 15px;">鍦哄湴鏁伴噺</span> - <li class="el-icon-s-promotion" style="font-size: 18px;float: right;color: grey"> - </div> - <div> - <span style="color:#000;font-size: 26px;word-break: break-all;line-height: 38px">34涓� - </span> - </div> - <div> - <span style="color:rgba(0,0,0,.65);font-size: 15px;"> - 鍗忚皟涓� - <li class="el-icon-caret-bottom" style="color: #f56c6c"> - </span> - <span style="color:rgba(0,0,0,.65);font-size: 15px;"> - 寰呭紑宸� 34 - <li class="el-icon-caret-bottom" style="color: #e6a23c"> - </span> - <span style="color:rgba(0,0,0,.65);font-size: 15px;"> - 杩涜涓� 0 - <li class="el-icon-caret-top" style="color: #409eff"> - </span> - - </div> - </el-card> - </el-col> - - <el-col :span="6"> - <el-card class="box-card"> - <div> - <span style="color:rgba(0,0,0,.65);font-size: 15px;">閽诲瓟杩涘昂</span> - <li class="el-icon-coin" style="font-size: 18px;float: right;color: grey"> - </div> - <div> - <span style="color:#000;font-size: 26px;word-break: break-all;line-height: 38px">647涓� - </span> - </div> - <div> - <span style="color:rgba(0,0,0,.65);font-size: 15px;"> - 鎬昏繘灏� 134,1000.00m - <li class="el-icon-caret-bottom" style="color: #f56c6c"> - </span> - <span style="color:rgba(0,0,0,.65);font-size: 15px;"> - 宸插畬鎴� 12,322.23m - <li class="el-icon-caret-bottom" style="color: #409eff"> - </span> - </div> - </el-card> - </el-col> - - <el-col :span="6"> - <el-card class="box-card"> - <div> - <span style="color:rgba(0,0,0,.65);font-size: 15px;">瀹炴椂鐩戞帶</span> - <li class="el-icon-video-camera" style="font-size: 18px;float: right;color: grey"> - </div> - <div> - <span style="color:#000;font-size: 26px;word-break: break-all;line-height: 38px">68涓� - </span> - </div> - <div> - <span style="color:rgba(0,0,0,.65);font-size: 15px;"> - 宸插畨瑁� 0 - <li class="el-icon-caret-bottom" style="color: #f56c6c"> - </span> - <span style="color:rgba(0,0,0,.65);font-size: 15px;"> - 鏈畨瑁� 68 - <li class="el-icon-caret-bottom" style="color: #409eff"> - </span> - </div> - </el-card> - </el-col> - <el-col :span="6"> - <el-card class="box-card"> - <div> - <span style="color:rgba(0,0,0,.65);font-size: 15px;">璧勬枡鏂囦欢</span> - <li class="el-icon-s-order" style="font-size: 18px;float: right;color: grey"> - </div> - <div> - <span style="color:#000;font-size: 26px;word-break: break-all;line-height: 38px">3813 - </span> - </div> - <div> - <span style="color:rgba(0,0,0,.65);font-size: 15px;"> - 鎬昏繘灏� 134,1000.00m - <li class="el-icon-caret-bottom" style="color: #f56c6c"> - </span> - <span style="color:rgba(0,0,0,.65);font-size: 15px;"> - 宸插畬鎴� 12,322.23m - <li class="el-icon-caret-bottom" style="color: #409eff"> - </span> - </div> - - </el-card> - </el-col> - </el-row> - <el-row> - <el-col :span="16"> - <el-card class="box-card"> - <div style="height: 200px;"> - <h3>鏉愭枡缁熻</h3> - </div> - </el-card> - - <el-card class="box-card"> - <div id="map_div" style="width: 100%;height: 550px;"></div> - </el-card> - - </el-col> - - <el-col :span="8"> - <el-card class="box-card"> - <div style="width: 100%;height: 20px;"> - <h3>椤圭洰鎬讳綋杩涘害(%)</h3> - </div> - <div id="Chart1" style="width: 80%;height: 180px;margin-left: 10%;"></div> - </el-card> - - <el-card class="box-card"> - <div style="width: 100%;height: 20px;"> - <h3>鍦哄湴璇︾粏杩涘害(%)</h3> - </div> - <div style="width: 100%;height: 500px;overflow: auto"> - -<!-- <el-row class="rankrow" v-for='entity in stationProcessData'>--> -<!-- <el-col :span="2">--> -<!-- <div class="active-red">{{entity.ranking}}</div>--> -<!-- </el-col>--> - -<!-- <el-col :span="4">--> -<!-- <div style="font-size: 16px">{{entity.station}}</div>--> -<!-- </el-col >--> - -<!-- <el-col :span="4">--> -<!-- <div style="font-size: 16px">{{entity.status}}</div>--> -<!-- </el-col>--> - -<!-- <el-col :span="12">--> -<!-- <div><el-progress :stroke-width="12" :percentage="{{entity.status}}"></el-progress></div>--> -<!-- </el-col>--> -<!-- </el-row>--> - - </div> - - </el-card> - - </el-col> - - </el-row> + <div class="content" id="app" v-cloak> + <div id="map_div" style="position:fixed;width: 100%;height: 100vh;margin-top: -5px"></div> + <div style="position:fixed;top: 5px"> + <li onclick="careraFunction()" class="el-icon-video-camera custom-icon" style="font-size: 100px;margin-right: 5px;margin-left: -5px;"></li> + <li onclick="tubFunction()" class="el-icon-user custom-icon" style="font-size: 100px;margin-right: 5px;margin-left: -5px;"></li> + </div> + <div id="Chart1" style="position:fixed;width: 300px;height: 300px;bottom: -60px;right: -40px"></div> </div> @@ -245,30 +77,125 @@ getReallyData(); totalProcess(); //stationProcess(); - indexCount(); + //indexCount(); + //tubLogs(); }) - - function indexCount() { - let url = ctx + "/system/indexDataCount"; - $.ajaxSettings.async = false; - $.get(url,{},function(res){ - console.log(res); - //vm.indexDataCount = res.projectData; - }) - $.ajaxSettings.async = false; - console.log(vm.stationProcessData); + //鍦哄湴鍜屽湴鍥剧偣鍑昏仈鍔� + function viewStation(station) { + var lng = station.lng; + var lat = station.lat; + map.centerAndZoom(new T.LngLat(lng, lat), 13); } - function stationProcess() { - let url = ctx + "/system/projectProcess"; + function tubLogs() { + + const chart = echarts.init(document.getElementById("column-chart")); + const option = { + tooltip: { + trigger: 'axis', + axisPointer: { + type: 'shadow' + } + }, + legend: {}, + grid: { + left: '3%', + right: '4%', + bottom: '3%', + containLabel: true + }, + xAxis: [ + { + type: 'category', + data: [] + } + ], + yAxis: [ + { + type: 'value' + } + ], + series: [ + { + name: '鍑哄簱', + type: 'bar', + emphasis: { + focus: 'series' + }, + data: [], + itemStyle: { + // 淇敼鏌卞瓙鐨勯鑹� + color: '#e2b507' + } + }, + { + name: '鍏ュ簱', + type: 'bar', + stack: 'Ad', + emphasis: { + focus: 'series' + }, + data: [], + itemStyle: { + // 淇敼鏌卞瓙鐨勯鑹� + color: '#2992c6' + } + }, + + ] + }; + + let url = ctx + "/system/stat/tubLogData"; $.ajaxSettings.async = false; $.get(url,{},function(res){ - console.log(res.projectData); + vm.tubLogs = res.tubLogs; + + res.tubLogs.forEach(function(value, index, array) { + const tubName = value.tubName; + const inboundNumber = value.inboundNumber; + const outboundNumber = value.outboundNumber; + const unit = value.unit; + option.xAxis[0].data[index] = tubName; + option.series[0].data[index] = outboundNumber; + option.series[1].data[index] = inboundNumber; + }); + chart.setOption(option, true); + }) + $.ajaxSettings.async = false; + } + + //棣栭〉绗竴琛屼釜鏁扮粺璁� + function indexCount() { + let url = ctx + "/system/stat/indexDataCount"; + $.ajaxSettings.async = false; + $.get(url,{},function(res){ + vm.indexDataCount = res.data; + vm.indexDataCount.cameraCountNaN = 68 -vm.indexDataCount.cameraCount; + }) + $.ajaxSettings.async = false; + + } + + //鎽勫儚澶村垪琛� + function careraFunction() { + let url = ctx + "/system/camera"; + $.modal.openTab("鎽勫儚澶村垪琛�",url); + } + + //绠℃潗缁熻 + function tubFunction() { + let url = ctx + "/system/tub"; + $.modal.openTab("绠℃潗缁熻",url); + } + + //鍦哄湴杩涘害 + function stationProcess() { + let url = ctx + "/system/stat/projectProcess"; + $.ajaxSettings.async = false; + $.get(url,{},function(res){ vm.stationProcessData = res.projectData; }) $.ajaxSettings.async = false; - console.log(vm.stationProcessData); - } var vm = new Vue({ el: "#app", @@ -276,9 +203,17 @@ return { stationProcessData: [], indexDataCount :"", + tubLogs:[], }; }, methods: { + tableRowClassName({ row, rowIndex }) { + if (rowIndex % 2 == 0) { + return ""; + } else { + return "warning-row"; + } + }, } }); // 鍔犺浇鍦板浘 @@ -301,6 +236,8 @@ map.addOverLay(countriesOverlay1) countriesOverlay.bringToBack(); }); + + //map.setStyle("indigo"); } function init(sel, transform) { @@ -344,7 +281,7 @@ // 鑾峰彇鏁版嵁搴撶湡瀹炴暟鎹� function getReallyData() { - let url = window.location.protocol + "//" + window.location.host + "/bjfw/system/project"; + let url = window.location.protocol + "//" + window.location.host + "/bjfw/system/stat/project"; $.get(url,function(res){ var data = res.projects; showProjectPoint(data); @@ -352,17 +289,35 @@ } //鍦板浘涓婂睍绀洪」鐩偣 function showProjectPoint(data){ - var projectIcon = new T.Icon({ - iconUrl: '/bjfw/images/icon/6.png', - iconSize: new T.Point(30, 30), - iconAnchor: new T.Point(6, 40), - }); + var projectIcon; for(let i =0;i<data.length;i++){ + + if (data[i].status === '1'){ + projectIcon = new T.Icon({ + iconUrl: '/bjfw/images/icon/yellow.png', + iconSize: new T.Point(30, 30), + iconAnchor: new T.Point(6, 40), + }); + }else if (data[i].status === '2'){ + projectIcon = new T.Icon({ + iconUrl: '/bjfw/images/icon/blue.png', + iconSize: new T.Point(30, 30), + iconAnchor: new T.Point(6, 40), + }); + }else { + projectIcon = new T.Icon({ + iconUrl: '/bjfw/images/icon/red.png', + iconSize: new T.Point(30, 30), + iconAnchor: new T.Point(6, 40), + }); + } + let lng = data[i].lng; let lat = data[i].lat; let marker = new T.Marker(new T.LngLat(lng, lat), { title: "鍦哄湴浣嶇疆",icon:projectIcon}); let proj = infoWindowProject(data[i]); addClickHandler(proj, marker); + map.addOverLay(marker); } @@ -378,7 +333,7 @@ "<font style='font-weight: bolder;'>鍦哄湴缂栧彿 :</font>" + e.code + "<br>" + "<font style='font-weight: bolder;'>鍦哄湴鍚嶅瓧 :</font>" + e.fullName + "<br>" + "<font style='font-weight: bolder;'>璐熻矗浜� :</font>" + e.leader + "<br>" + - "<a class='btn' onclick=viewdata(" +"'" + ids+ "'" + ")>鍦哄湴鏁版嵁</a>" + + "<a class='btn' onclick=viewdata(" +"'" + ids+ "'" + ")>鍦哄湴鏁版嵁</a>" + "<br>" + "</div>" + "</div>" + "</div>"; @@ -390,6 +345,7 @@ function addClickHandler(content, marker) { marker.addEventListener("click", function (e) { + console.log("浣犵偣鍑讳簡",content); openInfo(content, e) }); } @@ -400,19 +356,21 @@ map.openInfoWindow(markerInfoWin, point); //寮�鍚俊鎭獥鍙� } + //鎬昏繘搴︿华琛ㄧ洏 function totalProcess() { var Chart1 = echarts.init(document.getElementById('Chart1')); var pointerData = 0; // 浠〃鎸囬拡鏁版嵁 - let url = ctx + "/system/totalProcess"; + let url = ctx + "/system/stat/totalProcess"; $.ajaxSettings.async = false; $.get(url,{},function(res){ pointerData = res.pointerData; pointerData = (pointerData*100).toFixed(0); - }) + }); + $.ajaxSettings.async = false; var option = { - backgroundColor: "#fff", + backgroundColor: "transparent", series: [ { type: "gauge", @@ -551,11 +509,6 @@ Chart1.setOption(option); } - - - - </script> - </body> </html> -- Gitblit v1.9.1