From 2b0c4c474899484b7adb62712ee6361817f02f48 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期五, 15 九月 2023 14:52:58 +0800
Subject: [PATCH] #地图编辑器

---
 src/main/webapp/views/home/map_edit.html |  461 ---------------------------------------------------------
 1 files changed, 1 insertions(+), 460 deletions(-)

diff --git a/src/main/webapp/views/home/map_edit.html b/src/main/webapp/views/home/map_edit.html
index d042949..f70fb19 100644
--- a/src/main/webapp/views/home/map_edit.html
+++ b/src/main/webapp/views/home/map_edit.html
@@ -1,460 +1 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-    <meta charset="UTF-8">
-    <title>搴撲綅鍦板浘缂栬緫</title>
-    <script type="text/javascript" src="../../static/js/vue.min.js"></script>
-    <style>
-        .pointContainer {
-            display: flex;
-            justify-content: center;
-            margin-top: 1px;
-        }
-
-        .pointBox {
-            background: #bababa;
-            width: 30px;
-            height: 30px;
-            margin-right: 1px;
-        }
-
-        .pointBoxGreen {
-            background: #00ff7f !important;
-        }
-
-        .pointBoxBlue {
-            background: #55aaff !important;
-        }
-
-        .pointBoxRed {
-            background: #ff0000 !important;
-        }
-
-        .pointBoxStart {
-            background: #ffaa00 !important;
-        }
-
-        .pointBoxEnd {
-            background: #ff55ff !important;
-        }
-
-        .pointBoxStation {
-            background: #ffff00 !important;
-        }
-
-        .chargeStation {
-            background: #ffaa7f !important;
-        }
-    </style>
-</head>
-<body>
-<div id="app" style="display: flex;justify-content: flex-start;" @click="bgClick()">
-    <div style="margin-right: 100px;">
-        <div>Col:<input type="text" v-model="col" /></div>
-        <div>Row:<input type="text" v-model="row" /></div>
-        <div>
-            <button @click="generate">鐢熸垚鏁版嵁</button>
-            <button @click="printData">鏄剧ず鏁版嵁</button>
-        </div>
-        <div>
-            <div>
-                绂佹鍖哄煙锛�
-                <div class="pointBox"></div>
-            </div>
-            <div>
-                搴撲綅锛�
-                <div class="pointBox pointBoxBlue"></div>
-            </div>
-            <div>
-                鍫嗗灈鏈猴細
-                <div class="pointBox pointBoxGreen"></div>
-            </div>
-            <div>
-                杞ㄨ抗锛�
-                <div class="pointBox pointBoxRed"></div>
-            </div>
-            <div>
-                绔欑偣锛�
-                <div class="pointBox pointBoxStation"></div>
-            </div>
-            <div>
-                鍏呯數妗╋細
-                <div class="pointBox chargeStation"></div>
-            </div>
-            <div>
-                闅愯棌鏄剧ず锛�
-                <div class="pointBox pointBoxStart"></div>
-            </div>
-        </div>
-        <div>
-            <div>璧风偣锛�<input type="text" v-model="startPosition"></div>
-            <div>缁堢偣锛�<input type="text" v-model="endPosition"></div>
-            <div><button @click="calcPath">璁$畻璺緞</button></div>
-        </div>
-        <div>
-            <textarea v-model="importData"></textarea>
-            <button @click="importDataClick">瀵煎叆鏁版嵁</button>
-        </div>
-    </div>
-
-    <div>
-        <div class="pointContainer" v-for="(x,index) in map" :key="index">
-            <div v-for="(y,ind) in x" :key="ind">
-                <div v-if="map[index][ind].value < 0" class="pointBox"
-                     @contextmenu.prevent="rightEvent(index,ind,$event)" @click.left="switchBox(index,ind)"></div>
-                <div v-else-if="map[index][ind].value  == 0" class="pointBox pointBoxBlue"
-                     @contextmenu.prevent="rightEvent(index,ind,$event)" @click="switchBox(index,ind)"></div>
-                <div v-else-if="map[index][ind].value  == 3" class="pointBox pointBoxGreen"
-                     @contextmenu.prevent="rightEvent(index,ind,$event)" @click="switchBox(index,ind)"></div>
-                <div v-else-if="map[index][ind].value  == 4" class="pointBox pointBoxStation"
-                     @contextmenu.prevent="rightEvent(index,ind,$event)" @click="switchBox(index,ind)"></div>
-                <div v-else-if="map[index][ind].value  == 5" class="pointBox chargeStation"
-                     @contextmenu.prevent="rightEvent(index,ind,$event)" @click="switchBox(index,ind)"></div>
-                <div v-else-if="map[index][ind].value  == 9" class="pointBox pointBoxRed"
-                     @contextmenu.prevent="rightEvent(index,ind,$event)" @click="switchBox(index,ind)"></div>
-                <div v-else-if="map[index][ind].value  == 10" class="pointBox pointBoxStart"
-                     @contextmenu.prevent="rightEvent(index,ind,$event)" @click="switchBox(index,ind)"></div>
-                <div v-else-if="map[index][ind].value  == 11" class="pointBox pointBoxEnd"
-                     @contextmenu.prevent="rightEvent(index,ind,$event)" @click="switchBox(index,ind)"></div>
-            </div>
-        </div>
-    </div>
-
-    <div>
-        {{ mapData }}
-    </div>
-
-    <div v-if="rightBox" @click.stop="" :style="{left: rightBoxLeft,top: rightBoxTop}"
-         style="position: absolute;height: 270px;width: 200px;background-color: antiquewhite;padding: 10px;">
-        <div>
-            value:
-            <div style="display: flex;justify-content: space-between;">
-                <div @click="map[mapI][mapJ].value = -1" class="pointBox"></div>
-                <div @click="map[mapI][mapJ].value = 0" class="pointBox pointBoxBlue"></div>
-                <div @click="map[mapI][mapJ].value = 3" class="pointBox pointBoxGreen"></div>
-                <div @click="map[mapI][mapJ].value = 4" class="pointBox pointBoxStation"></div>
-                <div @click="map[mapI][mapJ].value = 5" class="pointBox chargeStation"></div>
-                <div @click="map[mapI][mapJ].value = 10" class="pointBox pointBoxStart"></div>
-            </div>
-        </div>
-        <div>
-            data: <input type="text" v-model="map[mapI][mapJ].data">
-        </div>
-        <div>
-            top: <input type="text" v-model="map[mapI][mapJ].top">
-        </div>
-        <div>
-            bottom: <input type="text" v-model="map[mapI][mapJ].bottom">
-        </div>
-        <div>
-            left: <input type="text" v-model="map[mapI][mapJ].left">
-        </div>
-        <div>
-            right: <input type="text" v-model="map[mapI][mapJ].right">
-        </div>
-    </div>
-</div>
-<script>
-    var app = new Vue({
-        el: '#app',
-        data: {
-            map: [],
-            col: 25,
-            row: 15,
-            mapData: "",
-            importData: null,
-            startPosition: "0500501",
-            endPosition: "0802501",
-            mapI: 0,
-            mapJ: 0,
-            rightBox: false,
-            rightBoxTop: "0px",
-            rightBoxLeft: "0px"
-        },
-        watch: {
-            map: {
-                deep: true,
-                handler(val) {
-                    this.printData()
-                }
-            }
-        },
-        methods: {
-            generate() {
-                let tmp = []
-                //瀹為檯鍖哄煙澧炲姞涓よ涓ゅ垪绂佸尯
-                let rowR = Number(this.row) + Number(2)
-                let colR = Number(this.col) + Number(2)
-                console.log(rowR, colR)
-                for (var i = 0; i < rowR; i++) {
-                    let x = []
-                    for (var j = 0; j < colR; j++) {
-                        if (i == 0 || i == rowR - 1) {
-                            // x.push(-1)
-                            x.push({
-                                value: -1,
-                                data: '',
-                                top: 1000,
-                                bottom: 1000,
-                                left: 1000,
-                                right: 1000,
-                                x: i,
-                                y: j
-                            })
-                            continue
-                        }
-
-                        if (j == 0) {
-                            // x.push(-1)
-                            x.push({
-                                value: -1,
-                                data: '',
-                                top: 1000,
-                                bottom: 1000,
-                                left: 1000,
-                                right: 1000,
-                                x: i,
-                                y: j
-                            })
-                            continue
-                        }
-
-                        if (j == colR - 1) {
-                            let calc = (this.row - i + 1) * -1
-                            // x.push(calc == 0 ? -1 : calc)
-                            x.push({
-                                value: calc == 0 ? -1 : calc,
-                                data: '',
-                                top: 1000,
-                                bottom: 1000,
-                                left: 1000,
-                                right: 1000,
-                                x: i,
-                                y: j
-                            })
-                            continue
-                        }
-
-                        if(j == 2 || j==5 || j==8 || j==11 || j==13 || j==16 || j== 18 || j== 21 || j== 24 || j== 27 || j== 29 || j== 32 ||
-                            j== 35 || j== 38 || j== 41 || j== 44 || j== 47 || j== 50){
-                            x.push({
-                                value: -1,
-                                data: '',
-                                top: 1000,
-                                bottom: 1000,
-                                left: 1000,
-                                right: 1000,
-                                x: i,
-                                y: j
-                            })
-                            continue
-                        }
-                        if(i==25 || i==58){
-                            x.push({
-                                value: -1,
-                                data: '',
-                                top: 1000,
-                                bottom: 1000,
-                                left: 1000,
-                                right: 1000,
-                                x: i,
-                                y: j
-                            })
-                            continue
-                        }
-
-                        if((j == 1 || j==3) && i <= 24){
-                            x.push({
-                                value: -1,
-                                data: '',
-                                top: 1000,
-                                bottom: 1000,
-                                left: 1000,
-                                right: 1000,
-                                x: i,
-                                y: j
-                            })
-                            continue
-                        }
-
-                        if(j == 4 && i <= 10){
-                            x.push({
-                                value: -1,
-                                data: '',
-                                top: 1000,
-                                bottom: 1000,
-                                left: 1000,
-                                right: 1000,
-                                x: i,
-                                y: j
-                            })
-                            continue
-                        }
-
-                        if((j==40 || j== 42) && i <= 37){
-                            x.push({
-                                value: -1,
-                                data: '',
-                                top: 1000,
-                                bottom: 1000,
-                                left: 1000,
-                                right: 1000,
-                                x: i,
-                                y: j
-                            })
-                            continue
-                        }
-
-                        if( j >= 43 && i <= 58){
-                            x.push({
-                                value: -1,
-                                data: '',
-                                top: 1000,
-                                bottom: 1000,
-                                left: 1000,
-                                right: 1000,
-                                x: i,
-                                y: j
-                            })
-                            continue
-                        }
-
-
-
-                        // x.push(0)
-                        x.push({
-                            value: 0,
-                            data: '',
-                            top: 1000,
-                            bottom: 1000,
-                            left: 1000,
-                            right: 1000,
-                            x: i,
-                            y: j
-                        })
-                    }
-                    tmp.push(x)
-                }
-
-                this.map = tmp
-                this.printData()
-            },
-            switchBox(x, y) {
-                let tmp = this.map
-                console.log(x, y, tmp[x][y])
-                switch (tmp[x][y].value) {
-                    case -1:
-                        tmp[x][y].value = 0
-                        break;
-                    case 0:
-                        tmp[x][y].value = 3
-                        break;
-                    case 3:
-                        tmp[x][y].value = 4
-                        break;
-                    case 4:
-                        tmp[x][y].value = 5
-                        break;
-                    case 5:
-                        tmp[x][y].value = -1
-                        break;
-                    default:
-                        tmp[x][y].value = -1
-                }
-                this.map = tmp
-                this.$forceUpdate()
-                this.printData()
-                this.rightBox = false
-            },
-            printData() {
-                // let tmp = this.map
-                // let data = []
-                // tmp.forEach((item,index) => {
-                //  let data2 = []
-                //  item.forEach((val,idx) => {
-                //   let valJson = {
-                //       value: val,
-                //       data: '',
-                //       top: '',
-                //       bottom: '',
-                //       left: '',
-                //       right: ''
-                //   }
-                //   data2.push(valJson)
-                //  })
-                //  data.push(data2)
-                // })
-
-                // this.mapData = JSON.stringify(data)
-                this.mapData = JSON.stringify(this.map)
-            },
-            importDataClick() {
-                let tmp = JSON.parse(this.importData);
-                let data = []
-                tmp.forEach((item, index) => {
-                    let data2 = []
-                    item.forEach((val, idx) => {
-                        let json = {
-                            value: val.value,
-                            data: val.data,
-                            top: val.top == null ? 1000: val.top,
-                            bottom: val.bottom == null ? 1000:val.bottom,
-                            left: val.left == null ? 1000:val.left,
-                            right: val.right == null ? 1000:val.right
-                        }
-                        data2.push(json)
-                    })
-                    data.push(data2)
-                })
-                this.map = data
-                this.printData()
-            },
-            calcPath() {
-                let that = this
-                let param = new URLSearchParams()
-                param.append('startPosition', this.startPosition)
-                param.append('endPosition', this.endPosition)
-                param.append('map', JSON.stringify(this.map))
-                this.$axios({
-                    method: "post",
-                    url: "http://127.0.0.1:8081/calc",
-                    data: param
-                }).then((res) => {
-                    let data = res.data
-                    let tmp = that.map
-                    console.log(data)
-                    data.forEach((item, index) => {
-                        let x = item.x
-                        let y = item.y
-                        tmp[x][y] = 9
-
-                        if (index == 0) {
-                            tmp[x][y] = 10
-                        }
-
-                        if (index == data.length - 1) {
-                            tmp[x][y] = 11
-                        }
-                        that.map = tmp
-                    })
-                    this.$forceUpdate()
-                    this.printData()
-                }).catch((error) => {
-                    console.log(error)
-                })
-            },
-            rightEvent(x, y, e) {
-                this.rightBox = true
-                this.mapI = x
-                this.mapJ = y
-                this.rightBoxTop = e.y + "px"
-                this.rightBoxLeft = e.x + "px"
-            },
-            bgClick() {
-                this.rightBox = false
-            }
-        }
-    })
-</script>
-</body>
-</html>
\ No newline at end of file
+<!DOCTYPE html><html lang=en><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=favicon.ico><title>default</title><link href=css/app.e02887d3.css rel=preload as=style><link href=js/app.273a0dab.js rel=preload as=script><link href=js/chunk-vendors.9ed0ec45.js rel=preload as=script><link href=css/app.e02887d3.css rel=stylesheet></head><body><noscript><strong>We're sorry but default doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script src=js/chunk-vendors.9ed0ec45.js></script><script src=js/app.273a0dab.js></script></body></html>
\ No newline at end of file

--
Gitblit v1.9.1