#
lsh
2024-09-14 178a4bc1610e4548c2afe8ad9d162aa47e61d9ea
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>