From 178a4bc1610e4548c2afe8ad9d162aa47e61d9ea Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期六, 14 九月 2024 16:40:25 +0800
Subject: [PATCH] #
---
src/main/webapp/views/index.html | 197 ++++++++++++++++++++++++++----------------------
1 files changed, 107 insertions(+), 90 deletions(-)
diff --git a/src/main/webapp/views/index.html b/src/main/webapp/views/index.html
index f4bb567..250ddb8 100644
--- a/src/main/webapp/views/index.html
+++ b/src/main/webapp/views/index.html
@@ -1,9 +1,11 @@
<!DOCTYPE html>
-<html>
+<html lang="en">
<head>
<meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>鐜舰绌挎杞︽櫤鑳介〉闈�</title>
+ <title>鐜舰绌挎杞︽櫤鑳界郴缁�</title>
+ <link rel="stylesheet" href="../static/css/element.css">
+ <script type="text/javascript" src="../static/js/jquery/jquery-3.3.1.min.js"></script>
+ <script type="text/javascript" src="../static/js/common.js"></script>
<script type="text/javascript" src="../static/js/vue.min.js"></script>
<script type="text/javascript" src="../static/js/element.js"></script>
<style>
@@ -11,7 +13,7 @@
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
margin: 0;
padding: 0;
- background-color: #dbd8d8;
+ background-color: #a0d2eb;
color: #ffffff;
display: flex;
justify-content: center;
@@ -52,7 +54,21 @@
border: 4px solid #00E676;
box-shadow: inset 0 0 30px rgba(0, 230, 118, 0.5), 0 0 20px rgba(0, 230, 118, 0.5);
}
- .station, .bus {
+ .station {
+ position: absolute;
+ width: 40px;
+ height: 24px;
+ /*border-radius: 50%;*/
+ text-align: center;
+ line-height: 24px;
+ font-weight: bold;
+ transition: transform 0.3s ease;
+ background-color: #ab1839;
+ transform: scale(1.2);
+ }
+ .bus {
+ background-color: #2196F3;
+ border: 20px solid #ffffff;
position: absolute;
width: 24px;
height: 24px;
@@ -62,104 +78,105 @@
font-weight: bold;
transition: transform 0.3s ease;
}
- .station {
- background-color: #FF5722;
- transform: scale(1.2);
- }
- .bus {
- background-color: #2196F3;
- border: 2px solid #ffffff;
- }
.station:hover, .bus:hover {
transform: scale(1.4);
}
</style>
</head>
<body>
+ <!--<header>-->
+ <!-- 鐜舰绌挎杞︽櫤鑳界郴缁�-->
+ <!--</header>-->
+ <div id="app" class="map">
+<!-- <div class="inner-ring"></div>-->
+<!-- <div class="outer-ring"></div>-->
+ <div v-for="track in energyGatheringRing" class="inner-ring" :style="{ borderColor: track.trackColor , boxShadow : 'inset 0 0 30px '+track.radiationColor+', 0 0 20px '+track.radiationColor}"></div>
+ <div v-for="track in energyGatheringRing" class="outer-ring" :style="{ borderColor: track.trackColor , boxShadow : 'inset 0 0 30px '+track.radiationColor+', 0 0 20px '+track.radiationColor}"></div>
-<!--<header>-->
-<!-- 鐜舰绌挎杞︽櫤鑳界郴缁�-->
-<!--</header>-->
-<div id="app" class="map">
- <div class="inner-ring"></div>
- <div class="outer-ring"></div>
+ <!-- Stations on outer ring -->
+ <div v-for="station in tableDataDev" class="station" :style="{ top: station.valueX + '%', left: station.valueY + '%' }">{{ station.index }}</div>
- <!-- Stations on outer ring -->
- <div class="station" style="top: -10px; left: 50%;">1</div>
- <div class="station" style="top: 30%; left: 100%;">2</div>
- <div class="station" style="top: 70%; left: 100%;">3</div>
- <div class="station" style="top: 110%; left: 50%;">4</div>
- <div class="station" style="top: 70%; left: 0;">5</div>
- <div class="station" style="top: 30%; left: 0;">6</div>
+ <!-- Buses -->
+ <div v-for="bus in tableDataRgv" class="bus" :style="{ top: bus.valueX + '%', left: bus.valueY + '%' , borderColor: bus.modeColor, backgroundColor: bus.statusColor}">{{ bus.index }}</div>
+ </div>
+ <script>
+ var app = new Vue({
+ el: '#app',
+ data: {
+ tableDataRgv: [],
+ tableDataDev: [],
+ energyGatheringRing: []
+ },
+ created(){
+ this.init();
+ },
+ watch: {
- <!-- Stations on inner ring -->
- <div class="station" style="top: 5%; left: 50%;">7</div>
- <div class="station" style="top: 25%; left: 80%;">8</div>
- <div class="station" style="top: 75%; left: 80%;">9</div>
- <div class="station" style="top: 95%; left: 50%;">10</div>
- <div class="station" style="top: 75%; left: 20%;">11</div>
- <div class="station" style="top: 25%; left: 20%;">12</div>
+ },
+ methods: {
+ init(){
+ this.getTableDataRgv()
+ this.getTableDataDev()
+ this.getTableDataTrack()
- <!-- Buses -->
- <div class="bus" style="top: 15%; left: 60%;">A</div>
- <div class="bus" style="top: 45%; left: 85%;">B</div>
- <div class="bus" style="top: 80%; left: 55%;">C</div>
- <div class="bus" style="top: 65%; left: 25%;">D</div>
- <div class="bus" style="top: 45%; left: 35%;">E</div>
-</div>
-
-</body>
-<script>
- var app = new Vue({
- el: '#app',
- data: {
- ringThroughringThrough: [],
- addWeekPlanDataWeeklySign: [
- {
- value: '1',
- label: '涓婂懆'
+ setInterval(() => {
+ this.getTableDataRgv()
+ this.getTableDataDev()
+ this.getTableDataTrack()
+ }, 1000)
},
- {
- value: '2',
- label: '鏈懆'
+ getTableDataRgv() {
+ let that = this;
+ $.ajax({
+ url: baseUrl + "/rgv/ring/through/rgv/position/data",
+ headers: {
+ 'token': localStorage.getItem('token')
+ },
+ data: {},
+ dataType: 'json',
+ contentType: 'application/json;charset=UTF-8',
+ method: 'post',
+ success: function (res) {
+ that.tableDataRgv = res.data
+ }
+ });
},
- {
- value: '3',
- label: '涓嬪懆'
+ getTableDataDev() {
+ let that = this;
+ $.ajax({
+ url: baseUrl + "/rgv/ring/through/dev/position/data",
+ headers: {
+ 'token': localStorage.getItem('token')
+ },
+ data: {},
+ dataType: 'json',
+ contentType: 'application/json;charset=UTF-8',
+ method: 'post',
+ success: function (res) {
+ that.tableDataDev = res.data
+ }
+ });
+ },
+ getTableDataTrack() {
+ let that = this;
+ $.ajax({
+ url: baseUrl + "/rgv/ring/through/track/position/data",
+ headers: {
+ 'token': localStorage.getItem('token')
+ },
+ data: {},
+ dataType: 'json',
+ contentType: 'application/json;charset=UTF-8',
+ method: 'post',
+ success: function (res) {
+ that.energyGatheringRing = res.data
+ }
+ });
}
- ]
- },
- created(){
- this.init();
- },
- watch: {
- filterText(val) {
- this.$refs.tree.filter(val);
}
- },
- computed:{
- // cstmrLabel () {
- // return (val) => {
- // let item = this.options.find(o => o.value === val);
- // return item ? item.label : 'Item not found';
- // }
- // }
- },
- methods: {
- init(){
- let that = this
- $.ajax({
- url: baseUrl + '/weekly/list/auth',
- headers: {'token': localStorage.getItem('token')},
- method: "get",
- success: (res) => {
- that.tableData = res.data.records;
- console.log(that.tableData)
- }
- });
- }
- }
- })
+ })
-</script>
+ </script>
+</body>
+
</html>
--
Gitblit v1.9.1